/**
 * AT Elementor Elements - Widget Styles
 *
 * All styles are strictly scoped to AT Elementor Elements classes.
 * No global tag pollution or invasive overrides.
 *
 * @package AT_Elementor_Elements
 * @version 1.0.0
 */

/* ==========================================================================
   1. Base & Reset for AT Elements
   ========================================================================== */
html {
	scroll-behavior: smooth;
}

[id] {
	scroll-margin-top: 100px;
}

.at-heading,
.at-button,
.at-icon-box,
.at-image-box,
.at-card,
.at-section-title,
.at-btn-group,
.at-cta-banner,
.at-download-btn,
.at-feature-card {
	box-sizing: border-box;
}

.at-heading *,
.at-button *,
.at-icon-box *,
.at-image-box *,
.at-card *,
.at-section-title *,
.at-btn-group *,
.at-cta-banner *,
.at-download-btn *,
.at-feature-card * {
	box-sizing: border-box;
}

/* Strict SVG & Icon boundary containment */
[class*="at-"] svg,
[class*="at-"] .e-font-icon-svg {
	width: 1em;
	height: 1em;
	max-width: 100%;
	max-height: 100%;
	display: inline-block;
	vertical-align: middle;
	fill: currentColor;
}

/* Explicit exemption for outline & stroke-based SVGs (Search, Close, Arrows) */
[class*="at-"] svg[fill="none"],
[class*="at-"] svg[stroke],
.at-header__search-icon,
.at-header__search-toggle svg,
.at-header__search-modal-icon,
.at-header__search-submit svg,
.at-header__drawer-close svg,
.at-header__search-modal-close svg {
	fill: none !important;
	stroke: currentColor !important;
}

.at-header__search-icon circle,
.at-header__search-toggle svg circle,
.at-header__search-modal-icon circle,
.at-header__search-submit svg circle {
	fill: none !important;
	stroke: currentColor !important;
}

.at-header__search-icon line,
.at-header__search-toggle svg line,
.at-header__search-modal-icon line,
.at-header__search-submit svg line {
	stroke: currentColor !important;
}

/* ==========================================================================
   2. AT Heading Widget
   ========================================================================== */
.at-heading {
	margin: 0 0 1rem;
	padding: 0;
	font-family: var(--at-font-heading, inherit);
	color: var(--at-color-heading, #0f172a);
	word-wrap: break-word;
}

h1.at-heading,
.at-heading--h1 {
	font-size: var(--at-h1-size, 3.5rem);
	font-weight: var(--at-h1-weight, 800);
	line-height: var(--at-h1-line-height, 1.1);
	letter-spacing: var(--at-h1-letter-spacing, -0.02em);
	text-transform: var(--at-h1-transform, none);
	color: var(--at-h1-color, var(--at-color-heading, #0f172a));
}

h2.at-heading,
.at-heading--h2 {
	font-size: var(--at-h2-size, 2.5rem);
	font-weight: var(--at-h2-weight, 700);
	line-height: var(--at-h2-line-height, 1.2);
	letter-spacing: var(--at-h2-letter-spacing, -0.015em);
	text-transform: var(--at-h2-transform, none);
	color: var(--at-h2-color, var(--at-color-heading, #0f172a));
}

h3.at-heading,
.at-heading--h3 {
	font-size: var(--at-h3-size, 1.875rem);
	font-weight: var(--at-h3-weight, 700);
	line-height: var(--at-h3-line-height, 1.25);
	letter-spacing: var(--at-h3-letter-spacing, -0.01em);
	text-transform: var(--at-h3-transform, none);
	color: var(--at-h3-color, var(--at-color-heading, #0f172a));
}

h4.at-heading,
.at-heading--h4 {
	font-size: var(--at-h4-size, 1.5rem);
	font-weight: var(--at-h4-weight, 600);
	line-height: var(--at-h4-line-height, 1.3);
	letter-spacing: var(--at-h4-letter-spacing, 0em);
	text-transform: var(--at-h4-transform, none);
	color: var(--at-h4-color, var(--at-color-heading, #0f172a));
}

h5.at-heading,
.at-heading--h5 {
	font-size: var(--at-h5-size, 1.25rem);
	font-weight: var(--at-h5-weight, 600);
	line-height: var(--at-h5-line-height, 1.35);
	letter-spacing: var(--at-h5-letter-spacing, 0em);
	text-transform: var(--at-h5-transform, none);
	color: var(--at-h5-color, var(--at-color-heading, #0f172a));
}

h6.at-heading,
.at-heading--h6 {
	font-size: var(--at-h6-size, 1rem);
	font-weight: var(--at-h6-weight, 600);
	line-height: var(--at-h6-line-height, 1.4);
	letter-spacing: var(--at-h6-letter-spacing, 0.02em);
	text-transform: var(--at-h6-transform, uppercase);
	color: var(--at-h6-color, var(--at-color-muted, #475569));
}

/* ==========================================================================
   3. AT Button Widget
   ========================================================================== */
.at-button-wrapper {
	display: flex;
}

.elementor-align-left .at-button-wrapper {
	justify-content: flex-start;
}

.elementor-align-center .at-button-wrapper {
	justify-content: center;
}

.elementor-align-right .at-button-wrapper {
	justify-content: flex-end;
}

.elementor-align-justify .at-button-wrapper {
	justify-content: stretch;
}

.elementor-align-justify .at-button {
	width: 100%;
}

.at-button {
	--at-btn-icon-gap: 10px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: inherit;
	font-weight: 600;
	line-height: 1.4;
	text-decoration: none;
	border-radius: var(--at-btn-radius, 6px);
	border: 2px solid transparent;
	cursor: pointer;
	box-sizing: border-box;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.at-button:focus-visible {
	outline: 2px solid var(--at-color-primary, #2563eb);
	outline-offset: 3px;
}

/* Button Size Variations */
.at-button--sm {
	padding: 8px 16px;
	font-size: 0.875rem;
}

.at-button--md {
	padding: 12px 24px;
	font-size: 1rem;
}

.at-button--lg {
	padding: 16px 32px;
	font-size: 1.125rem;
}

.at-button--xl {
	padding: 20px 40px;
	font-size: 1.25rem;
}

/* Button Presets */
.at-button--solid-primary,
.at-button--primary {
	background-color: var(--at-color-primary, #2563eb);
	color: #ffffff;
	border-color: var(--at-color-primary, #2563eb);
}

.at-button--solid-primary:hover,
.at-button--solid-primary:focus,
.at-button--primary:hover,
.at-button--primary:focus {
	background-color: var(--at-color-primary-dark, #1d4ed8);
	color: #ffffff;
	border-color: var(--at-color-primary-dark, #1d4ed8);
}

.at-button--solid-secondary,
.at-button--secondary {
	background-color: var(--at-color-secondary, #475569);
	color: #ffffff;
	border-color: var(--at-color-secondary, #475569);
}

.at-button--solid-secondary:hover,
.at-button--solid-secondary:focus,
.at-button--secondary:hover,
.at-button--secondary:focus {
	background-color: #334155;
	color: #ffffff;
	border-color: #334155;
}

.at-button--solid-dark {
	background-color: var(--at-color-dark, #0f172a);
	color: #ffffff;
	border-color: var(--at-color-dark, #0f172a);
}

.at-button--solid-dark:hover,
.at-button--solid-dark:focus {
	background-color: #1e293b;
	color: #ffffff;
	border-color: #1e293b;
}

.at-button--outline {
	background-color: transparent;
	color: var(--at-color-primary, #2563eb);
	border-color: var(--at-color-primary, #2563eb);
}

.at-button--outline:hover,
.at-button--outline:focus {
	background-color: var(--at-color-primary, #2563eb);
	color: #ffffff;
	border-color: var(--at-color-primary, #2563eb);
}

.at-button--ghost {
	background-color: transparent;
	color: var(--at-color-primary, #2563eb);
	border-color: transparent;
}

.at-button--ghost:hover,
.at-button--ghost:focus {
	background-color: rgba(37, 99, 235, 0.08);
	color: var(--at-color-primary-dark, #1d4ed8);
}

.at-button--soft {
	background-color: rgba(37, 99, 235, 0.1);
	color: var(--at-color-primary, #2563eb);
	border-color: transparent;
}

.at-button--soft:hover,
.at-button--soft:focus {
	background-color: rgba(37, 99, 235, 0.18);
	color: var(--at-color-primary-dark, #1d4ed8);
}

.at-button--link {
	background-color: transparent;
	color: var(--at-color-primary, #2563eb);
	border-color: transparent;
	padding-left: 0;
	padding-right: 0;
}

.at-button--link:hover,
.at-button--link:focus {
	background-color: transparent;
	color: var(--at-color-primary-dark, #1d4ed8);
	text-decoration: underline;
}

.at-button--pill {
	border-radius: 9999px !important;
	background-color: var(--at-color-primary, #2563eb);
	color: #ffffff;
	border-color: var(--at-color-primary, #2563eb);
}

.at-button--pill:hover,
.at-button--pill:focus {
	background-color: var(--at-color-primary-dark, #1d4ed8);
	color: #ffffff;
	border-color: var(--at-color-primary-dark, #1d4ed8);
}

.at-button--custom {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

/* Button Icon Styling */
.at-button__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
	transition: transform 0.2s ease;
}

.at-button__icon--before {
	margin-right: var(--at-btn-icon-gap, 10px);
}

.at-button__icon--after {
	margin-left: var(--at-btn-icon-gap, 10px);
}

/* Icon Hover Micro-animations */
.at-button--anim-slide:hover .at-button__icon--after {
	transform: translateX(4px);
}

.at-button--anim-slide:hover .at-button__icon--before {
	transform: translateX(-4px);
}

.at-button--anim-rotate:hover .at-button__icon {
	transform: rotate(45deg);
}

.at-button--anim-scale:hover .at-button__icon {
	transform: scale(1.2);
}

/* Hover Lift Transforms */
.at-button--lift-sm:hover,
.at-button--lift-sm:focus {
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
}

.at-button--lift-md:hover,
.at-button--lift-md:focus {
	transform: translateY(-4px);
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.16);
}

.at-button--scale:hover,
.at-button--scale:focus {
	transform: scale(1.02);
}

@media (prefers-reduced-motion: reduce) {

	.at-button,
	.at-button__icon {
		transition: none !important;
		transform: none !important;
	}
}

/* ==========================================================================
   4. AT Icon Box Widget
   ========================================================================== */
.at-icon-box {
	display: flex;
	padding: 24px;
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 8px;
	background-color: #ffffff;
	transition: background-color 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.at-icon-pos-top .at-icon-box {
	flex-direction: column;
}

.at-icon-pos-left .at-icon-box {
	flex-direction: row;
}

.at-icon-pos-right .at-icon-box {
	flex-direction: row-reverse;
}

.at-icon-box__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.at-icon-box__icon i {
	font-size: 32px;
	color: inherit;
	line-height: 1;
}

.at-icon-box__icon svg {
	width: 32px;
	height: 32px;
	display: block;
}

.at-icon-box__content {
	flex: 1 1 auto;
}

.at-icon-box__title {
	margin: 0 0 8px;
	font-size: 1.25rem;
	font-weight: 600;
	line-height: 1.3;
}

.at-icon-box__title a {
	color: inherit;
	text-decoration: none;
}

.at-icon-box__title a:hover,
.at-icon-box__title a:focus {
	text-decoration: underline;
}

.at-icon-box__description {
	margin: 0;
	font-size: 0.95rem;
	line-height: 1.6;
	color: inherit;
}

/* ==========================================================================
   5. AT Image Box Widget
   ========================================================================== */
.at-image-box {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 8px;
	background-color: #ffffff;
	transition: background-color 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.at-image-box__media {
	width: 100%;
	overflow: hidden;
}

.at-image-box__media img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: cover;
	transition: transform 0.3s ease;
}

.at-image-box__body {
	padding: 20px;
	flex: 1 1 auto;
}

.at-image-box__title {
	margin: 0 0 10px;
	font-size: 1.25rem;
	font-weight: 600;
	line-height: 1.3;
}

.at-image-box__title a {
	color: inherit;
	text-decoration: none;
}

.at-image-box__title a:hover,
.at-image-box__title a:focus {
	text-decoration: underline;
}

.at-image-box__description {
	margin: 0;
	font-size: 0.95rem;
	line-height: 1.6;
}

/* ==========================================================================
   6. AT Card Widget
   ========================================================================== */
.at-card {
	display: flex;
	flex-direction: column;
	padding: 24px;
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 8px;
	background-color: #ffffff;
	transition: background-color 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
}

.at-card:hover {
	transform: translateY(-2px);
}

.at-card__eyebrow {
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	margin-bottom: 8px;
	color: #64748b;
}

.at-card__title {
	margin: 0 0 10px;
	font-size: 1.35rem;
	font-weight: 600;
	line-height: 1.3;
}

.at-card__description {
	margin: 0 0 16px;
	font-size: 0.95rem;
	line-height: 1.6;
	flex-grow: 1;
}

.at-card__action {
	margin-top: auto;
}

.at-card__link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 0.95rem;
	font-weight: 600;
	color: #2563eb;
	text-decoration: none;
	transition: color 0.2s ease;
}

.at-card__link:hover,
.at-card__link:focus {
	text-decoration: underline;
	color: #1d4ed8;
}

.at-card__link:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 2px;
}

/* ==========================================================================
   7. AT Section Title Widget
   ========================================================================== */
.at-section-title {
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
}

.at-section-title__label {
	display: inline-block;
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	margin-bottom: 8px;
	color: #64748b;
}

.at-section-title__heading {
	margin: 0 0 12px;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.25;
}

.at-section-title__description {
	margin: 0;
	font-size: 1.05rem;
	line-height: 1.6;
	color: #64748b;
}

/* ==========================================================================
   8. AT Text Widget
   ========================================================================== */
.at-text {
	line-height: 1.7;
	color: inherit;
}

.at-text p {
	margin: 0 0 1em;
}

.at-text p:last-child {
	margin-bottom: 0;
}

.at-text--lead {
	font-size: 1.25rem;
	line-height: 1.6;
	font-weight: 400;
}

.at-text__dropcap {
	float: left;
	font-size: 3.5em;
	line-height: 0.8;
	margin-right: 0.15em;
	font-weight: 700;
}

/* ==========================================================================
   9. AT Rich Text Widget
   ========================================================================== */
.at-rich-text {
	line-height: 1.7;
}

.at-rich-text__lead {
	font-size: 1.2rem;
	font-weight: 500;
	margin-bottom: 1.5rem;
	line-height: 1.6;
}

.at-rich-text__body p {
	margin-bottom: 1.25rem;
}

.at-rich-text__takeaway {
	margin: 2rem 0;
	padding: 1.25rem 1.5rem;
	background-color: #f8fafc;
	border-left: 4px solid #2563eb;
	border-radius: 0 8px 8px 0;
}

.at-rich-text__takeaway-title {
	display: block;
	font-size: 0.95rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	margin-bottom: 0.5rem;
}

.at-rich-text__takeaway-content {
	margin: 0;
	font-size: 1rem;
	line-height: 1.6;
}

/* ==========================================================================
   10. AT Highlight Text Widget
   ========================================================================== */
.at-highlight-text {
	line-height: 1.3;
	margin: 0 0 1rem;
}

.at-highlight-text__span {
	display: inline-block;
	padding: 0 0.15em;
	border-radius: 4px;
	transition: all 0.2s ease;
}

.at-highlight-text__span--marker {
	background-color: #fef08a;
	color: #0f172a;
	padding: 0.1em 0.35em;
	border-radius: 4px;
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
}

.at-highlight-text__span--gradient {
	background: linear-gradient(135deg, #2563eb, #7c3aed);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.at-highlight-text__span--underline {
	border-bottom: 4px solid #2563eb;
	border-radius: 0;
	padding-bottom: 2px;
}

.at-highlight-text__span--badge {
	background-color: #e0e7ff;
	color: #3730a3;
	padding: 0.1em 0.4em;
	border-radius: 6px;
}

/* ==========================================================================
   11. AT Quote Widget
   ========================================================================== */
.at-quote {
	margin: 0;
	padding: 0;
}

.at-quote--standard {
	border-left: 4px solid #2563eb;
	padding-left: 1.5rem;
}

.at-quote--card {
	padding: 2rem;
	background-color: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
}

.at-quote--centered {
	text-align: center;
}

.at-quote__stars {
	color: #f59e0b;
	font-size: 1.2rem;
	margin-bottom: 0.75rem;
	letter-spacing: 2px;
}

.at-quote__content {
	margin: 0 0 1.25rem;
	font-size: 1.15rem;
	line-height: 1.6;
	font-style: italic;
}

.at-quote__content p {
	margin: 0;
}

.at-quote__citation {
	display: flex;
	align-items: center;
	gap: 12px;
}

.at-quote--centered .at-quote__citation {
	justify-content: center;
}

.at-quote__avatar img {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	object-fit: cover;
	display: block;
}

.at-quote__author {
	display: block;
	font-style: normal;
	font-weight: 700;
	font-size: 1rem;
}

.at-quote__role {
	display: block;
	font-size: 0.875rem;
	color: #64748b;
}

/* ==========================================================================
   12. AT List Widget
   ========================================================================== */
.at-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
}

.at-list__item {
	display: flex;
	align-items: center;
	gap: 10px;
}

.at-list__marker {
	font-weight: 700;
	color: #2563eb;
	flex-shrink: 0;
}

.at-list__badge {
	display: inline-block;
	font-size: 0.7rem;
	font-weight: 700;
	padding: 2px 8px;
	border-radius: 9999px;
	background-color: #dbeafe;
	color: #1e40af;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.at-list__link {
	color: inherit;
	text-decoration: none;
	display: flex;
	align-items: center;
	gap: 10px;
}

.at-list__link:hover {
	text-decoration: underline;
}

/* ==========================================================================
   13. AT Icon List Widget
   ========================================================================== */
.at-icon-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
}

.at-icon-list__item {
	display: flex;
	align-items: center;
	gap: 12px;
}

.at-icon-list__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	color: #2563eb;
}

.at-icon-list__icon svg {
	width: 1em;
	height: 1em;
	fill: currentColor;
}

.at-icon-list__text {
	flex-grow: 1;
}

.at-icon-list__badge {
	font-size: 0.7rem;
	font-weight: 700;
	padding: 2px 8px;
	border-radius: 9999px;
	background-color: #f1f5f9;
	color: #475569;
}

.at-icon-list__link {
	color: inherit;
	text-decoration: none;
	display: flex;
	align-items: center;
	gap: 12px;
	width: 100%;
}

.at-icon-list__link:hover .at-icon-list__text {
	text-decoration: underline;
}

/* ==========================================================================
   14. AT Notice / Callout Widget
   ========================================================================== */
.at-notice {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	padding: 1.25rem 1.5rem;
	border-radius: 8px;
	border: 1px solid transparent;
	margin: 1rem 0;
}

.at-notice--info {
	background-color: #eff6ff;
	border-color: #bfdbfe;
	color: #1e3a8a;
}

.at-notice--info .at-notice__icon {
	color: #2563eb;
}

.at-notice--tip {
	background-color: #faf5ff;
	border-color: #e9d5ff;
	color: #581c87;
}

.at-notice--tip .at-notice__icon {
	color: #9333ea;
}

.at-notice--success {
	background-color: #f0fdf4;
	border-color: #bbf7d0;
	color: #14532d;
}

.at-notice--success .at-notice__icon {
	color: #16a34a;
}

.at-notice--warning {
	background-color: #fffbeb;
	border-color: #fde68a;
	color: #78350f;
}

.at-notice--warning .at-notice__icon {
	color: #d97706;
}

.at-notice__icon-wrap {
	font-size: 1.25rem;
	line-height: 1;
	flex-shrink: 0;
}

.at-notice__body {
	flex-grow: 1;
}

.at-notice__title {
	margin: 0 0 4px;
	font-size: 1rem;
	font-weight: 700;
}

.at-notice__desc {
	margin: 0;
	font-size: 0.95rem;
	line-height: 1.5;
}

.at-notice__btn {
	display: inline-block;
	padding: 6px 14px;
	background-color: currentColor;
	border-radius: 6px;
	color: #ffffff;
	font-size: 0.85rem;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
}

/* ==========================================================================
   15. AT Button Group Widget
   ========================================================================== */
.at-btn-group {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

.at-btn-group__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 12px 24px;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.2;
	border-radius: 6px;
	text-decoration: none;
	transition: all 0.2s ease;
	cursor: pointer;
}

.at-btn--primary {
	background-color: #2563eb;
	color: #ffffff !important;
	border: 1px solid #2563eb;
}

.at-btn--primary:hover {
	background-color: #1d4ed8;
	border-color: #1d4ed8;
}

.at-btn--secondary {
	background-color: #0f172a;
	color: #ffffff !important;
	border: 1px solid #0f172a;
}

.at-btn--secondary:hover {
	background-color: #1e293b;
	border-color: #1e293b;
}

.at-btn--outline {
	background-color: transparent;
	color: #0f172a !important;
	border: 1px solid #cbd5e1;
}

.at-btn--outline:hover {
	border-color: #0f172a;
	background-color: #f8fafc;
}

.at-btn--ghost {
	background-color: transparent;
	color: #2563eb !important;
	border: 1px solid transparent;
}

.at-btn--ghost:hover {
	background-color: #eff6ff;
}

@media (max-width: 767px) {
	.at-btn-group--stack-mobile {
		flex-direction: column;
		width: 100%;
	}

	.at-btn-group--stack-mobile .at-btn-group__btn {
		width: 100%;
	}
}

/* ==========================================================================
   16. AT CTA Widget
   ========================================================================== */
.at-cta {
	display: flex;
	background-color: var(--at-color-surface, #f8fafc);
	border: 1px solid var(--at-color-border, #e2e8f0);
	border-radius: var(--at-radius-lg, 12px);
	padding: 2.5rem;
	gap: 2rem;
	align-items: center;
	justify-content: space-between;
	box-shadow: var(--at-shadow-sm, 0 1px 3px rgba(0, 0, 0, 0.04));
	transition: all 0.25s ease;
	position: relative;
	overflow: hidden;
}

.at-cta__icon-wrap {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.at-cta__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 2.25rem;
	width: 2.25rem;
	height: 2.25rem;
	color: var(--at-color-primary, #2563eb);
}

.at-cta__icon svg {
	width: 1em;
	height: 1em;
	max-width: 100%;
	max-height: 100%;
	fill: currentColor;
}

.at-cta__content {
	flex: 1 1 auto;
	max-width: 720px;
}

.at-cta__eyebrow {
	display: inline-block;
	font-family: var(--at-font-label-meta, inherit);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--at-color-primary, #2563eb);
	margin-bottom: 8px;
}

.at-cta__title {
	font-family: var(--at-font-heading, inherit);
	font-size: 1.75rem;
	font-weight: 700;
	line-height: 1.3;
	color: var(--at-color-heading, #0f172a);
	margin: 0 0 10px;
}

.at-cta__desc {
	font-family: var(--at-font-body, inherit);
	margin: 0;
	font-size: 1rem;
	line-height: 1.6;
	color: var(--at-color-text, #334155);
}

.at-cta__actions {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
	flex-shrink: 0;
}

.at-cta__sec-link {
	font-family: var(--at-font-body, inherit);
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--at-color-primary, #2563eb);
	text-decoration: none;
	transition: opacity 0.2s ease;
}

.at-cta__sec-link:hover {
	text-decoration: underline;
	opacity: 0.85;
}

/* Presets */
.at-cta--minimal {
	background-color: transparent;
	border-color: transparent;
	box-shadow: none;
	padding: 1.5rem 0;
}

.at-cta--accent {
	background-color: var(--at-color-primary-light, rgba(37, 99, 235, 0.04));
	border: 2px solid var(--at-color-primary, #2563eb);
	box-shadow: 0 4px 16px rgba(37, 99, 235, 0.08);
}

.at-cta--dark {
	background-color: var(--at-color-secondary, #0f172a);
	border-color: #1e293b;
	color: #ffffff;
}

.at-cta--dark .at-cta__title {
	color: #ffffff;
}

.at-cta--dark .at-cta__desc {
	color: #94a3b8;
}

.at-cta--dark .at-cta__eyebrow {
	color: #60a5fa;
}

.at-cta--dark .at-cta__sec-link {
	color: #93c5fd;
}

.at-cta--split {
	background: linear-gradient(to right, var(--at-color-surface, #f8fafc) 70%, #ffffff 70%);
	border: 1px solid var(--at-color-border, #e2e8f0);
}

@media (max-width: 900px) {

	.at-cta,
	.at-cta--split {
		flex-direction: column;
		align-items: flex-start;
		background: var(--at-color-surface, #f8fafc);
	}

	.at-cta__actions {
		width: 100%;
	}

	.at-cta__actions .at-button {
		width: 100%;
	}
}

/* ==========================================================================
   17. AT CTA Banner Widget
   ========================================================================== */
.at-cta-banner {
	background-color: #0f172a;
	color: #ffffff;
	padding: 12px 20px;
	border-radius: 8px;
}

.at-cta-banner__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
}

.at-cta-banner__content {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
}

.at-cta-banner__badge {
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	padding: 3px 10px;
	background-color: #2563eb;
	color: #ffffff;
	border-radius: 9999px;
}

.at-cta-banner__msg {
	font-size: 0.95rem;
	font-weight: 500;
}

.at-cta-banner__btn {
	display: inline-block;
	font-size: 0.875rem;
	font-weight: 600;
	padding: 6px 16px;
	background-color: #ffffff;
	color: #0f172a;
	border-radius: 6px;
	text-decoration: none;
	transition: opacity 0.2s ease;
}

.at-cta-banner__btn:hover {
	opacity: 0.9;
}

/* ==========================================================================
   18. AT Download Button Widget
   ========================================================================== */
.at-download-btn-wrap {
	display: inline-block;
}

.at-download-btn {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	padding: 14px 20px;
	background-color: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	text-decoration: none;
	color: inherit;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
	transition: all 0.2s ease;
}

.at-download-btn:hover {
	border-color: #2563eb;
	box-shadow: 0 4px 12px rgba(37, 99, 235, 0.1);
}

.at-download-btn__badge {
	font-size: 0.75rem;
	font-weight: 700;
	padding: 4px 8px;
	border-radius: 4px;
	background-color: #eff6ff;
	color: #2563eb;
	text-transform: uppercase;
}

.at-download-btn__info {
	display: flex;
	flex-direction: column;
}

.at-download-btn__title {
	font-size: 0.95rem;
	font-weight: 600;
	color: #0f172a;
}

.at-download-btn__meta {
	font-size: 0.8rem;
	color: #64748b;
}

.at-download-btn__icon {
	color: #2563eb;
	font-size: 1.1rem;
	margin-left: 6px;
}

/* ==========================================================================
   19. AT Feature Card Widget
   ========================================================================== */
.at-feature-card {
	background-color: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	padding: 2rem;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
	transition: all 0.25s ease;
}

.at-feature-card:hover {
	box-shadow: 0 12px 24px -4px rgba(0, 0, 0, 0.08);
	transform: translateY(-2px);
}

.at-feature-card__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 1.25rem;
}

.at-feature-card__icon {
	font-size: 1.75rem;
	color: #2563eb;
}

.at-feature-card__badge {
	font-size: 0.75rem;
	font-weight: 700;
	padding: 3px 10px;
	border-radius: 9999px;
	background-color: #eff6ff;
	color: #1e40af;
}

.at-feature-card__title {
	font-size: 1.25rem;
	font-weight: 700;
	margin: 0 0 10px;
}

.at-feature-card__desc {
	font-size: 0.95rem;
	line-height: 1.6;
	color: #64748b;
	margin: 0 0 1.25rem;
}

.at-feature-card__points {
	list-style: none;
	padding: 0;
	margin: 0 0 1.5rem;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.at-feature-card__points li {
	font-size: 0.9rem;
	display: flex;
	align-items: center;
	gap: 8px;
}

.at-feature-card__check {
	color: #16a34a;
	font-weight: 700;
}

.at-feature-card__action a {
	font-size: 0.9rem;
	font-weight: 600;
	color: #2563eb;
	text-decoration: none;
}

.at-feature-card__action a:hover {
	text-decoration: underline;
}

/* ==========================================================================
   20. AT Service Card Widget
   ========================================================================== */
.at-service-card {
	background-color: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	padding: 2.25rem;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
	transition: all 0.25s ease;
}

.at-service-card:hover {
	box-shadow: 0 12px 24px -4px rgba(0, 0, 0, 0.08);
	transform: translateY(-2px);
}

.at-service-card__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 1.25rem;
}

.at-service-card__icon {
	font-size: 1.75rem;
	color: #2563eb;
}

.at-service-card__badge {
	font-size: 0.75rem;
	font-weight: 700;
	padding: 4px 10px;
	border-radius: 6px;
	background-color: #f1f5f9;
	color: #334155;
}

.at-service-card__title {
	font-size: 1.3rem;
	font-weight: 700;
	margin: 0 0 10px;
}

.at-service-card__desc {
	font-size: 0.95rem;
	line-height: 1.6;
	color: #64748b;
	margin: 0 0 1.5rem;
}

.at-service-card__features {
	list-style: none;
	padding: 0;
	margin: 0 0 1.75rem;
	display: flex;
	flex-direction: column;
	gap: 10px;
	border-top: 1px solid #f1f5f9;
	padding-top: 1.25rem;
}

.at-service-card__features li {
	font-size: 0.9rem;
	display: flex;
	align-items: center;
	gap: 8px;
}

.at-service-card__tick {
	color: #16a34a;
	font-weight: 700;
}

.at-service-card__btn {
	display: inline-block;
	width: 100%;
	text-align: center;
	padding: 12px 20px;
	background-color: #2563eb;
	color: #ffffff;
	border-radius: 6px;
	font-weight: 600;
	text-decoration: none;
	transition: background-color 0.2s ease;
}

.at-service-card__btn:hover {
	background-color: #1d4ed8;
}

/* ==========================================================================
   21. AT Project Card Widget
   ========================================================================== */
.at-project-card {
	background-color: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
	transition: all 0.25s ease;
}

.at-project-card:hover {
	box-shadow: 0 12px 24px -4px rgba(0, 0, 0, 0.08);
	transform: translateY(-2px);
}

.at-project-card__image-wrap {
	position: relative;
	width: 100%;
	height: 220px;
	overflow: hidden;
}

.at-project-card__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.3s ease;
}

.at-project-card:hover .at-project-card__img {
	transform: scale(1.03);
}

.at-project-card__metric {
	position: absolute;
	bottom: 12px;
	right: 12px;
	background-color: rgba(15, 23, 42, 0.9);
	color: #ffffff;
	padding: 4px 10px;
	border-radius: 6px;
	font-size: 0.75rem;
	font-weight: 700;
	backdrop-filter: blur(4px);
}

.at-project-card__body {
	padding: 1.75rem;
}

.at-project-card__cat {
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	color: #2563eb;
	margin-bottom: 6px;
}

.at-project-card__title {
	font-size: 1.25rem;
	font-weight: 700;
	margin: 0 0 10px;
}

.at-project-card__desc {
	font-size: 0.95rem;
	line-height: 1.6;
	color: #64748b;
	margin: 0 0 1.25rem;
}

.at-project-card__btn {
	font-size: 0.9rem;
	font-weight: 600;
	color: #2563eb;
	text-decoration: none;
}

.at-project-card__btn:hover {
	text-decoration: underline;
}

/* ==========================================================================
   22. AT Team Card Widget
   ========================================================================== */
.at-team-card {
	background-color: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	overflow: hidden;
	text-align: center;
	padding: 2rem 1.5rem;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
	transition: all 0.25s ease;
}

.at-team-card:hover {
	box-shadow: 0 12px 24px -4px rgba(0, 0, 0, 0.08);
	transform: translateY(-2px);
}

.at-team-card__photo-wrap {
	width: 100px;
	height: 100px;
	margin: 0 auto 1.25rem;
}

.at-team-card__photo {
	width: 100%;
	height: 100%;
	border-radius: 50%;
	object-fit: cover;
	display: block;
}

.at-team-card__name {
	font-size: 1.2rem;
	font-weight: 700;
	margin: 0 0 4px;
}

.at-team-card__role {
	display: block;
	font-size: 0.85rem;
	color: #2563eb;
	font-weight: 600;
	margin-bottom: 12px;
}

.at-team-card__bio {
	font-size: 0.9rem;
	line-height: 1.6;
	color: #64748b;
	margin: 0 0 1.25rem;
}

.at-team-card__socials {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
}

.at-team-card__social-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background-color: #f1f5f9;
	color: #475569;
	text-decoration: none;
	font-size: 0.9rem;
	transition: all 0.2s ease;
}

.at-team-card__social-link:hover {
	background-color: #2563eb;
	color: #ffffff;
}

/* ==========================================================================
   23. AT Testimonial Card Widget
   ========================================================================== */
.at-testimonial-card {
	background-color: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	padding: 2rem;
	margin: 0;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
	transition: all 0.25s ease;
}

.at-testimonial-card:hover {
	box-shadow: 0 12px 24px -4px rgba(0, 0, 0, 0.08);
	transform: translateY(-2px);
}

.at-testimonial-card__stars {
	color: #f59e0b;
	font-size: 1.1rem;
	letter-spacing: 2px;
	margin-bottom: 1rem;
}

.at-testimonial-card__quote {
	margin: 0 0 1.5rem;
	font-size: 1rem;
	line-height: 1.6;
	color: #334155;
	font-style: italic;
}

.at-testimonial-card__quote p {
	margin: 0;
}

.at-testimonial-card__author {
	display: flex;
	align-items: center;
	gap: 12px;
}

.at-testimonial-card__avatar {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	object-fit: cover;
	display: block;
}

.at-testimonial-card__name-wrap {
	display: flex;
	align-items: center;
	gap: 6px;
}

.at-testimonial-card__name {
	font-style: normal;
	font-weight: 700;
	font-size: 0.95rem;
	color: #0f172a;
}

.at-testimonial-card__verified {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background-color: #16a34a;
	color: #ffffff;
	font-size: 10px;
	font-weight: 700;
}

.at-testimonial-card__role {
	display: block;
	font-size: 0.8rem;
	color: #64748b;
}

/* ==========================================================================
   24. AT Pricing Card Widget
   ========================================================================== */
.at-pricing-card {
	position: relative;
	background-color: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	padding: 2.5rem 2rem;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
	transition: all 0.25s ease;
}

.at-pricing-card:hover {
	box-shadow: 0 12px 24px -4px rgba(0, 0, 0, 0.08);
	transform: translateY(-2px);
}

.at-pricing-card--featured {
	border-color: #2563eb;
	box-shadow: 0 8px 20px -2px rgba(37, 99, 235, 0.15);
}

.at-pricing-card__ribbon {
	position: absolute;
	top: -12px;
	left: 50%;
	transform: translateX(-50%);
	background-color: #2563eb;
	color: #ffffff;
	font-size: 0.75rem;
	font-weight: 700;
	padding: 4px 14px;
	border-radius: 9999px;
	letter-spacing: 0.05em;
}

.at-pricing-card__header {
	text-align: center;
	margin-bottom: 2rem;
}

.at-pricing-card__name {
	font-size: 1.3rem;
	font-weight: 700;
	margin: 0 0 6px;
}

.at-pricing-card__desc {
	font-size: 0.9rem;
	color: #64748b;
	margin: 0 0 1rem;
}

.at-pricing-card__price-box {
	display: flex;
	align-items: baseline;
	justify-content: center;
	gap: 2px;
}

.at-pricing-card__currency {
	font-size: 1.5rem;
	font-weight: 700;
	vertical-align: top;
}

.at-pricing-card__amount {
	font-size: 3rem;
	font-weight: 800;
	line-height: 1;
}

.at-pricing-card__period {
	font-size: 0.9rem;
	color: #64748b;
}

.at-pricing-card__features {
	list-style: none;
	padding: 0;
	margin: 0 0 2rem;
	display: flex;
	flex-direction: column;
	gap: 12px;
	border-top: 1px solid #f1f5f9;
	padding-top: 1.5rem;
}

.at-pricing-card__item {
	font-size: 0.9rem;
	display: flex;
	align-items: center;
	gap: 10px;
}

.at-pricing-card__item--included .at-pricing-card__check {
	color: #16a34a;
	font-weight: 700;
}

.at-pricing-card__item--excluded {
	color: #94a3b8;
}

.at-pricing-card__item--excluded .at-pricing-card__check {
	color: #cbd5e1;
}

.at-pricing-card__footer {
	text-align: center;
}

.at-pricing-card__btn {
	display: inline-block;
	width: 100%;
	padding: 12px 20px;
	border-radius: 6px;
	font-weight: 600;
	text-decoration: none;
	transition: all 0.2s ease;
}

.at-pricing-card__note {
	font-size: 0.8rem;
	color: #64748b;
	margin-top: 10px;
}

/* ==========================================================================
   25. AT Case Study Card Widget
   ========================================================================== */
.at-case-study-card {
	background-color: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	padding: 2.25rem;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
	transition: all 0.25s ease;
}

.at-case-study-card:hover {
	box-shadow: 0 12px 24px -4px rgba(0, 0, 0, 0.08);
	transform: translateY(-2px);
}

.at-case-study-card__client {
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: #64748b;
	margin-bottom: 1rem;
}

.at-case-study-card__metric-box {
	display: inline-flex;
	flex-direction: column;
	background-color: #eff6ff;
	padding: 10px 16px;
	border-radius: 8px;
	margin-bottom: 1.25rem;
}

.at-case-study-card__number {
	font-size: 2rem;
	font-weight: 800;
	color: #2563eb;
	line-height: 1.1;
}

.at-case-study-card__metric-label {
	font-size: 0.8rem;
	font-weight: 600;
	color: #1e40af;
}

.at-case-study-card__title {
	font-size: 1.3rem;
	font-weight: 700;
	margin: 0 0 10px;
	line-height: 1.35;
}

.at-case-study-card__summary {
	font-size: 0.95rem;
	line-height: 1.6;
	color: #64748b;
	margin: 0 0 1.25rem;
}

.at-case-study-card__action a {
	font-size: 0.9rem;
	font-weight: 600;
	color: #2563eb;
	text-decoration: none;
}

.at-case-study-card__action a:hover {
	text-decoration: underline;
}

/* ==========================================================================
   26. AT Button Group Widget
   ========================================================================== */
.at-btn-group {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px;
	box-sizing: border-box;
}

.at-btn-group--equal-width .at-btn-group__btn {
	flex: 1 1 0;
	min-width: 140px;
	text-align: center;
}

/* Button Group Presets */
.at-btn-group--connected {
	gap: 0;
}

.at-btn-group--connected .at-btn-group__btn {
	border-radius: 0;
	margin-right: -1px;
}

.at-btn-group--connected .at-btn-group__btn:first-child {
	border-top-left-radius: var(--at-btn-radius, 6px);
	border-bottom-left-radius: var(--at-btn-radius, 6px);
}

.at-btn-group--connected .at-btn-group__btn:last-child {
	border-top-right-radius: var(--at-btn-radius, 6px);
	border-bottom-right-radius: var(--at-btn-radius, 6px);
	margin-right: 0;
}

.at-btn-group--connected .at-btn-group__btn:hover,
.at-btn-group--connected .at-btn-group__btn:focus {
	z-index: 2;
}

.at-btn-group--split {
	justify-content: space-between;
	width: 100%;
}

.at-btn-group--stacked {
	flex-direction: column;
	align-items: stretch;
}

.at-btn-group--stacked .at-btn-group__btn {
	width: 100%;
}

@media (max-width: 767px) {

	.at-btn-group--stack-mobile,
	.at-btn-group--connected.at-btn-group--stack-mobile {
		flex-direction: column !important;
		align-items: stretch !important;
		gap: 8px;
	}

	.at-btn-group--stack-mobile .at-btn-group__btn,
	.at-btn-group--connected.at-btn-group--stack-mobile .at-btn-group__btn {
		width: 100% !important;
		justify-content: center;
		border-radius: var(--at-btn-radius, 6px) !important;
		margin-right: 0 !important;
	}
}

/* ==========================================================================
   27. AT CTA Banner Widget
   ========================================================================== */
.at-cta-banner {
	box-sizing: border-box;
	border-radius: var(--at-radius-md, 8px);
	padding: 1.25rem 1.75rem;
	background-color: #f8fafc;
	border: 1px solid #e2e8f0;
	transition: all 0.25s ease;
	position: relative;
	overflow: hidden;
}

.at-cta-banner__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	flex-wrap: wrap;
}

.at-cta-banner__content {
	display: flex;
	align-items: center;
	gap: 1rem;
	flex: 1 1 300px;
}

.at-cta-banner__badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background-color: var(--at-color-primary, #2563eb);
	color: #ffffff;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	padding: 4px 10px;
	border-radius: 9999px;
	white-space: nowrap;
	line-height: 1.3;
}

.at-cta-banner__badge-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 0.8em;
}

.at-cta-banner__text-wrap {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.at-cta-banner__msg {
	font-size: 1rem;
	font-weight: 600;
	color: var(--at-color-dark, #0f172a);
	line-height: 1.4;
}

.at-cta-banner__sub {
	font-size: 0.875rem;
	color: var(--at-color-text-muted, #64748b);
	line-height: 1.4;
}

.at-cta-banner__actions {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}

/* CTA Banner Presets */
.at-cta-banner--split .at-cta-banner__inner {
	justify-content: space-between;
}

.at-cta-banner--centered {
	text-align: center;
}

.at-cta-banner--centered .at-cta-banner__inner {
	flex-direction: column;
	justify-content: center;
}

.at-cta-banner--centered .at-cta-banner__content {
	flex-direction: column;
	justify-content: center;
}

.at-cta-banner--gradient {
	background: linear-gradient(135deg, var(--at-color-primary, #2563eb) 0%, #4338ca 100%);
	border-color: transparent;
	color: #ffffff;
}

.at-cta-banner--gradient .at-cta-banner__msg {
	color: #ffffff;
}

.at-cta-banner--gradient .at-cta-banner__sub {
	color: rgba(255, 255, 255, 0.85);
}

.at-cta-banner--gradient .at-cta-banner__badge {
	background-color: rgba(255, 255, 255, 0.2);
	color: #ffffff;
}

.at-cta-banner--dark {
	background-color: var(--at-color-dark, #0f172a);
	border-color: #1e293b;
	color: #f8fafc;
}

.at-cta-banner--dark .at-cta-banner__msg {
	color: #f8fafc;
}

.at-cta-banner--dark .at-cta-banner__sub {
	color: #94a3b8;
}

.at-cta-banner--compact {
	padding: 0.625rem 1.25rem;
	border-radius: 9999px;
}

.at-cta-banner--compact .at-cta-banner__msg {
	font-size: 0.875rem;
}

.at-cta-banner--floating {
	border-radius: var(--at-radius-lg, 12px);
	box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.05);
	border: 1px solid rgba(0, 0, 0, 0.06);
	background-color: #ffffff;
}

@media (max-width: 767px) {
	.at-cta-banner__inner {
		flex-direction: column;
		align-items: flex-start;
	}

	.at-cta-banner__actions {
		width: 100%;
	}

	.at-cta-banner__actions .at-button {
		width: 100%;
	}
}

/* ==========================================================================
   28. AT Download Button Widget
   ========================================================================== */
.at-download-btn-wrap {
	display: inline-block;
	max-width: 100%;
}

.at-download-btn {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	padding: 12px 20px;
	background-color: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: var(--at-radius-md, 8px);
	text-decoration: none;
	color: var(--at-color-dark, #0f172a);
	transition: all 0.2s ease;
	cursor: pointer;
	box-sizing: border-box;
}

.at-download-btn:hover {
	border-color: var(--at-color-primary, #2563eb);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
	transform: translateY(-2px);
}

.at-download-btn__badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 0.75rem;
	font-weight: 700;
	padding: 4px 8px;
	background-color: var(--at-color-primary-light, rgba(37, 99, 235, 0.1));
	color: var(--at-color-primary, #2563eb);
	border-radius: 4px;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.at-download-btn__info {
	display: flex;
	flex-direction: column;
	gap: 2px;
	text-align: left;
}

.at-download-btn__title {
	font-size: 0.95rem;
	font-weight: 600;
	color: var(--at-color-dark, #0f172a);
	line-height: 1.3;
}

.at-download-btn__desc {
	font-size: 0.85rem;
	color: var(--at-color-text-muted, #64748b);
	margin: 2px 0 0;
	line-height: 1.4;
}

.at-download-btn__meta {
	font-size: 0.8rem;
	color: var(--at-color-text-muted, #64748b);
}

.at-download-btn__icon {
	margin-left: auto;
	color: var(--at-color-primary, #2563eb);
	font-size: 1.1rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: transform 0.2s ease;
}

.at-download-btn:hover .at-download-btn__icon {
	transform: translateY(2px);
}

/* Download Button Presets */
.at-download-btn--button {
	display: inline-flex;
	align-items: center;
	gap: 12px;
}

.at-download-btn--compact {
	padding: 6px 14px;
	border-radius: 9999px;
}

.at-download-btn--compact .at-download-btn__title {
	font-size: 0.85rem;
}

.at-download-btn--card {
	flex-direction: column;
	align-items: flex-start;
	padding: 1.5rem;
	border-radius: var(--at-radius-lg, 12px);
	background-color: #ffffff;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
	min-width: 240px;
}

.at-download-btn--card .at-download-btn__icon {
	margin-left: 0;
	margin-top: 1rem;
	align-self: flex-end;
}

.at-download-btn--horizontal {
	display: flex;
	width: 100%;
	padding: 1.25rem 1.5rem;
}

.at-download-btn--minimal {
	background: transparent;
	border-color: transparent;
	padding: 6px 0;
}

.at-download-btn--minimal:hover {
	background: transparent;
	box-shadow: none;
	transform: none;
}

.at-download-btn--minimal:hover .at-download-btn__title {
	color: var(--at-color-primary, #2563eb);
}

.at-download-btn--outlined {
	border: 2px dashed #cbd5e1;
	background: #f8fafc;
}

.at-download-btn--outlined:hover {
	border-color: var(--at-color-primary, #2563eb);
	background: #ffffff;
}

/* ==========================================================================
   29. AT Feature Card Widget
   ========================================================================== */
.at-feature-card {
	position: relative;
	box-sizing: border-box;
	background-color: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: var(--at-radius-lg, 12px);
	padding: 2rem;
	transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
	overflow: hidden;
}

.at-feature-card:hover {
	box-shadow: 0 12px 24px -4px rgba(0, 0, 0, 0.08);
	transform: translateY(-4px);
}

.at-feature-card--clickable {
	cursor: pointer;
}

.at-feature-card__overlay-link {
	position: absolute;
	inset: 0;
	z-index: 5;
	text-indent: -9999px;
}

.at-feature-card__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 1.25rem;
}

.at-feature-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 1.5rem;
	color: var(--at-color-primary, #2563eb);
	transition: transform 0.25s ease;
}

.at-feature-card:hover .at-feature-card__icon {
	transform: scale(1.08);
}

/* Shape Variations */
.at-feature-card--shape-rounded .at-feature-card__icon {
	width: 52px;
	height: 52px;
	border-radius: var(--at-radius-md, 8px);
	background-color: var(--at-color-primary-light, rgba(37, 99, 235, 0.08));
}

.at-feature-card--shape-circle .at-feature-card__icon {
	width: 52px;
	height: 52px;
	border-radius: 9999px;
	background-color: var(--at-color-primary-light, rgba(37, 99, 235, 0.08));
}

.at-feature-card__badge {
	font-size: 0.75rem;
	font-weight: 700;
	color: var(--at-color-primary, #2563eb);
	background-color: var(--at-color-primary-light, rgba(37, 99, 235, 0.1));
	padding: 4px 10px;
	border-radius: 9999px;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.at-feature-card__title {
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--at-color-dark, #0f172a);
	margin: 0 0 0.75rem;
	line-height: 1.35;
}

.at-feature-card__desc {
	font-size: 0.95rem;
	line-height: 1.6;
	color: var(--at-color-text-muted, #64748b);
	margin: 0 0 1.25rem;
}

.at-feature-card__points {
	list-style: none;
	padding: 0;
	margin: 0 0 1.5rem;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.at-feature-card__points li {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 0.9rem;
	color: var(--at-color-dark, #0f172a);
}

.at-feature-card__check {
	color: var(--at-color-success, #16a34a);
	font-weight: 700;
}

.at-feature-card__action-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 0.925rem;
	font-weight: 600;
	color: var(--at-color-primary, #2563eb);
	text-decoration: none;
	transition: gap 0.2s ease;
}

.at-feature-card__action-link:hover {
	gap: 10px;
	text-decoration: underline;
}

/* Feature Card Presets */
.at-feature-card--modern {
	background: var(--at-color-surface, #ffffff);
	border: 1px solid rgba(37, 99, 235, 0.2);
	box-shadow: 0 4px 20px -2px rgba(37, 99, 235, 0.06);
	border-radius: var(--at-radius-lg, 16px);
}

.at-feature-card--modern .at-feature-card__icon {
	background: linear-gradient(135deg, rgba(37, 99, 235, 0.12), rgba(99, 102, 241, 0.08));
	color: var(--at-color-primary, #2563eb);
}

.at-feature-card--modern:hover {
	border-color: var(--at-color-primary, #2563eb);
	box-shadow: 0 16px 32px -8px rgba(37, 99, 235, 0.18);
	transform: translateY(-5px);
}

.at-feature-card--minimal {
	border: none;
	background: transparent;
	padding: 1.25rem 0;
	box-shadow: none;
	border-radius: 0;
}

.at-feature-card--minimal:hover {
	transform: none;
	box-shadow: none;
}

.at-feature-card--minimal .at-feature-card__title {
	border-bottom: 2px solid transparent;
	padding-bottom: 4px;
	display: inline-block;
	transition: border-color 0.2s ease;
}

.at-feature-card--minimal:hover .at-feature-card__title {
	border-bottom-color: var(--at-color-primary, #2563eb);
}

.at-feature-card--accent {
	position: relative;
	border-top: none;
	padding-top: calc(var(--at-card-padding, 2rem) + 4px);
}

.at-feature-card--accent::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	background: linear-gradient(90deg, var(--at-color-primary, #2563eb), var(--at-color-secondary, #6366f1));
	border-radius: var(--at-radius-lg, 12px) var(--at-radius-lg, 12px) 0 0;
}

.at-feature-card--elevated {
	border: none;
	box-shadow: 0 12px 28px -4px rgba(0, 0, 0, 0.08), 0 4px 12px -2px rgba(0, 0, 0, 0.03);
	border-radius: var(--at-radius-xl, 18px);
	background: var(--at-color-surface, #ffffff);
}

.at-feature-card--elevated:hover {
	box-shadow: 0 24px 40px -6px rgba(0, 0, 0, 0.14), 0 8px 16px -4px rgba(0, 0, 0, 0.04);
	transform: translateY(-7px);
}

.at-feature-card--featured {
	border: 2px solid var(--at-color-primary, #2563eb);
	box-shadow: 0 12px 30px -6px rgba(37, 99, 235, 0.16);
	background: var(--at-color-surface, #ffffff);
	position: relative;
}

.at-feature-card--featured .at-feature-card__badge {
	background: var(--at-color-primary, #2563eb);
	color: #ffffff;
	font-weight: 700;
}

.at-feature-card--glass {
	background: rgba(255, 255, 255, 0.75);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	border: 1px solid rgba(255, 255, 255, 0.4);
	box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.07);
}

.at-feature-card--numbered {
	position: relative;
	overflow: hidden;
}

.at-feature-card__number {
	position: absolute;
	top: 1rem;
	right: 1.5rem;
	font-size: 3.5rem;
	font-weight: 900;
	line-height: 1;
	color: var(--at-color-primary, #2563eb);
	opacity: 0.1;
	pointer-events: none;
	user-select: none;
	font-family: inherit;
}

.at-feature-card--horizontal {
	display: flex;
	gap: 1.75rem;
	align-items: flex-start;
}

.at-feature-card--horizontal .at-feature-card__header {
	margin-bottom: 0;
	flex-shrink: 0;
}

.at-feature-card--horizontal .at-feature-card__body {
	flex: 1;
}

@media (max-width: 767px) {
	.at-feature-card--horizontal {
		flex-direction: column;
		gap: 1rem;
	}
}

@media (prefers-reduced-motion: reduce) {

	.at-feature-card,
	.at-feature-card__icon,
	.at-download-btn,
	.at-cta-banner {
		transition: none !important;
		transform: none !important;
	}
}

/* ==========================================================================
   AT Elements v2.2.0 - Multi-Preset Visual Systems
   ========================================================================== */

/* --------------------------------------------------------------------------
   General Card Presets (.at-card)
   -------------------------------------------------------------------------- */
.at-card {
	position: relative;
	background: var(--at-color-surface, #ffffff);
	border: 1px solid var(--at-border-color, #e2e8f0);
	border-radius: var(--at-radius-lg, 12px);
	overflow: hidden;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.at-card:hover {
	transform: translateY(-3px);
	box-shadow: var(--at-shadow-md, 0 10px 25px -5px rgba(0, 0, 0, 0.1));
}

.at-card--elevated {
	border: none;
	border-radius: var(--at-radius-xl, 18px);
	box-shadow: 0 16px 36px -6px rgba(0, 0, 0, 0.09), 0 6px 14px -2px rgba(0, 0, 0, 0.03);
}

.at-card--elevated:hover {
	transform: translateY(-6px);
	box-shadow: 0 26px 44px -8px rgba(0, 0, 0, 0.14), 0 10px 20px -4px rgba(0, 0, 0, 0.04);
}

.at-card--minimal {
	border: none;
	border-bottom: 2px solid var(--at-border-color, #e2e8f0);
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	padding: 1rem 0;
}

.at-card--minimal .at-card__body {
	padding-left: 0;
	padding-right: 0;
}

.at-card--minimal:hover {
	transform: none;
	box-shadow: none;
	border-bottom-color: var(--at-color-primary, #2563eb);
}

.at-card--featured {
	position: relative;
	border: 2px solid var(--at-color-primary, #2563eb);
	box-shadow: 0 14px 32px -6px rgba(37, 99, 235, 0.18);
}

.at-card--featured::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 5px;
	background: linear-gradient(90deg, var(--at-color-primary, #2563eb), var(--at-color-secondary, #6366f1));
	z-index: 4;
}

.at-card--overlay {
	position: relative;
	min-height: 360px;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	border: none;
	border-radius: var(--at-radius-lg, 14px);
	overflow: hidden;
}

.at-card--overlay .at-card__backdrop {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	transition: transform 0.4s ease;
	z-index: 1;
}

.at-card--overlay:hover .at-card__backdrop {
	transform: scale(1.05);
}

.at-card--overlay .at-card__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(15, 23, 42, 0.05) 20%, rgba(15, 23, 42, 0.88) 80%, rgba(15, 23, 42, 0.96) 100%);
	z-index: 2;
}

.at-card--overlay .at-card__body {
	position: relative;
	z-index: 3;
	padding: 2rem;
	color: #ffffff;
}

.at-card--overlay .at-card__title,
.at-card--overlay .at-card__desc,
.at-card--overlay .at-card__eyebrow,
.at-card--overlay .at-card__meta {
	color: #ffffff !important;
}

.at-card--overlay .at-card__desc {
	opacity: 0.85;
}

.at-card--overlay .at-card__badge {
	background: rgba(255, 255, 255, 0.2);
	color: #ffffff;
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	border: 1px solid rgba(255, 255, 255, 0.3);
}

.at-card--overlay .at-card__action a {
	color: #38bdf8 !important;
}

.at-card--horizontal {
	display: flex;
	flex-direction: row;
	align-items: stretch;
}

.at-card--horizontal .at-card__media {
	flex: 0 0 42%;
	max-width: 42%;
	min-height: 220px;
}

.at-card--horizontal .at-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.at-card--horizontal .at-card__body {
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 2rem;
}

@media (max-width: 767px) {
	.at-card--horizontal {
		flex-direction: column;
	}

	.at-card--horizontal .at-card__media {
		flex: 1 1 auto;
		max-width: 100%;
		min-height: 180px;
	}
}

/* --------------------------------------------------------------------------
   Icon Box Presets (.at-icon-box)
   -------------------------------------------------------------------------- */
.at-icon-box--circle .at-icon-box__icon-wrap {
	border-radius: 9999px;
	background-color: var(--at-color-primary, #2563eb);
	color: #ffffff;
	padding: 1.25rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 8px 20px -4px rgba(37, 99, 235, 0.35);
}

.at-icon-box--circle .at-icon-box__icon-wrap svg {
	fill: #ffffff;
}

.at-icon-box--soft .at-icon-box__icon-wrap {
	border-radius: var(--at-radius-lg, 12px);
	background-color: rgba(37, 99, 235, 0.1);
	color: var(--at-color-primary, #2563eb);
	padding: 1.25rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(37, 99, 235, 0.15);
}

.at-icon-box--numbered {
	position: relative;
	overflow: hidden;
}

.at-icon-box__step-number {
	position: absolute;
	top: 0;
	right: 0;
	font-size: 3rem;
	font-weight: 900;
	color: var(--at-color-primary, #2563eb);
	opacity: 0.1;
	line-height: 1;
	user-select: none;
	pointer-events: none;
}

.at-icon-box--horizontal {
	display: flex;
	gap: 1.5rem;
	align-items: flex-start;
}

.at-icon-box--horizontal .at-icon-box__icon-wrap {
	flex-shrink: 0;
}

.at-icon-box--horizontal .at-icon-box__content {
	flex: 1;
}

@media (max-width: 767px) {
	.at-icon-box--horizontal {
		flex-direction: column;
		gap: 0.85rem;
	}
}

/* --------------------------------------------------------------------------
   Image Box Presets (.at-image-box)
   -------------------------------------------------------------------------- */
.at-image-box--overlay {
	position: relative;
	overflow: hidden;
	border-radius: var(--at-radius-lg, 14px);
}

.at-image-box--overlay .at-image-box__content {
	position: absolute;
	inset: 0;
	z-index: 2;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0) 30%, rgba(15, 23, 42, 0.92) 100%);
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: 2rem;
	color: #ffffff;
}

.at-image-box--overlay .at-image-box__title,
.at-image-box--overlay .at-image-box__desc {
	color: #ffffff !important;
}

.at-image-box--split {
	display: flex;
	border: 1px solid var(--at-border-color, #e2e8f0);
	border-radius: var(--at-radius-lg, 14px);
	overflow: hidden;
	background: var(--at-color-surface, #ffffff);
}

.at-image-box--split .at-image-box__image-wrap {
	flex: 0 0 50%;
}

.at-image-box--split .at-image-box__image-wrap img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.at-image-box--split .at-image-box__content {
	flex: 1;
	padding: 2.25rem;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

@media (max-width: 767px) {
	.at-image-box--split {
		flex-direction: column;
	}

	.at-image-box--split .at-image-box__image-wrap {
		flex: 1 1 auto;
		height: 220px;
	}
}

.at-image-box--caption {
	background: var(--at-color-surface, #ffffff);
	padding: 0.85rem;
	border: 1px solid var(--at-border-color, #e2e8f0);
	border-radius: var(--at-radius-md, 10px);
	box-shadow: 0 6px 18px -3px rgba(0, 0, 0, 0.06);
}

.at-image-box--caption .at-image-box__image-wrap {
	border-radius: var(--at-radius-sm, 6px);
	overflow: hidden;
}

.at-image-box--caption .at-image-box__content {
	padding: 1rem 0.5rem 0.35rem;
}

.at-image-box--minimal {
	border: none;
	background: transparent;
}

.at-image-box--minimal .at-image-box__content {
	padding: 1.25rem 0 0;
}

/* --------------------------------------------------------------------------
   AT Service Card (.at-service-card)
   -------------------------------------------------------------------------- */
.at-service-card {
	position: relative;
	background: #ffffff;
	border: 1px solid var(--at-border-color, #e2e8f0);
	border-radius: var(--at-radius-xl, 1rem);
	padding: 2.25rem 2rem;
	display: flex;
	flex-direction: column;
	transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
	overflow: hidden;
}

.at-service-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 32px -8px rgba(0, 0, 0, 0.08);
}

.at-service-card__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 1.5rem;
}

.at-service-card__icon {
	width: 54px;
	height: 54px;
	border-radius: var(--at-radius-lg, 12px);
	background: rgba(37, 99, 235, 0.08);
	color: var(--at-color-primary, #2563eb);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 1.6rem;
	transition: transform 0.3s ease;
}

.at-service-card:hover .at-service-card__icon {
	transform: scale(1.08);
}

.at-service-card__badge {
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--at-color-primary, #2563eb);
	background: rgba(37, 99, 235, 0.08);
	padding: 0.3rem 0.75rem;
	border-radius: 9999px;
}

.at-service-card__content {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

.at-service-card__title {
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.35;
	color: var(--at-color-text-title, #0f172a);
	margin: 0 0 0.75rem 0;
}

.at-service-card__desc {
	font-size: 0.95rem;
	line-height: 1.6;
	color: var(--at-color-text-body, #334155);
	margin: 0 0 1.5rem 0;
	flex-grow: 1;
}

.at-service-card__features,
.at-service-card__points {
	list-style: none;
	padding: 0;
	margin: 0 0 1.5rem 0;
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
}

.at-service-card__features li,
.at-service-card__points li {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	font-size: 0.9rem;
	color: var(--at-color-text-body, #334155);
}

.at-service-card__tick {
	color: var(--at-color-primary, #2563eb);
	font-weight: bold;
}

.at-service-card__action {
	margin-top: auto;
}

.at-service-card__btn {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--at-color-primary, #2563eb);
	text-decoration: none;
	transition: all 0.2s ease;
}

.at-service-card__btn:hover {
	color: #1d4ed8;
	transform: translateX(4px);
}

/* Service Card Presets */
.at-service-card--featured {
	position: relative;
	border: 2px solid var(--at-color-primary, #2563eb);
	box-shadow: 0 16px 36px -8px rgba(37, 99, 235, 0.18);
}

.at-service-card--featured::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	background-color: var(--at-color-primary, #2563eb);
	border-radius: var(--at-radius-lg, 12px) var(--at-radius-lg, 12px) 0 0;
}

.at-service-card--minimal {
	background: transparent;
	border: 1px solid var(--at-border-color, #e2e8f0);
	box-shadow: none;
}

.at-service-card--minimal:hover {
	border-color: var(--at-color-primary, #2563eb);
	box-shadow: none;
	transform: none;
}

.at-service-card--icon {
	text-align: center;
	align-items: center;
}

.at-service-card--icon .at-service-card__top {
	justify-content: center;
	flex-direction: column;
	gap: 1rem;
	margin-bottom: 1.5rem;
}

.at-service-card--icon .at-service-card__icon {
	width: 72px;
	height: 72px;
	font-size: 2rem;
	border-radius: 9999px;
	background: rgba(37, 99, 235, 0.1);
	color: var(--at-color-primary, #2563eb);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto;
}

.at-service-card--icon .at-service-card__features,
.at-service-card--icon .at-service-card__points {
	text-align: left;
	display: inline-block;
	margin: 1.25rem auto;
}

.at-service-card--pricing {
	border: 2px solid var(--at-border-color, #e2e8f0);
}

.at-service-card--pricing .at-service-card__badge {
	display: block;
	font-size: 1.25rem;
	font-weight: 800;
	color: var(--at-color-primary, #2563eb);
	background-color: rgba(37, 99, 235, 0.08);
	padding: 8px 16px;
	border-radius: var(--at-radius-md, 8px);
	text-align: center;
	width: 100%;
	margin-bottom: 1rem;
}

.at-service-card--pricing .at-service-card__features,
.at-service-card--pricing .at-service-card__points {
	border-top: 1px solid var(--at-border-color, #f1f5f9);
	padding-top: 1.25rem;
	margin-top: 1.25rem;
}

.at-service-card--pricing .at-service-card__features li,
.at-service-card--pricing .at-service-card__points li {
	padding: 6px 0;
}

.at-service-card--pricing .at-service-card__btn {
	width: 100%;
	text-align: center;
	justify-content: center;
}

.at-service-card--horizontal {
	display: flex;
	flex-direction: row;
	gap: 2rem;
	align-items: flex-start;
}

.at-service-card--horizontal .at-service-card__top {
	flex: 0 0 80px;
	flex-direction: column;
	align-items: center;
	margin-bottom: 0;
}

.at-service-card--horizontal .at-service-card__content {
	flex: 1;
}

@media (max-width: 767px) {
	.at-service-card--horizontal {
		flex-direction: column;
		gap: 1.25rem;
	}

	.at-service-card--horizontal .at-service-card__top {
		flex: 1 1 auto;
		flex-direction: row;
		width: 100%;
		justify-content: space-between;
	}
}

/* --------------------------------------------------------------------------
   AT Project Card (.at-project-card)
   -------------------------------------------------------------------------- */
.at-project-card {
	position: relative;
	background: #ffffff;
	border: 1px solid var(--at-border-color, #e2e8f0);
	border-radius: var(--at-radius-xl, 1rem);
	overflow: hidden;
	transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
	display: flex;
	flex-direction: column;
}

.at-project-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 32px -8px rgba(0, 0, 0, 0.08);
}

.at-project-card__image-wrap {
	width: 100%;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	position: relative;
	background: #f1f5f9;
}

.at-project-card__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.5s ease;
}

.at-project-card:hover .at-project-card__img {
	transform: scale(1.05);
}

.at-project-card__metric,
.at-project-card__metric-pill {
	position: absolute;
	top: 1rem;
	right: 1rem;
	background: rgba(15, 23, 42, 0.85);
	color: #ffffff;
	font-size: 0.8rem;
	font-weight: 700;
	padding: 0.3rem 0.75rem;
	border-radius: 9999px;
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
}

.at-project-card__body {
	padding: 1.75rem 1.5rem;
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

.at-project-card__cat,
.at-project-card__category {
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--at-color-primary, #2563eb);
	margin-bottom: 0.5rem;
}

.at-project-card__title {
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.35;
	color: var(--at-color-text-title, #0f172a);
	margin: 0 0 0.75rem 0;
}

.at-project-card__desc {
	font-size: 0.925rem;
	line-height: 1.6;
	color: var(--at-color-text-body, #334155);
	margin: 0 0 1.5rem 0;
	flex-grow: 1;
}

.at-project-card__action {
	margin-top: auto;
}

.at-project-card__btn {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--at-color-primary, #2563eb);
	text-decoration: none;
	transition: all 0.2s ease;
}

.at-project-card__btn:hover {
	color: #1d4ed8;
	transform: translateX(4px);
}

/* Project Card Presets */
.at-project-card--overlay {
	position: relative;
	min-height: 380px;
	overflow: hidden;
}

.at-project-card--overlay .at-project-card__image-wrap {
	position: absolute;
	inset: 0;
	height: 100%;
	transition: transform 0.4s ease;
}

.at-project-card--overlay:hover .at-project-card__image-wrap {
	transform: scale(1.05);
}

.at-project-card--overlay .at-project-card__body {
	position: absolute;
	inset: 0;
	z-index: 2;
	background: linear-gradient(180deg, rgba(15, 23, 42, 0.1) 20%, rgba(15, 23, 42, 0.95) 100%);
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	color: #ffffff;
	padding: 2rem;
}

.at-project-card--overlay .at-project-card__title,
.at-project-card--overlay .at-project-card__desc,
.at-project-card--overlay .at-project-card__cat,
.at-project-card--overlay .at-project-card__category {
	color: #ffffff !important;
}

.at-project-card--overlay .at-project-card__desc {
	opacity: 0.85;
}

.at-project-card--overlay .at-project-card__metric,
.at-project-card--overlay .at-project-card__metric-pill {
	background: rgba(255, 255, 255, 0.2);
	color: #ffffff;
	border: 1px solid rgba(255, 255, 255, 0.3);
}

.at-project-card--overlay .at-project-card__btn {
	color: #38bdf8;
}

.at-project-card--minimal {
	border: 1px solid var(--at-border-color, #e2e8f0);
	background: transparent;
	box-shadow: none;
}

.at-project-card--minimal:hover {
	border-color: var(--at-color-primary, #2563eb);
	transform: none;
	box-shadow: none;
}

.at-project-card--featured {
	border: 2px solid var(--at-color-primary, #2563eb);
	box-shadow: 0 16px 36px -8px rgba(37, 99, 235, 0.18);
}

.at-project-card--featured .at-project-card__metric,
.at-project-card--featured .at-project-card__metric-pill {
	background: var(--at-color-primary, #2563eb);
	color: #ffffff;
	font-weight: 700;
}

.at-project-card--editorial {
	border: none;
	border-bottom: 2px solid var(--at-border-color, #e2e8f0);
	border-radius: 0;
	box-shadow: none;
	background: transparent;
	padding: 0 0 1.5rem;
}

.at-project-card--editorial .at-project-card__title {
	font-family: Georgia, serif;
	font-size: 1.5rem;
	letter-spacing: -0.01em;
}

.at-project-card--editorial .at-project-card__cat,
.at-project-card--editorial .at-project-card__category {
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-size: 0.75rem;
	font-weight: 700;
}

.at-project-card--editorial:hover {
	transform: none;
	border-bottom-color: var(--at-color-primary, #2563eb);
}

.at-project-card--horizontal {
	display: flex;
	flex-direction: row;
	align-items: stretch;
}

.at-project-card--horizontal .at-project-card__image-wrap {
	flex: 0 0 45%;
	height: auto;
	min-height: 240px;
}

.at-project-card--horizontal .at-project-card__body {
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 2rem;
}

@media (max-width: 767px) {
	.at-project-card--horizontal {
		flex-direction: column;
	}

	.at-project-card--horizontal .at-project-card__image-wrap {
		flex: 1 1 auto;
		height: 200px;
		min-height: 200px;
	}
}

/* --------------------------------------------------------------------------
   AT Team Card (.at-team-card)
   -------------------------------------------------------------------------- */
.at-team-card {
	position: relative;
	background: #ffffff;
	border: 1px solid var(--at-border-color, #e2e8f0);
	border-radius: var(--at-radius-xl, 1rem);
	overflow: hidden;
	transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
	display: flex;
	flex-direction: column;
}

.at-team-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 32px -8px rgba(0, 0, 0, 0.09);
}

.at-team-card__photo-wrap {
	width: 100%;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	position: relative;
	background: #f1f5f9;
}

.at-team-card__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.5s ease;
}

.at-team-card:hover .at-team-card__img {
	transform: scale(1.05);
}

.at-team-card__body {
	padding: 1.5rem 1.25rem;
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

.at-team-card__name {
	font-size: 1.2rem;
	font-weight: 700;
	color: var(--at-color-text-title, #0f172a);
	margin: 0 0 0.25rem 0;
	line-height: 1.3;
}

.at-team-card__role {
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--at-color-primary, #2563eb);
	margin-bottom: 0.75rem;
	display: block;
}

.at-team-card__bio {
	font-size: 0.9rem;
	line-height: 1.55;
	color: var(--at-color-text-secondary, #64748b);
	margin: 0 0 1.25rem 0;
	flex-grow: 1;
}

.at-team-card__socials {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	margin-top: auto;
}

.at-team-card__socials a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: #f1f5f9;
	color: #475569;
	font-size: 0.875rem;
	text-decoration: none;
	transition: all 0.2s ease;
}

.at-team-card__socials a:hover {
	background: var(--at-color-primary, #2563eb);
	color: #ffffff;
}

/* Team Card Presets */
.at-team-card--centered {
	text-align: center;
}

.at-team-card--centered .at-team-card__photo-wrap {
	width: 130px;
	height: 130px;
	border-radius: 9999px;
	overflow: hidden;
	margin: 1.5rem auto 0;
	box-shadow: 0 8px 24px -4px rgba(0, 0, 0, 0.12);
	border: 4px solid var(--at-color-surface, #ffffff);
}

.at-team-card--centered .at-team-card__socials {
	justify-content: center;
}

.at-team-card--minimal {
	border: none;
	background: transparent;
	box-shadow: none;
	padding: 1rem 0;
}

.at-team-card--minimal .at-team-card__photo-wrap {
	border-radius: var(--at-radius-md, 8px);
}

.at-team-card--minimal:hover {
	transform: none;
	box-shadow: none;
}

.at-team-card--overlay {
	position: relative;
	min-height: 360px;
	overflow: hidden;
	border: none;
}

.at-team-card--overlay .at-team-card__photo-wrap {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	margin: 0;
}

.at-team-card--overlay .at-team-card__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s ease;
}

.at-team-card--overlay:hover .at-team-card__img {
	transform: scale(1.05);
}

.at-team-card--overlay .at-team-card__body {
	position: absolute;
	inset: 0;
	z-index: 2;
	background: linear-gradient(180deg, rgba(15, 23, 42, 0) 35%, rgba(15, 23, 42, 0.95) 100%);
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	color: #ffffff;
	padding: 1.75rem;
}

.at-team-card--overlay .at-team-card__name,
.at-team-card--overlay .at-team-card__bio {
	color: #ffffff !important;
}

.at-team-card--overlay .at-team-card__role {
	color: #93c5fd !important;
}

.at-team-card--overlay .at-team-card__socials a {
	color: #ffffff;
	background: rgba(255, 255, 255, 0.2);
}

.at-team-card--overlay .at-team-card__socials a:hover {
	background: var(--at-color-primary, #2563eb);
}

.at-team-card--horizontal {
	display: flex;
	flex-direction: row;
	text-align: left;
	align-items: center;
	gap: 1.75rem;
	padding: 1.75rem;
}

.at-team-card--horizontal .at-team-card__photo-wrap {
	flex: 0 0 110px;
	height: 110px;
	border-radius: 9999px;
	overflow: hidden;
	margin: 0;
}

.at-team-card--horizontal .at-team-card__body {
	flex: 1;
	padding: 0;
}

.at-team-card--horizontal .at-team-card__socials {
	justify-content: flex-start;
}

@media (max-width: 767px) {
	.at-team-card--horizontal {
		flex-direction: column;
		text-align: center;
	}

	.at-team-card--horizontal .at-team-card__socials {
		justify-content: center;
	}
}

/* --------------------------------------------------------------------------
   Testimonial Card (.at-testimonial-card) Base & Presets
   -------------------------------------------------------------------------- */
.at-testimonial-card {
	position: relative;
	box-sizing: border-box;
	background: var(--at-color-surface, #ffffff);
	border: 1px solid var(--at-border-color, #e2e8f0);
	border-radius: var(--at-radius-lg, 12px);
	padding: 2rem;
	margin: 0;
	display: flex;
	flex-direction: column;
	transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
	overflow: hidden;
}

.at-testimonial-card:hover {
	box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.08);
}

.at-testimonial-card__stars {
	color: #f59e0b;
	font-size: 1.125rem;
	margin-bottom: 1.25rem;
	letter-spacing: 2px;
	line-height: 1;
}

.at-testimonial-card__quote {
	margin: 0 0 1.5rem 0;
	padding: 0;
	border: none;
	font-size: 1.05rem;
	line-height: 1.65;
	color: var(--at-color-text-body, #334155);
	font-style: italic;
	flex-grow: 1;
}

.at-testimonial-card__quote p {
	margin: 0;
	color: inherit;
	font-size: inherit;
	line-height: inherit;
}

.at-testimonial-card__author {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-top: auto;
}

.at-testimonial-card__avatar {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	object-fit: cover;
	display: block;
	flex-shrink: 0;
	border: 2px solid var(--at-border-color, #e2e8f0);
}

.at-testimonial-card__info {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.at-testimonial-card__name-wrap {
	display: flex;
	align-items: center;
	gap: 6px;
}

.at-testimonial-card__name {
	font-style: normal;
	font-weight: 700;
	font-size: 1rem;
	color: var(--at-color-text-title, #0f172a);
	line-height: 1.3;
}

.at-testimonial-card__verified {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: var(--at-color-primary, #2563eb);
	color: #ffffff;
	font-size: 10px;
	font-weight: bold;
	line-height: 1;
}

.at-testimonial-card__role {
	font-size: 0.8125rem;
	color: var(--at-color-text-muted, #64748b);
	line-height: 1.4;
}

/* Preset: Classic */
.at-testimonial-card--classic {
	background: #ffffff;
	border: 1px solid var(--at-border-color, #e2e8f0);
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.05);
}

/* Preset: Minimal */
.at-testimonial-card--minimal {
	border: none;
	background: transparent;
	box-shadow: none;
	padding: 1rem 0;
}

.at-testimonial-card--minimal:hover {
	transform: none;
	box-shadow: none;
}

/* Preset: Large Quote */
.at-testimonial-card--large-quote {
	position: relative;
	padding: 3rem 2.5rem;
	text-align: center;
}

.at-testimonial-card--large-quote .at-testimonial-card__quote {
	font-size: clamp(1.2rem, 2vw, 1.6rem);
	line-height: 1.5;
}

.at-testimonial-card--large-quote .at-testimonial-card__author {
	justify-content: center;
}

.at-testimonial-card__watermark {
	position: absolute;
	top: 0.5rem;
	left: 1.5rem;
	font-size: 6rem;
	line-height: 1;
	font-family: Georgia, serif;
	color: rgba(37, 99, 235, 0.12);
	pointer-events: none;
	user-select: none;
}

/* Preset: Featured */
.at-testimonial-card--featured {
	border: 2px solid var(--at-color-primary, #2563eb);
	box-shadow: 0 16px 36px -8px rgba(37, 99, 235, 0.18);
	transform: translateY(-2px);
}

/* Preset: Dark */
.at-testimonial-card--dark {
	background-color: #0f172a;
	color: #ffffff;
	border-color: #1e293b;
	box-shadow: 0 12px 30px -6px rgba(0, 0, 0, 0.5);
}

.at-testimonial-card--dark .at-testimonial-card__quote,
.at-testimonial-card--dark .at-testimonial-card__name {
	color: #ffffff;
}

.at-testimonial-card--dark .at-testimonial-card__role {
	color: #94a3b8;
}

.at-testimonial-card--dark .at-testimonial-card__avatar {
	border-color: #334155;
}

/* Preset: Editorial */
.at-testimonial-card--editorial {
	display: flex;
	flex-direction: row;
	gap: 2.5rem;
	align-items: center;
	padding: 2.5rem;
}

.at-testimonial-card--editorial .at-testimonial-card__quote {
	flex: 1;
	margin-bottom: 0;
	border-right: 1px solid var(--at-border-color, #e2e8f0);
	padding-right: 2.5rem;
}

.at-testimonial-card--editorial .at-testimonial-card__author {
	flex: 0 0 200px;
	flex-direction: column;
	align-items: flex-start;
	margin-top: 0;
}

@media (max-width: 767px) {
	.at-testimonial-card--editorial {
		flex-direction: column;
		align-items: flex-start;
		gap: 1.25rem;
		padding: 1.5rem;
	}

	.at-testimonial-card--editorial .at-testimonial-card__quote {
		border-right: none;
		border-bottom: 1px solid var(--at-border-color, #e2e8f0);
		padding-right: 0;
		padding-bottom: 1.25rem;
	}
}

/* --------------------------------------------------------------------------
   Pricing Card Presets (.at-pricing-card)
   -------------------------------------------------------------------------- */
.at-pricing-card--featured {
	position: relative;
	border: 2px solid var(--at-color-primary, #2563eb);
	box-shadow: 0 14px 30px -6px rgba(37, 99, 235, 0.16);
}

.at-pricing-card--featured::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	background: var(--at-color-primary, #2563eb);
	border-radius: var(--at-radius-lg, 12px) var(--at-radius-lg, 12px) 0 0;
}

.at-pricing-card--popular {
	border: 2px solid var(--at-color-primary, #2563eb);
	box-shadow: 0 20px 40px -10px rgba(37, 99, 235, 0.22);
	transform: scale(1.02);
}

.at-pricing-card--popular:hover {
	transform: scale(1.03) translateY(-3px);
}

.at-pricing-card--minimal {
	border: 1px solid var(--at-border-color, #e2e8f0);
	box-shadow: none;
	background: transparent;
}

.at-pricing-card--comparison {
	border: 1px solid var(--at-border-color, #e2e8f0);
}

.at-pricing-card--comparison .at-pricing-card__features {
	border: 1px solid var(--at-border-color, #e2e8f0);
	border-radius: var(--at-radius-md, 8px);
	padding: 0.75rem 1.25rem;
	background: rgba(241, 245, 249, 0.5);
}

.at-pricing-card--comparison .at-pricing-card__features li {
	padding: 8px 0;
	border-bottom: 1px solid rgba(226, 232, 240, 0.7);
}

.at-pricing-card--comparison .at-pricing-card__features li:last-child {
	border-bottom: none;
}

/* --------------------------------------------------------------------------
   AT Case Study Card (.at-case-study-card)
   -------------------------------------------------------------------------- */
.at-case-study-card {
	position: relative;
	background: #ffffff;
	border: 1px solid var(--at-border-color, #e2e8f0);
	border-radius: var(--at-radius-xl, 1rem);
	padding: 2.25rem 2rem;
	display: flex;
	flex-direction: column;
	transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
	overflow: hidden;
}

.at-case-study-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 32px -8px rgba(0, 0, 0, 0.08);
}

.at-case-study-card__client {
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--at-color-primary, #2563eb);
	margin-bottom: 1.25rem;
}

.at-case-study-card__metric-box {
	display: flex;
	flex-direction: column;
	margin-bottom: 1.5rem;
	padding-bottom: 1.25rem;
	border-bottom: 1px solid var(--at-border-color, #e2e8f0);
}

.at-case-study-card__number {
	font-size: clamp(2.25rem, 3.5vw, 3.25rem);
	font-weight: 900;
	line-height: 1;
	letter-spacing: -0.03em;
	color: var(--at-color-text-title, #0f172a);
	background: linear-gradient(135deg, var(--at-color-primary, #2563eb), #3b82f6);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	margin-bottom: 0.35rem;
}

.at-case-study-card__metric-label {
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--at-color-text-muted, #64748b);
	line-height: 1.35;
}

.at-case-study-card__body {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

.at-case-study-card__title {
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.4;
	color: var(--at-color-text-title, #0f172a);
	margin: 0 0 0.85rem 0;
}

.at-case-study-card__summary {
	font-size: 0.95rem;
	line-height: 1.6;
	color: var(--at-color-text-body, #334155);
	margin: 0 0 1.5rem 0;
	flex-grow: 1;
}

.at-case-study-card__action {
	margin-top: auto;
}

.at-case-study-card__link {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--at-color-primary, #2563eb);
	text-decoration: none;
	transition: all 0.2s ease;
}

.at-case-study-card__link:hover {
	color: #1d4ed8;
	transform: translateX(4px);
}

/* Case Study Card Presets */
.at-case-study-card--featured {
	position: relative;
	border: 2px solid var(--at-color-primary, #2563eb);
	box-shadow: 0 16px 36px -8px rgba(37, 99, 235, 0.16);
}

.at-case-study-card--featured::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	background: var(--at-color-primary, #2563eb);
	border-radius: var(--at-radius-lg, 12px) var(--at-radius-lg, 12px) 0 0;
}

.at-case-study-card--editorial {
	border: none;
	border-top: 3px solid var(--at-color-primary, #2563eb);
	border-radius: 0;
	box-shadow: none;
	padding: 2rem 0;
	background: transparent;
}

.at-case-study-card--editorial .at-case-study-card__title {
	font-family: Georgia, serif;
	font-size: 1.5rem;
}

.at-case-study-card--editorial .at-case-study-card__metric-box {
	border-bottom-color: rgba(226, 232, 240, 0.5);
}

.at-case-study-card--overlay {
	background-color: #0f172a;
	color: #ffffff;
	border-color: #1e293b;
	box-shadow: 0 12px 30px -6px rgba(0, 0, 0, 0.5);
}

.at-case-study-card--overlay .at-case-study-card__title,
.at-case-study-card--overlay .at-case-study-card__client {
	color: #ffffff;
}

.at-case-study-card--overlay .at-case-study-card__summary {
	color: #94a3b8;
}

.at-case-study-card--overlay .at-case-study-card__metric-box {
	border-bottom-color: #1e293b;
}

.at-case-study-card--overlay .at-case-study-card__metric-label {
	color: #94a3b8;
}

.at-case-study-card--horizontal {
	display: flex;
	flex-direction: row;
	gap: 2.5rem;
	align-items: center;
}

.at-case-study-card--horizontal .at-case-study-card__metric-box {
	flex: 0 0 180px;
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: none;
	border-right: 1px solid var(--at-border-color, #e2e8f0);
	padding-right: 2rem;
}

.at-case-study-card--horizontal .at-case-study-card__body {
	flex: 1;
}

@media (max-width: 767px) {
	.at-case-study-card--horizontal {
		flex-direction: column;
		gap: 1.25rem;
		align-items: flex-start;
	}

	.at-case-study-card--horizontal .at-case-study-card__metric-box {
		flex: none;
		border-right: none;
		padding-right: 0;
		border-bottom: 1px solid var(--at-border-color, #e2e8f0);
		padding-bottom: 1rem;
		width: 100%;
	}
}

/* --------------------------------------------------------------------------
   Heading Presets (.at-heading)
   -------------------------------------------------------------------------- */
.at-heading--accent {
	position: relative;
	padding-left: 1rem;
}

.at-heading--accent::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0.1em;
	bottom: 0.1em;
	width: 4px;
	background-color: var(--at-color-primary, #2563eb);
	border-radius: 2px;
}

.at-heading--underline {
	position: relative;
	padding-bottom: 0.5rem;
}

.at-heading--underline::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 48px;
	height: 3px;
	background-color: var(--at-color-primary, #2563eb);
	border-radius: 2px;
}

.at-heading--marker .at-heading__text {
	background: linear-gradient(180deg, transparent 60%, rgba(37, 99, 235, 0.2) 60%);
	padding: 0 4px;
}

.at-heading--split {
	display: inline-block;
}

.at-heading--split .at-heading__split-accent {
	color: var(--at-color-primary, #2563eb);
	font-weight: inherit;
}

/* --------------------------------------------------------------------------
   Section Title Presets (.at-section-title)
   -------------------------------------------------------------------------- */
.at-section-title--centered {
	text-align: center;
}

.at-section-title--centered .at-section-title__label {
	margin-left: auto;
	margin-right: auto;
}

.at-section-title--centered .at-section-title__heading {
	max-width: 950px;
	margin-left: auto;
	margin-right: auto;
}

.at-section-title--centered .at-section-title__description {
	margin-left: auto;
	margin-right: auto;
	max-width: 800px;
}

.at-section-title--minimal .at-section-title__label {
	display: none;
}

.at-section-title--accent {
	border-left: 4px solid var(--at-color-primary, #2563eb);
	padding-left: 1.25rem;
}

.at-section-title--split {
	display: flex;
	gap: 3rem;
	align-items: flex-end;
}

.at-section-title--split .at-section-title__header {
	flex: 0 0 50%;
}

.at-section-title--split .at-section-title__body {
	flex: 1;
}

@media (max-width: 767px) {
	.at-section-title--split {
		flex-direction: column;
		gap: 1rem;
		align-items: flex-start;
	}

	.at-section-title--split .at-section-title__header {
		flex: 1 1 auto;
	}
}

.at-section-title--numbered {
	position: relative;
	padding-left: 4.5rem;
}

.at-section-title__number {
	position: absolute;
	left: 0;
	top: 0;
	font-size: 3.5rem;
	font-weight: 800;
	line-height: 1;
	color: rgba(37, 99, 235, 0.25);
}

/* --------------------------------------------------------------------------
   Quote Presets (.at-quote)
   -------------------------------------------------------------------------- */
.at-quote--classic {
	border-left: 4px solid var(--at-color-primary, #2563eb);
	padding-left: 1.5rem;
	margin: 0;
}

.at-quote--editorial {
	font-family: Georgia, serif;
	font-style: italic;
	border: none;
	text-align: center;
	padding: 2rem 0;
}

.at-quote--large-quote {
	position: relative;
	padding: 2.5rem 3rem;
	border: 1px solid var(--at-border-color, #e2e8f0);
	border-radius: var(--at-radius-lg, 12px);
	background: var(--at-color-surface, #ffffff);
}

.at-quote--card {
	background: var(--at-color-surface, #ffffff);
	border: 1px solid var(--at-border-color, #e2e8f0);
	border-radius: var(--at-radius-lg, 12px);
	padding: 2rem;
	box-shadow: var(--at-shadow-sm, 0 1px 3px rgba(0, 0, 0, 0.05));
}

.at-quote--minimal {
	border: none;
	padding: 0;
	background: transparent;
}

/* --------------------------------------------------------------------------
   List Presets (.at-list)
   -------------------------------------------------------------------------- */
.at-list--preset-columns {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 12px 24px;
}

@media (max-width: 640px) {
	.at-list--preset-columns {
		grid-template-columns: 1fr;
	}
}

.at-list--preset-minimal .at-list__item {
	border-bottom: 1px solid var(--at-border-color, #f1f5f9);
	padding-bottom: 8px;
}

.at-list--preset-minimal .at-list__item:last-child {
	border-bottom: none;
}

.at-list--preset-numbered .at-list__marker {
	font-weight: 700;
	color: var(--at-color-primary, #2563eb);
	min-width: 24px;
	display: inline-block;
}

.at-list--preset-check .at-list__marker {
	color: var(--at-color-success, #10b981);
	font-weight: 700;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	border-radius: 9999px;
	background-color: rgba(16, 185, 129, 0.1);
	font-size: 0.75rem;
}

.at-list--preset-standard .at-list__marker {
	color: var(--at-color-primary, #2563eb);
	font-size: 1.25rem;
	line-height: 1;
}

/* --------------------------------------------------------------------------
   Icon List Presets (.at-icon-list)
   -------------------------------------------------------------------------- */
.at-icon-list--circle .at-icon-list__icon {
	width: 28px;
	height: 28px;
	border-radius: 9999px;
	background-color: var(--at-color-primary, #2563eb);
	color: #ffffff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 0.8rem;
}

.at-icon-list--circle .at-icon-list__icon svg {
	fill: #ffffff;
}

.at-icon-list--soft .at-icon-list__icon {
	width: 28px;
	height: 28px;
	border-radius: var(--at-radius-sm, 4px);
	background-color: rgba(37, 99, 235, 0.1);
	color: var(--at-color-primary, #2563eb);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 0.8rem;
}

.at-icon-list--inline {
	display: flex;
	flex-wrap: wrap;
	gap: 16px 24px;
}

.at-icon-list--timeline {
	position: relative;
	padding-left: 2rem;
}

.at-icon-list--timeline::before {
	content: '';
	position: absolute;
	left: 13px;
	top: 8px;
	bottom: 8px;
	width: 2px;
	background-color: var(--at-border-color, #e2e8f0);
}

.at-icon-list--timeline .at-icon-list__item {
	position: relative;
	padding-bottom: 1.25rem;
}

/* --------------------------------------------------------------------------
   Text & Rich Text Presets (.at-text, .at-rich-text)
   -------------------------------------------------------------------------- */
.at-text--editorial {
	font-family: Georgia, serif;
	font-size: 1.125rem;
	line-height: 1.8;
}

.at-text--lead {
	font-size: 1.25rem;
	line-height: 1.7;
	font-weight: 500;
	color: var(--at-color-heading, #0f172a);
}

.at-text--minimal {
	font-size: 0.925rem;
	line-height: 1.5;
	color: var(--at-color-muted, #64748b);
}

.at-rich-text--editorial {
	font-family: Georgia, serif;
	line-height: 1.8;
}

.at-rich-text--lead .at-rich-text__lead {
	font-size: 1.35rem;
	font-weight: 600;
	line-height: 1.6;
	color: var(--at-color-heading, #0f172a);
}

.at-rich-text--minimal .at-rich-text__takeaway {
	background: transparent;
	border: 1px solid var(--at-border-color, #e2e8f0);
}

/* --------------------------------------------------------------------------
   Highlight Text Presets (.at-highlight-text)
   -------------------------------------------------------------------------- */
.at-highlight-text__span--box {
	display: inline-block;
	padding: 4px 12px;
	background-color: rgba(37, 99, 235, 0.12);
	color: var(--at-color-primary, #2563eb);
	border-radius: var(--at-radius-md, 6px);
	font-weight: 700;
}

.at-highlight-text__span--accent {
	color: var(--at-color-primary, #2563eb);
	font-weight: 800;
	letter-spacing: -0.01em;
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 4px;
}

/* --------------------------------------------------------------------------
   Notice Presets (.at-notice)
   -------------------------------------------------------------------------- */
.at-notice--error {
	background-color: #fef2f2;
	border-color: #fca5a5;
	color: #991b1b;
}

.at-notice--error .at-notice__icon {
	color: #dc2626;
}

.at-notice--error .at-notice__title {
	color: #991b1b;
}

/* --------------------------------------------------------------------------
   CTA Widget & Presets (.at-cta)
   -------------------------------------------------------------------------- */
.at-cta {
	position: relative;
	box-sizing: border-box;
	background-color: var(--at-color-surface, #ffffff);
	border: 1px solid var(--at-border-color, #e2e8f0);
	border-radius: var(--at-radius-lg, 12px);
	padding: 2.5rem;
	box-shadow: var(--at-shadow-sm, 0 1px 3px rgba(0, 0, 0, 0.05));
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	transition: all 0.25s ease;
	overflow: hidden;
}

.at-cta__icon-wrap {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: var(--at-radius-md, 8px);
	background-color: var(--at-color-primary-light, rgba(37, 99, 235, 0.1));
	color: var(--at-color-primary, #2563eb);
	font-size: 1.75rem;
}

.at-cta__eyebrow {
	display: inline-block;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--at-color-primary, #2563eb);
	margin-bottom: 0.5rem;
}

.at-cta__title {
	font-size: 1.75rem;
	font-weight: 700;
	color: var(--at-color-heading, #0f172a);
	margin: 0 0 0.75rem;
	line-height: 1.25;
}

.at-cta__desc {
	font-size: 1rem;
	line-height: 1.6;
	color: var(--at-color-muted, #64748b);
	margin: 0;
}

.at-cta__actions {
	display: flex;
	align-items: center;
	gap: 1rem;
	flex-wrap: wrap;
}

.at-cta__sec-link {
	font-size: 0.95rem;
	font-weight: 600;
	color: var(--at-color-primary, #2563eb);
	text-decoration: none;
	transition: opacity 0.2s ease;
}

.at-cta__sec-link:hover {
	text-decoration: underline;
	opacity: 0.85;
}

/* CTA Presets */
.at-cta--minimal {
	background: transparent;
	border: 1px solid var(--at-border-color, #e2e8f0);
	box-shadow: none;
	padding: 1.5rem 0;
}

.at-cta--accent {
	border-top: 4px solid var(--at-color-primary, #2563eb);
	box-shadow: 0 16px 36px -8px rgba(37, 99, 235, 0.12);
}

.at-cta--dark {
	background-color: #0f172a;
	border-color: #1e293b;
	color: #f8fafc;
}

.at-cta--dark .at-cta__title {
	color: #ffffff;
}

.at-cta--dark .at-cta__desc {
	color: #94a3b8;
}

.at-cta--dark .at-cta__eyebrow {
	color: #60a5fa;
}

.at-cta--dark .at-cta__sec-link {
	color: #93c5fd;
}

.at-cta--split {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	gap: 2.5rem;
}

.at-cta--split .at-cta__content {
	flex: 1;
}

.at-cta--split .at-cta__actions {
	flex: 0 0 auto;
}

@media (max-width: 767px) {
	.at-cta--split {
		flex-direction: column;
		align-items: flex-start;
		gap: 1.5rem;
	}

	.at-cta--split .at-cta__actions {
		width: 100%;
	}

	.at-cta--split .at-cta__actions .at-button {
		width: 100%;
		justify-content: center;
	}
}


/* ==========================================================================
   AT Elementor Elements v2.3.0 — High-Value Website Section Widgets
   Scoped under .at-* — Agency-grade aesthetics, responsive, dark modes, animations
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. AT Hero (.at-hero)
   -------------------------------------------------------------------------- */
.at-hero {
	position: relative;
	width: 100%;
	padding: var(--at-space-4xl, 5rem) 0;
	background-color: transparent;
	overflow: hidden;
}

.at-hero__inner {
	display: flex;
	align-items: center;
	gap: var(--at-space-3xl, 3.5rem);
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 var(--at-space-lg, 1.5rem);
	box-sizing: border-box;
}

.at-hero__content {
	flex: 1 1 50%;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	z-index: 2;
}

.at-hero__media {
	flex: 1 1 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 1;
}

.at-hero__eyebrow {
	display: inline-block;
	font-size: 0.8125rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--at-color-primary, #2563eb);
	background: var(--at-color-primary-light, #eff6ff);
	padding: 0.35rem 0.85rem;
	border-radius: var(--at-radius-pill, 9999px);
	margin-bottom: 1.25rem;
	border: 1px solid rgba(37, 99, 235, 0.15);
}

.at-hero__heading {
	font-size: clamp(2rem, 4.5vw, 3.75rem);
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: -0.025em;
	color: var(--at-color-text-title, #0f172a);
	margin: 0 0 1.25rem 0;
}

.at-hero__description {
	font-size: clamp(1rem, 1.25vw, 1.25rem);
	line-height: 1.65;
	color: var(--at-color-text-secondary, #475569);
	margin-bottom: 2rem;
	max-width: 580px;
}

.at-hero__cta-group {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem;
	margin-bottom: 1.5rem;
}

.at-hero__supporting {
	font-size: 0.875rem;
	color: var(--at-color-text-muted, #94a3b8);
	line-height: 1.5;
}

.at-hero__image-wrap {
	width: 100%;
	border-radius: var(--at-radius-lg, 1rem);
	overflow: hidden;
	box-shadow: var(--at-shadow-xl, 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04));
	transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.at-hero__image-wrap:hover {
	transform: translateY(-4px);
}

.at-hero__img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
}

/* Hero Preset Variations */
.at-hero--split.at-hero--media-left .at-hero__inner {
	flex-direction: row-reverse;
}

.at-hero--centered {
	text-align: center;
}

.at-hero--centered .at-hero__inner {
	flex-direction: column;
	max-width: 900px;
}

.at-hero--centered .at-hero__content {
	align-items: center;
	text-align: center;
}

.at-hero--centered .at-hero__description {
	margin-left: auto;
	margin-right: auto;
}

.at-hero--centered .at-hero__cta-group {
	justify-content: center;
}

.at-hero--centered .at-hero__media {
	width: 100%;
	max-width: 800px;
	margin-top: 2.5rem;
}

.at-hero--full-bg {
	background-size: cover;
	background-position: center;
	position: relative;
	color: #ffffff;
}

.at-hero--full-bg::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(15, 23, 42, 0.85) 0%, rgba(15, 23, 42, 0.95) 100%);
	z-index: 1;
}

.at-hero--full-bg .at-hero__inner {
	position: relative;
	z-index: 2;
}

.at-hero--full-bg .at-hero__heading {
	color: #ffffff;
}

.at-hero--full-bg .at-hero__description {
	color: #cbd5e1;
}

.at-hero--editorial {
	background-color: #0b0f19;
	color: #f8fafc;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.at-hero--editorial .at-hero__heading {
	color: #ffffff;
	font-family: Georgia, Cambria, "Times New Roman", Times, serif;
	font-weight: 400;
	letter-spacing: -0.03em;
}

.at-hero--editorial .at-hero__eyebrow {
	background: rgba(255, 255, 255, 0.08);
	color: #e2e8f0;
	border-color: rgba(255, 255, 255, 0.15);
}

.at-hero--editorial .at-hero__description {
	color: #94a3b8;
}

.at-hero--minimal {
	padding: var(--at-space-2xl, 3rem) 0;
}

.at-hero--minimal .at-hero__inner {
	max-width: 800px;
	flex-direction: column;
	align-items: flex-start;
}

.at-hero--minimal .at-hero__media {
	display: none;
}

.at-hero--video .at-hero__image-wrap {
	position: relative;
	border: 1px solid rgba(255, 255, 255, 0.2);
	box-shadow: 0 20px 40px -10px rgba(37, 99, 235, 0.25);
	border-radius: var(--at-radius-xl, 20px);
}

.at-hero--video .at-hero__image-wrap::after {
	content: '▶';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 68px;
	height: 68px;
	border-radius: 9999px;
	background: rgba(15, 23, 42, 0.75);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	color: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.25rem;
	padding-left: 4px;
	box-shadow: 0 0 0 10px rgba(255, 255, 255, 0.2);
	transition: all 0.3s ease;
	pointer-events: none;
}

.at-hero--video .at-hero__image-wrap:hover::after {
	transform: translate(-50%, -50%) scale(1.1);
	background: var(--at-color-primary, #2563eb);
}

.at-hero--form .at-hero__media {
	background: var(--at-color-surface, #ffffff);
	border: 1px solid var(--at-border-color, #e2e8f0);
	border-radius: var(--at-radius-xl, 20px);
	padding: 2.5rem;
	box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.12);
}

.at-hero--stats .at-hero__supporting {
	display: flex;
	gap: 2.5rem;
	margin-top: 2.5rem;
	padding-top: 2rem;
	border-top: 1px solid var(--at-border-color, #e2e8f0);
	font-weight: 600;
	color: var(--at-color-heading, #0f172a);
}

/* ==========================================================================
   AT Elementor Elements v2.4.0 — Header / Navigation System v1.0
   9 Structural Styles, Top Bar, Mega Menus, Sticky Modes & Off-Canvas Drawer
   ========================================================================== */

/* --------------------------------------------------------------------------
   Baseline Header Bar & Container Layouts
   -------------------------------------------------------------------------- */
.at-header {
	width: 100%;
	background-color: #ffffff;
	border-bottom: 1px solid rgba(0, 0, 0, 0.06);
	position: relative;
	z-index: 1000;
	transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
	box-sizing: border-box;
}

.at-header__container {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 0 auto;
	padding: 1rem 1.5rem;
	box-sizing: border-box;
	gap: 1.5rem;
}

.at-header--width-boxed .at-header__container {
	max-width: 1280px;
}

.at-header--width-full-width .at-header__container {
	max-width: 100%;
	padding: 1rem 2rem;
}

.at-header--width-narrow .at-header__container {
	max-width: 1080px;
}

/* Brand & Logo */
.at-header__brand {
	display: flex;
	align-items: center;
	flex-shrink: 0;
}

.at-header__brand-link {
	display: flex;
	align-items: center;
	text-decoration: none;
	gap: 0.75rem;
}

.at-header__logo-img,
.at-header .custom-logo {
	max-height: 42px;
	width: auto;
	display: block;
	transition: max-height 0.3s ease;
}

.at-header__logo-text {
	font-size: 1.25rem;
	font-weight: 800;
	color: var(--at-color-text-title, #0f172a);
	letter-spacing: -0.02em;
	line-height: 1;
}

/* --------------------------------------------------------------------------
   Top Bar & Announcement Banner
   -------------------------------------------------------------------------- */
.at-header__topbar {
	background-color: #0f172a;
	color: #e2e8f0;
	font-size: 0.8125rem;
	padding: 0.5rem 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.at-header__topbar-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 1.5rem;
}

.at-header__topbar-left,
.at-header__topbar-right {
	display: flex;
	align-items: center;
	gap: 1.25rem;
}

.at-header__topbar-badge {
	font-size: 0.6875rem;
	font-weight: 700;
	background: var(--at-color-primary, #2563eb);
	color: #ffffff;
	padding: 0.15rem 0.5rem;
	border-radius: 9999px;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.at-header__topbar-announcement {
	color: #cbd5e1;
}

.at-header__topbar-link {
	color: #cbd5e1;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	transition: color 0.2s ease;
}

.at-header__topbar-link:hover {
	color: #ffffff;
}

/* --------------------------------------------------------------------------
   Primary Navigation Menu & Dropdowns
   -------------------------------------------------------------------------- */
.at-header__nav {
	display: flex;
	align-items: center;
}

.at-header__menu {
	display: flex;
	align-items: center;
	list-style: none;
	margin: 0;
	padding: 0;
	gap: 1.75rem;
}

.at-header__menu-item {
	position: relative;
	list-style: none;
}

.at-header__nav-link {
	font-size: 0.9375rem;
	font-weight: 500;
	color: var(--at-color-text-secondary, #475569);
	text-decoration: none;
	transition: color 0.2s ease;
	padding: 0.5rem 0;
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
}

.at-header__nav-link:hover,
.at-header__nav-link:focus,
.at-header__menu-item--active>.at-header__nav-link {
	color: var(--at-color-primary, #2563eb);
}

.at-header__badge {
	font-size: 0.6875rem;
	font-weight: 700;
	background: var(--at-color-primary-light, #eff6ff);
	color: var(--at-color-primary, #2563eb);
	padding: 0.15rem 0.45rem;
	border-radius: 9999px;
	text-transform: uppercase;
}

/* Dropdown Submenus */
.at-header__submenu {
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 230px;
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 0.5rem;
	box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.05);
	padding: 0.5rem 0;
	margin: 0;
	list-style: none;
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
	transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
	z-index: 1001;
	pointer-events: none;
}

.at-header__menu-item:hover>.at-header__submenu,
.at-header__menu-item:focus-within>.at-header__submenu,
.at-header__menu-item--expanded>.at-header__submenu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	pointer-events: auto;
}

@media (min-width: 1025px) {
	.at-header .at-header__menu-item--top > .at-header__submenu,
	.at-header__menu-item--top > .at-header__submenu {
		top: calc(100% + var(--at-submenu-auto-offset, 18px)) !important;
	}

	.at-header .at-header__menu-item--top > .at-header__submenu::before,
	.at-header__menu-item--top > .at-header__submenu::before {
		content: '';
		position: absolute;
		top: -24px;
		left: 0;
		right: 0;
		height: 26px;
		background: transparent;
		pointer-events: auto;
	}
}

.at-header__sub-item {
	position: relative;
	list-style: none;
}

.at-header__sub-link {
	display: block;
	padding: 0.6rem 1.25rem;
	font-size: 0.875rem;
	color: #334155;
	text-decoration: none;
	transition: all 0.15s ease;
}

.at-header__sub-link:hover,
.at-header__sub-link:focus {
	background: #f8fafc;
	color: var(--at-color-primary, #2563eb);
	padding-left: 1.45rem;
}

.at-header__submenu--nested {
	top: 0;
	left: 100%;
}

.at-header__sub-toggle {
	display: none;
	background: transparent;
	border: none;
	cursor: pointer;
	padding: 0.35rem;
	color: inherit;
}

.at-header__sub-arrow {
	display: inline-block;
	width: 6px;
	height: 6px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg);
	transition: transform 0.2s ease;
	margin-left: 4px;
	margin-bottom: 2px;
	vertical-align: middle;
}

.at-header__menu-item:hover>.at-header__nav-link .at-header__sub-arrow,
.at-header__menu-item:focus-within>.at-header__nav-link .at-header__sub-arrow {
	transform: rotate(-135deg);
}

/* --------------------------------------------------------------------------
   Mega Menu Foundation (CSS Grid & Responsive Panels)
   -------------------------------------------------------------------------- */
.at-header__menu-item--mega {
	position: static !important;
}

.at-header__mega-menu {
	position: absolute;
	top: 100%;
	left: 0;
	width: 100%;
	background: #ffffff;
	border-top: 1px solid #e2e8f0;
	border-bottom: 1px solid #e2e8f0;
	box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
	padding: 2.5rem 0;
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
	transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
	z-index: 1001;
	pointer-events: none;
}

.at-header__menu-item--mega:hover>.at-header__mega-menu,
.at-header__menu-item--mega:focus-within>.at-header__mega-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	pointer-events: auto;
}

.at-header__mega-container {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 1.5rem;
}

.at-header__mega-menu--builder .at-header__mega-container {
	padding: 0 !important;
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
}

.at-header__mega-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 2rem;
	list-style: none;
	padding: 0;
	margin: 0;
}

.at-header__mega-grid .at-col-2,
.at-header__mega-grid .col-2 {
	grid-column: span 2;
}

.at-header__mega-grid .at-col-3,
.at-header__mega-grid .col-3 {
	grid-column: span 3;
}

/* --------------------------------------------------------------------------
   Header Actions (CTAs, Search, Mobile Trigger)
   -------------------------------------------------------------------------- */
.at-header__actions {
	display: flex;
	align-items: center;
	gap: 0.875rem;
	flex-shrink: 0;
}

.at-header__search-wrap {
	position: relative;
}

.at-header__search-toggle {
	background: transparent;
	border: none;
	cursor: pointer;
	padding: 0.45rem;
	font-size: 1.125rem;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--at-color-text-secondary, #475569);
	border-radius: 0.375rem;
	transition: background-color 0.2s ease;
}

.at-header__search-toggle:hover {
	background-color: #f1f5f9;
}

.at-header__search-dropdown {
	position: absolute;
	top: 120%;
	right: 0;
	width: 280px;
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 0.5rem;
	box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1);
	padding: 0.75rem;
	display: none;
	z-index: 1002;
}

.at-header__search-dropdown--open {
	display: block;
}

.at-header__mobile-toggle {
	display: none;
	background: transparent;
	border: none;
	cursor: pointer;
	padding: 0.5rem;
	flex-direction: column;
	gap: 5px;
	border-radius: 0.375rem;
}

.at-header__hamburger-bar {
	display: block;
	width: 22px;
	height: 2px;
	min-height: 2px;
	max-height: 2px;
	flex-shrink: 0;
	background-color: #0f172a;
	transition: all 0.25s ease;
}

/* --------------------------------------------------------------------------
   9 Header Structural Styles
   -------------------------------------------------------------------------- */
/* Style 1: Classic */
.at-header--classic {
	/* Logo Left, Nav Center, CTA Right */
}

/* Style 2: Minimal */
.at-header--minimal {
	border-bottom: 1px solid #edf2f7;
}

.at-header--minimal .at-header__container {
	padding: 0.75rem 1.5rem;
}

/* Style 3: Transparent & Fluidic Enterprise */
.at-header--transparent,
.at-header--fluidic {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	background-color: transparent;
	border-bottom: 1px solid rgba(255, 255, 255, 0.12);
	z-index: 1000;
}

.at-header--transparent .at-header__logo-text,
.at-header--transparent .at-header__nav-link,
.at-header--fluidic .at-header__logo-text,
.at-header--fluidic .at-header__nav-link {
	color: #ffffff !important;
}

.at-header--transparent .at-header__hamburger-bar,
.at-header--fluidic .at-header__hamburger-bar {
	background-color: #ffffff;
}

.at-header--transparent.at-header--scrolled,
.at-header--fluidic.at-header--scrolled {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	background-color: rgba(10, 15, 29, 0.9);
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35);
}

/* Style 4: Overlay */
.at-header--overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	background: rgba(15, 23, 42, 0.75);
	backdrop-filter: blur(12px);
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	color: #ffffff;
}

.at-header--overlay .at-header__logo-text,
.at-header--overlay .at-header__nav-link {
	color: #ffffff;
}

.at-header--overlay .at-header__hamburger-bar {
	background-color: #ffffff;
}

/* Style 5: Dark */
.at-header--dark {
	background-color: #0f172a;
	border-bottom: 1px solid #1e293b;
	color: #ffffff;
}

.at-header--dark .at-header__logo-text {
	color: #ffffff;
}

.at-header--dark .at-header__nav-link {
	color: #cbd5e1;
}

.at-header--dark .at-header__nav-link:hover {
	color: #60a5fa;
}

.at-header--dark .at-header__hamburger-bar {
	background-color: #ffffff;
}

/* Style 6: Centered Logo */
.at-header--centered-logo .at-header__container {
	flex-direction: column;
	gap: 1rem;
	padding: 1.25rem 1.5rem;
}

.at-header--centered-logo .at-header__brand {
	order: 1;
}

.at-header--centered-logo .at-header__nav {
	order: 2;
}

.at-header--centered-logo .at-header__actions {
	order: 3;
}

/* Style 7: Split Navigation */
.at-header--split-nav .at-header__container {
	justify-content: space-between;
}

/* Style 8: Floating */
.at-header--floating {
	position: fixed;
	top: 1.25rem;
	left: 50%;
	transform: translateX(-50%);
	width: calc(100% - 3rem);
	max-width: 1200px;
	border-radius: 9999px;
	background: rgba(255, 255, 255, 0.92);
	backdrop-filter: blur(12px);
	border: 1px solid rgba(226, 232, 240, 0.8);
	box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.08);
	padding: 0 0.5rem;
}

.at-header--floating .at-header__container {
	padding: 0.65rem 1.25rem;
}

/* Style 9: Mega Navigation */
.at-header--mega-navigation {
	border-bottom: 1px solid #e2e8f0;
}

.at-header--mega-navigation .at-header__nav-link {
	font-weight: 600;
}

/* --------------------------------------------------------------------------
   Advanced Sticky Header Behavior
   -------------------------------------------------------------------------- */
.at-header--sticky,
.at-header--sticky-scroll,
.at-header--hide-show-scroll,
.at-header--compact-scroll {
	position: sticky;
	top: 0;
}

.at-header--scrolled {
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
	background-color: rgba(255, 255, 255, 0.96);
	backdrop-filter: blur(10px);
}

.at-header--compact.at-header--scrolled .at-header__container {
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
}

.at-header--compact.at-header--scrolled .at-header__logo-img,
.at-header--compact.at-header--scrolled .custom-logo {
	max-height: 32px;
}

.at-header--hidden.at-header--scrolled {
	transform: translateY(-120%);
}

/* --------------------------------------------------------------------------
   Mobile Off-Canvas Drawer Layout & Backdrop
   -------------------------------------------------------------------------- */
.at-header__drawer-header,
.at-header__drawer-actions {
	display: none;
}

.at-header__backdrop {
	display: none;
}

body.at-scroll-locked {
	overflow: hidden !important;
}

@media (max-width: 1024px) {
	.at-header__mobile-toggle {
		display: flex;
	}

	.at-header__drawer .at-header__sub-toggle,
	.at-header--mobile-open .at-header__sub-toggle {
		display: inline-flex;
	}

	@media (min-width: 992px) {
		.at-header__sub-toggle,
		.at-header__nav .at-header__sub-toggle {
			display: none !important;
		}
	}

	.at-header__actions .at-header__cta,
	.at-header__actions .at-header__sec-cta {
		display: none;
	}

	/* Off-Canvas Drawer */
	.at-header__nav {
		position: fixed;
		top: 0;
		right: 0;
		width: 320px;
		max-width: 85vw;
		height: 100vh;
		background: #ffffff;
		box-shadow: -5px 0 25px rgba(0, 0, 0, 0.15);
		z-index: 10005;
		transform: translateX(100%);
		transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
		overflow-y: auto;
		display: flex;
		flex-direction: column;
		padding: 1.5rem;
		box-sizing: border-box;
	}

	.at-header__nav--open {
		transform: translateX(0);
	}

	.at-header__drawer-header {
		display: flex;
		align-items: center;
		justify-content: space-between;
		margin-bottom: 2rem;
		padding-bottom: 1rem;
		border-bottom: 1px solid #e2e8f0;
	}

	.at-header__drawer-title {
		font-size: 1.125rem;
		font-weight: 700;
		color: #0f172a;
	}

	.at-header__drawer-close {
		background: transparent;
		border: none;
		font-size: 1.75rem;
		cursor: pointer;
		color: #64748b;
		padding: 0.25rem;
		line-height: 1;
	}

	.at-header__menu {
		flex-direction: column;
		align-items: flex-start;
		gap: 0.5rem;
		width: 100%;
	}

	.at-header__menu-item {
		width: 100%;
	}

	.at-header__nav-link {
		width: 100%;
		justify-content: space-between;
		padding: 0.75rem 0;
		font-size: 1rem;
	}

	/* Nested Accordion for Mobile */
	.at-header__submenu {
		position: static;
		width: 100%;
		max-height: 0;
		overflow: hidden;
		opacity: 1;
		visibility: visible;
		transform: none;
		box-shadow: none;
		border: none;
		border-left: 2px solid var(--at-color-primary, #2563eb);
		border-radius: 0;
		padding: 0 0 0 1rem;
		margin-top: 0.25rem;
		transition: max-height 0.3s ease;
	}

	.at-header__menu-item--expanded>.at-header__submenu {
		max-height: 400px;
	}

	.at-header__nav-link .at-header__sub-arrow {
		display: none;
	}

	.at-header__menu-item--expanded>.at-header__sub-toggle .at-header__sub-arrow,
	.at-header__menu-item--expanded>.at-header__nav-link .at-header__sub-arrow {
		transform: rotate(-135deg);
	}

	/* Mega Menu Accordion on Mobile */
	.at-header__mega-menu {
		position: static;
		width: 100%;
		max-height: 0;
		overflow: hidden;
		opacity: 1;
		visibility: visible;
		transform: none;
		box-shadow: none;
		border: none;
		padding: 0;
		transition: max-height 0.3s ease;
	}

	.at-header__menu-item--expanded>.at-header__mega-menu {
		max-height: 600px;
	}

	.at-header__mega-grid {
		grid-template-columns: 1fr;
		gap: 0.75rem;
		padding: 0.5rem 0 0 1rem;
	}

	.at-header__mega-grid .at-col-2,
	.at-header__mega-grid .col-2,
	.at-header__mega-grid .at-col-3,
	.at-header__mega-grid .col-3 {
		grid-column: span 1;
	}

	.at-header__drawer-actions {
		display: flex;
		flex-direction: column;
		gap: 0.75rem;
		margin-top: auto;
		padding-top: 2rem;
	}

	.at-header__drawer-actions .at-button {
		width: 100%;
		justify-content: center;
	}

	/* Backdrop */
	.at-header__backdrop {
		display: block;
		position: fixed;
		inset: 0;
		background: rgba(15, 23, 42, 0.6);
		backdrop-filter: blur(4px);
		z-index: 10004;
		opacity: 0;
		pointer-events: none;
		transition: opacity 0.3s ease;
	}

	.at-header--drawer-open .at-header__backdrop {
		opacity: 1;
		pointer-events: auto;
	}
}

@media (max-width: 767px) {
	.at-header__topbar-inner {
		flex-direction: column;
		gap: 0.35rem;
		text-align: center;
	}

	.at-header__topbar-left,
	.at-header__topbar-right {
		justify-content: center;
	}

	.at-header--floating {
		width: calc(100% - 1.5rem);
		top: 0.75rem;
	}
}

/* --------------------------------------------------------------------------
   3. AT Stats (.at-stats)
   -------------------------------------------------------------------------- */
.at-stats {
	width: 100%;
	padding: var(--at-space-2xl, 3rem) 0;
}

.at-stats__grid {
	display: grid;
	gap: var(--at-space-xl, 2rem);
	max-width: 1280px;
	margin: 0 auto;
	box-sizing: border-box;
}

.at-stats--cols-1 .at-stats__grid {
	grid-template-columns: 1fr;
}

.at-stats--cols-2 .at-stats__grid {
	grid-template-columns: repeat(2, 1fr);
}

.at-stats--cols-3 .at-stats__grid {
	grid-template-columns: repeat(3, 1fr);
}

.at-stats--cols-4 .at-stats__grid {
	grid-template-columns: repeat(4, 1fr);
}

.at-stat__item {
	display: flex;
	flex-direction: column;
	position: relative;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.at-stat__number-wrap {
	display: flex;
	align-items: baseline;
	font-size: clamp(2.25rem, 3.5vw, 3.25rem);
	font-weight: 800;
	color: var(--at-color-primary, #2563eb);
	line-height: 1.1;
	letter-spacing: -0.025em;
	margin-bottom: 0.5rem;
}

.at-stat__prefix,
.at-stat__suffix {
	font-size: 0.65em;
	font-weight: 700;
	margin: 0 0.15rem;
	color: currentColor;
}

.at-stat__number {
	font-variant-numeric: tabular-nums;
}

.at-stat__label {
	font-size: 1.0625rem;
	font-weight: 600;
	color: var(--at-color-text-title, #0f172a);
	margin: 0 0 0.35rem 0;
}

.at-stat__desc {
	font-size: 0.875rem;
	color: var(--at-color-text-secondary, #64748b);
	margin: 0;
	line-height: 1.5;
}

.at-stat__icon {
	font-size: 2rem;
	color: var(--at-color-primary, #2563eb);
	margin-bottom: 1rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.at-stat__index {
	font-size: 0.8125rem;
	font-weight: 700;
	color: var(--at-color-text-muted, #94a3b8);
	margin-bottom: 0.5rem;
	display: block;
}

/* Stats Presets */
.at-stats--cards .at-stat__item {
	background: #ffffff;
	border: 1px solid var(--at-border-color, #e2e8f0);
	border-radius: var(--at-radius-lg, 0.75rem);
	padding: 2rem 1.75rem;
	box-shadow: var(--at-shadow-sm, 0 1px 2px 0 rgba(0, 0, 0, 0.05));
}

.at-stats--cards .at-stat__item:hover {
	transform: translateY(-4px);
	box-shadow: var(--at-shadow-md, 0 4px 6px -1px rgba(0, 0, 0, 0.1));
}

.at-stats--dark .at-stat__item {
	background: #0f172a;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: var(--at-radius-lg, 0.75rem);
	padding: 2rem;
	color: #ffffff;
}

.at-stats--dark .at-stat__label {
	color: #f8fafc;
}

.at-stats--dark .at-stat__desc {
	color: #94a3b8;
}

.at-stats--featured .at-stat__item:first-child {
	background: linear-gradient(135deg, #1e40af 0%, #2563eb 100%);
	color: #ffffff;
	border-radius: var(--at-radius-lg, 0.75rem);
	padding: 2rem;
}

.at-stats--featured .at-stat__item:first-child .at-stat__number-wrap,
.at-stats--featured .at-stat__item:first-child .at-stat__label,
.at-stats--featured .at-stat__item:first-child .at-stat__desc,
.at-stats--featured .at-stat__item:first-child .at-stat__icon {
	color: #ffffff;
}

.at-stats--inline .at-stat__item {
	flex-direction: row;
	align-items: center;
	gap: 1.5rem;
}

.at-stats--simple .at-stat__item {
	background: transparent;
	border: none;
	padding: 1rem 0;
	text-align: left;
}

.at-stats--simple .at-stat__number-wrap {
	font-size: 3.5rem;
	letter-spacing: -0.03em;
}

.at-stats--minimal .at-stat__item {
	background: transparent;
	border: none;
	border-right: 1px solid var(--at-border-color, #e2e8f0);
	border-radius: 0;
	padding: 1.25rem 2rem;
}

.at-stats--minimal .at-stat__item:last-child {
	border-right: none;
}

@media (max-width: 767px) {
	.at-stats--minimal .at-stat__item {
		border-right: none;
		border-bottom: 1px solid var(--at-border-color, #e2e8f0);
		padding: 1.25rem 0;
	}
}

.at-stats--numbered .at-stats__grid {
	counter-reset: at-stat-counter;
}

.at-stats--numbered .at-stat__item {
	position: relative;
	padding-top: 2.75rem;
	border-top: 3px solid var(--at-color-primary, #2563eb);
	background: var(--at-color-surface, #ffffff);
	border-radius: var(--at-radius-lg, 12px);
	padding: 2.25rem 1.75rem 1.75rem;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04);
}

.at-stats--numbered .at-stat__item::before {
	content: counter(at-stat-counter, decimal-leading-zero);
	counter-increment: at-stat-counter;
	position: absolute;
	top: 1rem;
	left: 1.75rem;
	font-size: 0.85rem;
	font-weight: 800;
	color: var(--at-color-primary, #2563eb);
	letter-spacing: 0.08em;
}

/* --------------------------------------------------------------------------
   4. AT Features Grid (.at-features-grid)
   -------------------------------------------------------------------------- */
.at-features-grid {
	width: 100%;
	padding: var(--at-space-2xl, 3rem) 0;
}

.at-features-grid__container {
	display: grid;
	gap: var(--at-space-xl, 2rem);
	max-width: 1280px;
	margin: 0 auto;
}

.at-features-grid--cols-1 .at-features-grid__container {
	grid-template-columns: 1fr;
}

.at-features-grid--cols-2 .at-features-grid__container {
	grid-template-columns: repeat(2, 1fr);
}

.at-features-grid--cols-3 .at-features-grid__container {
	grid-template-columns: repeat(3, 1fr);
}

.at-features-grid--cols-4 .at-features-grid__container {
	grid-template-columns: repeat(4, 1fr);
}

.at-features-item {
	background: #ffffff;
	border: 1px solid var(--at-border-color, #e2e8f0);
	border-radius: var(--at-radius-lg, 0.75rem);
	padding: 2.25rem 2rem;
	display: flex;
	flex-direction: column;
	position: relative;
	transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.at-features-item:hover {
	transform: translateY(-4px);
	border-color: var(--at-color-primary, #2563eb);
	box-shadow: var(--at-shadow-lg, 0 10px 15px -3px rgba(0, 0, 0, 0.08));
}

.at-features-item__icon {
	width: 52px;
	height: 52px;
	border-radius: var(--at-radius-md, 0.5rem);
	background: var(--at-color-primary-light, #eff6ff);
	color: var(--at-color-primary, #2563eb);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.5rem;
	margin-bottom: 1.5rem;
	transition: all 0.3s ease;
}

.at-features-item:hover .at-features-item__icon {
	background: var(--at-color-primary, #2563eb);
	color: #ffffff;
}

.at-features-item__title {
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--at-color-text-title, #0f172a);
	margin: 0 0 0.75rem 0;
	line-height: 1.35;
}

.at-features-item__desc {
	font-size: 0.9375rem;
	color: var(--at-color-text-secondary, #64748b);
	line-height: 1.6;
	margin: 0 0 1.25rem 0;
	flex-grow: 1;
}

.at-features-item__link {
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--at-color-primary, #2563eb);
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	transition: gap 0.2s ease;
}

.at-features-item__link:hover {
	gap: 0.6rem;
}

.at-features-item__index {
	font-size: 0.75rem;
	font-weight: 800;
	color: var(--at-color-text-muted, #94a3b8);
	letter-spacing: 0.05em;
	margin-bottom: 0.75rem;
}

/* Features Grid Bento Preset */
.at-features-grid--bento .at-features-grid__container {
	grid-template-columns: repeat(3, 1fr);
}

.at-features-grid--bento .at-features-item--featured,
.at-features-grid--bento .at-features-item:first-child {
	grid-column: span 2;
	background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
	color: #ffffff;
	border-color: #334155;
}

.at-features-grid--bento .at-features-item--featured .at-features-item__title,
.at-features-grid--bento .at-features-item:first-child .at-features-item__title {
	color: #ffffff;
	font-size: 1.5rem;
}

.at-features-grid--bento .at-features-item--featured .at-features-item__desc,
.at-features-grid--bento .at-features-item:first-child .at-features-item__desc {
	color: #94a3b8;
	font-size: 1.0625rem;
}

.at-features-grid--horizontal .at-features-item {
	flex-direction: row;
	align-items: flex-start;
	gap: 1.5rem;
}

.at-features-grid--minimal .at-features-item {
	background: transparent;
	border: none;
	padding: 1rem 0;
	box-shadow: none;
}

.at-features-grid--featured-first .at-features-item:first-child {
	grid-column: span 2;
	background: linear-gradient(135deg, #1e40af 0%, #2563eb 100%);
	color: #ffffff;
	border: none;
	box-shadow: 0 20px 35px -5px rgba(37, 99, 235, 0.3);
}

.at-features-grid--featured-first .at-features-item:first-child .at-features-item__title {
	color: #ffffff;
	font-size: 1.5rem;
}

.at-features-grid--featured-first .at-features-item:first-child .at-features-item__desc {
	color: #e0e7ff;
	font-size: 1.05rem;
}

.at-features-grid--featured-first .at-features-item:first-child .at-features-item__link {
	color: #ffffff;
}

.at-features-grid--featured-first .at-features-item:first-child .at-features-item__icon {
	background: rgba(255, 255, 255, 0.2);
	color: #ffffff;
	width: 60px;
	height: 60px;
	font-size: 1.75rem;
}

.at-features-grid--icon-focus .at-features-item {
	text-align: center;
	align-items: center;
	padding: 2.75rem 2rem;
	border-radius: var(--at-radius-xl, 18px);
	box-shadow: 0 10px 30px -5px rgba(0, 0, 0, 0.06);
}

.at-features-grid--icon-focus .at-features-item__icon {
	width: 72px;
	height: 72px;
	font-size: 2rem;
	border-radius: 9999px;
	margin: 0 auto 1.5rem;
	box-shadow: 0 10px 24px -4px rgba(37, 99, 235, 0.25);
}

.at-features-grid--numbered .at-features-item {
	position: relative;
	overflow: hidden;
}

.at-features-grid--numbered .at-features-item::after {
	content: counter(at-feature-counter, decimal-leading-zero);
	counter-increment: at-feature-counter;
	position: absolute;
	top: 1rem;
	right: 1.5rem;
	font-size: 3.5rem;
	font-weight: 900;
	color: var(--at-color-primary, #2563eb);
	opacity: 0.1;
	line-height: 1;
	pointer-events: none;
	user-select: none;
}

.at-features-grid--numbered .at-features-grid__container {
	counter-reset: at-feature-counter;
}

.at-features-grid--alternating .at-features-item:nth-child(even) {
	background: #f8fafc;
	border-color: #cbd5e1;
	transform: translateY(20px);
}

@media (max-width: 767px) {
	.at-features-grid--alternating .at-features-item:nth-child(even) {
		transform: none;
	}

	.at-features-grid--featured-first .at-features-item:first-child {
		grid-column: span 1;
	}
}

/* --------------------------------------------------------------------------
   5. AT Services Grid (.at-services-grid)
   -------------------------------------------------------------------------- */
.at-services-grid {
	width: 100%;
	padding: var(--at-space-2xl, 3rem) 0;
}

.at-services-grid__container {
	display: grid;
	gap: var(--at-space-xl, 2rem);
	max-width: 1280px;
	margin: 0 auto;
}

.at-services-grid--cols-1 .at-services-grid__container {
	grid-template-columns: 1fr;
}

.at-services-grid--cols-2 .at-services-grid__container {
	grid-template-columns: repeat(2, 1fr);
}

.at-services-grid--cols-3 .at-services-grid__container {
	grid-template-columns: repeat(3, 1fr);
}

.at-services-grid--cols-4 .at-services-grid__container {
	grid-template-columns: repeat(4, 1fr);
}

.at-services-item {
	background: #ffffff;
	border: 1px solid var(--at-border-color, #e2e8f0);
	border-radius: var(--at-radius-lg, 0.75rem);
	padding: 2.25rem 2rem;
	display: flex;
	flex-direction: column;
	position: relative;
	transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
	overflow: hidden;
}

.at-services-item:hover {
	transform: translateY(-5px);
	box-shadow: var(--at-shadow-xl, 0 20px 25px -5px rgba(0, 0, 0, 0.08));
	border-color: rgba(37, 99, 235, 0.4);
}

.at-services-item__icon {
	width: 48px;
	height: 48px;
	border-radius: var(--at-radius-md, 0.5rem);
	background: var(--at-color-primary-light, #eff6ff);
	color: var(--at-color-primary, #2563eb);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.5rem;
	margin-bottom: 1.5rem;
}

.at-services-item__title {
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--at-color-text-title, #0f172a);
	margin: 0 0 0.75rem 0;
	line-height: 1.35;
}

.at-services-item__desc {
	font-size: 0.9375rem;
	color: var(--at-color-text-secondary, #64748b);
	line-height: 1.6;
	margin: 0 0 1.5rem 0;
	flex-grow: 1;
}

.at-services-item__action {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--at-color-primary, #2563eb);
	transition: gap 0.25s ease;
}

.at-services-item:hover .at-services-item__action {
	gap: 0.85rem;
}

.at-services-item__overlay-link {
	position: absolute;
	inset: 0;
	z-index: 5;
}

/* Services Presets */
.at-services-grid--modern .at-services-item {
	background: #f8fafc;
	border: 1px solid #edf2f7;
}

.at-services-grid--modern .at-services-item:hover {
	background: #ffffff;
}

.at-services-grid--featured .at-services-item:nth-child(2) {
	background: #0f172a;
	color: #ffffff;
	border-color: #1e293b;
	transform: scale(1.03);
}

.at-services-grid--featured .at-services-item:nth-child(2) .at-services-item__title {
	color: #ffffff;
}

.at-services-grid--featured .at-services-item:nth-child(2) .at-services-item__desc {
	color: #94a3b8;
}

.at-services-grid--featured .at-services-item:nth-child(2) .at-services-item__action {
	color: #60a5fa;
}

.at-services-grid--horizontal .at-services-item {
	flex-direction: row;
	align-items: center;
	gap: 1.75rem;
}

.at-services-grid--minimal .at-services-item {
	background: transparent;
	border: none;
	border-bottom: 2px solid var(--at-border-color, #e2e8f0);
	border-radius: 0;
	padding: 1.5rem 0;
	box-shadow: none;
}

.at-services-grid--minimal .at-services-item:hover {
	transform: none;
	box-shadow: none;
	border-bottom-color: var(--at-color-primary, #2563eb);
}

.at-services-grid--icon-focus .at-services-item {
	text-align: center;
	align-items: center;
	padding: 2.75rem 2rem;
	border-radius: var(--at-radius-xl, 20px);
}

.at-services-grid--icon-focus .at-services-item__icon {
	width: 72px;
	height: 72px;
	font-size: 2rem;
	border-radius: 9999px;
	margin: 0 auto 1.5rem;
	box-shadow: 0 10px 24px -4px rgba(37, 99, 235, 0.25);
}

.at-services-grid--image-focus .at-services-item {
	padding-top: 0;
	border-radius: var(--at-radius-lg, 14px);
}

.at-services-grid--image-focus .at-services-item::before {
	content: '';
	display: block;
	height: 120px;
	margin: 0 -2rem 1.5rem -2rem;
	background: linear-gradient(135deg, rgba(37, 99, 235, 0.15) 0%, rgba(99, 102, 241, 0.08) 100%);
	border-bottom: 1px solid var(--at-border-color, #e2e8f0);
}

.at-services-grid--numbered .at-services-item {
	position: relative;
	overflow: hidden;
}

.at-services-grid--numbered .at-services-item::after {
	content: counter(at-service-counter, decimal-leading-zero);
	counter-increment: at-service-counter;
	position: absolute;
	top: 1rem;
	right: 1.5rem;
	font-size: 3.5rem;
	font-weight: 900;
	color: var(--at-color-primary, #2563eb);
	opacity: 0.1;
	line-height: 1;
	pointer-events: none;
	user-select: none;
}

.at-services-grid--numbered .at-services-grid__container {
	counter-reset: at-service-counter;
}

/* --------------------------------------------------------------------------
   6. AT Projects Grid (.at-projects-grid)
   -------------------------------------------------------------------------- */
.at-projects-grid {
	width: 100%;
	padding: var(--at-space-2xl, 3rem) 0;
}

.at-projects-grid__container {
	display: grid;
	gap: var(--at-space-xl, 2rem);
	max-width: 1280px;
	margin: 0 auto;
}

.at-projects-grid--cols-1 .at-projects-grid__container {
	grid-template-columns: 1fr;
}

.at-projects-grid--cols-2 .at-projects-grid__container {
	grid-template-columns: repeat(2, 1fr);
}

.at-projects-grid--cols-3 .at-projects-grid__container {
	grid-template-columns: repeat(3, 1fr);
}

.at-projects-grid--cols-4 .at-projects-grid__container {
	grid-template-columns: repeat(4, 1fr);
}

.at-projects-item {
	position: relative;
	border-radius: var(--at-radius-lg, 0.75rem);
	overflow: hidden;
	background: #ffffff;
	box-shadow: var(--at-shadow-sm, 0 1px 3px 0 rgba(0, 0, 0, 0.1));
	transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.at-projects-item:hover {
	transform: translateY(-5px);
	box-shadow: var(--at-shadow-xl, 0 20px 25px -5px rgba(0, 0, 0, 0.12));
}

.at-projects-item__media {
	width: 100%;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	position: relative;
	background: #f1f5f9;
}

.at-projects-item__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.at-projects-item:hover .at-projects-item__img {
	transform: scale(1.06);
}

.at-projects-item__content {
	padding: 1.5rem 1.75rem;
}

.at-projects-item__category {
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--at-color-primary, #2563eb);
	margin-bottom: 0.5rem;
	display: block;
}

.at-projects-item__title {
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--at-color-text-title, #0f172a);
	margin: 0 0 0.5rem 0;
	line-height: 1.3;
}

.at-projects-item__desc {
	font-size: 0.9375rem;
	color: var(--at-color-text-secondary, #64748b);
	line-height: 1.5;
	margin: 0;
}

.at-projects-item__hit-link {
	position: absolute;
	inset: 0;
	z-index: 10;
}

/* Projects Presets */
.at-projects-grid--overlay .at-projects-item {
	position: relative;
	min-height: 380px;
}

.at-projects-grid--overlay .at-projects-item__media {
	position: absolute;
	inset: 0;
	height: 100%;
	aspect-ratio: auto;
}

.at-projects-grid--overlay .at-projects-item__scrim {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(15, 23, 42, 0) 40%, rgba(15, 23, 42, 0.9) 100%);
	z-index: 2;
}

.at-projects-grid--overlay .at-projects-item__content {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	z-index: 3;
	color: #ffffff;
	box-sizing: border-box;
}

.at-projects-grid--overlay .at-projects-item__title {
	color: #ffffff;
}

.at-projects-grid--overlay .at-projects-item__category {
	color: #93c5fd;
}

.at-projects-grid--overlay .at-projects-item__desc {
	color: #cbd5e1;
}

.at-projects-grid--horizontal .at-projects-item {
	display: flex;
	flex-direction: row;
}

.at-projects-grid--horizontal .at-projects-item__media {
	flex: 0 0 45%;
	aspect-ratio: auto;
}

.at-projects-grid--masonry .at-projects-item:nth-child(3n+1) .at-projects-item__media {
	aspect-ratio: 4 / 3;
}

.at-projects-grid--masonry .at-projects-item:nth-child(3n+2) .at-projects-item__media {
	aspect-ratio: 16 / 9;
}

.at-projects-grid--masonry .at-projects-item:nth-child(3n) .at-projects-item__media {
	aspect-ratio: 1 / 1;
}

.at-projects-grid--editorial .at-projects-item {
	border: none;
	border-bottom: 2px solid var(--at-border-color, #e2e8f0);
	border-radius: 0;
	box-shadow: none;
	background: transparent;
	padding-bottom: 1rem;
}

.at-projects-grid--editorial .at-projects-item__title {
	font-family: Georgia, serif;
	font-size: 1.45rem;
}

.at-projects-grid--editorial .at-projects-item__category {
	letter-spacing: 0.12em;
	font-size: 0.72rem;
}

.at-projects-grid--editorial:hover .at-projects-item {
	border-bottom-color: var(--at-color-primary, #2563eb);
}

.at-projects-grid--featured .at-projects-item:first-child {
	grid-column: span 2;
	grid-row: span 2;
	box-shadow: 0 20px 40px -10px rgba(0, 0, 0, 0.15);
}

.at-projects-grid--featured .at-projects-item:first-child .at-projects-item__media {
	aspect-ratio: 16 / 9;
}

.at-projects-grid--featured .at-projects-item:first-child .at-projects-item__title {
	font-size: 1.75rem;
}

.at-projects-grid--minimal .at-projects-item {
	background: transparent;
	border: none;
	box-shadow: none;
}

.at-projects-grid--minimal .at-projects-item__content {
	padding: 1rem 0 0 0;
}

.at-projects-grid--alternating .at-projects-item:nth-child(even) {
	flex-direction: row-reverse;
}

@media (max-width: 767px) {
	.at-projects-grid--featured .at-projects-item:first-child {
		grid-column: span 1;
		grid-row: auto;
	}

	.at-projects-grid--alternating .at-projects-item:nth-child(even) {
		flex-direction: column;
	}
}

/* --------------------------------------------------------------------------
   7. AT Testimonials (.at-testimonials)
   -------------------------------------------------------------------------- */
.at-testimonials {
	width: 100%;
	padding: var(--at-space-2xl, 3rem) 0;
}

.at-testimonials__grid {
	display: grid;
	gap: var(--at-space-xl, 2rem);
	max-width: 1280px;
	margin: 0 auto;
}

.at-testimonials--cols-1 .at-testimonials__grid {
	grid-template-columns: 1fr;
}

.at-testimonials--cols-2 .at-testimonials__grid {
	grid-template-columns: repeat(2, 1fr);
}

.at-testimonials--cols-3 .at-testimonials__grid {
	grid-template-columns: repeat(3, 1fr);
}

.at-testimonials--cols-4 .at-testimonials__grid {
	grid-template-columns: repeat(4, 1fr);
}

.at-testimonials-item {
	background: #ffffff;
	border: 1px solid var(--at-border-color, #e2e8f0);
	border-radius: var(--at-radius-lg, 0.75rem);
	padding: 2.25rem 2rem;
	display: flex;
	flex-direction: column;
	position: relative;
	transition: all 0.3s ease;
}

.at-testimonials-item:hover {
	box-shadow: var(--at-shadow-md, 0 4px 6px -1px rgba(0, 0, 0, 0.1));
}

.at-testimonials-item__stars {
	color: #f59e0b;
	font-size: 1.125rem;
	margin-bottom: 1.25rem;
	letter-spacing: 2px;
}

.at-testimonials-item__quote {
	font-size: 1.0625rem;
	line-height: 1.65;
	color: var(--at-color-text-body, #334155);
	margin: 0 0 1.75rem 0;
	flex-grow: 1;
	font-style: italic;
}

.at-testimonials-item__meta {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-top: auto;
}

.at-testimonials-item__avatar {
	width: 48px;
	height: 48px;
	border-radius: var(--at-radius-full, 50%);
	object-fit: cover;
	display: block;
}

.at-testimonials-item__name {
	font-size: 1rem;
	font-weight: 700;
	color: var(--at-color-text-title, #0f172a);
	margin: 0 0 0.15rem 0;
}

.at-testimonials-item__role,
.at-testimonials-item__company {
	font-size: 0.8125rem;
	color: var(--at-color-text-muted, #64748b);
	margin: 0;
}

/* Testimonials Presets */
.at-testimonials--cards .at-testimonials-item {
	background: #ffffff;
	border: 1px solid var(--at-border-color, #e2e8f0);
	border-radius: var(--at-radius-xl, 1rem);
	box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -2px rgba(0, 0, 0, 0.05);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.at-testimonials--cards .at-testimonials-item:hover {
	transform: translateY(-5px);
	box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.08), 0 8px 10px -6px rgba(0, 0, 0, 0.05);
}

.at-testimonials--centered .at-testimonials-item {
	text-align: center;
	align-items: center;
}

.at-testimonials--centered .at-testimonials-item__stars {
	margin-left: auto;
	margin-right: auto;
}

.at-testimonials--centered .at-testimonials-item__meta {
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.at-testimonials--minimal .at-testimonials-item {
	background: transparent;
	border: none;
	border-bottom: 1px solid var(--at-border-color, #e2e8f0);
	border-radius: 0;
	box-shadow: none;
	padding: 2rem 0.5rem;
}

.at-testimonials--minimal .at-testimonials-item:hover {
	box-shadow: none;
	border-bottom-color: var(--at-color-primary, #2563eb);
}

.at-testimonials--dark .at-testimonials-item {
	background: #0f172a;
	border-color: #1e293b;
	color: #f8fafc;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25);
}

.at-testimonials--dark .at-testimonials-item__quote {
	color: #cbd5e1;
}

.at-testimonials--dark .at-testimonials-item__name {
	color: #ffffff;
}

.at-testimonials--dark .at-testimonials-item__role {
	color: #94a3b8;
}

.at-testimonials--dark .at-testimonials-item:hover {
	border-color: #334155;
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.4);
}

.at-testimonials--large-quote .at-testimonials-item {
	border: none;
	background: transparent;
	text-align: center;
	max-width: 840px;
	margin: 0 auto;
	padding: 2rem 1rem;
	box-shadow: none;
}

.at-testimonials--large-quote .at-testimonials-item__stars {
	font-size: 1.35rem;
	margin-bottom: 1.5rem;
}

.at-testimonials--large-quote .at-testimonials-item__quote {
	font-size: clamp(1.25rem, 2.2vw, 1.75rem);
	line-height: 1.5;
	font-weight: 500;
	color: var(--at-color-text-title, #0f172a);
}

.at-testimonials--large-quote .at-testimonials-item__meta {
	justify-content: center;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.at-testimonials--large-quote .at-testimonials-item__avatar {
	width: 56px;
	height: 56px;
	margin-bottom: 0.25rem;
}

.at-testimonials--featured .at-testimonials-item:first-child {
	border-color: var(--at-color-primary, #2563eb);
	border-width: 2px;
	box-shadow: 0 10px 25px -5px rgba(37, 99, 235, 0.15);
	position: relative;
}

.at-testimonials--featured .at-testimonials-item:first-child::before {
	content: "★ Featured";
	position: absolute;
	top: -12px;
	right: 20px;
	background: var(--at-color-primary, #2563eb);
	color: #ffffff;
	font-size: 0.75rem;
	font-weight: 600;
	padding: 0.2rem 0.65rem;
	border-radius: 9999px;
	letter-spacing: 0.03em;
}

.at-testimonials--editorial .at-testimonials-item {
	background: #ffffff;
	border-left: 3px solid var(--at-color-primary, #2563eb);
	border-radius: 0 8px 8px 0;
	padding-left: 2rem;
}

.at-testimonials--editorial .at-testimonials-item__quote {
	font-family: Georgia, Cambria, serif;
	font-size: 1.15rem;
	line-height: 1.6;
}

/* --------------------------------------------------------------------------
   8. AT FAQ Accordion (.at-faq)
   -------------------------------------------------------------------------- */
.at-faq {
	width: 100%;
	max-width: 860px;
	margin: 0 auto;
	padding: var(--at-space-2xl, 3rem) 0;
}

.at-faq__intro {
	text-align: center;
	margin-bottom: 2.5rem;
}

.at-faq__intro-title {
	font-size: clamp(1.75rem, 3vw, 2.5rem);
	font-weight: 800;
	color: var(--at-color-text-title, #0f172a);
	margin: 0 0 0.75rem 0;
}

.at-faq__intro-desc {
	font-size: 1.0625rem;
	color: var(--at-color-text-secondary, #64748b);
	margin: 0;
}

.at-faq__accordion {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.at-faq__item {
	background: #ffffff;
	border: 1px solid var(--at-border-color, #e2e8f0);
	border-radius: var(--at-radius-lg, 0.75rem);
	overflow: hidden;
	transition: border-color 0.2s ease;
}

.at-faq__item--active {
	border-color: var(--at-color-primary, #2563eb);
}

.at-faq__trigger {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 1.35rem 1.75rem;
	background: transparent;
	border: none;
	cursor: pointer;
	text-align: left;
	font-size: 1.0625rem;
	font-weight: 600;
	color: var(--at-color-text-title, #0f172a);
	transition: color 0.2s ease;
}

.at-faq__trigger:hover,
.at-faq__trigger:focus {
	color: var(--at-color-primary, #2563eb);
}

.at-faq__question {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	flex: 1;
}

.at-faq__index {
	font-size: 0.8125rem;
	font-weight: 700;
	color: var(--at-color-primary, #2563eb);
}

.at-faq__icon {
	width: 20px;
	height: 20px;
	position: relative;
	flex-shrink: 0;
}

.at-faq__icon-bar {
	position: absolute;
	background-color: currentColor;
	border-radius: 2px;
	transition: transform 0.25s ease;
}

.at-faq__icon-bar--h {
	width: 14px;
	height: 2px;
	top: 9px;
	left: 3px;
}

.at-faq__icon-bar--v {
	width: 2px;
	height: 14px;
	top: 3px;
	left: 9px;
}

.at-faq__trigger[aria-expanded="true"] .at-faq__icon-bar--v {
	transform: rotate(90deg);
	opacity: 0;
}

.at-faq__content {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.at-faq__answer {
	padding: 0 1.75rem 1.5rem 1.75rem;
	font-size: 0.9375rem;
	line-height: 1.65;
	color: var(--at-color-text-secondary, #475569);
	margin: 0;
}

/* FAQ Presets */
.at-faq--two-column .at-faq__accordion {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1rem;
}

.at-faq--minimal .at-faq__item {
	background: transparent;
	border: none;
	border-bottom: 1px solid var(--at-border-color, #e2e8f0);
	border-radius: 0;
}

.at-faq--minimal .at-faq__trigger {
	padding: 1.25rem 0;
}

.at-faq--minimal .at-faq__answer {
	padding: 0 0 1.25rem 0;
}

.at-faq--numbered .at-faq__index {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: var(--at-radius-md, 8px);
	background: rgba(37, 99, 235, 0.1);
	color: var(--at-color-primary, #2563eb);
	font-weight: 800;
	font-size: 0.875rem;
	margin-right: 0.85rem;
	flex-shrink: 0;
}

.at-faq--cards .at-faq__item {
	background: var(--at-color-surface, #ffffff);
	border: 1px solid rgba(226, 232, 240, 0.8);
	border-radius: var(--at-radius-xl, 16px);
	box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.06);
	margin-bottom: 1.25rem;
	overflow: hidden;
	transition: all 0.3s ease;
}

.at-faq--cards .at-faq__item:hover {
	box-shadow: 0 16px 35px -6px rgba(0, 0, 0, 0.1);
	border-color: rgba(37, 99, 235, 0.3);
}

.at-faq--cards .at-faq__trigger {
	padding: 1.5rem 1.75rem;
}

.at-faq--cards .at-faq__answer {
	padding: 0 1.75rem 1.5rem;
}

.at-faq--split {
	max-width: 1280px;
	display: grid;
	grid-template-columns: 36% 1fr;
	gap: 3.5rem;
	align-items: flex-start;
}

.at-faq--split .at-faq__intro {
	position: sticky;
	top: 2rem;
	text-align: left;
	margin-bottom: 0;
}

.at-faq--split .at-faq__intro-title {
	font-size: 2.25rem;
	font-weight: 800;
	line-height: 1.2;
	color: var(--at-color-heading, #0f172a);
	margin: 0 0 1rem;
}

.at-faq--split .at-faq__intro-desc {
	font-size: 1.05rem;
	line-height: 1.6;
	color: var(--at-color-muted, #64748b);
	margin: 0;
}

@media (max-width: 860px) {
	.at-faq--split {
		grid-template-columns: 1fr;
		gap: 2rem;
	}

	.at-faq--split .at-faq__intro {
		position: static;
	}
}

/* --------------------------------------------------------------------------
   9. AT Contact Info (.at-contact-info)
   -------------------------------------------------------------------------- */
.at-contact-info {
	width: 100%;
	padding: var(--at-space-2xl, 3rem) 0;
}

.at-contact-info__grid {
	display: grid;
	gap: var(--at-space-xl, 2rem);
	max-width: 1280px;
	margin: 0 auto;
}

.at-contact-info--cols-1 .at-contact-info__grid {
	grid-template-columns: 1fr;
}

.at-contact-info--cols-2 .at-contact-info__grid {
	grid-template-columns: repeat(2, 1fr);
}

.at-contact-info--cols-3 .at-contact-info__grid {
	grid-template-columns: repeat(3, 1fr);
}

.at-contact-info--cols-4 .at-contact-info__grid {
	grid-template-columns: repeat(4, 1fr);
}

.at-contact-item {
	display: flex;
	align-items: flex-start;
	gap: 1.25rem;
	padding: 1.75rem;
	background: #ffffff;
	border: 1px solid var(--at-border-color, #e2e8f0);
	border-radius: var(--at-radius-lg, 0.75rem);
	transition: all 0.3s ease;
}

.at-contact-item:hover {
	transform: translateY(-3px);
	border-color: var(--at-color-primary, #2563eb);
	box-shadow: var(--at-shadow-md, 0 4px 6px -1px rgba(0, 0, 0, 0.08));
}

.at-contact-item__icon {
	width: 44px;
	height: 44px;
	border-radius: var(--at-radius-md, 0.5rem);
	background: var(--at-color-primary-light, #eff6ff);
	color: var(--at-color-primary, #2563eb);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.25rem;
	flex-shrink: 0;
}

.at-contact-item__title {
	font-size: 0.8125rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--at-color-text-muted, #64748b);
	margin: 0 0 0.25rem 0;
}

.at-contact-item__value {
	font-size: 1.0625rem;
	font-weight: 600;
	color: var(--at-color-text-title, #0f172a);
	line-height: 1.4;
	margin: 0;
}

.at-contact-item__link {
	color: inherit;
	text-decoration: none;
	transition: color 0.2s ease;
}

.at-contact-item__link:hover {
	color: var(--at-color-primary, #2563eb);
}

.at-contact-item__sub {
	font-size: 0.8125rem;
	color: var(--at-color-text-secondary, #94a3b8);
	margin: 0.25rem 0 0 0;
}

/* Contact Info Presets */
.at-contact-info--dark .at-contact-item {
	background: #0f172a;
	border-color: #1e293b;
	color: #ffffff;
}

.at-contact-info--dark .at-contact-item__value {
	color: #ffffff;
}

.at-contact-info--minimal .at-contact-item {
	background: transparent;
	border: none;
	padding: 1rem 0;
	box-shadow: none;
}

.at-contact-info--cards .at-contact-item {
	background: var(--at-color-surface, #ffffff);
	border: 1px solid rgba(226, 232, 240, 0.9);
	border-radius: var(--at-radius-xl, 16px);
	box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.06);
	padding: 2rem 1.75rem;
}

.at-contact-info--cards .at-contact-item:hover {
	transform: translateY(-5px);
	box-shadow: 0 16px 35px -6px rgba(37, 99, 235, 0.12);
	border-color: rgba(37, 99, 235, 0.3);
}

.at-contact-info--inline .at-contact-info__grid {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem 1.5rem;
	align-items: center;
	justify-content: center;
}

.at-contact-info--inline .at-contact-item {
	padding: 0.85rem 1.5rem;
	border-radius: 9999px;
	background: rgba(37, 99, 235, 0.05);
	border: 1px solid rgba(37, 99, 235, 0.15);
	gap: 0.85rem;
}

.at-contact-info--inline .at-contact-item__icon {
	width: 32px;
	height: 32px;
	font-size: 0.95rem;
}

.at-contact-info--split .at-contact-info__grid {
	grid-template-columns: 1.3fr 1fr;
}

.at-contact-info--split .at-contact-item:first-child {
	grid-row: span 2;
	padding: 2.5rem;
	background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
	color: #ffffff;
	border-color: #334155;
}

.at-contact-info--split .at-contact-item:first-child .at-contact-item__title,
.at-contact-info--split .at-contact-item:first-child .at-contact-item__value,
.at-contact-info--split .at-contact-item:first-child .at-contact-item__link {
	color: #ffffff !important;
}

.at-contact-info--split .at-contact-item:first-child .at-contact-item__sub {
	color: #94a3b8;
}

@media (max-width: 767px) {
	.at-contact-info--split .at-contact-info__grid {
		grid-template-columns: 1fr;
	}

	.at-contact-info--split .at-contact-item:first-child {
		grid-row: auto;
	}
}

.at-contact-info--icon-focus .at-contact-item {
	flex-direction: column;
	align-items: center;
	text-align: center;
	padding: 2.5rem 1.75rem;
}

.at-contact-info--icon-focus .at-contact-item__icon {
	width: 64px;
	height: 64px;
	font-size: 1.75rem;
	border-radius: var(--at-radius-xl, 16px);
	margin-bottom: 0.75rem;
}

/* --------------------------------------------------------------------------
   10. AT Contact Form (.at-contact-form)
   -------------------------------------------------------------------------- */
.at-contact-form {
	width: 100%;
	max-width: 680px;
	margin: 0 auto;
	padding: var(--at-space-2xl, 3rem) 0;
}

.at-contact-form--card {
	background: #ffffff;
	border: 1px solid var(--at-border-color, #e2e8f0);
	border-radius: var(--at-radius-xl, 1rem);
	padding: 2.5rem 2.25rem;
	box-shadow: var(--at-shadow-lg, 0 10px 15px -3px rgba(0, 0, 0, 0.08));
}

.at-contact-form__header {
	margin-bottom: 2rem;
}

.at-contact-form__title {
	font-size: 1.75rem;
	font-weight: 800;
	color: var(--at-color-text-title, #0f172a);
	margin: 0 0 0.5rem 0;
}

.at-contact-form__subtitle {
	font-size: 0.9375rem;
	color: var(--at-color-text-secondary, #64748b);
	margin: 0;
}

.at-contact-form__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1.25rem;
}

.at-form-group {
	display: flex;
	flex-direction: column;
}

.at-form-group--full {
	grid-column: span 2;
}

.at-form-label {
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--at-color-text-title, #1e293b);
	margin-bottom: 0.4rem;
}

.at-form-input,
.at-form-textarea {
	width: 100%;
	padding: 0.75rem 1rem;
	font-size: 0.9375rem;
	color: #0f172a;
	background: #ffffff;
	border: 1px solid var(--at-border-color, #cbd5e1);
	border-radius: var(--at-radius-md, 0.5rem);
	box-sizing: border-box;
	transition: all 0.2s ease;
	font-family: inherit;
}

.at-form-input:focus,
.at-form-textarea:focus {
	outline: none;
	border-color: var(--at-color-primary, #2563eb);
	box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15);
}

.at-form-textarea {
	resize: vertical;
	min-height: 120px;
}

.at-form-consent {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin: 0.5rem 0 1.25rem 0;
}

.at-form-checkbox-label {
	font-size: 0.8125rem;
	color: var(--at-color-text-secondary, #64748b);
}

.at-form-actions {
	margin-top: 1.25rem;
}

.at-contact-form .at-button,
.at-contact-form .at-button--solid-primary {
	background-color: var(--at-color-primary, #087f8c);
	border-color: var(--at-color-primary, #087f8c);
	color: #ffffff;
}

.at-contact-form .at-button:hover,
.at-contact-form .at-button--solid-primary:hover {
	background-color: var(--at-color-primary-dark, #2a9d8f);
	border-color: var(--at-color-primary-dark, #2a9d8f);
	color: #ffffff;
}

.at-contact-form--dark {
	background: #0f172a;
	color: #ffffff;
	border-color: #1e293b;
}

.at-contact-form--dark .at-contact-form__title {
	color: #ffffff;
}

.at-contact-form--dark .at-form-label {
	color: #e2e8f0;
}

.at-contact-form--dark .at-form-input,
.at-contact-form--dark .at-form-textarea {
	background: #1e293b;
	border-color: #334155;
	color: #ffffff;
}

.at-contact-form--classic {
	background: var(--at-color-surface, #ffffff);
	border: 1px solid var(--at-border-color, #e2e8f0);
	border-radius: var(--at-radius-md, 8px);
	padding: 2rem;
}

.at-contact-form--minimal {
	background: transparent;
	border: none;
	box-shadow: none;
	padding: 1rem 0;
}

.at-contact-form--minimal .at-form-input,
.at-contact-form--minimal .at-form-textarea {
	border: none;
	border-bottom: 2px solid var(--at-border-color, #cbd5e1);
	border-radius: 0;
	padding-left: 0;
	padding-right: 0;
	background: transparent;
}

.at-contact-form--minimal .at-form-input:focus,
.at-contact-form--minimal .at-form-textarea:focus {
	border-bottom-color: var(--at-color-primary, #2563eb);
	box-shadow: none;
}

.at-contact-form--split {
	max-width: 1080px;
	display: grid;
	grid-template-columns: 1fr 1.4fr;
	gap: 3.5rem;
	align-items: flex-start;
}

.at-contact-form--split .at-contact-form__header {
	position: sticky;
	top: 2rem;
	margin-bottom: 0;
}

.at-contact-form--split .at-contact-form__title {
	font-size: 2.25rem;
	line-height: 1.2;
}

@media (max-width: 860px) {
	.at-contact-form--split {
		grid-template-columns: 1fr;
		gap: 2rem;
	}

	.at-contact-form--split .at-contact-form__header {
		position: static;
	}
}

.at-contact-form--inline {
	max-width: 900px;
}

.at-contact-form--inline .at-contact-form__grid {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 1rem;
}

.at-contact-form--inline .at-form-group {
	flex: 1 1 200px;
}

.at-contact-form--inline .at-form-group--full {
	flex: 1 1 100%;
}

.at-contact-form--inline .at-form-actions {
	margin-top: 0;
	align-self: flex-end;
}

/* --------------------------------------------------------------------------
   11. AT Team Grid (.at-team-grid)
   -------------------------------------------------------------------------- */
.at-team-grid {
	width: 100%;
	padding: var(--at-space-2xl, 3rem) 0;
}

.at-team-grid__container {
	display: grid;
	gap: var(--at-space-xl, 2rem);
	max-width: 1280px;
	margin: 0 auto;
}

.at-team-grid--cols-1 .at-team-grid__container {
	grid-template-columns: 1fr;
}

.at-team-grid--cols-2 .at-team-grid__container {
	grid-template-columns: repeat(2, 1fr);
}

.at-team-grid--cols-3 .at-team-grid__container {
	grid-template-columns: repeat(3, 1fr);
}

.at-team-grid--cols-4 .at-team-grid__container {
	grid-template-columns: repeat(4, 1fr);
}

.at-team-item {
	background: #ffffff;
	border: 1px solid var(--at-border-color, #e2e8f0);
	border-radius: var(--at-radius-lg, 0.75rem);
	overflow: hidden;
	transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.at-team-item:hover {
	transform: translateY(-4px);
	box-shadow: var(--at-shadow-lg, 0 10px 15px -3px rgba(0, 0, 0, 0.08));
}

.at-team-item__media {
	width: 100%;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	position: relative;
	background: #f1f5f9;
}

.at-team-item__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.5s ease;
}

.at-team-item:hover .at-team-item__img {
	transform: scale(1.05);
}

.at-team-item__info {
	padding: 1.5rem 1.25rem;
	text-align: center;
}

.at-team-item__name {
	font-size: 1.125rem;
	font-weight: 700;
	color: var(--at-color-text-title, #0f172a);
	margin: 0 0 0.25rem 0;
}

.at-team-item__role {
	font-size: 0.875rem;
	color: var(--at-color-primary, #2563eb);
	font-weight: 600;
	margin: 0 0 0.75rem 0;
}

.at-team-item__bio {
	font-size: 0.875rem;
	color: var(--at-color-text-secondary, #64748b);
	line-height: 1.5;
	margin: 0 0 1rem 0;
}

.at-team-item__socials {
	display: flex;
	justify-content: center;
	gap: 0.75rem;
}

.at-team-item__social-link {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: #f1f5f9;
	color: #475569;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0.875rem;
	text-decoration: none;
	transition: all 0.2s ease;
}

.at-team-item__social-link:hover {
	background: var(--at-color-primary, #2563eb);
	color: #ffffff;
}

/* Team Presets */
.at-team-grid--overlay .at-team-item {
	position: relative;
	border: none;
}

.at-team-grid--overlay .at-team-item__media {
	aspect-ratio: 3 / 4;
}

.at-team-grid--overlay .at-team-item__scrim {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 35%, rgba(15, 23, 42, 0.85) 75%, rgba(15, 23, 42, 0.98) 100%);
	z-index: 1;
	transition: opacity 0.3s ease;
}

.at-team-grid--overlay .at-team-item:hover .at-team-item__scrim {
	background: linear-gradient(180deg, transparent 20%, rgba(15, 23, 42, 0.9) 70%, rgba(15, 23, 42, 1) 100%);
}

.at-team-grid--overlay .at-team-item__info {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	z-index: 2;
	color: #ffffff;
	padding: 2rem 1.5rem 1.5rem;
	text-align: left;
}

.at-team-grid--overlay .at-team-item__name {
	color: #ffffff;
	font-size: 1.25rem;
}

.at-team-grid--overlay .at-team-item__role {
	color: #93c5fd;
	font-weight: 600;
}

.at-team-grid--overlay .at-team-item__bio {
	color: #cbd5e1;
	font-size: 0.8125rem;
	max-height: 0;
	opacity: 0;
	overflow: hidden;
	transition: all 0.35s ease;
	margin: 0;
}

.at-team-grid--overlay .at-team-item:hover .at-team-item__bio {
	max-height: 100px;
	opacity: 1;
	margin: 0.5rem 0 0.75rem 0;
}

.at-team-grid--overlay .at-team-item__socials {
	justify-content: flex-start;
}

.at-team-grid--overlay .at-team-item__social-link {
	background: rgba(255, 255, 255, 0.15);
	color: #ffffff;
	backdrop-filter: blur(4px);
}

.at-team-grid--overlay .at-team-item__social-link:hover {
	background: var(--at-color-primary, #2563eb);
}

/* Centered Preset - Circular Avatar Badge */
.at-team-grid--centered .at-team-item {
	text-align: center;
	padding-top: 2rem;
	background: var(--at-color-surface, #ffffff);
	border: 1px solid var(--at-border-color, #e2e8f0);
}

.at-team-grid--centered .at-team-item__media {
	width: 140px;
	height: 140px;
	border-radius: 50%;
	margin: 0 auto;
	box-shadow: 0 0 0 4px var(--at-color-surface-raised, #f8fafc), 0 8px 16px -2px rgba(0, 0, 0, 0.08);
	border: 2px solid var(--at-color-primary, #2563eb);
}

.at-team-grid--centered .at-team-item__scrim {
	display: none;
}

.at-team-grid--centered .at-team-item__info {
	padding: 1.5rem 1.25rem 1.75rem;
}

.at-team-grid--centered .at-team-item__socials {
	justify-content: center;
}

/* Minimal Preset - Typographic & Borderless */
.at-team-grid--minimal .at-team-item {
	background: transparent;
	border: none;
	box-shadow: none;
	border-radius: 0;
	transform: none !important;
}

.at-team-grid--minimal .at-team-item__media {
	border-radius: var(--at-radius-md, 8px);
	filter: grayscale(25%);
	transition: filter 0.3s ease;
}

.at-team-grid--minimal .at-team-item:hover .at-team-item__media {
	filter: grayscale(0%);
}

.at-team-grid--minimal .at-team-item__scrim {
	display: none;
}

.at-team-grid--minimal .at-team-item__info {
	padding: 1.25rem 0 0 0;
	text-align: left;
}

.at-team-grid--minimal .at-team-item__name {
	font-size: 1.15rem;
	display: inline-block;
	border-bottom: 2px solid transparent;
	transition: border-color 0.2s ease;
}

.at-team-grid--minimal .at-team-item:hover .at-team-item__name {
	border-bottom-color: var(--at-color-primary, #2563eb);
}

.at-team-grid--minimal .at-team-item__socials {
	justify-content: flex-start;
}

/* Editorial Preset - Publication Bio Split */
.at-team-grid--editorial .at-team-item {
	background: var(--at-color-surface, #ffffff);
	border: 1px solid var(--at-border-color, #e2e8f0);
	border-radius: var(--at-radius-md, 8px);
	overflow: hidden;
}

.at-team-grid--editorial .at-team-item__media {
	aspect-ratio: 4 / 3;
}

.at-team-grid--editorial .at-team-item__scrim {
	display: none;
}

.at-team-grid--editorial .at-team-item__info {
	padding: 1.5rem;
	text-align: left;
	border-top: 2px solid var(--at-color-primary, #2563eb);
}

.at-team-grid--editorial .at-team-item__name {
	font-family: Georgia, 'Playfair Display', serif;
	font-size: 1.35rem;
	font-weight: 700;
	letter-spacing: -0.01em;
}

.at-team-grid--editorial .at-team-item__role {
	font-size: 0.75rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--at-color-text-secondary, #64748b);
}

.at-team-grid--editorial .at-team-item__bio {
	font-style: italic;
	line-height: 1.65;
}

.at-team-grid--editorial .at-team-item__socials {
	justify-content: flex-start;
	padding-top: 0.75rem;
	border-top: 1px dashed var(--at-border-color, #e2e8f0);
}

/* Horizontal Preset - Side Photo Profile */
.at-team-grid--horizontal .at-team-item {
	display: flex;
	flex-direction: row;
	align-items: stretch;
	min-height: 200px;
}

.at-team-grid--horizontal .at-team-item__media {
	flex: 0 0 38%;
	width: 38%;
	aspect-ratio: auto;
}

.at-team-grid--horizontal .at-team-item__scrim {
	display: none;
}

.at-team-grid--horizontal .at-team-item__info {
	flex: 1 1 62%;
	width: 62%;
	text-align: left;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 1.5rem;
}

.at-team-grid--horizontal .at-team-item__socials {
	justify-content: flex-start;
}

@media (max-width: 640px) {
	.at-team-grid--horizontal .at-team-item {
		flex-direction: column;
	}

	.at-team-grid--horizontal .at-team-item__media {
		width: 100%;
		aspect-ratio: 1 / 1;
	}
}

/* Featured Preset - Hero Lead Member */
.at-team-grid--featured .at-team-item--1,
.at-team-grid--featured .at-team-item--featured {
	grid-column: span 2;
	display: flex;
	flex-direction: row;
	align-items: stretch;
	border: 2px solid var(--at-color-primary, #2563eb);
	box-shadow: 0 12px 24px -4px rgba(37, 99, 235, 0.12);
}

.at-team-grid--featured .at-team-item--1 .at-team-item__media,
.at-team-grid--featured .at-team-item--featured .at-team-item__media {
	flex: 0 0 45%;
	width: 45%;
	aspect-ratio: auto;
}

.at-team-grid--featured .at-team-item--1 .at-team-item__scrim,
.at-team-grid--featured .at-team-item--featured .at-team-item__scrim {
	display: none;
}

.at-team-grid--featured .at-team-item--1 .at-team-item__info,
.at-team-grid--featured .at-team-item--featured .at-team-item__info {
	flex: 1 1 55%;
	width: 55%;
	text-align: left;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 2rem;
}

.at-team-grid--featured .at-team-item--1 .at-team-item__name,
.at-team-grid--featured .at-team-item--featured .at-team-item__name {
	font-size: 1.5rem;
}

.at-team-grid--featured .at-team-item--1 .at-team-item__socials,
.at-team-grid--featured .at-team-item--featured .at-team-item__socials {
	justify-content: flex-start;
}

/* --------------------------------------------------------------------------
   12. AT Client Logos (.at-client-logos)
   -------------------------------------------------------------------------- */
.at-client-logos {
	width: 100%;
	padding: var(--at-space-xl, 2rem) 0;
}

.at-client-logos__grid,
.at-client-logos--grid .at-client-logos__grid {
	display: grid;
	gap: 2rem;
	align-items: center;
	max-width: 1280px;
	margin: 0 auto;
}

.at-client-logos--cols-2 .at-client-logos__grid {
	grid-template-columns: repeat(2, 1fr);
}

.at-client-logos--cols-3 .at-client-logos__grid {
	grid-template-columns: repeat(3, 1fr);
}

.at-client-logos--cols-4 .at-client-logos__grid {
	grid-template-columns: repeat(4, 1fr);
}

.at-client-logos--cols-5 .at-client-logos__grid {
	grid-template-columns: repeat(5, 1fr);
}

.at-client-logos--cols-6 .at-client-logos__grid {
	grid-template-columns: repeat(6, 1fr);
}

.at-client-logo-item {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1rem;
}

.at-client-logo-item__img {
	max-height: 48px;
	max-width: 140px;
	width: auto;
	height: auto;
	object-fit: contain;
	transition: all 0.3s ease;
}

.at-client-logo-item__text {
	font-size: 1.125rem;
	font-weight: 700;
	color: #64748b;
	text-decoration: none;
	letter-spacing: -0.01em;
}

.at-client-logos--grayscale .at-client-logo-item__img {
	filter: grayscale(100%);
	opacity: 0.65;
}

.at-client-logos--grayscale .at-client-logo-item:hover .at-client-logo-item__img {
	filter: grayscale(0%);
	opacity: 1;
}

/* Marquee Preset */
.at-client-logos--marquee {
	overflow: hidden;
	position: relative;
	white-space: nowrap;
	mask-image: linear-gradient(to right, transparent, black 8%, black 92%, transparent);
	-webkit-mask-image: linear-gradient(to right, transparent, black 8%, black 92%, transparent);
}

.at-client-logos__marquee-track {
	display: flex;
	width: max-content;
	animation: at-marquee 25s linear infinite;
}

.at-client-logos__marquee-track:hover {
	animation-play-state: paused;
}

.at-client-logos__marquee-group {
	display: flex;
	align-items: center;
	gap: 3.5rem;
	padding: 0 1.75rem;
}

@keyframes at-marquee {
	0% {
		transform: translateX(0);
	}

	100% {
		transform: translateX(-50%);
	}
}

/* Client Logos Presets */
.at-client-logos--grid .at-client-logo-item {
	background: var(--at-color-surface, #ffffff);
	border: 1px solid var(--at-border-color, #e2e8f0);
	border-radius: var(--at-radius-md, 8px);
	padding: 1.5rem;
	transition: all 0.25s ease;
}

.at-client-logos--grid .at-client-logo-item:hover {
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
	border-color: var(--at-color-primary, #2563eb);
}

.at-client-logos--inline .at-client-logos__grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 2.5rem;
}

.at-client-logos--inline .at-client-logo-item {
	padding: 0.5rem 1rem;
}

.at-client-logos--minimal .at-client-logo-item {
	background: transparent;
	border: none;
	box-shadow: none;
	padding: 0.5rem;
}

.at-client-logos--minimal .at-client-logo-item__img {
	opacity: 0.45;
	filter: grayscale(100%);
}

.at-client-logos--minimal .at-client-logo-item:hover .at-client-logo-item__img {
	opacity: 1;
	filter: grayscale(0%);
}

.at-client-logos--featured .at-client-logo-item:first-child {
	grid-column: 1 / -1;
	background: var(--at-color-surface-raised, #f8fafc);
	border: 2px solid var(--at-color-primary, #2563eb);
	border-radius: var(--at-radius-lg, 12px);
	padding: 2rem 3rem;
	margin-bottom: 0.5rem;
}

.at-client-logos--featured .at-client-logo-item:first-child .at-client-logo-item__img {
	max-height: 64px;
	max-width: 220px;
}

.at-client-logos--dark {
	background: #0f172a;
	border-radius: var(--at-radius-xl, 1rem);
	padding: 2.5rem 2rem;
}

.at-client-logos--dark .at-client-logo-item__img {
	filter: brightness(0) invert(1);
	opacity: 0.7;
}

.at-client-logos--dark .at-client-logo-item:hover .at-client-logo-item__img {
	opacity: 1;
}

.at-client-logos--dark .at-client-logo-item__text {
	color: #f8fafc;
}

/* --------------------------------------------------------------------------
   13. AT Process Steps (.at-process-steps)
   -------------------------------------------------------------------------- */
.at-process-steps {
	width: 100%;
	padding: var(--at-space-2xl, 3rem) 0;
	--at-step-badge-size: 48px;
	--at-step-line-width: 2px;
	--at-step-line-color: rgba(37, 99, 235, 0.25);
	--at-step-gap: 32px;
}

.at-process-steps__track {
	display: flex;
	flex-direction: column;
	gap: var(--at-step-gap, 32px);
	position: relative;
	max-width: 900px;
	margin: 0 auto;
	border: none !important;
	padding: 0;
}

.at-process-step {
	display: flex;
	align-items: flex-start;
	gap: 24px;
	position: relative;
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	padding: 0 !important;
}

.at-process-step__indicator {
	width: var(--at-step-badge-size, 48px);
	height: var(--at-step-badge-size, 48px);
	flex: 0 0 var(--at-step-badge-size, 48px);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.125rem;
	font-weight: 700;
	z-index: 2;
	position: relative;
	margin: 0;
}

.at-process-step__badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--at-color-primary, #2563eb), #3b82f6);
	color: #ffffff;
	font-weight: 800;
	font-size: 1.125rem;
	box-shadow: 0 4px 14px rgba(37, 99, 235, 0.25);
	box-sizing: border-box;
}

.at-process-step__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	background: var(--at-color-primary, #2563eb);
	color: #ffffff;
	font-size: 1.25rem;
	box-shadow: 0 4px 14px rgba(37, 99, 235, 0.25);
	box-sizing: border-box;
}

.at-process-step__content {
	background-color: var(--at-surface-card, #ffffff);
	border: 1px solid var(--at-border, rgba(0, 0, 0, 0.08));
	border-radius: var(--at-radius-lg, 16px);
	padding: 24px 28px;
	flex: 1;
	min-width: 0;
	transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
	position: relative;
	z-index: 2;
	box-sizing: border-box;
}

.at-process-step:hover .at-process-step__content {
	border-color: var(--at-color-primary, #2563eb);
	box-shadow: 0 10px 25px rgba(0, 0, 0, 0.06);
	transform: translateY(-2px);
}

.at-process-step__tag {
	display: inline-block;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--at-color-primary, #2563eb);
	margin-bottom: 6px;
}

.at-process-step__title {
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--at-color-text-title, #0f172a);
	margin: 0 0 0.5rem 0;
}

.at-process-step__desc {
	font-size: 0.9375rem;
	color: var(--at-color-text-secondary, #64748b);
	line-height: 1.6;
	margin: 0;
}

/* Process Presets - Connecting Line (Mathematical Dynamic Center Alignment) */
.at-process-steps--timeline.at-process-steps--layout-left .at-process-steps__track,
.at-process-steps--vertical.at-process-steps--layout-left .at-process-steps__track,
.at-process-steps--timeline:not(.at-process-steps--layout-right):not(.at-process-steps--layout-center):not(.at-process-steps--alternating) .at-process-steps__track,
.at-process-steps--vertical:not(.at-process-steps--layout-right):not(.at-process-steps--layout-center):not(.at-process-steps--alternating) .at-process-steps__track {
	position: relative;
	border-left: none !important;
}

.at-process-steps--timeline.at-process-steps--layout-left .at-process-steps__track::before,
.at-process-steps--vertical.at-process-steps--layout-left .at-process-steps__track::before,
.at-process-steps--timeline:not(.at-process-steps--layout-right):not(.at-process-steps--layout-center):not(.at-process-steps--alternating) .at-process-steps__track::before,
.at-process-steps--vertical:not(.at-process-steps--layout-right):not(.at-process-steps--layout-center):not(.at-process-steps--alternating) .at-process-steps__track::before {
	content: "";
	position: absolute;
	left: calc(var(--at-step-badge-size, 48px) / 2);
	top: calc(var(--at-step-badge-size, 48px) / 2);
	bottom: calc(var(--at-step-badge-size, 48px) / 2);
	width: var(--at-step-line-width, 2px);
	background-color: var(--at-step-line-color, rgba(37, 99, 235, 0.25));
	transform: translateX(-50%);
	z-index: 1;
}

/* Explicitly disable track vertical line for non-timeline presets */
.at-process-steps--horizontal .at-process-steps__track::before,
.at-process-steps--cards .at-process-steps__track::before,
.at-process-steps--numbered .at-process-steps__track::before,
.at-process-steps--minimal .at-process-steps__track::before {
	display: none !important;
	content: none !important;
}

/* Right Layout */
.at-process-steps--layout-right .at-process-steps__track {
	position: relative;
	border-right: none !important;
}

.at-process-steps--layout-right .at-process-steps__track::before {
	content: "";
	position: absolute;
	right: calc(var(--at-step-badge-size, 48px) / 2) !important;
	left: auto !important;
	top: calc(var(--at-step-badge-size, 48px) / 2);
	bottom: calc(var(--at-step-badge-size, 48px) / 2);
	width: var(--at-step-line-width, 2px);
	background-color: var(--at-step-line-color, rgba(37, 99, 235, 0.25));
	transform: translateX(50%) !important;
	z-index: 1;
}

.at-process-steps--layout-right .at-process-step {
	flex-direction: row-reverse;
	text-align: left;
	gap: 24px;
}

.at-process-steps--layout-right .at-process-step__indicator {
	margin: 0;
}

/* Process Presets - Horizontal Sequential Flow */
.at-process-steps--horizontal .at-process-steps__track {
	display: flex;
	flex-direction: row;
	align-items: stretch;
	gap: 24px;
	max-width: 1280px;
	position: relative;
	margin: 0 auto;
}

.at-process-steps--horizontal .at-process-step {
	display: flex;
	flex-direction: column;
	flex: 1 1 0;
	min-width: 0;
	position: relative;
	align-items: flex-start;
	gap: 0;
}

.at-process-steps--horizontal .at-process-step__indicator {
	margin-bottom: 20px;
	z-index: 2;
	position: relative;
}

.at-process-steps--horizontal .at-process-step:not(:last-child)::after {
	content: "";
	position: absolute;
	top: calc(var(--at-step-badge-size, 48px) / 2);
	left: calc(var(--at-step-badge-size, 48px) + 8px);
	right: -16px;
	height: var(--at-step-line-width, 2px);
	background-color: var(--at-step-line-color, rgba(37, 99, 235, 0.25));
	transform: translateY(-50%);
	z-index: 1;
}

.at-process-steps--horizontal .at-process-step__content {
	width: 100%;
	flex: 1;
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
}

@media (max-width: 768px) {
	.at-process-steps--horizontal .at-process-steps__track {
		flex-direction: column;
		gap: 24px;
	}

	.at-process-steps--horizontal .at-process-step {
		flex-direction: row;
		gap: 20px;
	}

	.at-process-steps--horizontal .at-process-step:not(:last-child)::after {
		display: none;
	}

	.at-process-steps--horizontal .at-process-step__indicator {
		margin-bottom: 0;
	}
}

/* Process Presets - Vertical */
.at-process-steps--vertical .at-process-steps__track {
	display: flex;
	flex-direction: column;
	gap: var(--at-step-gap, 32px);
	position: relative;
	padding: 0;
}

.at-process-steps--vertical .at-process-step {
	display: flex;
	align-items: flex-start;
	gap: 24px;
}

.at-process-steps--vertical .at-process-step__indicator {
	z-index: 2;
}

.at-process-steps--numbered .at-process-steps__track {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 2rem;
	max-width: 1280px;
	counter-reset: at-step-counter;
}

.at-process-steps--numbered .at-process-step {
	flex-direction: column;
	align-items: flex-start;
	position: relative;
	overflow: hidden;
}

.at-process-steps--numbered .at-process-step__indicator {
	display: none;
}

.at-process-steps--numbered .at-process-step__content {
	width: 100%;
	padding: 2.5rem 2rem 2rem;
	position: relative;
	border-top: 4px solid var(--at-color-primary, #2563eb);
	background: var(--at-color-surface, #ffffff);
}

.at-process-steps--numbered .at-process-step__tag {
	font-size: 0.8125rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--at-color-primary, #2563eb);
	display: block;
	margin-bottom: 0.5rem;
}

.at-process-steps--numbered .at-process-step__content::after {
	content: counter(at-step-counter, decimal-leading-zero);
	counter-increment: at-step-counter;
	position: absolute;
	top: 0.5rem;
	right: 1.25rem;
	font-size: 4rem;
	font-weight: 900;
	line-height: 1;
	color: rgba(15, 23, 42, 0.06);
	pointer-events: none;
	font-family: monospace, sans-serif;
}

.at-process-steps--cards .at-process-steps__track {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 2rem;
	max-width: 1280px;
	position: relative;
}

.at-process-steps--cards .at-process-step {
	flex-direction: column;
	background: var(--at-color-surface, #ffffff);
	border: 1px solid var(--at-border-color, #e2e8f0);
	border-radius: var(--at-radius-xl, 1rem);
	padding: 2.25rem 1.75rem;
	box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.05);
	transition: all 0.3s ease;
	gap: 0;
}

.at-process-steps--cards .at-process-step:hover {
	transform: translateY(-6px);
	box-shadow: 0 20px 35px -5px rgba(37, 99, 235, 0.1);
	border-color: var(--at-color-primary, #2563eb);
}

.at-process-steps--cards .at-process-step__indicator {
	margin-bottom: 1.25rem;
	box-shadow: 0 0 0 6px rgba(37, 99, 235, 0.15);
}

.at-process-steps--cards .at-process-step__content {
	border: none;
	padding: 0;
	background: transparent;
	box-shadow: none;
}

.at-process-steps--minimal .at-process-steps__track {
	gap: 0;
}

.at-process-steps--minimal .at-process-step {
	border-bottom: 1px solid var(--at-border-color, #e2e8f0);
	padding: 1.75rem 0;
}

.at-process-steps--minimal .at-process-step:last-child {
	border-bottom: none;
}

.at-process-steps--minimal .at-process-step__indicator {
	background: transparent;
	border: 2px solid var(--at-border-color, #cbd5e1);
	color: var(--at-color-text-title, #0f172a);
}

.at-process-steps--minimal .at-process-step:hover .at-process-step__indicator {
	border-color: var(--at-color-primary, #2563eb);
	color: var(--at-color-primary, #2563eb);
}

.at-process-steps--minimal .at-process-step__content {
	background: transparent;
	border: none;
	box-shadow: none;
	padding: 0;
}

/* Center / Alternating Layout (Zigzag Timeline) */
.at-process-steps--alternating .at-process-steps__track,
.at-process-steps--layout-center .at-process-steps__track {
	position: relative;
	max-width: 1100px;
	margin: 0 auto;
	gap: var(--at-step-gap, 40px);
	width: 100%;
}

.at-process-steps--alternating .at-process-steps__track::before,
.at-process-steps--layout-center .at-process-steps__track::before {
	content: "";
	position: absolute;
	left: 50% !important;
	right: auto !important;
	top: calc(var(--at-step-badge-size, 48px) / 2);
	bottom: calc(var(--at-step-badge-size, 48px) / 2);
	width: var(--at-step-line-width, 2px);
	background-color: var(--at-step-line-color, rgba(37, 99, 235, 0.25));
	transform: translateX(-50%) !important;
	z-index: 1;
}

@media (min-width: 769px) {

	.at-process-steps--alternating .at-process-step,
	.at-process-steps--layout-center .at-process-step {
		display: flex;
		align-items: center;
		width: 100%;
		position: relative;
		box-sizing: border-box;
		min-height: calc(var(--at-step-badge-size, 48px) + 24px);
	}

	/* Odd step: Content on LEFT half */
	.at-process-steps--alternating .at-process-step:nth-child(odd),
	.at-process-steps--layout-center .at-process-step:nth-child(odd) {
		flex-direction: row;
		justify-content: flex-start;
		padding: 0 !important;
	}

	.at-process-steps--alternating .at-process-step:nth-child(odd) .at-process-step__content,
	.at-process-steps--layout-center .at-process-step:nth-child(odd) .at-process-step__content {
		width: calc(50% - (var(--at-step-badge-size, 48px) / 2) - 24px);
		max-width: calc(50% - (var(--at-step-badge-size, 48px) / 2) - 24px);
		margin-right: auto;
		margin-left: 0;
		text-align: left;
	}

	/* Even step: Content on RIGHT half */
	.at-process-steps--alternating .at-process-step:nth-child(even),
	.at-process-steps--layout-center .at-process-step:nth-child(even) {
		flex-direction: row;
		justify-content: flex-end;
		padding: 0 !important;
	}

	.at-process-steps--alternating .at-process-step:nth-child(even) .at-process-step__content,
	.at-process-steps--layout-center .at-process-step:nth-child(even) .at-process-step__content {
		width: calc(50% - (var(--at-step-badge-size, 48px) / 2) - 24px);
		max-width: calc(50% - (var(--at-step-badge-size, 48px) / 2) - 24px);
		margin-left: auto;
		margin-right: 0;
		text-align: left;
	}

	/* Badges centered on rail */
	.at-process-steps--alternating .at-process-step .at-process-step__indicator,
	.at-process-steps--layout-center .at-process-step .at-process-step__indicator {
		position: absolute !important;
		left: 50% !important;
		top: 50% !important;
		transform: translate(-50%, -50%) !important;
		margin: 0 !important;
		z-index: 2;
	}
}

@media (max-width: 768px) {

	.at-process-steps--alternating .at-process-steps__track::before,
	.at-process-steps--layout-center .at-process-steps__track::before {
		left: calc(var(--at-step-badge-size, 48px) / 2) !important;
		transform: translateX(-50%) !important;
	}

	.at-process-steps--alternating .at-process-step,
	.at-process-steps--layout-center .at-process-step {
		flex-direction: row !important;
		justify-content: flex-start !important;
		gap: 20px !important;
		padding: 0 !important;
	}

	.at-process-steps--alternating .at-process-step__content,
	.at-process-steps--layout-center .at-process-step__content {
		width: auto !important;
		max-width: 100% !important;
		margin: 0 !important;
		text-align: left !important;
	}

	.at-process-steps--alternating .at-process-step__indicator,
	.at-process-steps--layout-center .at-process-step__indicator {
		position: relative !important;
		left: auto !important;
		top: auto !important;
		transform: none !important;
		margin: 0 !important;
	}
}

/* --------------------------------------------------------------------------
   14. AT Pricing Table (.at-pricing-table)
   -------------------------------------------------------------------------- */
.at-pricing-table {
	width: 100%;
	padding: var(--at-space-2xl, 3rem) 0;
}

.at-pricing-table__grid {
	display: grid;
	gap: var(--at-space-xl, 2rem);
	max-width: 1280px;
	margin: 0 auto;
	align-items: stretch;
}

.at-pricing-table--cols-1 .at-pricing-table__grid {
	grid-template-columns: 1fr;
}

.at-pricing-table--cols-2 .at-pricing-table__grid {
	grid-template-columns: repeat(2, 1fr);
}

.at-pricing-table--cols-3 .at-pricing-table__grid {
	grid-template-columns: repeat(3, 1fr);
}

.at-pricing-table--cols-4 .at-pricing-table__grid {
	grid-template-columns: repeat(4, 1fr);
}

.at-pricing-plan {
	background: #ffffff;
	border: 1px solid var(--at-border-color, #e2e8f0);
	border-radius: var(--at-radius-xl, 1rem);
	padding: 2.5rem 2rem;
	display: flex;
	flex-direction: column;
	position: relative;
	transition: all 0.35s ease;
}

.at-pricing-plan:hover {
	transform: translateY(-4px);
	box-shadow: var(--at-shadow-lg, 0 10px 15px -3px rgba(0, 0, 0, 0.08));
}

.at-pricing-plan--popular {
	border-color: var(--at-color-primary, #2563eb);
	box-shadow: var(--at-shadow-xl, 0 20px 25px -5px rgba(37, 99, 235, 0.12));
	transform: scale(1.03);
}

.at-pricing-plan__badge {
	position: absolute;
	top: -12px;
	right: 24px;
	background: var(--at-color-primary, #2563eb);
	color: #ffffff;
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	padding: 0.25rem 0.75rem;
	border-radius: var(--at-radius-pill, 9999px);
	letter-spacing: 0.05em;
}

.at-pricing-plan__name {
	font-size: 1.35rem;
	font-weight: 800;
	color: var(--at-color-text-title, #0f172a);
	margin: 0 0 0.35rem 0;
}

.at-pricing-plan__desc {
	font-size: 0.875rem;
	color: var(--at-color-text-secondary, #64748b);
	margin: 0 0 1.5rem 0;
}

.at-pricing-plan__price-wrap {
	display: flex;
	align-items: baseline;
	margin-bottom: 1.75rem;
	padding-bottom: 1.75rem;
	border-bottom: 1px solid var(--at-border-color, #e2e8f0);
}

.at-pricing-plan__currency {
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--at-color-text-title, #0f172a);
	margin-right: 0.2rem;
}

.at-pricing-plan__amount {
	font-size: 3rem;
	font-weight: 800;
	color: var(--at-color-text-title, #0f172a);
	line-height: 1;
}

.at-pricing-plan__period {
	font-size: 0.875rem;
	color: var(--at-color-text-muted, #94a3b8);
	margin-left: 0.35rem;
}

.at-pricing-plan__features {
	list-style: none;
	padding: 0;
	margin: 0 0 2rem 0;
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
	flex-grow: 1;
}

.at-pricing-plan__feature-item {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	font-size: 0.9375rem;
	color: var(--at-color-text-body, #334155);
}

.at-pricing-plan__check {
	color: var(--at-color-success, #10b981);
	font-weight: 700;
}

.at-pricing-plan__footer {
	margin-top: auto;
}

.at-pricing-plan__footer .at-button {
	width: 100%;
	justify-content: center;
}

/* Pricing Presets */
.at-pricing-table--dark .at-pricing-plan {
	background: #0f172a;
	border-color: #1e293b;
	color: #ffffff;
}

.at-pricing-table--dark .at-pricing-plan__name,
.at-pricing-table--dark .at-pricing-plan__currency,
.at-pricing-table--dark .at-pricing-plan__amount {
	color: #ffffff;
}

.at-pricing-table--dark .at-pricing-plan__desc,
.at-pricing-table--dark .at-pricing-plan__feature-item {
	color: #cbd5e1;
}

/* Featured Preset - Top Accent Rail */
.at-pricing-table--featured .at-pricing-plan {
	border-top: 5px solid var(--at-color-primary, #2563eb);
}

.at-pricing-table--featured .at-pricing-plan--popular {
	border-top: 5px solid #10b981;
	box-shadow: 0 20px 35px -5px rgba(16, 185, 129, 0.15);
}

.at-pricing-table--featured .at-pricing-plan--popular .at-pricing-plan__badge {
	background: #10b981;
}

/* Minimal Preset - Clean Outline Matrix */
.at-pricing-table--minimal .at-pricing-plan {
	background: transparent;
	border: 1px solid var(--at-border-color, #e2e8f0);
	border-radius: var(--at-radius-md, 8px);
	box-shadow: none;
	padding: 2rem 1.75rem;
}

.at-pricing-table--minimal .at-pricing-plan:hover {
	border-color: var(--at-color-text-title, #0f172a);
	transform: none;
}

.at-pricing-table--minimal .at-pricing-plan--popular {
	border-color: var(--at-color-primary, #2563eb);
	border-width: 2px;
	box-shadow: none;
	transform: none;
}

.at-pricing-table--minimal .at-pricing-plan__amount {
	font-family: monospace, sans-serif;
	font-size: 2.75rem;
}

/* Comparison Preset - Checklist Rows */
.at-pricing-table--comparison .at-pricing-plan {
	padding: 2.5rem 1.75rem;
	border-radius: var(--at-radius-lg, 12px);
}

.at-pricing-table--comparison .at-pricing-plan__features {
	gap: 0;
}

.at-pricing-table--comparison .at-pricing-plan__feature-item {
	padding: 0.65rem 0.75rem;
	border-bottom: 1px solid var(--at-border-color, #f1f5f9);
}

.at-pricing-table--comparison .at-pricing-plan__feature-item:nth-child(even) {
	background: rgba(15, 23, 42, 0.02);
	border-radius: 4px;
}

/* Horizontal Preset - Row-based Tier Strips */
.at-pricing-table--horizontal .at-pricing-table__grid {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
	max-width: 1100px;
}

.at-pricing-table--horizontal .at-pricing-plan {
	display: grid;
	grid-template-columns: 220px 190px 1fr 180px;
	align-items: center;
	padding: 1.75rem 2rem;
	gap: 2rem;
	border-radius: var(--at-radius-lg, 12px);
}

.at-pricing-table--horizontal .at-pricing-plan__header {
	margin-bottom: 0;
}

.at-pricing-table--horizontal .at-pricing-plan__price-wrap {
	border-bottom: none;
	margin-bottom: 0;
	padding-bottom: 0;
	border-right: 1px solid var(--at-border-color, #e2e8f0);
	padding-right: 1.5rem;
}

.at-pricing-table--horizontal .at-pricing-plan__features {
	flex-direction: row;
	flex-wrap: wrap;
	gap: 0.75rem 1.5rem;
	margin-bottom: 0;
}

.at-pricing-table--horizontal .at-pricing-plan__footer {
	margin-top: 0;
	width: 100%;
}

@media (max-width: 900px) {
	.at-pricing-table--horizontal .at-pricing-plan {
		grid-template-columns: 1fr;
		gap: 1.25rem;
	}

	.at-pricing-table--horizontal .at-pricing-plan__price-wrap {
		border-right: none;
		border-bottom: 1px solid var(--at-border-color, #e2e8f0);
		padding-bottom: 1rem;
	}

	.at-pricing-table--horizontal .at-pricing-plan__features {
		flex-direction: column;
	}
}

/* --------------------------------------------------------------------------
   15. AT Blog Grid (.at-blog-grid)
   -------------------------------------------------------------------------- */
.at-blog-grid {
	width: 100%;
	padding: var(--at-space-2xl, 3rem) 0;
}

.at-blog-grid__container {
	display: grid;
	gap: var(--at-space-xl, 2rem);
	max-width: 1280px;
	margin: 0 auto;
}

.at-blog-grid--cols-1 .at-blog-grid__container {
	grid-template-columns: 1fr;
}

.at-blog-grid--cols-2 .at-blog-grid__container {
	grid-template-columns: repeat(2, 1fr);
}

.at-blog-grid--cols-3 .at-blog-grid__container {
	grid-template-columns: repeat(3, 1fr);
}

.at-blog-grid--cols-4 .at-blog-grid__container {
	grid-template-columns: repeat(4, 1fr);
}

.at-blog-grid--cols-5 .at-blog-grid__container {
	grid-template-columns: repeat(5, 1fr);
}

.at-blog-grid--cols-6 .at-blog-grid__container {
	grid-template-columns: repeat(6, 1fr);
}

.at-blog-card {
	background: #ffffff;
	border: 1px solid var(--at-border-color, #e2e8f0);
	border-radius: var(--at-radius-lg, 0.75rem);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.at-blog-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--at-shadow-lg, 0 10px 15px -3px rgba(0, 0, 0, 0.08));
}

.at-blog-card__media {
	width: 100%;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: #f1f5f9;
}

.at-blog-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.5s ease;
}

.at-blog-card:hover .at-blog-card__media img {
	transform: scale(1.05);
}

.at-blog-card__content {
	padding: 1.75rem;
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

.at-blog-card__meta {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	font-size: 0.8125rem;
	color: var(--at-color-text-muted, #94a3b8);
	margin-bottom: 0.75rem;
}

.at-blog-card__badge {
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--at-color-primary, #2563eb);
}

.at-blog-card__title {
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--at-color-text-title, #0f172a);
	margin: 0 0 0.75rem 0;
	line-height: 1.35;
}

.at-blog-card__title-link {
	color: inherit;
	text-decoration: none;
	transition: color 0.2s ease;
}

.at-blog-card__title-link:hover {
	color: var(--at-color-primary, #2563eb);
}

.at-blog-card__excerpt {
	font-size: 0.9375rem;
	color: var(--at-color-text-secondary, #64748b);
	line-height: 1.6;
	margin: 0 0 1.5rem 0;
	flex-grow: 1;
}

.at-blog-card__footer {
	margin-top: auto;
	padding-top: 1rem;
	border-top: 1px solid var(--at-border-color, #f1f5f9);
}

.at-blog-card__read-more {
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--at-color-primary, #2563eb);
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	transition: gap 0.2s ease;
}

.at-blog-card__read-more:hover {
	gap: 0.6rem;
}

/* Blog Presets - Individual Structural Differentiation */
/* Horizontal Preset - Row-based Media Strips */
.at-blog-grid--horizontal .at-blog-card {
	flex-direction: row;
	align-items: stretch;
	min-height: 200px;
}

.at-blog-grid--horizontal .at-blog-card__media {
	flex: 0 0 38%;
	width: 38%;
	aspect-ratio: auto;
}

.at-blog-grid--horizontal .at-blog-card__content {
	flex: 1 1 62%;
	width: 62%;
}

@media (max-width: 640px) {
	.at-blog-grid--horizontal .at-blog-card {
		flex-direction: column;
	}

	.at-blog-grid--horizontal .at-blog-card__media {
		width: 100%;
		aspect-ratio: 16 / 9;
	}

	.at-blog-grid--horizontal .at-blog-card__content {
		width: 100%;
	}
}

/* Featured Preset - Hero Lead Post Left */
.at-blog-grid--featured .at-blog-card--lead {
	grid-column: span 2;
	display: grid;
	grid-template-columns: 1.15fr 1fr;
	align-items: stretch;
	border: 2px solid var(--at-border-color, #cbd5e1);
	box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.06);
}

.at-blog-grid--featured .at-blog-card--lead .at-blog-card__media {
	aspect-ratio: auto;
	height: 100%;
}

.at-blog-grid--featured .at-blog-card--lead .at-blog-card__title {
	font-size: 1.65rem;
	line-height: 1.25;
}

@media (max-width: 768px) {
	.at-blog-grid--featured .at-blog-card--lead {
		grid-column: span 1;
		grid-template-columns: 1fr;
	}

	.at-blog-grid--featured .at-blog-card--lead .at-blog-card__media {
		aspect-ratio: 16 / 9;
	}
}

/* Masonry Preset - Dynamic Rhythm */
.at-blog-grid--masonry .at-blog-grid__container {
	align-items: start;
}

.at-blog-grid--masonry .at-blog-card:nth-child(3n+1) .at-blog-card__media {
	aspect-ratio: 16 / 10;
}

.at-blog-grid--masonry .at-blog-card:nth-child(3n+2) .at-blog-card__media {
	aspect-ratio: 4 / 3;
}

.at-blog-grid--masonry .at-blog-card:nth-child(3n) .at-blog-card__media {
	aspect-ratio: 1 / 1;
}

/* Editorial Preset - Publication Serif Flow */
.at-blog-grid--editorial .at-blog-card {
	background: transparent;
	border: none;
	border-bottom: 1px solid var(--at-border-color, #cbd5e1);
	border-radius: 0;
	box-shadow: none;
	padding-bottom: 1.5rem;
	transform: none !important;
}

.at-blog-grid--editorial .at-blog-card__media {
	border-radius: var(--at-radius-sm, 4px);
}

.at-blog-grid--editorial .at-blog-card__badge {
	background: transparent;
	color: var(--at-color-text-secondary, #64748b);
	font-size: 0.6875rem;
	letter-spacing: 0.15em;
	font-weight: 800;
	padding: 0;
}

.at-blog-grid--editorial .at-blog-card__title {
	font-family: Georgia, 'Playfair Display', serif;
	font-size: 1.35rem;
	font-weight: 700;
	line-height: 1.3;
}

.at-blog-grid--editorial .at-blog-card__content {
	padding: 1.25rem 0 0 0;
}

.at-blog-grid--editorial .at-blog-card__footer {
	border-top: none;
	padding-top: 0.5rem;
}

/* Minimal Preset - Clean Line Dividers */
.at-blog-grid--minimal .at-blog-card {
	background: transparent;
	border: none;
	box-shadow: none;
	transform: none !important;
}

.at-blog-grid--minimal .at-blog-card__media {
	border-radius: var(--at-radius-md, 8px);
}

.at-blog-grid--minimal .at-blog-card__content {
	padding: 1.25rem 0 0 0;
}

.at-blog-grid--minimal .at-blog-card__footer {
	border-top: none;
	padding-top: 0.25rem;
}

/* Magazine Preset - Full Banner Hero Card */
.at-blog-grid--magazine .at-blog-card--lead {
	grid-column: 1 / -1;
	position: relative;
	min-height: 420px;
	border-radius: var(--at-radius-xl, 1rem);
	overflow: hidden;
	border: none;
}

.at-blog-grid--magazine .at-blog-card--lead .at-blog-card__media {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	aspect-ratio: auto;
	z-index: 1;
}

.at-blog-grid--magazine .at-blog-card--lead .at-blog-card__content {
	position: relative;
	z-index: 2;
	margin-top: auto;
	background: linear-gradient(180deg, transparent 0%, rgba(15, 23, 42, 0.8) 35%, rgba(15, 23, 42, 0.98) 100%);
	padding: 3rem 2.5rem 2rem;
	color: #ffffff;
}

.at-blog-grid--magazine .at-blog-card--lead .at-blog-card__title,
.at-blog-grid--magazine .at-blog-card--lead .at-blog-card__title-link {
	color: #ffffff;
	font-size: 2rem;
	line-height: 1.25;
}

.at-blog-grid--magazine .at-blog-card--lead .at-blog-card__excerpt,
.at-blog-grid--magazine .at-blog-card--lead .at-blog-card__meta {
	color: #cbd5e1;
}

.at-blog-grid--magazine .at-blog-card--lead .at-blog-card__read-more {
	color: #38bdf8;
}

/* Aspect Ratios */
.at-blog-grid--ratio-16-9 .at-blog-card__media {
	aspect-ratio: 16 / 9;
}

.at-blog-grid--ratio-4-3 .at-blog-card__media {
	aspect-ratio: 4 / 3;
}

.at-blog-grid--ratio-3-2 .at-blog-card__media {
	aspect-ratio: 3 / 2;
}

.at-blog-grid--ratio-1-1 .at-blog-card__media {
	aspect-ratio: 1 / 1;
}

.at-blog-grid--ratio-21-9 .at-blog-card__media {
	aspect-ratio: 21 / 9;
}

.at-blog-grid--ratio-auto .at-blog-card__media {
	aspect-ratio: auto;
	height: auto;
}

/* Image Hover Animations */
.at-blog-grid--hover-zoom-in .at-blog-card:hover .at-blog-card__media img {
	transform: scale(1.08);
}

.at-blog-grid--hover-zoom-out .at-blog-card__media img {
	transform: scale(1.08);
}

.at-blog-grid--hover-zoom-out .at-blog-card:hover .at-blog-card__media img {
	transform: scale(1);
}

.at-blog-grid--hover-slide-up .at-blog-card:hover .at-blog-card__media img {
	transform: translateY(-8px);
}

.at-blog-grid--hover-grayscale .at-blog-card__media img {
	filter: grayscale(100%);
}

.at-blog-grid--hover-grayscale .at-blog-card:hover .at-blog-card__media img {
	filter: grayscale(0%);
}

.at-blog-grid--hover-none .at-blog-card:hover .at-blog-card__media img {
	transform: none;
}

/* Category Badge Positions */
.at-blog-card__badge--floating-left {
	position: absolute;
	top: 1rem;
	left: 1rem;
	z-index: 3;
	background: #ffffff;
	padding: 0.35rem 0.85rem;
	border-radius: 9999px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
	text-decoration: none;
}

.at-blog-card__badge--floating-right {
	position: absolute;
	top: 1rem;
	right: 1rem;
	z-index: 3;
	background: #ffffff;
	padding: 0.35rem 0.85rem;
	border-radius: 9999px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
	text-decoration: none;
}

.at-blog-card__badge-wrap {
	margin-bottom: 0.5rem;
}

.at-blog-card__badge--above-title {
	display: inline-block;
	background: #f1f5f9;
	padding: 0.3rem 0.75rem;
	border-radius: 4px;
	text-decoration: none;
}

/* Entire Card Clickable */
.at-blog-card {
	position: relative;
}

.at-blog-card__cover-link {
	position: absolute;
	inset: 0;
	z-index: 4;
	text-indent: -9999px;
}

.at-blog-card__badge,
.at-blog-card__title-link,
.at-blog-card__read-more,
.at-blog-card__meta a {
	position: relative;
	z-index: 5;
}

/* Post Meta & Avatar */
.at-blog-card__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.25rem 0.5rem;
}

.at-blog-card__avatar {
	display: inline-flex;
	margin-right: 0.35rem;
	vertical-align: middle;
}

.at-blog-card__avatar img {
	border-radius: 50%;
	object-fit: cover;
	display: inline-block;
}

.at-blog-card__meta-sep {
	opacity: 0.5;
	margin: 0 0.15rem;
}

.at-blog-card__reading-time,
.at-blog-card__comments {
	display: inline-flex;
	align-items: center;
}

/* Fallback Media Placeholder */
.at-blog-card__placeholder-visual {
	width: 100%;
	height: 100%;
	min-height: 200px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
	color: #94a3b8;
	font-size: 2rem;
}

/* Overlay Cover Preset */
.at-blog-grid--overlay .at-blog-card {
	position: relative;
	min-height: 380px;
	border-radius: var(--at-radius-xl, 1rem);
	overflow: hidden;
	border: none;
}

.at-blog-grid--overlay .at-blog-card__media {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	aspect-ratio: auto;
	z-index: 1;
}

.at-blog-grid--overlay .at-blog-card__content {
	position: relative;
	z-index: 2;
	margin-top: auto;
	background: linear-gradient(180deg, transparent 0%, rgba(15, 23, 42, 0.75) 40%, rgba(15, 23, 42, 0.96) 100%);
	padding: 2.5rem 1.75rem 1.75rem;
	color: #ffffff;
}

.at-blog-grid--overlay .at-blog-card__title,
.at-blog-grid--overlay .at-blog-card__title-link {
	color: #ffffff;
}

.at-blog-grid--overlay .at-blog-card__excerpt,
.at-blog-grid--overlay .at-blog-card__meta {
	color: #cbd5e1;
}

.at-blog-grid--overlay .at-blog-card__read-more {
	color: #38bdf8;
}

/* Category Filter Bar */
.at-blog-filter-bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.65rem;
	margin-bottom: 2rem;
}

.at-blog-filter-btn {
	background: #f1f5f9;
	color: #475569;
	border: 1px solid transparent;
	padding: 0.5rem 1.25rem;
	border-radius: 9999px;
	font-size: 0.875rem;
	font-weight: 600;
	cursor: pointer;
	transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
	outline: none;
}

.at-blog-filter-btn:hover,
.at-blog-filter-btn.is-active {
	background: var(--at-color-primary, #2563eb);
	color: #ffffff;
	box-shadow: 0 4px 12px rgba(37, 99, 235, 0.25);
}

/* Pagination */
.at-blog-pagination {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	margin-top: 2.5rem;
}

.at-blog-pagination a,
.at-blog-pagination span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.5rem;
	height: 2.5rem;
	padding: 0 0.75rem;
	border-radius: var(--at-radius-md, 8px);
	background: #ffffff;
	border: 1px solid var(--at-border-color, #e2e8f0);
	color: var(--at-color-text, #334155);
	font-size: 0.875rem;
	font-weight: 600;
	text-decoration: none;
	transition: all 0.2s ease;
}

.at-blog-pagination a:hover,
.at-blog-pagination .current {
	background: var(--at-color-primary, #2563eb);
	border-color: var(--at-color-primary, #2563eb);
	color: #ffffff !important;
	box-shadow: 0 4px 10px rgba(37, 99, 235, 0.25);
}

/* --------------------------------------------------------------------------
   Responsive Rules for 15 High-Value Widgets
   -------------------------------------------------------------------------- */
@media (max-width: 1024px) {
	.at-hero__inner {
		gap: 2rem;
	}

	.at-features-grid__container,
	.at-services-grid__container,
	.at-projects-grid__container,
	.at-testimonials__grid,
	.at-team-grid__container,
	.at-pricing-table__grid,
	.at-blog-grid__container {
		grid-template-columns: repeat(2, 1fr) !important;
	}

	.at-features-grid--bento .at-features-grid__container {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 767px) {
	.at-hero {
		padding: 3rem 0;
	}

	.at-hero__inner {
		flex-direction: column !important;
		text-align: center;
	}

	.at-hero__content {
		align-items: center;
		text-align: center;
	}

	.at-hero__cta-group {
		justify-content: center;
		width: 100%;
	}

	.at-hero__cta-group .at-button {
		width: 100%;
		justify-content: center;
	}

	.at-hero__media {
		width: 100%;
	}


	.at-stats__grid,
	.at-features-grid__container,
	.at-services-grid__container,
	.at-projects-grid__container,
	.at-testimonials__grid,
	.at-contact-info__grid,
	.at-team-grid__container,
	.at-pricing-table__grid,
	.at-blog-grid__container,
	.at-client-logos__grid {
		grid-template-columns: 1fr !important;
	}

	.at-features-grid--bento .at-features-item--featured,
	.at-features-grid--bento .at-features-item:first-child,
	.at-blog-card--lead {
		grid-column: span 1 !important;
	}

	.at-faq--two-column .at-faq__accordion {
		grid-template-columns: 1fr;
	}

	.at-contact-form__grid {
		grid-template-columns: 1fr;
	}

	.at-form-group--full {
		grid-column: span 1;
	}

	.at-process-steps--horizontal .at-process-steps__track {
		flex-direction: column;
	}

	.at-projects-grid--horizontal .at-projects-item,
	.at-services-grid--horizontal .at-services-item,
	.at-blog-grid--horizontal .at-blog-card {
		flex-direction: column;
	}
}

/* ==========================================================================
   AT FOOTER SYSTEM WIDGET (.at-footer) — PREMIUM FOOTER BUILDER
   Supports 10 presets: premium-enterprise (flagship), custom (builder),
   classic, multi-column, minimal, cta-footer, dark, mega-footer,
   centered, and split.
   ========================================================================== */

.at-footer {
	position: relative;
	width: 100%;
	background-color: var(--at-surface-elevated, #0B1220);
	color: var(--at-text-secondary, #94a3b8);
	font-family: inherit;
	box-sizing: border-box;
	overflow: hidden;
	z-index: 1;
}

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

/* Ambient glow & architectural grid overlay */
.at-footer__ambient-glow {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 860px;
	height: 380px;
	background: radial-gradient(ellipse at top, rgba(4, 173, 175, 0.12) 0%, rgba(0, 119, 182, 0.04) 50%, transparent 75%);
	pointer-events: none;
	z-index: 0;
}

.at-footer__grid-pattern {
	position: absolute;
	inset: 0;
	background-image: radial-gradient(rgba(255, 255, 255, 0.06) 1px, transparent 1px);
	background-size: 28px 28px;
	pointer-events: none;
	opacity: 0.65;
	z-index: 0;
}

.at-footer__overlay {
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 0;
}

.at-footer a {
	color: var(--at-text-secondary, #94a3b8);
	text-decoration: none;
	transition: color 0.25s ease, opacity 0.25s ease, transform 0.25s ease;
}

.at-footer a:hover,
.at-footer a:focus-visible {
	color: var(--at-primary, #04ADAF);
}

/* Pre-Footer CTA Banner */
.at-footer__cta-banner {
	position: relative;
	background: linear-gradient(135deg, rgba(16, 24, 39, 0.95) 0%, rgba(11, 18, 32, 0.98) 100%);
	border-bottom: 1px solid var(--at-border, rgba(255, 255, 255, 0.08));
	padding: 48px 24px;
	overflow: hidden;
	z-index: 1;
}

.at-footer__cta-glow {
	position: absolute;
	top: 50%;
	right: 15%;
	transform: translateY(-50%);
	width: 400px;
	height: 250px;
	background: radial-gradient(circle, rgba(4, 173, 175, 0.12) 0%, transparent 70%);
	pointer-events: none;
	z-index: 0;
}

.at-footer__cta-inner {
	position: relative;
	max-width: 1280px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 36px;
	z-index: 1;
}

.at-footer__cta-content {
	flex: 1 1 65%;
}

.at-footer__cta-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 4px 12px;
	border-radius: 20px;
	background: rgba(4, 173, 175, 0.12);
	border: 1px solid rgba(4, 173, 175, 0.3);
	color: #04ADAF;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	margin-bottom: 14px;
}

.at-footer__cta-badge-dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #04ADAF;
	box-shadow: 0 0 8px #04ADAF;
}

.at-footer__cta-title {
	font-size: 1.65rem;
	font-weight: 700;
	color: var(--at-text-primary, #ffffff);
	margin: 0 0 10px 0;
	line-height: 1.25;
	letter-spacing: -0.015em;
}

.at-footer__cta-desc {
	font-size: 0.95rem;
	color: var(--at-text-secondary, #94a3b8);
	margin: 0;
	max-width: 650px;
	line-height: 1.6;
}

.at-footer__cta-action {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 14px;
}

.at-footer__cta-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: #04ADAF !important;
	color: #ffffff !important;
	border-color: #04ADAF !important;
	font-weight: 700;
	box-shadow: 0 4px 14px rgba(4, 173, 175, 0.3);
	transition: all 0.25s ease;
}

.at-footer__cta-btn:hover {
	background: #039395 !important;
	border-color: #039395 !important;
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(4, 173, 175, 0.4);
}

.at-footer__cta-sec-btn {
	color: #ffffff !important;
	border: 1px solid rgba(255, 255, 255, 0.2) !important;
	background: transparent !important;
	font-weight: 600;
}

.at-footer__cta-sec-btn:hover {
	border-color: #04ADAF !important;
	color: #04ADAF !important;
	background: rgba(4, 173, 175, 0.06) !important;
}

/* Footer Container & Grid */
.at-footer__container {
	position: relative;
	max-width: 1280px;
	margin: 0 auto;
	padding: 72px 24px 36px;
	z-index: 1;
}

.at-footer__grid {
	display: grid;
	grid-template-columns: 2fr repeat(3, 1fr);
	gap: 48px;
	margin-bottom: 54px;
}

/* Brand Column */
.at-footer__col--brand {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.at-footer__brand-link {
	display: inline-flex;
	align-items: center;
	text-decoration: none;
}

.at-footer__logo-text {
	font-size: 1.45rem;
	font-weight: 800;
	letter-spacing: -0.02em;
	color: var(--at-text-primary, #ffffff);
}

.at-footer__logo-img {
	max-height: 42px;
	width: auto;
	object-fit: contain;
}

.at-footer__tagline {
	font-size: 0.9rem;
	line-height: 1.6;
	color: var(--at-text-secondary, #94a3b8);
	margin: 0;
	max-width: 360px;
}

.at-footer__brand-statement {
	font-size: 0.98rem;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.9);
	font-style: italic;
	max-width: 380px;
	margin-top: 4px;
	border-left: 2px solid #04ADAF;
	padding-left: 14px;
}

/* Contact Info Items */
.at-footer__contact-info {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-top: 8px;
	font-size: 0.88rem;
}

.at-footer__contact-item {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	color: var(--at-text-secondary, #94a3b8);
}

.at-footer__contact-text-wrap {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.at-footer__contact-label {
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--at-text-muted, #64748b);
	line-height: 1.2;
}

.at-footer__contact-value {
	font-size: 0.88rem;
	line-height: 1.5;
	color: #e2e8f0;
	transition: color 0.25s ease;
}

.at-footer__contact-item a.at-footer__contact-value:hover {
	color: var(--at-primary, #04ADAF) !important;
}

.at-footer__contact-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	color: var(--at-primary, #04ADAF);
	margin-top: 3px;
	font-size: 0.95rem;
}

.at-footer__contact-icon svg {
	width: 15px;
	height: 15px;
	stroke: currentColor;
}

/* Section 4: Dedicated Contact Column Styling (Client Colors) */
.at-footer__contact-info--column {
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin-top: 4px;
}

.at-footer__contact-info--column .at-footer__contact-item {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	font-size: 0.9rem;
	line-height: 1.5;
	color: #ffffff;
}

.at-footer__contact-info--column .at-footer__contact-icon {
	color: #04ADAF;
	font-size: 1rem;
	flex-shrink: 0;
	margin-top: 3px;
}

.at-footer__contact-info--column .at-footer__contact-icon svg {
	width: 16px;
	height: 16px;
	stroke: #04ADAF;
}

.at-footer__contact-info--column .at-footer__contact-item span {
	color: #ffffff;
}

.at-footer__contact-info--column .at-footer__contact-item a {
	color: #ffffff;
	text-decoration: none;
	transition: color 0.25s ease;
}

.at-footer__contact-info--column .at-footer__contact-item a:hover {
	color: #4ADEDE !important;
}

/* Social Icons */
.at-footer__social-links {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 14px;
}

.at-footer__social-links--icon_label {
	gap: 10px;
}

.at-footer__social-links--icon_label .at-footer__social-icon {
	width: auto;
	height: 38px;
	padding: 0 16px;
	gap: 8px;
	border-radius: 20px;
}

.at-footer__social-label {
	font-size: 0.82rem;
	font-weight: 600;
	line-height: 1;
}

.at-footer__social-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 9px;
	background-color: rgba(255, 255, 255, 0.05);
	color: var(--at-text-secondary, #94a3b8) !important;
	border: 1px solid var(--at-border, rgba(255, 255, 255, 0.08));
	transition: all 0.25s ease;
	font-size: 0.92rem;
}

.at-footer__social-icon:hover,
.at-footer__social-icon:focus-visible {
	background-color: var(--at-primary, #04ADAF);
	color: #ffffff !important;
	border-color: var(--at-primary, #04ADAF);
	transform: translateY(-2px);
}

/* Social Style Variants */
.at-footer__social-links--glass .at-footer__social-icon {
	background: rgba(4, 173, 175, 0.08) !important;
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	border: 1px solid rgba(4, 173, 175, 0.28) !important;
	color: #ffffff !important;
}

.at-footer__social-links--glass .at-footer__social-icon svg {
	fill: currentColor;
	width: 15px;
	height: 15px;
}

.at-footer__social-links--glass .at-footer__social-icon:hover {
	background: #04ADAF !important;
	border-color: #04ADAF !important;
	color: #ffffff !important;
	box-shadow: 0 4px 14px rgba(4, 173, 175, 0.45);
	transform: translateY(-2px);
}

.at-footer__social-links--outline .at-footer__social-icon {
	background: transparent;
	border: 1px solid rgba(255, 255, 255, 0.15);
}

.at-footer__social-links--outline .at-footer__social-icon:hover {
	border-color: #04ADAF;
	color: #04ADAF !important;
}

.at-footer__social-links--filled .at-footer__social-icon {
	background: #101827;
	border: 1px solid rgba(255, 255, 255, 0.05);
}

.at-footer__social-links--filled .at-footer__social-icon:hover {
	background: #04ADAF;
	color: #ffffff !important;
}

.at-footer__social-links--minimal .at-footer__social-icon {
	background: transparent;
	border: none;
	width: auto;
	height: auto;
	padding: 6px;
}

.at-footer__social-links--minimal .at-footer__social-icon:hover {
	color: #04ADAF !important;
}

/* Navigation Columns */
.at-footer__col-heading-wrap {
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin-bottom: 20px;
}

.at-footer__col-eyebrow {
	display: block;
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #04ADAF;
}

.at-footer__col-title {
	font-size: 0.95rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--at-text-primary, #ffffff);
	margin: 0;
}

.at-footer__accordion-trigger {
	background: none;
	border: none;
	padding: 0;
	margin: 0;
	font: inherit;
	color: inherit;
	width: 100%;
	text-align: left;
	cursor: default;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.at-footer__accordion-icon {
	display: none;
}

.at-footer__nav-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.at-footer__nav-item {
	margin: 0;
	padding: 0;
}

.at-footer__nav-link {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 0.9rem;
	color: var(--at-text-secondary, #94a3b8);
	transition: color 0.25s ease, transform 0.25s ease;
}

.at-footer__link-bullet {
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: #04ADAF;
	opacity: 0;
	transform: scale(0);
	transition: all 0.25s ease;
}

.at-footer__nav-link:hover,
.at-footer__nav-link:focus-visible {
	color: #04ADAF !important;
	transform: translateX(4px);
}

.at-footer__nav-link:hover .at-footer__link-bullet,
.at-footer__nav-link:focus-visible .at-footer__link-bullet {
	opacity: 1;
	transform: scale(1);
}

.at-footer__col-text {
	font-size: 0.9rem;
	line-height: 1.65;
	color: var(--at-text-secondary, #94a3b8);
}

.at-footer__col-shortcode {
	font-size: 0.9rem;
	color: var(--at-text-secondary, #94a3b8);
}

/* Alignment utilities */
.at-footer__col--align-center {
	text-align: center;
}

.at-footer__col--align-center .at-footer__nav-link {
	justify-content: center;
}

.at-footer__col--align-right {
	text-align: right;
}

.at-footer__col--align-right .at-footer__nav-link {
	justify-content: flex-end;
}

/* Bottom Legal Bar */
.at-footer__bottom {
	border-top: 1px solid var(--at-border, rgba(255, 255, 255, 0.08));
	padding-top: 30px;
}

.at-footer__bottom-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 20px;
	font-size: 0.85rem;
}

.at-footer__copyright {
	color: var(--at-text-muted, #64748b);
}

.at-footer__legal-links {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	gap: 24px;
}

.at-footer__legal-links li a {
	color: var(--at-text-muted, #64748b);
	font-size: 0.85rem;
	transition: color 0.2s ease;
}

.at-footer__legal-links li a:hover,
.at-footer__legal-links li a:focus-visible {
	color: var(--at-text-primary, #ffffff);
}

/* Back-to-Top Button */
.at-footer__back-to-top {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	background-color: var(--at-surface-elevated, #101827);
	color: var(--at-text-secondary, #94a3b8);
	border: 1px solid var(--at-border, rgba(255, 255, 255, 0.12));
	border-radius: 20px;
	padding: 8px 16px;
	font-size: 0.82rem;
	font-weight: 600;
	cursor: pointer;
	transition: all 0.25s ease;
	line-height: 1;
}

.at-footer__back-to-top:hover,
.at-footer__back-to-top:focus-visible {
	background-color: var(--at-primary, #04ADAF);
	color: #ffffff !important;
	border-color: var(--at-primary, #04ADAF);
	transform: translateY(-2px);
	box-shadow: 0 4px 14px rgba(4, 173, 175, 0.35);
}

.at-footer__back-arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
	flex-shrink: 0;
}

.at-footer__back-arrow svg {
	width: 14px;
	height: 14px;
	stroke: currentColor;
}

.at-footer__back-top-text {
	display: inline-block;
	font-size: 0.82rem;
	font-weight: 600;
	letter-spacing: 0.02em;
}

/* Floating Mode */
.at-footer__back-to-top--floating {
	position: fixed;
	z-index: 99999;
	opacity: 0;
	visibility: hidden;
	transform: translateY(16px) scale(0.9);
	pointer-events: none;
	box-shadow: 0 8px 28px rgba(0, 0, 0, 0.45), 0 0 16px rgba(4, 173, 175, 0.25);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	transition: opacity 0.3s cubic-bezier(0.16, 1, 0.3, 1),
	            transform 0.3s cubic-bezier(0.16, 1, 0.3, 1),
	            visibility 0.3s,
	            background-color 0.25s ease,
	            color 0.25s ease,
	            border-color 0.25s ease,
	            box-shadow 0.25s ease;
}

.at-footer__back-to-top--floating.is-visible,
body.elementor-editor-active .at-footer__back-to-top--floating,
body.elementor-editor-preview .at-footer__back-to-top--floating,
.elementor-edit-mode .at-footer__back-to-top--floating,
.at-footer__back-to-top--floating.is-editor-preview {
	opacity: 1 !important;
	visibility: visible !important;
	transform: translateY(0) scale(1) !important;
	pointer-events: auto !important;
}

.at-footer__back-to-top--floating:hover {
	transform: translateY(-4px) scale(1.05);
	box-shadow: 0 10px 32px rgba(0, 0, 0, 0.5), 0 0 24px rgba(4, 173, 175, 0.45);
}

/* Floating Positions */
.at-footer__back-to-top--pos-bottom-right {
	bottom: 32px;
	right: 32px;
	left: auto;
}

.at-footer__back-to-top--pos-bottom-left {
	bottom: 32px;
	left: 32px;
	right: auto;
}

/* Shape Variants */
.at-footer__back-to-top--circle {
	width: 46px;
	height: 46px;
	border-radius: 50%;
	padding: 0;
}

.at-footer__back-to-top--rounded {
	width: 44px;
	height: 44px;
	border-radius: 12px;
	padding: 0;
}

.at-footer__back-to-top--pill {
	border-radius: 30px;
	padding: 10px 18px;
}

/* -------------------------------------------------------------------------
   Structural Presets
   ------------------------------------------------------------------------- */

/* Dynamic Column Count Rules for Desktop */
@media (min-width: 1025px) {
	.at-footer--cols-1 .at-footer__grid {
		grid-template-columns: 2fr 1fr !important;
	}

	.at-footer--cols-2 .at-footer__grid {
		grid-template-columns: 1.8fr 1fr 1fr !important;
	}

	.at-footer--cols-3 .at-footer__grid {
		grid-template-columns: 1.6fr 1.05fr 1.05fr 1.25fr !important;
		gap: 40px !important;
	}

	.at-footer--cols-4 .at-footer__grid {
		grid-template-columns: 1.6fr repeat(4, 1fr) !important;
	}

	.at-footer--cols-5 .at-footer__grid {
		grid-template-columns: 1.5fr repeat(5, 1fr) !important;
	}

	.at-footer--cols-6 .at-footer__grid {
		grid-template-columns: 1.4fr repeat(6, 1fr) !important;
	}

	.at-footer--cols-7 .at-footer__grid {
		grid-template-columns: 1.3fr repeat(7, 1fr) !important;
	}

	.at-footer--cols-8 .at-footer__grid {
		grid-template-columns: 1.2fr repeat(8, 1fr) !important;
	}
}

/* 0. Flagship: Premium Enterprise */
.at-footer--premium-enterprise {
	background-color: #0B1220;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.at-footer--premium-enterprise::before {
	content: '';
	position: absolute;
	top: 0;
	left: 10%;
	right: 10%;
	height: 1px;
	background: linear-gradient(90deg, transparent 0%, rgba(4, 173, 175, 0.5) 50%, transparent 100%);
	pointer-events: none;
	z-index: 1;
}

.at-footer--premium-enterprise .at-footer__grid {
	grid-template-columns: 1.8fr repeat(4, 1fr);
	gap: 48px;
}

/* 0B. Custom / Builder Mode */
.at-footer--custom {
	background-color: #0B1220;
}

.at-footer--custom .at-footer__grid {
	grid-template-columns: 1.8fr repeat(auto-fit, minmax(170px, 1fr));
	gap: 44px;
}

/* 1. Classic (Default Legacy) */
.at-footer--classic .at-footer__grid {
	grid-template-columns: 2fr repeat(3, 1fr);
}

/* 2. Multi-column (Brand + 4 Columns) */
.at-footer--multi-column .at-footer__grid {
	grid-template-columns: 1.8fr repeat(4, 1fr);
	gap: 36px;
}

/* 3. Minimal */
.at-footer--minimal .at-footer__grid {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 24px;
	margin-bottom: 24px;
}

.at-footer--minimal .at-footer__col--nav {
	display: none;
}

.at-footer--minimal .at-footer__bottom {
	border-top: none;
	padding-top: 0;
}

/* 4. CTA Footer */
.at-footer--cta-footer .at-footer__cta-banner {
	background: linear-gradient(135deg, rgba(4, 173, 175, 0.18) 0%, rgba(16, 24, 39, 0.95) 100%);
	padding: 56px 24px;
}

.at-footer--cta-footer .at-footer__cta-title {
	font-size: 1.85rem;
}

/* 5. Dark */
.at-footer--dark {
	background-color: #050811;
	border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.at-footer--dark .at-footer__logo-text {
	color: #ffffff;
}

/* 6. Mega Footer */
.at-footer--mega-footer .at-footer__grid {
	grid-template-columns: 1.6fr repeat(4, 1fr);
	gap: 40px;
}

.at-footer--mega-footer .at-footer__container {
	padding-top: 80px;
}

/* 7. Centered */
.at-footer--centered .at-footer__grid {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 32px;
	margin-bottom: 40px;
}

.at-footer--centered .at-footer__col--brand {
	align-items: center;
	text-align: center;
}

.at-footer--centered .at-footer__tagline {
	max-width: 520px;
}

.at-footer--centered .at-footer__brand-statement {
	border-left: none;
	padding-left: 0;
	text-align: center;
}

.at-footer--centered .at-footer__col--nav {
	width: 100%;
	max-width: 700px;
}

.at-footer--centered .at-footer__nav-list {
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	gap: 24px;
}

.at-footer--centered .at-footer__col-title {
	display: none;
}

.at-footer--centered .at-footer__bottom-inner {
	justify-content: center;
	flex-direction: column;
	gap: 16px;
	text-align: center;
}

/* 8. Split */
.at-footer--split .at-footer__grid {
	grid-template-columns: 1fr 1fr;
	gap: 64px;
}

.at-footer--split .at-footer__col--brand {
	padding-right: 32px;
	border-right: 1px solid var(--at-border, rgba(255, 255, 255, 0.08));
}

.at-footer--split .at-footer__tagline {
	max-width: 460px;
	font-size: 1.05rem;
	line-height: 1.7;
}

/* -------------------------------------------------------------------------
   Responsive & Mobile Footer Accordion Breakpoints
   ------------------------------------------------------------------------- */
@media (max-width: 1024px) {
	.at-footer__grid {
		grid-template-columns: 1fr 1fr;
		gap: 36px;
	}

	.at-footer--premium-enterprise .at-footer__grid,
	.at-footer--custom .at-footer__grid,
	.at-footer--multi-column .at-footer__grid,
	.at-footer--mega-footer .at-footer__grid {
		grid-template-columns: 1fr 1fr;
	}

	.at-footer--split .at-footer__col--brand {
		border-right: none;
		padding-right: 0;
	}
}

@media (max-width: 767px) {
	.at-footer__cta-inner {
		flex-direction: column;
		align-items: flex-start;
		gap: 24px;
	}

	.at-footer__grid,
	.at-footer--premium-enterprise .at-footer__grid,
	.at-footer--custom .at-footer__grid,
	.at-footer--classic .at-footer__grid,
	.at-footer--multi-column .at-footer__grid,
	.at-footer--mega-footer .at-footer__grid,
	.at-footer--split .at-footer__grid,
	.at-footer--cols-1 .at-footer__grid,
	.at-footer--cols-2 .at-footer__grid,
	.at-footer--cols-3 .at-footer__grid,
	.at-footer--cols-4 .at-footer__grid,
	.at-footer--cols-5 .at-footer__grid,
	.at-footer--cols-6 .at-footer__grid,
	.at-footer--cols-7 .at-footer__grid,
	.at-footer--cols-8 .at-footer__grid {
		display: flex !important;
		flex-direction: column !important;
		grid-template-columns: 1fr !important;
		width: 100% !important;
		gap: 20px !important;
		margin-bottom: 32px !important;
	}

	.at-footer__col {
		width: 100% !important;
	}

	.at-footer__container {
		padding: 44px 16px 28px;
	}

	/* Mobile Accordion */
	.at-footer__accordion-trigger {
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		width: 100% !important;
		padding: 14px 0 !important;
		gap: 16px !important;
		cursor: pointer !important;
		border-bottom: 1px solid var(--at-border, rgba(255, 255, 255, 0.08)) !important;
		background: transparent !important;
		border-top: none !important;
		border-left: none !important;
		border-right: none !important;
		color: inherit !important;
		text-align: left !important;
		box-sizing: border-box !important;
	}

	.at-footer__col-heading-wrap {
		margin-bottom: 0 !important;
	}

	.at-footer__col-title {
		margin: 0 !important;
		font-size: 0.95rem !important;
		font-weight: 700 !important;
		line-height: 1.3 !important;
		flex: 1 1 auto !important;
	}

	.at-footer__accordion-icon {
		display: inline-block !important;
		flex-shrink: 0 !important;
		width: 8px !important;
		height: 8px !important;
		border-right: 2px solid currentColor !important;
		border-bottom: 2px solid currentColor !important;
		transform: rotate(45deg) !important;
		transition: transform 0.25s ease !important;
		margin-left: 10px !important;
	}

	.at-footer__accordion-trigger[aria-expanded="true"] .at-footer__accordion-icon {
		transform: rotate(-135deg) !important;
	}

	.at-footer__col--nav .at-footer__accordion-content,
	.at-footer__col--nav .at-footer__nav-list {
		display: none;
		padding: 14px 0 10px 4px;
	}

	.at-footer__col--nav.at-footer__col--expanded .at-footer__accordion-content,
	.at-footer__col--nav.at-footer__col--expanded .at-footer__nav-list {
		display: flex;
		animation: at-footer-slide-down 0.25s ease forwards;
	}

	.at-footer__bottom-inner {
		flex-direction: column;
		align-items: flex-start;
		gap: 16px;
	}

	.at-footer__legal-links {
		flex-wrap: wrap;
		gap: 16px;
	}
}

@keyframes at-footer-slide-down {
	from {
		opacity: 0;
		transform: translateY(-6px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}


/* ==========================================================================
   AT DOWNLOAD BUTTON (.at-download-btn)
   ========================================================================== */
.at-download-btn-wrap {
	display: block;
	width: 100%;
}

.at-download-btn {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	padding: 14px 24px;
	background-color: var(--at-surface-card, #ffffff);
	border: 1px solid var(--at-border, rgba(0, 0, 0, 0.08));
	border-radius: var(--at-radius-md, 10px);
	text-decoration: none;
	color: inherit;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
	transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
	box-sizing: border-box;
}

.at-download-btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.08);
	border-color: var(--at-color-primary, #2563eb);
}

.at-download-btn__badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 4px 10px;
	border-radius: var(--at-radius-sm, 6px);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	background-color: rgba(37, 99, 235, 0.1);
	color: var(--at-color-primary, #2563eb);
	flex-shrink: 0;
}

.at-download-btn__info {
	display: flex;
	flex-direction: column;
	gap: 4px;
	flex: 1;
	text-align: left;
}

.at-download-btn__title {
	font-weight: 600;
	font-size: 1rem;
	color: var(--at-text-primary, #0f172a);
	line-height: 1.35;
	transition: color 0.2s ease;
}

.at-download-btn:hover .at-download-btn__title {
	color: var(--at-color-primary, #2563eb);
}

.at-download-btn__desc {
	font-size: 0.875rem;
	color: var(--at-text-secondary, #64748b);
	margin: 0;
	line-height: 1.5;
}

.at-download-btn__meta {
	font-size: 0.8125rem;
	color: var(--at-text-muted, #94a3b8);
	display: inline-block;
}

.at-download-btn__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	font-size: 1.125rem;
	color: var(--at-color-primary, #2563eb);
	transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), color 0.2s ease;
}

.at-download-btn:hover .at-download-btn__icon {
	transform: translateY(3px);
}

/* Preset: Button (Action Bar) */
.at-download-btn--button {
	background-color: var(--at-color-primary, #2563eb);
	border-color: transparent;
	color: #ffffff;
	box-shadow: 0 4px 14px rgba(37, 99, 235, 0.25);
}

.at-download-btn--button .at-download-btn__title {
	color: #ffffff;
}

.at-download-btn--button .at-download-btn__meta {
	color: rgba(255, 255, 255, 0.8);
}

.at-download-btn--button .at-download-btn__badge {
	background-color: rgba(255, 255, 255, 0.2);
	color: #ffffff;
}

.at-download-btn--button .at-download-btn__icon {
	color: #ffffff;
}

.at-download-btn--button:hover {
	background-color: #1d4ed8;
	box-shadow: 0 8px 25px rgba(37, 99, 235, 0.4);
}

/* Preset: Compact (Pill) */
.at-download-btn--compact {
	padding: 8px 18px;
	border-radius: 9999px;
	gap: 10px;
}

.at-download-btn--compact .at-download-btn__title {
	font-size: 0.9rem;
}

/* Preset: Document Card (Vertical) */
.at-download-btn--card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 28px;
	gap: 16px;
	border-radius: var(--at-radius-lg, 16px);
}

.at-download-btn--card .at-download-btn__info {
	width: 100%;
}

.at-download-btn--card .at-download-btn__icon {
	margin-top: 8px;
	padding: 10px;
	background: rgba(37, 99, 235, 0.08);
	border-radius: 50%;
}

/* Preset: Strip Card (Horizontal) */
.at-download-btn--horizontal {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 20px 24px;
	width: 100%;
}

.at-download-btn--horizontal .at-download-btn__badge {
	padding: 8px 14px;
	font-size: 0.875rem;
}

/* Preset: Minimal (Clean Link) */
.at-download-btn--minimal {
	background: transparent;
	border: none;
	box-shadow: none;
	padding: 4px 0;
	border-radius: 0;
	border-bottom: 2px solid transparent;
}

.at-download-btn--minimal:hover {
	transform: none;
	box-shadow: none;
	border-bottom-color: var(--at-color-primary, #2563eb);
}

/* Preset: Outlined (Technical Box) */
.at-download-btn--outlined {
	background: transparent;
	border: 2px dashed var(--at-border, #cbd5e1);
	box-shadow: none;
}

.at-download-btn--outlined:hover {
	border-color: var(--at-color-primary, #2563eb);
	border-style: solid;
	background-color: rgba(37, 99, 235, 0.02);
}


/* ==========================================================================
   AT LIST (.at-list)
   ========================================================================== */
.at-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.at-list__item {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	line-height: 1.5;
	color: var(--at-text-primary, #1e293b);
	position: relative;
}

.at-list__link {
	color: inherit;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	transition: color 0.2s ease;
}

.at-list__link:hover {
	color: var(--at-color-primary, #2563eb);
}

.at-list__marker {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 22px;
	height: 22px;
	font-size: 0.875rem;
	margin-top: 1px;
}

.at-list__marker--check {
	color: #10b981;
	font-weight: 800;
}

.at-list__marker--bullet {
	color: var(--at-color-primary, #2563eb);
	font-size: 1.4rem;
	line-height: 1;
}

.at-list__marker--dash {
	color: var(--at-text-muted, #94a3b8);
	font-weight: 700;
}

.at-list__marker--number {
	color: var(--at-color-primary, #2563eb);
	font-weight: 700;
	font-size: 0.875rem;
}

.at-list__text {
	flex: 1;
}

.at-list__badge {
	font-size: 0.6875rem;
	font-weight: 700;
	padding: 2px 8px;
	border-radius: 9999px;
	background-color: rgba(37, 99, 235, 0.1);
	color: var(--at-color-primary, #2563eb);
	letter-spacing: 0.04em;
	text-transform: uppercase;
	align-self: center;
}

/* Preset: Numbered */
.at-list--preset-numbered .at-list__marker--number {
	background-color: rgba(37, 99, 235, 0.1);
	border-radius: 50%;
	width: 26px;
	height: 26px;
}

/* Preset: Checkmark */
.at-list--preset-check .at-list__marker--check {
	background-color: rgba(16, 185, 129, 0.1);
	color: #059669;
	border-radius: 50%;
}

/* Preset: Minimal (Clean Divider) */
.at-list--preset-minimal {
	gap: 0;
}

.at-list--preset-minimal .at-list__item {
	padding: 12px 0;
	border-bottom: 1px solid var(--at-border, rgba(0, 0, 0, 0.06));
}

.at-list--preset-minimal .at-list__item:last-child {
	border-bottom: none;
}

/* Preset: Columns (2-Column Grid) */
.at-list--preset-columns {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 14px 28px;
}

@media (max-width: 640px) {
	.at-list--preset-columns {
		grid-template-columns: 1fr;
	}
}


/* ==========================================================================
   AT HEADER / NAVIGATION SYSTEM (.at-header)
   ========================================================================== */
.at-header {
	width: 100%;
	position: relative;
	z-index: 1000;
	background-color: var(--at-surface-header, #ffffff);
	transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.at-header__topbar {
	background-color: var(--at-surface-alt, #0f172a);
	color: #ffffff;
	font-size: 0.8125rem;
	padding: 8px 24px;
}

.at-header__topbar-inner {
	max-width: 1280px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.at-header__topbar-left,
.at-header__topbar-right {
	display: flex;
	align-items: center;
	gap: 16px;
}

.at-header__topbar-link {
	color: #e2e8f0;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	transition: color 0.2s ease;
}

.at-header__topbar-link:hover {
	color: #ffffff;
}

.at-header__container {
	max-width: 1280px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 16px 24px;
}

.at-header--width-full .at-header__container {
	max-width: 100%;
	padding: 16px 32px;
}

.at-header__brand-link {
	display: inline-flex;
	align-items: center;
	text-decoration: none;
	color: inherit;
}

.at-header__logo-img {
	max-height: 44px;
	width: auto;
	display: block;
}

.at-header__logo-text {
	font-size: 1.4rem;
	font-weight: 800;
	letter-spacing: -0.02em;
	color: var(--at-text-primary, #0f172a);
}

.at-header__nav {
	display: flex;
	align-items: center;
}

.at-header__menu {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	gap: 28px;
}

.at-header__menu-item {
	position: relative;
}

.at-header__menu-link {
	font-weight: 600;
	font-size: 0.9375rem;
	color: var(--at-text-secondary, #334155);
	text-decoration: none;
	padding: 8px 0;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	transition: color 0.2s ease;
}

.at-header__menu-link:hover,
.at-header__menu-item.current-menu-item>.at-header__menu-link {
	color: var(--at-color-primary, #2563eb);
}

.at-header__actions {
	display: flex;
	align-items: center;
	gap: 16px;
}

.at-header__burger {
	display: none;
	background: transparent;
	border: none;
	cursor: pointer;
	padding: 8px;
	color: inherit;
}

/* Preset: Transparent */
.at-header--transparent {
	position: absolute;
	top: 0;
	left: 0;
	background-color: transparent;
	box-shadow: none;
}

.at-header--transparent .at-header__logo-text,
.at-header--transparent .at-header__menu-link {
	color: #ffffff;
}

/* Preset: Overlay / Frosted Glass */
.at-header--overlay {
	background-color: rgba(15, 23, 42, 0.75);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	box-shadow: none;
}

.at-header--overlay .at-header__logo-text,
.at-header--overlay .at-header__menu-link {
	color: #ffffff;
}

/* Preset: Dark */
.at-header--dark {
	background-color: #0f172a;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
}

.at-header--dark .at-header__logo-text {
	color: #ffffff;
}

.at-header--dark .at-header__menu-link {
	color: #94a3b8;
}

.at-header--dark .at-header__menu-link:hover {
	color: #38bdf8;
}

/* Preset: Floating Island */
.at-header--floating {
	position: fixed;
	top: 20px;
	left: 50%;
	transform: translateX(-50%);
	width: calc(100% - 40px);
	max-width: 1200px;
	border-radius: 9999px;
	box-shadow: 0 12px 35px rgba(0, 0, 0, 0.08);
	border: 1px solid rgba(226, 232, 240, 0.8);
	background: rgba(255, 255, 255, 0.9);
	backdrop-filter: blur(16px);
}

.at-header--floating .at-header__container {
	padding: 10px 28px;
}

/* Sticky Mode */
.at-header--is-sticky {
	position: fixed;
	top: 0;
	left: 0;
	background-color: rgba(255, 255, 255, 0.95);
	backdrop-filter: blur(10px);
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
	animation: at-header-slide-down 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes at-header-slide-down {
	from {
		transform: translateY(-100%);
	}

	to {
		transform: translateY(0);
	}
}


/* ==========================================================================
   AT CLIENT LOGOS (.at-client-logos)
   ========================================================================== */
.at-client-logos {
	width: 100%;
	position: relative;
	overflow: hidden;
}

.at-client-logos__grid {
	display: grid;
	align-items: center;
	justify-items: center;
	gap: 32px;
}

.at-client-logos--cols-3 .at-client-logos__grid {
	grid-template-columns: repeat(3, 1fr);
}

.at-client-logos--cols-4 .at-client-logos__grid {
	grid-template-columns: repeat(4, 1fr);
}

.at-client-logos--cols-5 .at-client-logos__grid {
	grid-template-columns: repeat(5, 1fr);
}

.at-client-logos--cols-6 .at-client-logos__grid {
	grid-template-columns: repeat(6, 1fr);
}

@media (max-width: 1024px) {

	.at-client-logos--cols-5 .at-client-logos__grid,
	.at-client-logos--cols-6 .at-client-logos__grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (max-width: 640px) {
	.at-client-logos__grid {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 20px;
	}
}

.at-client-logo-item {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 16px 24px;
	transition: all 0.3s ease;
}

.at-client-logo-item__img {
	max-height: 44px;
	width: auto;
	object-fit: contain;
	transition: all 0.3s ease;
}

.at-client-logo-item__text {
	font-weight: 700;
	font-size: 1.25rem;
	color: var(--at-text-secondary, #64748b);
	letter-spacing: -0.02em;
	transition: color 0.3s ease;
}

.at-client-logos--grayscale .at-client-logo-item__img {
	filter: grayscale(100%);
	opacity: 0.65;
}

.at-client-logos--grayscale .at-client-logo-item:hover .at-client-logo-item__img {
	filter: grayscale(0%);
	opacity: 1;
	transform: scale(1.05);
}

/* Preset: Marquee */
.at-client-logos--marquee .at-client-logos__marquee-track {
	display: flex;
	overflow: hidden;
	user-select: none;
	gap: 40px;
}

.at-client-logos--marquee .at-client-logos__marquee-group {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: space-around;
	gap: 40px;
	min-width: 100%;
	animation: at-marquee 30s linear infinite;
}

.at-client-logos--marquee:hover .at-client-logos__marquee-group {
	animation-play-state: paused;
}

@keyframes at-marquee {
	from {
		transform: translateX(0);
	}

	to {
		transform: translateX(calc(-100% - 40px));
	}
}

/* Preset: Inline */
.at-client-logos--inline .at-client-logos__grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 40px;
}

/* Preset: Dark */
.at-client-logos--dark {
	background-color: #0b1329;
	padding: 40px 24px;
	border-radius: var(--at-radius-lg, 16px);
}

.at-client-logos--dark .at-client-logo-item__img {
	filter: brightness(0) invert(1);
	opacity: 0.6;
}

.at-client-logos--dark .at-client-logo-item:hover .at-client-logo-item__img {
	opacity: 1;
}

.at-client-logos--dark .at-client-logo-item__text {
	color: #94a3b8;
}

.at-client-logos--dark .at-client-logo-item:hover .at-client-logo-item__text {
	color: #ffffff;
}


/* ==========================================================================
   AT PRICING TABLE (.at-pricing-table)
   ========================================================================== */
.at-pricing-table {
	width: 100%;
}

.at-pricing-table__grid {
	display: grid;
	gap: 32px;
	align-items: stretch;
}

.at-pricing-table--cols-2 .at-pricing-table__grid {
	grid-template-columns: repeat(2, 1fr);
}

.at-pricing-table--cols-3 .at-pricing-table__grid {
	grid-template-columns: repeat(3, 1fr);
}

.at-pricing-table--cols-4 .at-pricing-table__grid {
	grid-template-columns: repeat(4, 1fr);
}

@media (max-width: 1024px) {

	.at-pricing-table--cols-3 .at-pricing-table__grid,
	.at-pricing-table--cols-4 .at-pricing-table__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 640px) {
	.at-pricing-table__grid {
		grid-template-columns: 1fr !important;
		gap: 24px;
	}
}

.at-pricing-plan {
	position: relative;
	background-color: var(--at-surface-card, #ffffff);
	border: 1px solid var(--at-border, rgba(0, 0, 0, 0.08));
	border-radius: var(--at-radius-lg, 16px);
	padding: 36px 32px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
	transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.at-pricing-plan:hover {
	transform: translateY(-6px);
	box-shadow: 0 16px 40px rgba(0, 0, 0, 0.08);
}

.at-pricing-plan__badge {
	position: absolute;
	top: -14px;
	right: 28px;
	background: linear-gradient(135deg, var(--at-color-primary, #2563eb), #6366f1);
	color: #ffffff;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	padding: 6px 14px;
	border-radius: 9999px;
	box-shadow: 0 4px 12px rgba(37, 99, 235, 0.3);
}

.at-pricing-plan__header {
	margin-bottom: 24px;
}

.at-pricing-plan__name {
	font-size: 1.35rem;
	font-weight: 700;
	color: var(--at-text-primary, #0f172a);
	margin: 0 0 8px;
}

.at-pricing-plan__desc {
	font-size: 0.9375rem;
	color: var(--at-text-secondary, #64748b);
	margin: 0 0 20px;
	line-height: 1.5;
}

.at-pricing-plan__price-wrap {
	display: flex;
	align-items: baseline;
	gap: 4px;
}

.at-pricing-plan__currency {
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--at-text-primary, #0f172a);
}

.at-pricing-plan__amount {
	font-size: 3rem;
	font-weight: 800;
	line-height: 1;
	letter-spacing: -0.03em;
	color: var(--at-text-primary, #0f172a);
}

.at-pricing-plan__period {
	font-size: 0.9375rem;
	color: var(--at-text-muted, #94a3b8);
	margin-left: 2px;
}

.at-pricing-plan__features {
	list-style: none;
	margin: 0 0 32px;
	padding: 24px 0;
	border-top: 1px solid var(--at-border, rgba(0, 0, 0, 0.06));
	border-bottom: 1px solid var(--at-border, rgba(0, 0, 0, 0.06));
	display: flex;
	flex-direction: column;
	gap: 14px;
	flex: 1;
}

.at-pricing-plan__feature-item {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: 0.9375rem;
	color: var(--at-text-secondary, #334155);
	line-height: 1.45;
}

.at-pricing-plan__check {
	color: #10b981;
	font-weight: 800;
	flex-shrink: 0;
	margin-top: 1px;
}

.at-pricing-plan__footer {
	margin-top: auto;
}

/* Preset: Popular (Elevated & Scaled) */
.at-pricing-plan--popular {
	border-color: var(--at-color-primary, #2563eb);
	border-width: 2px;
	box-shadow: 0 12px 35px rgba(37, 99, 235, 0.12);
	transform: scale(1.03);
}

.at-pricing-plan--popular:hover {
	transform: scale(1.03) translateY(-6px);
	box-shadow: 0 20px 45px rgba(37, 99, 235, 0.2);
}

/* Preset: Featured */
.at-pricing-table--featured .at-pricing-plan--popular {
	background: linear-gradient(180deg, rgba(37, 99, 235, 0.03) 0%, rgba(255, 255, 255, 1) 100%);
}

/* Preset: Minimal */
.at-pricing-table--minimal .at-pricing-plan {
	box-shadow: none;
	border-radius: 0;
	border: 1px solid #e2e8f0;
}

.at-pricing-table--minimal .at-pricing-plan:hover {
	box-shadow: none;
	transform: none;
	border-color: #0f172a;
}

/* Preset: Dark */
.at-pricing-table--dark .at-pricing-plan {
	background-color: #0f172a;
	border-color: rgba(255, 255, 255, 0.08);
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
}

.at-pricing-table--dark .at-pricing-plan__name,
.at-pricing-table--dark .at-pricing-plan__currency,
.at-pricing-table--dark .at-pricing-plan__amount {
	color: #ffffff;
}

.at-pricing-table--dark .at-pricing-plan__desc,
.at-pricing-table--dark .at-pricing-plan__feature-item {
	color: #94a3b8;
}

.at-pricing-table--dark .at-pricing-plan__features {
	border-color: rgba(255, 255, 255, 0.08);
}

.at-pricing-table--dark .at-pricing-plan--popular {
	border-color: #38bdf8;
	background-color: #1e293b;
}


/* ==========================================================================
   AT PROCESS STEPS (.at-process-steps)
   ========================================================================== */
.at-process-steps {
	width: 100%;
}

.at-process-steps__track {
	display: flex;
	gap: 32px;
	position: relative;
}

/* Preset: Horizontal */
.at-process-steps--horizontal .at-process-steps__track {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 28px;
}

.at-process-step {
	position: relative;
	display: flex;
	flex-direction: column;
	background-color: var(--at-surface-card, #ffffff);
	border: 1px solid var(--at-border, rgba(0, 0, 0, 0.06));
	border-radius: var(--at-radius-lg, 16px);
	padding: 28px;
	transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.at-process-step:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.06);
	border-color: var(--at-color-primary, #2563eb);
}

.at-process-step__indicator {
	margin-bottom: 20px;
}

.at-process-step__badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--at-color-primary, #2563eb), #3b82f6);
	color: #ffffff;
	font-weight: 800;
	font-size: 1.125rem;
	box-shadow: 0 4px 14px rgba(37, 99, 235, 0.25);
}

.at-process-step__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: var(--at-radius-md, 12px);
	background: rgba(37, 99, 235, 0.1);
	color: var(--at-color-primary, #2563eb);
	font-size: 1.25rem;
}

.at-process-step__tag {
	display: inline-block;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--at-color-primary, #2563eb);
	margin-bottom: 6px;
}

.at-process-step__title {
	font-size: 1.2rem;
	font-weight: 700;
	color: var(--at-text-primary, #0f172a);
	margin: 0 0 10px;
}

.at-process-step__desc {
	font-size: 0.9375rem;
	color: var(--at-text-secondary, #64748b);
	margin: 0;
	line-height: 1.6;
}

/* Preset: Timeline (Vertical Track) */
.at-process-steps--timeline .at-process-steps__track {
	display: flex;
	flex-direction: column;
	gap: 40px;
	padding-left: 0;
	border-left: none !important;
}

.at-process-steps--timeline .at-process-step {
	border: none;
	background: transparent;
	padding: 0;
	box-shadow: none;
}

.at-process-steps--timeline .at-process-step__indicator {
	position: relative;
	left: auto;
	top: auto;
	margin: 0;
}

.at-process-steps--timeline .at-process-step:hover {
	transform: none;
}

/* Preset: Numbered */
.at-process-steps--numbered .at-process-step {
	overflow: hidden;
}

.at-process-steps--numbered .at-process-step__badge {
	position: absolute;
	right: -10px;
	bottom: -15px;
	width: 100px;
	height: 100px;
	font-size: 4rem;
	font-weight: 900;
	background: transparent;
	color: rgba(15, 23, 42, 0.05);
	box-shadow: none;
	border-radius: 0;
	pointer-events: none;
}


/* ==========================================================================
   AT CONTACT FORM (.at-contact-form)
   ========================================================================== */
.at-contact-form {
	width: 100%;
}

.at-contact-form__header {
	margin-bottom: 28px;
}

.at-contact-form__title {
	font-size: 1.75rem;
	font-weight: 800;
	color: var(--at-text-primary, #0f172a);
	margin: 0 0 8px;
}

.at-contact-form__subtitle {
	font-size: 1rem;
	color: var(--at-text-secondary, #64748b);
	margin: 0;
	line-height: 1.5;
}

.at-contact-form__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
}

@media (max-width: 640px) {
	.at-contact-form__grid {
		grid-template-columns: 1fr;
	}
}

.at-form-group {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.at-form-group--full {
	grid-column: 1 / -1;
}

.at-form-label {
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--at-text-primary, #1e293b);
}

.at-form-input,
.at-form-textarea {
	width: 100%;
	padding: 12px 16px;
	border: 1px solid var(--at-border, #cbd5e1);
	border-radius: var(--at-radius-md, 8px);
	font-size: 0.9375rem;
	color: var(--at-text-primary, #0f172a);
	background-color: var(--at-surface-input, #ffffff);
	transition: all 0.2s ease;
	outline: none;
	box-sizing: border-box;
}

.at-form-input:focus,
.at-form-textarea:focus {
	border-color: var(--at-color-primary, #2563eb);
	box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15);
}

.at-form-consent {
	margin: 8px 0;
}

.at-form-checkbox-label {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 0.875rem;
	color: var(--at-text-secondary, #64748b);
	cursor: pointer;
}

.at-form-actions {
	margin-top: 8px;
}

/* Preset: Card */
.at-contact-form--card {
	background-color: var(--at-surface-card, #ffffff);
	border: 1px solid var(--at-border, rgba(0, 0, 0, 0.08));
	border-radius: var(--at-radius-lg, 16px);
	padding: 40px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
}

/* Preset: Minimal */
.at-contact-form--minimal .at-form-input,
.at-contact-form--minimal .at-form-textarea {
	border: none;
	border-bottom: 2px solid #e2e8f0;
	border-radius: 0;
	padding: 10px 0;
	background: transparent;
}

.at-contact-form--minimal .at-form-input:focus,
.at-contact-form--minimal .at-form-textarea:focus {
	border-bottom-color: var(--at-color-primary, #2563eb);
	box-shadow: none;
}

/* Preset: Dark */
.at-contact-form--dark {
	background-color: #0f172a;
	border-radius: var(--at-radius-lg, 16px);
	padding: 40px;
	color: #ffffff;
}

.at-contact-form--dark .at-contact-form__title {
	color: #ffffff;
}

.at-contact-form--dark .at-contact-form__subtitle {
	color: #94a3b8;
}

.at-contact-form--dark .at-form-label {
	color: #e2e8f0;
}

.at-contact-form--dark .at-form-input,
.at-contact-form--dark .at-form-textarea {
	background-color: rgba(255, 255, 255, 0.06);
	border-color: rgba(255, 255, 255, 0.12);
	color: #ffffff;
}

.at-contact-form--dark .at-form-input:focus,
.at-contact-form--dark .at-form-textarea:focus {
	border-color: #38bdf8;
	box-shadow: 0 0 0 3px rgba(56, 189, 248, 0.2);
}


/* ==========================================================================
   AT BLOG GRID (.at-blog-grid)
   ========================================================================== */
.at-blog-grid {
	width: 100%;
}

.at-blog-grid__grid {
	display: grid;
	gap: 32px;
}

.at-blog-grid--cols-2 .at-blog-grid__grid {
	grid-template-columns: repeat(2, 1fr);
}

.at-blog-grid--cols-3 .at-blog-grid__grid {
	grid-template-columns: repeat(3, 1fr);
}

.at-blog-grid--cols-4 .at-blog-grid__grid {
	grid-template-columns: repeat(4, 1fr);
}

@media (max-width: 1024px) {

	.at-blog-grid--cols-3 .at-blog-grid__grid,
	.at-blog-grid--cols-4 .at-blog-grid__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 640px) {
	.at-blog-grid__grid {
		grid-template-columns: 1fr !important;
		gap: 24px;
	}
}

.at-blog-card {
	background-color: var(--at-surface-card, #ffffff);
	border: 1px solid var(--at-border, rgba(0, 0, 0, 0.08));
	border-radius: var(--at-radius-lg, 16px);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04);
	transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.at-blog-card:hover {
	transform: translateY(-6px);
	box-shadow: 0 16px 36px rgba(0, 0, 0, 0.09);
	border-color: rgba(37, 99, 235, 0.3);
}

.at-blog-card__media {
	position: relative;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background-color: #f1f5f9;
}

.at-blog-card__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

.at-blog-card:hover .at-blog-card__img {
	transform: scale(1.06);
}

.at-blog-card__badge {
	position: absolute;
	top: 16px;
	left: 16px;
	background-color: rgba(15, 23, 42, 0.85);
	backdrop-filter: blur(8px);
	color: #ffffff;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	padding: 5px 12px;
	border-radius: 9999px;
	z-index: 2;
}

.at-blog-card__body {
	padding: 24px;
	display: flex;
	flex-direction: column;
	flex: 1;
}

.at-blog-card__meta {
	display: flex;
	align-items: center;
	gap: 14px;
	font-size: 0.8125rem;
	color: var(--at-text-muted, #94a3b8);
	margin-bottom: 12px;
}

.at-blog-card__title {
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.4;
	margin: 0 0 10px;
	color: var(--at-text-primary, #0f172a);
}

.at-blog-card__title a {
	color: inherit;
	text-decoration: none;
	transition: color 0.2s ease;
}

.at-blog-card__title a:hover {
	color: var(--at-color-primary, #2563eb);
}

.at-blog-card__excerpt {
	font-size: 0.9375rem;
	color: var(--at-text-secondary, #64748b);
	line-height: 1.6;
	margin: 0 0 20px;
	flex: 1;
}

.at-blog-card__footer {
	margin-top: auto;
	padding-top: 16px;
	border-top: 1px solid var(--at-border, rgba(0, 0, 0, 0.06));
}

.at-blog-card__read-more {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 0.875rem;
	font-weight: 700;
	color: var(--at-color-primary, #2563eb);
	text-decoration: none;
	transition: gap 0.2s ease;
}

.at-blog-card__read-more:hover {
	gap: 10px;
}

/* Preset: Editorial */
.at-blog-grid--editorial .at-blog-card {
	border: none;
	border-radius: 0;
	box-shadow: none;
	background: transparent;
	padding-bottom: 24px;
	border-bottom: 1px solid var(--at-border, #e2e8f0);
}

.at-blog-grid--editorial .at-blog-card:hover {
	transform: none;
	box-shadow: none;
}

.at-blog-grid--editorial .at-blog-card__media {
	border-radius: var(--at-radius-md, 8px);
}

.at-blog-grid--editorial .at-blog-card__body {
	padding: 20px 0 0;
}

/* Preset: Minimal */
.at-blog-grid--minimal .at-blog-card {
	border: none;
	box-shadow: none;
	background: transparent;
}

.at-blog-grid--minimal .at-blog-card:hover {
	transform: none;
	box-shadow: none;
}

.at-blog-grid--minimal .at-blog-card__media {
	border-radius: var(--at-radius-lg, 12px);
}

.at-blog-grid--minimal .at-blog-card__body {
	padding: 16px 4px;
}

/* Preset: Horizontal */
.at-blog-grid--horizontal .at-blog-card {
	flex-direction: row;
}

.at-blog-grid--horizontal .at-blog-card__media {
	flex: 0 0 38%;
	aspect-ratio: auto;
}

@media (max-width: 768px) {
	.at-blog-grid--horizontal .at-blog-card {
		flex-direction: column;
	}

	.at-blog-grid--horizontal .at-blog-card__media {
		flex: 1 1 auto;
		aspect-ratio: 16 / 9;
	}
}


/* ==========================================================================
   AT CTA BANNER (.at-cta-banner) PRESETS
   ========================================================================== */
.at-cta-banner {
	width: 100%;
	background-color: var(--at-surface-card, #ffffff);
	border: 1px solid var(--at-border, rgba(0, 0, 0, 0.08));
	border-radius: var(--at-radius-lg, 16px);
	padding: 28px 36px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
	transition: all 0.3s ease;
}

.at-cta-banner__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}

@media (max-width: 768px) {
	.at-cta-banner__inner {
		flex-direction: column;
		align-items: flex-start;
	}
}

.at-cta-banner__content {
	display: flex;
	align-items: center;
	gap: 18px;
	flex: 1;
}

@media (max-width: 640px) {
	.at-cta-banner__content {
		flex-direction: column;
		align-items: flex-start;
	}
}

.at-cta-banner__badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 14px;
	border-radius: 9999px;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	background-color: rgba(37, 99, 235, 0.1);
	color: var(--at-color-primary, #2563eb);
	flex-shrink: 0;
}

.at-cta-banner__text-wrap {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.at-cta-banner__msg {
	font-size: 1.125rem;
	font-weight: 700;
	color: var(--at-text-primary, #0f172a);
	line-height: 1.4;
}

.at-cta-banner__sub {
	font-size: 0.875rem;
	color: var(--at-text-secondary, #64748b);
}

.at-cta-banner__actions {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-shrink: 0;
}

/* Preset: Centered */
.at-cta-banner--centered {
	text-align: center;
}

.at-cta-banner--centered .at-cta-banner__inner {
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 20px;
}

.at-cta-banner--centered .at-cta-banner__content {
	flex-direction: column;
	align-items: center;
	text-align: center;
}

/* Preset: Gradient */
.at-cta-banner--gradient {
	background: linear-gradient(135deg, #1e40af 0%, #3b82f6 50%, #6366f1 100%);
	border: none;
	color: #ffffff;
	box-shadow: 0 12px 35px rgba(37, 99, 235, 0.25);
}

.at-cta-banner--gradient .at-cta-banner__msg {
	color: #ffffff;
}

.at-cta-banner--gradient .at-cta-banner__sub {
	color: rgba(255, 255, 255, 0.85);
}

.at-cta-banner--gradient .at-cta-banner__badge {
	background-color: rgba(255, 255, 255, 0.2);
	color: #ffffff;
}

/* Preset: Dark */
.at-cta-banner--dark {
	background-color: #0f172a;
	border-color: rgba(255, 255, 255, 0.08);
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
}

.at-cta-banner--dark .at-cta-banner__msg {
	color: #ffffff;
}

.at-cta-banner--dark .at-cta-banner__sub {
	color: #94a3b8;
}

/* Preset: Compact */
.at-cta-banner--compact {
	padding: 14px 24px;
	border-radius: var(--at-radius-md, 10px);
}

.at-cta-banner--compact .at-cta-banner__msg {
	font-size: 0.9375rem;
}

/* Preset: Floating */
.at-cta-banner--floating {
	border-radius: 20px;
	padding: 24px 20px;
	box-shadow: 0 14px 40px rgba(0, 0, 0, 0.1);
	border: 1px solid rgba(226, 232, 240, 0.8);
}

@media (min-width: 992px) {
	.at-cta-banner--floating {
		border-radius: 9999px;
		padding: 16px 32px;
	}
}

/* Additional Presets: Pricing Table Comparison & Horizontal */
.at-pricing-table--comparison .at-pricing-plan {
	border-radius: 8px;
	padding: 24px 20px;
}

.at-pricing-table--comparison .at-pricing-plan__header {
	margin-bottom: 16px;
}

.at-pricing-table--comparison .at-pricing-plan__amount {
	font-size: 2.25rem;
}

.at-pricing-table--comparison .at-pricing-plan__features {
	padding: 16px 0;
	gap: 10px;
	font-size: 0.875rem;
}

.at-pricing-table--horizontal .at-pricing-table__grid {
	grid-template-columns: 1fr;
	gap: 20px;
}

.at-pricing-table--horizontal .at-pricing-plan {
	flex-direction: row;
	align-items: center;
	padding: 24px 32px;
	gap: 32px;
}

.at-pricing-table--horizontal .at-pricing-plan__header {
	margin-bottom: 0;
	min-width: 220px;
}

.at-pricing-table--horizontal .at-pricing-plan__features {
	margin: 0;
	padding: 0;
	border-top: none;
	border-bottom: none;
	border-left: 1px solid var(--at-border, rgba(0, 0, 0, 0.08));
	border-right: 1px solid var(--at-border, rgba(0, 0, 0, 0.08));
	padding: 0 32px;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 12px 24px;
}

.at-pricing-table--horizontal .at-pricing-plan__footer {
	min-width: 180px;
}

@media (max-width: 860px) {
	.at-pricing-table--horizontal .at-pricing-plan {
		flex-direction: column;
		align-items: stretch;
		gap: 20px;
	}

	.at-pricing-table--horizontal .at-pricing-plan__features {
		border-left: none;
		border-right: none;
		border-top: 1px solid var(--at-border, rgba(0, 0, 0, 0.08));
		border-bottom: 1px solid var(--at-border, rgba(0, 0, 0, 0.08));
		padding: 20px 0;
		grid-template-columns: 1fr;
	}
}

/* Additional Presets: Process Steps Cards, Vertical & Alternating */
.at-process-steps--cards .at-process-step {
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
	background: #ffffff;
	border: 1px solid rgba(226, 232, 240, 0.8);
	border-radius: 20px;
	padding: 32px;
}

.at-process-steps--cards .at-process-step:hover {
	transform: translateY(-8px);
	box-shadow: 0 20px 40px rgba(37, 99, 235, 0.1);
}

.at-process-steps--vertical .at-process-steps__track {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.at-process-steps--vertical .at-process-step {
	flex-direction: row;
	align-items: flex-start;
	gap: 24px;
}

.at-process-steps--vertical .at-process-step__indicator {
	margin-bottom: 0;
	flex-shrink: 0;
}

/* Additional Presets: Blog Grid Magazine & Masonry */
.at-blog-grid--magazine .at-blog-card {
	position: relative;
	min-height: 380px;
	border: none;
	border-radius: 16px;
	overflow: hidden;
}

.at-blog-grid--magazine .at-blog-card__media {
	position: absolute;
	inset: 0;
	aspect-ratio: auto;
	width: 100%;
	height: 100%;
	z-index: 1;
}

.at-blog-grid--magazine .at-blog-card__content,
.at-blog-grid--magazine .at-blog-card__body {
	position: relative;
	z-index: 2;
	margin-top: auto;
	background: linear-gradient(180deg, rgba(15, 23, 42, 0) 0%, rgba(15, 23, 42, 0.85) 40%, rgba(15, 23, 42, 0.98) 100%);
	padding: 32px 24px 24px;
	color: #ffffff;
}

.at-blog-grid--magazine .at-blog-card__title,
.at-blog-grid--magazine .at-blog-card__title a {
	color: #ffffff;
}

.at-blog-grid--magazine .at-blog-card__excerpt,
.at-blog-grid--magazine .at-blog-card__meta {
	color: #cbd5e1;
}

.at-blog-grid--magazine .at-blog-card__read-more {
	color: #38bdf8;
}

.at-blog-grid--masonry .at-blog-grid__container,
.at-blog-grid--masonry .at-blog-grid__grid {
	align-items: start;
}

.at-blog-grid--masonry .at-blog-card:nth-child(3n+1) .at-blog-card__media {
	aspect-ratio: 4 / 3;
}

.at-blog-grid--masonry .at-blog-card:nth-child(3n+2) .at-blog-card__media {
	aspect-ratio: 16 / 9;
}

.at-blog-grid--masonry .at-blog-card:nth-child(3n) .at-blog-card__media {
	aspect-ratio: 1 / 1;
}

/* Additional Presets: Header Centered Logo, Split Nav & Mega Nav */
.at-header--centered-logo .at-header__container {
	flex-direction: column;
	gap: 16px;
	text-align: center;
}

.at-header--split-nav .at-header__container {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
}

.at-header--split-nav .at-header__brand {
	grid-column: 2;
	justify-self: center;
}

.at-header--split-nav .at-header__actions {
	justify-self: end;
}

.at-header--mega-navigation .at-header__menu-item:hover>.sub-menu {
	display: block;
	animation: at-header-slide-down 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.at-header .sub-menu {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	background: #ffffff;
	border-radius: 12px;
	box-shadow: 0 16px 40px rgba(0, 0, 0, 0.1);
	border: 1px solid rgba(226, 232, 240, 0.8);
	padding: 16px 0;
	min-width: 220px;
	list-style: none;
	z-index: 100;
}

.at-header .sub-menu li a {
	padding: 10px 20px;
	display: block;
	color: #334155;
	font-weight: 500;
	font-size: 0.9rem;
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.at-header .sub-menu li a:hover {
	background-color: rgba(37, 99, 235, 0.05);
	color: var(--at-color-primary, #2563eb);
}

/* ==========================================================================
   AT Carousel Widgets (Content, Card, and Image Carousels)
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. AT Content Carousel
   -------------------------------------------------------------------------- */
.at-content-carousel {
	position: relative;
	width: 100%;
}

.at-content-slide {
	position: relative;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	background: #ffffff;
	border: 1px solid var(--at-border-color, #e2e8f0);
	border-radius: 16px;
	padding: 2.25rem 2.5rem;
	transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
	overflow: hidden;
	height: 100%;
}

.at-content-slide__watermark {
	position: absolute;
	top: -20px;
	right: 20px;
	font-size: 8rem;
	line-height: 1;
	font-family: Georgia, serif;
	color: rgba(148, 163, 184, 0.12);
	pointer-events: none;
	user-select: none;
}

.at-content-slide__eyebrow {
	display: inline-block;
	align-self: flex-start;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--at-color-primary, #2563eb);
	margin-bottom: 0.75rem;
}

.at-content-slide__stars {
	font-size: 1.15rem;
	letter-spacing: 3px;
	color: #f59e0b;
	margin-bottom: 0.85rem;
}

.at-content-slide__title {
	font-size: 1.35rem;
	font-weight: 700;
	line-height: 1.3;
	color: var(--at-color-text-title, #0f172a);
	margin: 0 0 0.85rem 0;
}

.at-content-slide__desc {
	font-size: 1.05rem;
	line-height: 1.65;
	color: var(--at-color-text-body, #475569);
	margin: 0 0 1.75rem 0;
	flex-grow: 1;
}

.at-content-slide__footer {
	display: flex;
	align-items: center;
	gap: 1rem;
	padding-top: 1.25rem;
	border-top: 1px solid rgba(226, 232, 240, 0.75);
	margin-top: auto;
}

.at-content-slide__avatar {
	width: 52px;
	height: 52px;
	border-radius: 50%;
	overflow: hidden;
	flex-shrink: 0;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
}

.at-content-slide__avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.at-content-slide__author-info {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

.at-content-slide__author-name {
	font-size: 0.98rem;
	font-weight: 700;
	color: var(--at-color-text-title, #0f172a);
}

.at-content-slide__author-role {
	font-size: 0.84rem;
	color: var(--at-color-text-secondary, #64748b);
	margin-top: 2px;
}

.at-content-slide__action {
	flex-shrink: 0;
}

/* Preset: Classic (Centered) */
.at-content-carousel--classic .at-content-slide {
	text-align: center;
	align-items: center;
}

.at-content-carousel--classic .at-content-slide__eyebrow {
	align-self: center;
}

.at-content-carousel--classic .at-content-slide__footer {
	flex-direction: column;
	justify-content: center;
	border-top: none;
	padding-top: 0.5rem;
}

/* Preset: Card */
.at-content-carousel--card .at-content-slide {
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
	border: 1px solid rgba(226, 232, 240, 0.8);
}

.at-content-carousel--card .at-content-slide:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 40px rgba(0, 0, 0, 0.09);
}

/* Preset: Quote */
.at-content-carousel--quote .at-content-slide {
	background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
	border-left: 4px solid var(--at-color-primary, #2563eb);
}

.at-content-carousel--quote .at-content-slide__desc {
	font-style: italic;
	font-size: 1.12rem;
}

/* Preset: Split */
.at-content-carousel--split .at-content-slide {
	display: grid;
	grid-template-columns: 80px 1fr;
	gap: 1.75rem;
}

.at-content-carousel--split .at-content-slide__avatar {
	width: 80px;
	height: 80px;
	border-radius: 12px;
}

.at-content-carousel--split .at-content-slide__footer {
	grid-column: 1 / -1;
}

/* Preset: Minimal */
.at-content-carousel--minimal .at-content-slide {
	background: transparent;
	border: none;
	padding: 1.5rem 0.5rem;
}

.at-content-carousel--minimal .at-content-slide__footer {
	border-top: 1px dashed var(--at-border-color, #e2e8f0);
}


/* --------------------------------------------------------------------------
   2. AT Card Carousel
   -------------------------------------------------------------------------- */
.at-card-carousel {
	position: relative;
	width: 100%;
}

.at-card-carousel__card {
	position: relative;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	background: #ffffff;
	border: 1px solid var(--at-border-color, #e2e8f0);
	border-radius: 16px;
	overflow: hidden;
	height: 100%;
	transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.at-card-carousel__media {
	position: relative;
	width: 100%;
	overflow: hidden;
	background: #f1f5f9;
}

.at-card-carousel__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

.at-card-carousel__card:hover .at-card-carousel__media img {
	transform: scale(1.06);
}

.at-card-carousel__scrim {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(15, 23, 42, 0.65) 0%, transparent 60%);
	pointer-events: none;
	opacity: 0.6;
	transition: opacity 0.3s ease;
}

.at-card-carousel__badge {
	position: absolute;
	top: 16px;
	left: 16px;
	z-index: 2;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 5px 12px;
	border-radius: 9999px;
	background: rgba(255, 255, 255, 0.94);
	color: var(--at-color-text-title, #0f172a);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}

.at-card-carousel__content {
	display: flex;
	flex-direction: column;
	padding: 1.75rem;
	flex-grow: 1;
}

.at-card-carousel__meta {
	font-size: 0.82rem;
	font-weight: 600;
	color: var(--at-color-primary, #2563eb);
	margin-bottom: 0.5rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.at-card-carousel__title {
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.35;
	color: var(--at-color-text-title, #0f172a);
	margin: 0 0 0.75rem 0;
}

.at-card-carousel__desc {
	font-size: 0.94rem;
	line-height: 1.6;
	color: var(--at-color-text-body, #475569);
	margin: 0 0 1.25rem 0;
	flex-grow: 1;
}

.at-card-carousel__features {
	list-style: none;
	margin: 0 0 1.5rem 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.at-card-carousel__feature-item {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.88rem;
	color: var(--at-color-text-body, #475569);
}

.at-card-carousel__check {
	color: #10b981;
	font-weight: bold;
	font-size: 0.95rem;
}

.at-card-carousel__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding-top: 1.25rem;
	border-top: 1px solid var(--at-border-color, #e2e8f0);
	margin-top: auto;
}

.at-card-carousel__metric {
	font-size: 0.9rem;
	font-weight: 700;
	color: var(--at-color-primary, #2563eb);
}

/* Aspect ratios for Card Carousel Media */
.at-card-carousel--aspect-16-9 .at-card-carousel__media {
	aspect-ratio: 16 / 9;
}

.at-card-carousel--aspect-4-3 .at-card-carousel__media {
	aspect-ratio: 4 / 3;
}

.at-card-carousel--aspect-3-2 .at-card-carousel__media {
	aspect-ratio: 3 / 2;
}

.at-card-carousel--aspect-1-1 .at-card-carousel__media {
	aspect-ratio: 1 / 1;
}

/* Preset: Elevated */
.at-card-carousel--elevated .at-card-carousel__card {
	box-shadow: 0 12px 36px rgba(0, 0, 0, 0.06);
	border: 1px solid rgba(226, 232, 240, 0.7);
}

.at-card-carousel--elevated .at-card-carousel__card:hover {
	transform: translateY(-8px);
	box-shadow: 0 24px 48px rgba(0, 0, 0, 0.12);
}

/* Preset: Overlay */
.at-card-carousel--overlay .at-card-carousel__card {
	min-height: 420px;
	border: none;
}

.at-card-carousel--overlay .at-card-carousel__media {
	position: absolute;
	inset: 0;
	height: 100%;
	z-index: 1;
}

.at-card-carousel--overlay .at-card-carousel__scrim {
	opacity: 0.85;
	background: linear-gradient(to top, rgba(15, 23, 42, 0.95) 0%, rgba(15, 23, 42, 0.4) 60%, transparent 100%);
}

.at-card-carousel--overlay .at-card-carousel__content {
	position: relative;
	z-index: 2;
	margin-top: auto;
	color: #ffffff;
}

.at-card-carousel--overlay .at-card-carousel__title {
	color: #ffffff;
}

.at-card-carousel--overlay .at-card-carousel__desc {
	color: #cbd5e1;
}

.at-card-carousel--overlay .at-card-carousel__footer {
	border-top-color: rgba(255, 255, 255, 0.15);
}

.at-card-carousel--overlay .at-card-carousel__feature-item {
	color: #e2e8f0;
}

/* Preset: Service */
.at-card-carousel--service .at-card-carousel__card {
	border-top: 4px solid var(--at-color-primary, #2563eb);
}

.at-card-carousel--service .at-card-carousel__card:hover {
	border-top-color: #1d4ed8;
	transform: translateY(-4px);
}

/* Preset: Minimal */
.at-card-carousel--minimal .at-card-carousel__card {
	background: transparent;
	border: 1px solid var(--at-border-color, #e2e8f0);
	border-radius: 12px;
	box-shadow: none;
}

.at-card-carousel--minimal .at-card-carousel__card:hover {
	border-color: var(--at-color-primary, #2563eb);
}


/* --------------------------------------------------------------------------
   3. AT Image Carousel
   -------------------------------------------------------------------------- */
.at-image-carousel {
	position: relative;
	width: 100%;
}

.at-image-carousel__item {
	position: relative;
	margin: 0;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	border-radius: 14px;
	overflow: hidden;
	height: 100%;
	background: #ffffff;
	transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.at-image-carousel__link {
	display: flex;
	flex-direction: column;
	text-decoration: none;
	color: inherit;
	height: 100%;
}

.at-image-carousel__media {
	position: relative;
	width: 100%;
	overflow: hidden;
	background: #0f172a;
	border-radius: 14px;
}

.at-image-carousel__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1), filter 0.4s ease;
}

/* Hover dynamics */
.at-image-carousel--fx-zoom .at-image-carousel__item:hover img {
	transform: scale(1.08);
}

.at-image-carousel--fx-subtle-zoom .at-image-carousel__item:hover img {
	transform: scale(1.04);
}

.at-image-carousel--fx-grayscale img {
	filter: grayscale(100%);
}

.at-image-carousel--fx-grayscale .at-image-carousel__item:hover img {
	filter: grayscale(0%);
}

.at-image-carousel__scrim {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(15, 23, 42, 0.75) 0%, transparent 60%);
	pointer-events: none;
	opacity: 0.7;
	transition: opacity 0.3s ease;
}

.at-image-carousel__badge {
	position: absolute;
	top: 14px;
	left: 14px;
	z-index: 2;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 4px 10px;
	border-radius: 9999px;
	background: rgba(255, 255, 255, 0.92);
	color: #0f172a;
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

.at-image-carousel__overlay-content {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 1.5rem;
	z-index: 2;
	color: #ffffff;
}

.at-image-carousel__content {
	padding: 1rem 0.25rem 0.25rem 0.25rem;
	display: flex;
	flex-direction: column;
}

.at-image-carousel__title {
	font-size: 1.1rem;
	font-weight: 700;
	line-height: 1.35;
	margin: 0 0 0.35rem 0;
	color: var(--at-color-text-title, #0f172a);
}

.at-image-carousel__caption {
	font-size: 0.88rem;
	line-height: 1.5;
	margin: 0;
	color: var(--at-color-text-secondary, #64748b);
}

.at-image-carousel__overlay-content .at-image-carousel__title {
	color: #ffffff;
}

.at-image-carousel__overlay-content .at-image-carousel__caption {
	color: #cbd5e1;
}

/* Aspect ratios for Image Carousel */
.at-image-carousel--aspect-16-9 .at-image-carousel__media {
	aspect-ratio: 16 / 9;
}

.at-image-carousel--aspect-4-3 .at-image-carousel__media {
	aspect-ratio: 4 / 3;
}

.at-image-carousel--aspect-3-2 .at-image-carousel__media {
	aspect-ratio: 3 / 2;
}

.at-image-carousel--aspect-1-1 .at-image-carousel__media {
	aspect-ratio: 1 / 1;
}

.at-image-carousel--aspect-21-9 .at-image-carousel__media {
	aspect-ratio: 21 / 9;
}

/* Preset: Overlay */
.at-image-carousel--overlay .at-image-carousel__overlay-content {
	transform: translateY(6px);
	opacity: 0.92;
	transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.at-image-carousel--overlay .at-image-carousel__item:hover .at-image-carousel__overlay-content {
	transform: translateY(0);
	opacity: 1;
}

/* Preset: Minimal */
.at-image-carousel--minimal .at-image-carousel__item {
	background: transparent;
	border-radius: 8px;
}

.at-image-carousel--minimal .at-image-carousel__media {
	border-radius: 8px;
}

/* Preset: Ticker */
.at-image-carousel--ticker .at-carousel__slide {
	transition: none;
}

.at-image-carousel--ticker .at-image-carousel__item {
	border-radius: 8px;
	border: 1px solid var(--at-border-color, #e2e8f0);
}

/* ==========================================================================
   4. AT Hero Slider
   ========================================================================== */
.at-hero-slider {
	position: relative;
	overflow: hidden;
	width: 100%;
	min-height: 740px;
	display: flex;
	align-items: stretch;
	box-sizing: border-box;
	background-color: #0b0f19;
	color: #ffffff;
}

.at-hero-slider--full-height {
	min-height: 100vh !important;
	height: 100vh !important;
}

.at-hero-slider .at-carousel__viewport {
	width: 100%;
	min-height: inherit;
	height: 100%;
	display: flex;
	position: relative;
	cursor: default;
}

.at-hero-slider .at-carousel__track {
	height: 100%;
	min-height: inherit;
	width: 100%;
	display: flex;
	position: relative;
}

.at-hero-slider__slide {
	position: relative;
	width: 100%;
	min-height: inherit;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	box-sizing: border-box;
	flex: 0 0 100%;
}

/* Background Media & Ken Burns */
.at-hero-slider__bg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
	overflow: hidden;
	pointer-events: none;
	background: radial-gradient(circle at 75% 30%, #1e1b4b 0%, #0f172a 55%, #030712 100%);
}

.at-hero-slider__bg-gradient {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.at-hero-slider__bg-gradient--1 {
	background: radial-gradient(circle at 80% 20%, rgba(99, 102, 241, 0.35) 0%, transparent 65%),
		radial-gradient(circle at 20% 80%, rgba(168, 85, 247, 0.24) 0%, transparent 60%),
		linear-gradient(135deg, #0b0f19 0%, #0f172a 50%, #030712 100%);
}

.at-hero-slider__bg-gradient--2 {
	background: radial-gradient(circle at 75% 25%, rgba(59, 130, 246, 0.35) 0%, transparent 65%),
		radial-gradient(circle at 25% 75%, rgba(16, 185, 129, 0.22) 0%, transparent 60%),
		linear-gradient(135deg, #070e1b 0%, #0b1528 50%, #020617 100%);
}

.at-hero-slider__bg-gradient--3 {
	background: radial-gradient(circle at 80% 30%, rgba(236, 72, 153, 0.30) 0%, transparent 65%),
		radial-gradient(circle at 20% 70%, rgba(99, 102, 241, 0.28) 0%, transparent 60%),
		linear-gradient(135deg, #110c1f 0%, #1a102f 50%, #05040a 100%);
}

.at-hero-slider__bg img,
.at-hero-slider__bg video,
.elementor .at-hero-slider__bg img,
.elementor .at-hero-slider__bg video {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 100% !important;
	min-width: 100% !important;
	min-height: 100% !important;
	max-width: none !important;
	object-fit: cover !important;
	object-position: center center !important;
	display: block !important;
	transform-origin: center center;
}

@keyframes at-hero-ken-burns {
	0% {
		transform: scale(1);
	}

	100% {
		transform: scale(1.12);
	}
}

.at-hero-slider__slide.is-active .at-hero-slider__bg--ken-burns img,
.at-hero-slider__slide.is-active .at-hero-slider__bg--ken-burns video,
.elementor .at-hero-slider__slide.is-active .at-hero-slider__bg--ken-burns img,
.elementor .at-hero-slider__slide.is-active .at-hero-slider__bg--ken-burns video {
	animation: at-hero-ken-burns 12s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}

/* Scrim Gradient */
.at-hero-slider__scrim {
	position: absolute;
	inset: 0;
	z-index: 2;
	pointer-events: none;
	background: linear-gradient(180deg, rgba(10, 15, 29, 0.45) 0%, rgba(10, 15, 29, 0.75) 100%);
}

/* Slide Container & Content */
.at-hero-slider__container {
	position: relative;
	z-index: 3;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding: clamp(2rem, 3.5vh, 3.25rem) 2rem;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
}

.at-hero-slider__content-wrap {
	display: flex;
	flex-direction: column;
	max-width: 900px;
}

/* Alignments */
.at-hero-slider__slide--align-center .at-hero-slider__content-wrap {
	text-align: center;
	align-items: center;
	margin: 0 auto;
}

.at-hero-slider__slide--align-left .at-hero-slider__content-wrap {
	text-align: left;
	align-items: flex-start;
	margin: 0;
}

.at-hero-slider__slide--align-right .at-hero-slider__content-wrap {
	text-align: right;
	align-items: flex-end;
	margin-left: auto;
}

/* Eyebrow / Pre-heading Badge */
.at-hero-slider__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	padding: 8px 18px;
	border-radius: 9999px;
	background: rgba(255, 255, 255, 0.14);
	color: #ffffff;
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border: 1px solid rgba(255, 255, 255, 0.22);
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
	margin-bottom: 1.5rem;
}

/* Headline Title & Highlight */
.at-hero-slider__title {
	font-size: clamp(2rem, 3.8vw, 3.4rem);
	font-weight: 800;
	line-height: 1.16;
	letter-spacing: -0.025em;
	color: #ffffff;
	margin: 0 0 1.25rem 0;
	text-shadow: 0 4px 24px rgba(0, 0, 0, 0.45);
}

.at-hero-slider__highlight {
	--at-highlight-c1: #38bdf8;
	--at-highlight-c2: #2563eb;
	background-image: linear-gradient(135deg, var(--at-highlight-c1, #38bdf8) 0%, var(--at-highlight-c2, #2563eb) 100%) !important;
	-webkit-background-clip: text !important;
	background-clip: text !important;
	-webkit-text-fill-color: transparent !important;
	color: transparent !important;
	text-shadow: none !important;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
	display: inline;
}

/* Lead Description */
.at-hero-slider__desc {
	font-size: clamp(1rem, 1.4vw, 1.18rem);
	line-height: 1.65;
	color: #cbd5e1;
	margin: 0 0 2rem 0;
	text-shadow: 0 2px 12px rgba(0, 0, 0, 0.4);
}

/* Action Buttons */
.at-hero-slider__actions {
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 1.15rem;
}

.at-hero-slider__slide--align-center .at-hero-slider__actions {
	justify-content: center;
}

.at-hero-slider__slide--align-right .at-hero-slider__actions {
	justify-content: flex-end;
}

.at-hero-slider__btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 14px 28px;
	border-radius: 12px;
	font-weight: 600;
	font-size: 1rem;
	text-decoration: none;
	transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
	cursor: pointer;
}

.at-hero-slider__btn--primary {
	background: #2563eb;
	color: #ffffff;
	border: 1px solid #2563eb;
	box-shadow: 0 8px 24px rgba(37, 99, 235, 0.35);
}

.at-hero-slider__btn--primary:hover {
	background: #1d4ed8;
	border-color: #1d4ed8;
	transform: translateY(-2px);
	box-shadow: 0 12px 32px rgba(37, 99, 235, 0.5);
	color: #ffffff;
}

.at-hero-slider__btn--secondary {
	background: rgba(255, 255, 255, 0.12);
	color: #ffffff;
	border: 1px solid rgba(255, 255, 255, 0.25);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}

.at-hero-slider__btn--secondary:hover {
	background: rgba(255, 255, 255, 0.22);
	border-color: rgba(255, 255, 255, 0.45);
	transform: translateY(-2px);
	color: #ffffff;
}

/* Preset 2: Split Content */
.at-hero-slider--split-content .at-hero-slider__container {
	display: grid;
	grid-template-columns: 1.25fr 0.75fr;
	gap: 3.5rem;
	align-items: center;
}

.at-hero-slider__floating-stats {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
	gap: 1rem;
	margin-top: 2.5rem;
}

.at-hero-slider__stat-box {
	background: rgba(15, 23, 42, 0.68);
	border: 1px solid rgba(255, 255, 255, 0.16);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	border-radius: 14px;
	padding: 1rem 1.25rem;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.at-hero-slider__stat-val {
	font-size: 1.35rem;
	font-weight: 800;
	color: #60a5fa;
	font-family: var(--at-font-family-mono, monospace);
}

.at-hero-slider__stat-lbl {
	font-size: 0.78rem;
	color: #94a3b8;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.at-hero-slider__split-card {
	position: relative;
	border-radius: 20px;
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.22);
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.5);
	aspect-ratio: 4/3;
}

.at-hero-slider__split-card img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* Preset 3: Editorial Bottom */
.at-hero-slider--editorial-bottom .at-hero-slider__container {
	margin-top: auto;
	padding-bottom: 6rem;
}

.at-hero-slider--editorial-bottom .at-hero-slider__title {
	font-family: Georgia, serif;
	font-style: italic;
	font-weight: 700;
}

/* Preset 4: Modern Boxed */
.at-hero-slider--modern-boxed .at-hero-slider__content-wrap {
	background: rgba(15, 23, 42, 0.78);
	border: 1px solid rgba(255, 255, 255, 0.18);
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
	border-radius: 24px;
	padding: 3rem 3.5rem;
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.45);
}

/* Preset 6: Full Banner with Boxed Content & Generic Boxed Content Container */
.at-hero-slider--full-banner-boxed .at-hero-slider__container,
.at-hero-slider--boxed-content .at-hero-slider__container {
	display: flex;
	align-items: center;
	width: 100%;
}

.at-hero-slider--full-banner-boxed .at-hero-slider__content-wrap,
.at-hero-slider--boxed-content .at-hero-slider__content-wrap {
	background: rgba(15, 23, 42, 0.82);
	border: 1px solid rgba(255, 255, 255, 0.16);
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
	border-radius: 20px;
	padding: clamp(2rem, 4vw, 3.25rem) clamp(2rem, 4vw, 3.5rem);
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.45), 0 0 0 1px rgba(255, 255, 255, 0.05);
	max-width: 640px;
	width: 100%;
	box-sizing: border-box;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* Box Card Alignments */
.at-hero-slider--box-align-left .at-hero-slider__container {
	justify-content: flex-start;
}

.at-hero-slider--box-align-left .at-hero-slider__content-wrap {
	margin-right: auto;
	margin-left: 0;
}

.at-hero-slider--box-align-center .at-hero-slider__container {
	justify-content: center;
}

.at-hero-slider--box-align-center .at-hero-slider__content-wrap {
	margin-left: auto;
	margin-right: auto;
}

.at-hero-slider--box-align-right .at-hero-slider__container {
	justify-content: flex-end;
}

.at-hero-slider--box-align-right .at-hero-slider__content-wrap {
	margin-left: auto;
	margin-right: 0;
}

/* Preset 5: Stats Strip */
.at-hero-slider__bottom-strip {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	z-index: 5;
	background: rgba(10, 15, 29, 0.88);
	border-top: 1px solid rgba(255, 255, 255, 0.12);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	padding: 1.25rem 2rem;
	box-sizing: border-box;
}

.at-hero-slider__bottom-strip-inner {
	max-width: 1100px;
	margin: 0 auto;
	display: flex;
	justify-content: space-around;
	align-items: center;
	gap: 2rem;
	flex-wrap: wrap;
}

.at-hero-slider__strip-col {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2px;
	text-align: center;
}

.at-hero-slider__strip-val {
	font-size: 1.35rem;
	font-weight: 800;
	color: #ffffff;
}

.at-hero-slider__strip-lbl {
	font-size: 0.78rem;
	color: #94a3b8;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

/* Navigation Overlays */
.at-hero-slider__fraction {
	position: absolute;
	bottom: 30px;
	right: 40px;
	z-index: 12;
	background: rgba(15, 23, 42, 0.7);
	padding: 8px 18px;
	border-radius: 9999px;
	border: 1px solid rgba(255, 255, 255, 0.2);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}

.at-hero-slider__dots {
	position: absolute;
	bottom: 30px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 12;
	margin: 0;
}

.at-hero-slider.at-carousel--arrows-bottom-right .at-carousel__arrows {
	position: absolute;
	bottom: 30px;
	right: 40px;
	z-index: 12;
	display: flex;
	gap: 10px;
	margin: 0;
}

.at-hero-slider.at-carousel--arrows-bottom-right .at-carousel__arrow {
	position: static;
	transform: none;
}

.at-hero-slider.at-carousel--arrows-bottom-center .at-carousel__arrows {
	position: absolute;
	bottom: 30px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 12;
	display: flex;
	gap: 12px;
	margin: 0;
}

.at-hero-slider.at-carousel--arrows-bottom-center .at-carousel__arrow {
	position: static;
	transform: none;
}

/* Responsive Adjustments */
@media (max-width: 991px) {
	.at-hero-slider--split-content .at-hero-slider__container {
		grid-template-columns: 1fr;
		gap: 2rem;
	}

	.at-hero-slider__split-visual {
		display: none;
	}

	.at-hero-slider--modern-boxed .at-hero-slider__content-wrap {
		padding: 2.25rem 2rem;
	}
}

@media (max-width: 767px) {
	.at-hero-slider__container {
		padding: 3.5rem 1.25rem;
	}

	.at-hero-slider--full-banner-boxed .at-hero-slider__content-wrap,
	.at-hero-slider--boxed-content .at-hero-slider__content-wrap {
		padding: 2rem 1.5rem !important;
		border-radius: 16px !important;
	}

	.at-hero-slider__title {
		font-size: 2.2rem;
	}

	.at-hero-slider__fraction {
		bottom: 18px;
		right: 18px;
	}

	.at-hero-slider__dots {
		bottom: 18px;
	}

	.at-hero-slider.at-carousel--arrows-bottom-right .at-carousel__arrows {
		bottom: 18px;
		right: 18px;
	}
}

/* ==========================================================================
   AT HERO SLIDER — GSAP CREATIVE MOTION & IMMERSIVE STYLES
   ========================================================================== */

/* GSAP Mode Root & Perspective */
.at-hero-slider--gsap {
	perspective: 1200px;
	background-color: #070913;
	color: #ffffff;
}

.at-hero-slider--gsap .at-carousel__viewport {
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 100%;
	min-height: inherit;
}

.at-hero-slider--gsap .at-carousel__track {
	position: relative;
	width: 100%;
	height: 100%;
	min-height: inherit;
	display: block;
}

.at-hero-slider--gsap .at-hero-slider__slide {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: none !important;
}

/* First slide and active slide are visible by default */
.at-hero-slider--gsap .at-hero-slider__slide:first-child,
.at-hero-slider--gsap .at-hero-slider__slide.is-active {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	z-index: 2;
}

/* Fixed & Ambient Background Canvas */
.at-hero-slider__fixed-canvas {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
	overflow: hidden;
	pointer-events: none;
}

.at-hero-slider__fixed-bg-item {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center center;
	opacity: 0;
	transform-origin: center center;
	transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1);
	will-change: opacity, transform;
}

.at-hero-slider__fixed-bg-item.is-active {
	opacity: 1;
	z-index: 1;
}

.at-hero-slider__fixed-scrim {
	position: absolute;
	inset: 0;
	z-index: 2;
	background: radial-gradient(circle at 60% 40%, rgba(10, 15, 29, 0.4) 0%, rgba(10, 15, 29, 0.85) 100%),
		linear-gradient(180deg, rgba(10, 15, 29, 0.3) 0%, rgba(10, 15, 29, 0.95) 100%);
}

/* Ambient Mesh Mode */
.at-hero-slider--bg-ambient-mesh {
	background: #070913;
}

.at-hero-slider__mesh-orb {
	position: absolute;
	border-radius: 50%;
	filter: blur(90px);
	opacity: 0.45;
	pointer-events: none;
	will-change: transform;
}

.at-hero-slider__mesh-orb--1 {
	width: 600px;
	height: 600px;
	top: -10%;
	right: 10%;
	background: radial-gradient(circle, #6366f1 0%, rgba(99, 102, 241, 0) 70%);
	animation: at-mesh-float-1 16s ease-in-out infinite alternate;
}

.at-hero-slider__mesh-orb--2 {
	width: 500px;
	height: 500px;
	bottom: -10%;
	left: 5%;
	background: radial-gradient(circle, #ec4899 0%, rgba(236, 72, 153, 0) 70%);
	animation: at-mesh-float-2 20s ease-in-out infinite alternate;
}

.at-hero-slider__mesh-grid {
	position: absolute;
	inset: 0;
	background-size: 40px 40px;
	background-image:
		linear-gradient(to right, rgba(255, 255, 255, 0.03) 1px, transparent 1px),
		linear-gradient(to bottom, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
	mask-image: radial-gradient(circle at center, black 40%, transparent 85%);
	-webkit-mask-image: radial-gradient(circle at center, black 40%, transparent 85%);
}

@keyframes at-mesh-float-1 {
	0% {
		transform: translate(0, 0) scale(1);
	}

	50% {
		transform: translate(-80px, 60px) scale(1.15);
	}

	100% {
		transform: translate(40px, -40px) scale(0.9);
	}
}

@keyframes at-mesh-float-2 {
	0% {
		transform: translate(0, 0) scale(1);
	}

	50% {
		transform: translate(60px, -70px) scale(1.2);
	}

	100% {
		transform: translate(-50px, 30px) scale(0.95);
	}
}

/* Visual Media & Content Placement Layouts */
.at-hero-slider--visual-right .at-hero-slider__slide--has-visual .at-hero-slider__container,
.at-hero-slider--visual-left .at-hero-slider__slide--has-visual .at-hero-slider__container {
	display: grid;
	grid-template-columns: 1.15fr 0.85fr;
	align-items: center;
	gap: 4rem;
	width: 100%;
}

.at-hero-slider--visual-left .at-hero-slider__slide--has-visual .at-hero-slider__container {
	grid-template-columns: 0.85fr 1.15fr;
}

@media (max-width: 991px) {

	.at-hero-slider--visual-right .at-hero-slider__slide--has-visual .at-hero-slider__container,
	.at-hero-slider--visual-left .at-hero-slider__slide--has-visual .at-hero-slider__container,
	.at-hero-slider__slide--has-visual .at-hero-slider__container {
		display: flex !important;
		flex-direction: column !important;
		grid-template-columns: 1fr !important;
		align-items: flex-start !important;
		gap: 1.5rem !important;
		width: 100% !important;
	}
}

.at-hero-slider--visual-left .at-hero-slider__content-wrap {
	order: 2;
}

.at-hero-slider--visual-left .at-hero-slider__visual-wrap {
	order: 1;
}

.at-hero-slider--visual-center-card .at-hero-slider__container {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 2.5rem;
}

.at-hero-slider--visual-center-card .at-hero-slider__visual-wrap {
	width: 100%;
	max-width: 680px;
}

/* Visual Card Styles */
.at-hero-slider__visual-wrap {
	position: relative;
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	transform-style: preserve-3d;
}

.at-hero-slider__visual-card {
	position: relative;
	width: 100%;
	max-width: 520px;
	aspect-ratio: var(--at-hero-card-ratio, 4/3);
	border-radius: 20px;
	background: rgba(17, 24, 39, 0.6);
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
	border: 1px solid rgba(255, 255, 255, 0.12);
	box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(255, 255, 255, 0.05);
	overflow: hidden;
	will-change: transform, opacity;
}

.at-hero-slider__visual-card-inner {
	position: relative;
	width: 100%;
	height: 100%;
}

.elementor .at-hero-slider__visual-card img,
.elementor .at-hero-slider__split-card img,
.at-hero-slider__visual-card img,
.at-hero-slider__split-card img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	border-radius: inherit;
}

.at-hero-slider__visual-badge {
	position: absolute;
	top: 18px;
	left: 18px;
	z-index: 4;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px 14px;
	border-radius: 9999px;
	background: rgba(10, 15, 29, 0.75);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	border: 1px solid rgba(255, 255, 255, 0.15);
	color: #ffffff;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

.at-hero-slider__badge-dot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background-color: #10b981;
	box-shadow: 0 0 8px #10b981;
	animation: at-hero-pulse 2s infinite;
}

@keyframes at-hero-pulse {
	0% {
		opacity: 1;
		transform: scale(1);
	}

	50% {
		opacity: 0.5;
		transform: scale(0.85);
	}

	100% {
		opacity: 1;
		transform: scale(1);
	}
}

/* Floating Glassmorphism Preset Polish */
.at-hero-slider--gsap-floating-glass .at-hero-slider__visual-card {
	background: rgba(255, 255, 255, 0.06);
	backdrop-filter: blur(28px);
	-webkit-backdrop-filter: blur(28px);
	border: 1px solid rgba(255, 255, 255, 0.2);
	box-shadow: 0 30px 60px rgba(0, 0, 0, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.25);
}

/* Responsive Overrides for GSAP Visual Placements */
@media (max-width: 991px) {

	.at-hero-slider--visual-right .at-hero-slider__container,
	.at-hero-slider--visual-left .at-hero-slider__container {
		grid-template-columns: 1fr;
		gap: 2.5rem;
	}

	.at-hero-slider--visual-left .at-hero-slider__content-wrap {
		order: 1;
	}

	.at-hero-slider--visual-left .at-hero-slider__visual-wrap {
		order: 2;
	}

	.at-hero-slider__visual-card {
		max-width: 100%;
	}
}

/* ==========================================================================
   AT Map Widget Styles (Global Color System Tokens)
   ========================================================================== */
.at-map {
	position: relative;
	width: 100%;
	box-sizing: border-box;
}

.at-map__container {
	position: relative;
	overflow: hidden;
	width: 100%;
	border-radius: var(--at-radius-xl, 16px);
	box-shadow: var(--at-shadow-lg, 0 20px 45px rgba(0, 0, 0, 0.08));
	background-color: var(--at-color-surface, #f8fafc);
	border: 1px solid var(--at-color-border, #e2e8f0);
}

.at-map__iframe-wrapper {
	position: relative;
	width: 100%;
	height: 480px;
	overflow: hidden;
	border-radius: inherit;
}

.at-map__iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 0;
	display: block;
	transition: filter 0.35s ease;
}

/* Map Theme Filters */
.at-map--theme-dark .at-map__iframe {
	filter: invert(90%) hue-rotate(180deg) contrast(110%);
}

.at-map--theme-night-blue .at-map__iframe {
	filter: invert(92%) hue-rotate(200deg) saturate(140%) contrast(115%);
}

.at-map--theme-silver .at-map__iframe {
	filter: grayscale(100%) contrast(92%) brightness(105%);
}

.at-map--theme-sepia .at-map__iframe {
	filter: sepia(45%) contrast(105%) saturate(90%);
}

/* Prevent Scroll Shield */
.at-map--prevent-scroll .at-map__overlay-shield {
	position: absolute;
	inset: 0;
	z-index: 5;
	background: transparent;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: opacity 0.3s ease;
}

.at-map__overlay-hint {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 16px;
	background: var(--at-color-secondary, #0f172a);
	color: #ffffff;
	font-size: 0.8125rem;
	font-weight: 500;
	border-radius: 9999px;
	border: 1px solid var(--at-color-border, rgba(255, 255, 255, 0.15));
	box-shadow: var(--at-shadow-md, 0 8px 20px rgba(0, 0, 0, 0.25));
	opacity: 0;
	transform: translateY(6px);
	transition: opacity 0.25s ease, transform 0.25s ease;
	pointer-events: none;
}

.at-map--prevent-scroll:hover .at-map__overlay-hint {
	opacity: 0.95;
	transform: translateY(0);
}

.at-map--active-scroll .at-map__overlay-shield {
	display: none;
}

/* Location Switcher Tabs (Top bar) */
.at-map-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 24px;
	align-items: center;
}

.at-map-tab {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 10px 20px;
	border-radius: 9999px;
	font-size: 0.9375rem;
	font-weight: 600;
	border: 1px solid var(--at-color-border, #e2e8f0);
	background: var(--at-color-card-bg, #ffffff);
	color: var(--at-color-text, #334155);
	cursor: pointer;
	transition: all 0.25s cubic-bezier(0.2, 0.8, 0.2, 1);
	outline: none;
	user-select: none;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.at-map-tab:hover {
	background: var(--at-color-surface, #f8fafc);
	color: var(--at-color-heading, #0f172a);
	border-color: var(--at-color-primary, #087f8c);
	transform: translateY(-1px);
}

.at-map-tab__dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--at-color-border, #cbd5e1);
	transition: background 0.25s ease, transform 0.25s ease;
}

.at-map-tab--active {
	background: var(--at-color-primary, #087f8c) !important;
	color: #ffffff !important;
	border-color: var(--at-color-primary, #087f8c) !important;
	box-shadow: 0 4px 18px var(--at-color-primary-light, rgba(8, 127, 140, 0.35));
}

.at-map-tab--active .at-map-tab__dot {
	background: #ffffff;
	transform: scale(1.25);
}

.at-map-tab__badge {
	font-size: 0.75rem;
	font-weight: 600;
	padding: 2px 8px;
	border-radius: 9999px;
	background: rgba(255, 255, 255, 0.2);
	color: inherit;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.at-map-tab:not(.at-map-tab--active) .at-map-tab__badge {
	background: var(--at-color-surface, #f1f5f9);
	color: var(--at-color-muted, #64748b);
}

/* Floating Info Card Overlay */
.at-map-card {
	position: absolute;
	z-index: 10;
	width: 360px;
	max-width: calc(100% - 40px);
	padding: 24px;
	box-sizing: border-box;
	border-radius: var(--at-radius-lg, 14px);
	pointer-events: auto;
	transition: transform 0.3s ease, opacity 0.3s ease;
}

.at-map-card--top-left {
	top: 24px;
	left: 24px;
}

.at-map-card--top-right {
	top: 24px;
	right: 24px;
}

.at-map-card--bottom-left {
	bottom: 24px;
	left: 24px;
}

.at-map-card--bottom-right {
	bottom: 24px;
	right: 24px;
}

/* Card Styles */
.at-map-card--glassmorphic {
	background: rgba(255, 255, 255, 0.94);
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
	border: 1px solid var(--at-color-border, #e2e8f0);
	box-shadow: var(--at-shadow-lg, 0 20px 40px rgba(0, 0, 0, 0.12));
}

.at-map-card--dark {
	background: var(--at-color-secondary, #0f172a);
	border: 1px solid rgba(255, 255, 255, 0.1);
	box-shadow: 0 24px 50px rgba(0, 0, 0, 0.5);
}

.at-map-card--dark .at-map-card__title {
	color: #ffffff;
}

.at-map-card--dark .at-map-card__address,
.at-map-card--dark .at-map-card__item-text {
	color: #cbd5e1;
}

.at-map-card--light {
	background: var(--at-color-card-bg, #ffffff);
	border: 1px solid var(--at-color-border, #e2e8f0);
	box-shadow: var(--at-shadow-md, 0 10px 30px rgba(0, 0, 0, 0.08));
}

.at-map-card--light .at-map-card__title {
	color: var(--at-color-heading, #0f172a);
}

.at-map-card--light .at-map-card__address,
.at-map-card--light .at-map-card__item-text {
	color: var(--at-color-text, #334155);
}

/* Multi-location switching inside card */
.at-map-card__content {
	display: none;
	animation: at-map-fade-in 0.3s ease;
}

.at-map-card__content--active {
	display: block;
}

@keyframes at-map-fade-in {
	from {
		opacity: 0;
		transform: translateY(6px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.at-map-card__header {
	margin-bottom: 14px;
}

.at-map-card__meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	flex-wrap: wrap;
}

.at-map-card__title {
	margin: 0;
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--at-color-heading, #0f172a);
	line-height: 1.3;
}

.at-map-card__badge {
	display: inline-block;
	font-size: 0.725rem;
	font-weight: 600;
	padding: 2px 10px;
	border-radius: 9999px;
	border: 1px solid var(--at-color-primary, #087f8c);
	color: var(--at-color-primary, #087f8c);
	background: var(--at-color-primary-light, rgba(8, 127, 140, 0.1));
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.at-map-card__address {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: 0.9375rem;
	line-height: 1.5;
	color: var(--at-color-text, #334155);
	margin: 0 0 16px 0;
}

.at-map-card__details {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-bottom: 18px;
}

.at-map-card__item {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 0.875rem;
	color: var(--at-color-muted, #64748b);
}

.at-map-card__item-icon {
	color: var(--at-color-primary, #087f8c);
	width: 16px;
	text-align: center;
	flex-shrink: 0;
}

.at-map-card__item-text {
	color: var(--at-color-muted, #64748b);
	text-decoration: none;
	transition: color 0.2s ease;
}

.at-map-card__item-text:hover {
	color: var(--at-color-primary, #087f8c);
}

.at-map-card__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	padding: 11px 20px;
	border-radius: var(--at-radius-md, 8px);
	background: var(--at-color-primary, #087f8c);
	color: #ffffff;
	font-size: 0.9375rem;
	font-weight: 700;
	text-decoration: none;
	border: none;
	cursor: pointer;
	box-sizing: border-box;
	transition: all 0.25s ease;
	box-shadow: 0 4px 15px var(--at-color-primary-light, rgba(8, 127, 140, 0.3));
}

.at-map-card__btn:hover {
	background: var(--at-color-primary-dark, #2a9d8f);
	color: #ffffff;
	transform: translateY(-2px);
	box-shadow: 0 8px 24px var(--at-color-primary-light, rgba(8, 127, 140, 0.45));
}

/* Split Preset Layout */
.at-map--split .at-map__container {
	display: grid;
	grid-template-columns: 380px 1fr;
	gap: 0;
	background: var(--at-color-surface, #f8fafc);
}

.at-map__sidebar {
	padding: 24px;
	background: var(--at-color-surface, #f8fafc);
	border-right: 1px solid var(--at-color-border, #e2e8f0);
	display: flex;
	flex-direction: column;
	gap: 16px;
	overflow-y: auto;
	max-height: 480px;
}

.at-map-sidebar-card {
	padding: 18px;
	border-radius: var(--at-radius-md, 12px);
	background: var(--at-color-card-bg, #ffffff);
	border: 1px solid var(--at-color-border, #e2e8f0);
	cursor: pointer;
	transition: all 0.25s ease;
}

.at-map-sidebar-card:hover {
	background: var(--at-color-surface, #f8fafc);
	border-color: var(--at-color-primary, #087f8c);
}

.at-map-sidebar-card--active {
	background: var(--at-color-primary-light, rgba(8, 127, 140, 0.08)) !important;
	border-color: var(--at-color-primary, #087f8c) !important;
	box-shadow: 0 0 20px var(--at-color-primary-light, rgba(8, 127, 140, 0.2));
}

.at-map-sidebar-card__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 8px;
}

.at-map-sidebar-card__title {
	margin: 0;
	font-size: 1.1rem;
	font-weight: 700;
	color: var(--at-color-heading, #0f172a);
}

.at-map-sidebar-card__footer {
	margin-top: 14px;
}

/* Minimal Preset */
.at-map--minimal .at-map__container {
	border-radius: 0;
	box-shadow: none;
}

/* Mobile & Tablet Responsiveness */
@media (max-width: 991px) {
	.at-map--split .at-map__container {
		grid-template-columns: 1fr;
	}

	.at-map__sidebar {
		border-right: none;
		border-bottom: 1px solid var(--at-color-border, #e2e8f0);
		max-height: none;
	}

	.at-map-card {
		position: static;
		width: 100%;
		max-width: 100%;
		border-radius: 0;
		border-left: none;
		border-right: none;
		border-bottom: none;
	}

	.at-map__iframe-wrapper {
		height: 380px;
	}
}

@media (max-width: 640px) {
	.at-map-tabs {
		flex-direction: column;
		align-items: stretch;
	}

	.at-map-tab {
		justify-content: center;
	}

	.at-map__iframe-wrapper {
		height: 320px;
	}
}

/* ==========================================================================
   AT Inner Page Hero Banner (.at-inner-hero)
   ========================================================================== */
.at-inner-hero {
	position: relative;
	width: 100%;
	overflow: hidden;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	padding: var(--at-space-3xl, 5rem) var(--at-space-lg, 1.5rem);
	background-color: var(--at-color-surface, #f8fafc);
	color: var(--at-color-text, #334155);
}

.at-inner-hero__container {
	width: 100%;
	max-width: 1280px;
	margin: 0 auto;
	box-sizing: border-box;
}

.at-inner-hero__inner {
	display: flex;
	align-items: center;
	width: 100%;
}

.at-inner-hero__content {
	width: 100%;
	display: flex;
	flex-direction: column;
}

/* Eyebrow Badge */
.at-inner-hero__badge-wrap {
	margin-bottom: 1.25rem;
}

.at-inner-hero__badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px 16px;
	border-radius: var(--at-radius-pill, 9999px);
	background: var(--at-color-primary-light, rgba(8, 127, 140, 0.1));
	color: var(--at-color-primary, #087f8c);
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	border: 1px solid rgba(8, 127, 140, 0.2);
}

.at-inner-hero__badge-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 0.9em;
}

/* Title */
.at-inner-hero__title {
	margin: 0 0 1rem 0;
	font-family: var(--at-font-heading, inherit);
	font-size: clamp(2.25rem, 4vw, 3.5rem);
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: -0.025em;
	color: var(--at-color-heading, #0f172a);
}

/* Subtitle */
.at-inner-hero__subtitle {
	margin: 0 0 1.5rem 0;
	font-family: var(--at-font-body, inherit);
	font-size: clamp(1rem, 1.3vw, 1.15rem);
	line-height: 1.65;
	color: var(--at-color-text, #475569);
	max-width: 780px;
}

/* Breadcrumbs */
.at-inner-hero__breadcrumbs {
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	font-size: 0.9rem;
	font-weight: 500;
	margin-bottom: 1.75rem;
}

.at-inner-hero__crumb {
	color: var(--at-color-muted, #64748b);
	text-decoration: none;
	transition: color 0.2s ease;
}

.at-inner-hero__crumb:hover {
	color: var(--at-color-primary, #087f8c);
	text-decoration: underline;
}

.at-inner-hero__crumb.is-current {
	color: var(--at-color-heading, #0f172a);
	font-weight: 600;
	pointer-events: none;
}

.at-inner-hero__sep {
	color: var(--at-color-border, #cbd5e1);
	font-size: 0.85em;
}

/* Action CTAs */
.at-inner-hero__actions {
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 1rem;
	margin-top: 0.5rem;
}

.at-inner-hero .at-button--solid-primary {
	background-color: var(--at-color-primary, #087f8c) !important;
	border-color: var(--at-color-primary, #087f8c) !important;
	color: #ffffff !important;
}

.at-inner-hero .at-button--solid-primary:hover {
	background-color: var(--at-color-primary-dark, #2a9d8f) !important;
	border-color: var(--at-color-primary-dark, #2a9d8f) !important;
	color: #ffffff !important;
}

.at-inner-hero .at-button--outline {
	background-color: transparent !important;
	border-color: var(--at-color-primary, #087f8c) !important;
	color: var(--at-color-primary, #087f8c) !important;
}

.at-inner-hero .at-button--outline:hover {
	background-color: var(--at-color-primary, #087f8c) !important;
	border-color: var(--at-color-primary, #087f8c) !important;
	color: #ffffff !important;
}

/* --------------------------------------------------------------------------
   PRESET 1: Centered (Default)
   -------------------------------------------------------------------------- */
.at-inner-hero--centered .at-inner-hero__content {
	align-items: center;
	text-align: center;
}

.at-inner-hero--centered .at-inner-hero__subtitle {
	margin-left: auto;
	margin-right: auto;
}

.at-inner-hero--centered .at-inner-hero__breadcrumbs,
.at-inner-hero--centered .at-inner-hero__actions {
	justify-content: center;
}

/* --------------------------------------------------------------------------
   PRESET 2: Split (Content Left, Feature Image Right)
   -------------------------------------------------------------------------- */
.at-inner-hero--split .at-inner-hero__inner {
	display: grid;
	grid-template-columns: 1.15fr 0.85fr;
	gap: 3.5rem;
	align-items: center;
}

.at-inner-hero--split.at-inner-hero--media-left .at-inner-hero__inner {
	grid-template-columns: 0.85fr 1.15fr;
}

.at-inner-hero--split.at-inner-hero--media-left .at-inner-hero__content {
	order: 2;
}

.at-inner-hero--split.at-inner-hero--media-left .at-inner-hero__media {
	order: 1;
}

.at-inner-hero__media {
	width: 100%;
}

.at-inner-hero__media-inner {
	width: 100%;
	border-radius: var(--at-radius-xl, 16px);
	overflow: hidden;
	box-shadow: var(--at-shadow-floating, 0 20px 40px -10px rgba(0, 0, 0, 0.12));
	border: 1px solid var(--at-color-border, #e2e8f0);
}

.at-inner-hero__image {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
	aspect-ratio: 16 / 10;
}

/* --------------------------------------------------------------------------
   PRESET 3: Minimal (Streamlined, Compact)
   -------------------------------------------------------------------------- */
.at-inner-hero--minimal {
	padding: var(--at-space-xl, 3rem) var(--at-space-lg, 1.5rem);
	background: transparent;
	border-bottom: 1px solid var(--at-color-border, #e2e8f0);
}

.at-inner-hero--minimal .at-inner-hero__title {
	font-size: clamp(2rem, 3.2vw, 2.75rem);
	margin-bottom: 0.75rem;
}

.at-inner-hero--minimal .at-inner-hero__breadcrumbs {
	margin-bottom: 0;
}

/* --------------------------------------------------------------------------
   PRESET 4: Modern Card (Elevated Floating Box)
   -------------------------------------------------------------------------- */
.at-inner-hero--modern-card {
	padding: var(--at-space-4xl, 6rem) var(--at-space-lg, 1.5rem);
	background: var(--at-color-surface, #f8fafc);
}

.at-inner-hero--modern-card .at-inner-hero__container {
	background: var(--at-color-card-bg, #ffffff);
	border: 1px solid var(--at-color-border, #e2e8f0);
	border-radius: var(--at-radius-xl, 24px);
	padding: clamp(2.5rem, 5vw, 4.5rem) clamp(2rem, 4vw, 4rem);
	box-shadow: 0 25px 60px -15px rgba(15, 23, 42, 0.08);
}

/* --------------------------------------------------------------------------
   PRESET 5: Brand Gradient
   -------------------------------------------------------------------------- */
.at-inner-hero--gradient-brand {
	background: linear-gradient(135deg, var(--at-color-primary, #087f8c) 0%, var(--at-color-secondary, #0f172a) 100%);
	color: #ffffff;
}

.at-inner-hero--gradient-brand .at-inner-hero__title {
	color: #ffffff;
}

.at-inner-hero--gradient-brand .at-inner-hero__subtitle {
	color: rgba(255, 255, 255, 0.88);
}

.at-inner-hero--gradient-brand .at-inner-hero__badge {
	background: rgba(255, 255, 255, 0.15);
	color: #ffffff;
	border-color: rgba(255, 255, 255, 0.3);
}

.at-inner-hero--gradient-brand .at-inner-hero__crumb {
	color: rgba(255, 255, 255, 0.7);
}

.at-inner-hero--gradient-brand .at-inner-hero__crumb:hover {
	color: #ffffff;
}

.at-inner-hero--gradient-brand .at-inner-hero__crumb.is-current {
	color: #ffffff;
}

.at-inner-hero--gradient-brand .at-inner-hero__sep {
	color: rgba(255, 255, 255, 0.4);
}

.at-inner-hero--gradient-brand .at-button--outline {
	border-color: rgba(255, 255, 255, 0.6);
	color: #ffffff;
}

.at-inner-hero--gradient-brand .at-button--outline:hover {
	background-color: #ffffff;
	color: var(--at-color-secondary, #0f172a);
	border-color: #ffffff;
}

/* Responsive Overrides */
@media (max-width: 991px) {

	.at-inner-hero--split .at-inner-hero__inner,
	.at-inner-hero--split.at-inner-hero--media-left .at-inner-hero__inner {
		grid-template-columns: 1fr;
		gap: 2.5rem;
	}

	.at-inner-hero--split.at-inner-hero--media-left .at-inner-hero__content {
		order: 1;
	}

	.at-inner-hero--split.at-inner-hero--media-left .at-inner-hero__media {
		order: 2;
	}
}

/* ==========================================================================
   GLOBAL CREATIVE & COMPONENT RESPONSIVE FIXES (MOBILE & TABLET)
   ========================================================================== */

/* 1. Hero Slider Boxed & Split Visual on Mobile */
@media (max-width: 991px) {

	.at-hero-slider .at-hero-slider__container,
	.at-hero-slider .at-hero-slider__slide--has-visual .at-hero-slider__container,
	.at-hero-slider--visual-right .at-hero-slider__slide--has-visual .at-hero-slider__container,
	.at-hero-slider--visual-left .at-hero-slider__slide--has-visual .at-hero-slider__container,
	.at-hero-slider__slide--has-visual .at-hero-slider__container,
	.at-hero-slider--full-banner-boxed .at-hero-slider__container,
	.at-hero-slider--boxed-content .at-hero-slider__container {
		display: flex !important;
		flex-direction: column !important;
		grid-template-columns: 1fr !important;
		align-items: flex-start !important;
		justify-content: center !important;
		width: 100% !important;
		max-width: 100% !important;
		padding: 3rem 1.25rem 5rem !important;
		gap: 1.5rem !important;
		box-sizing: border-box !important;
	}

	.at-hero-slider .at-hero-slider__content-wrap,
	.at-hero-slider .at-hero-slider__slide--has-visual .at-hero-slider__content-wrap,
	.at-hero-slider--visual-right .at-hero-slider__slide--has-visual .at-hero-slider__content-wrap,
	.at-hero-slider--visual-left .at-hero-slider__slide--has-visual .at-hero-slider__content-wrap,
	.at-hero-slider__slide--has-visual .at-hero-slider__content-wrap,
	.at-hero-slider--full-banner-boxed .at-hero-slider__content-wrap,
	.at-hero-slider--boxed-content .at-hero-slider__content-wrap {
		max-width: 100% !important;
		width: 100% !important;
		margin: 0 !important;
		box-sizing: border-box !important;
	}

	/* Prevent side-by-side squishing of visual card into a 20px sliver */
	.at-hero-slider .at-hero-slider__visual-wrap,
	.at-hero-slider .at-hero-slider__split-visual,
	.at-hero-slider--visual-right .at-hero-slider__visual-wrap,
	.at-hero-slider--visual-left .at-hero-slider__visual-wrap,
	.at-hero-slider--full-banner-boxed .at-hero-slider__visual-wrap,
	.at-hero-slider--boxed-content .at-hero-slider__visual-wrap,
	.at-hero-slider--full-banner-boxed .at-hero-slider__split-visual,
	.at-hero-slider--boxed-content .at-hero-slider__split-visual {
		display: none !important;
	}
}

@media (max-width: 767px) {
	.at-hero-slider {
		min-height: 620px !important;
		height: auto !important;
	}

	.at-hero-slider .at-carousel__viewport {
		min-height: 620px !important;
	}

	.at-hero-slider--full-banner-boxed .at-hero-slider__container,
	.at-hero-slider--boxed-content .at-hero-slider__container {
		padding: 2.5rem 1rem 4.5rem !important;
	}

	.at-hero-slider--full-banner-boxed .at-hero-slider__content-wrap,
	.at-hero-slider--boxed-content .at-hero-slider__content-wrap {
		padding: 1.75rem 1.25rem !important;
		border-radius: 16px !important;
	}

	.at-hero-slider__title {
		font-size: clamp(1.65rem, 6.2vw, 2.25rem) !important;
		line-height: 1.2 !important;
		margin-bottom: 0.75rem !important;
		word-break: break-word !important;
	}

	.at-hero-slider__eyebrow {
		font-size: 0.72rem !important;
		padding: 4px 10px !important;
		letter-spacing: 0.08em !important;
		margin-bottom: 0.75rem !important;
	}

	.at-hero-slider__desc {
		font-size: 0.92rem !important;
		line-height: 1.55 !important;
		margin-bottom: 1.25rem !important;
	}

	.at-hero-slider__actions {
		display: flex !important;
		flex-direction: column !important;
		width: 100% !important;
		gap: 10px !important;
	}

	.at-hero-slider__btn {
		width: 100% !important;
		display: flex !important;
		justify-content: center !important;
		text-align: center !important;
		padding: 12px 18px !important;
		font-size: 0.92rem !important;
		box-sizing: border-box !important;
	}

	/* Hero Controls */
	.at-hero-slider.at-carousel--arrows-bottom-right .at-carousel__arrows {
		bottom: 14px !important;
		right: 14px !important;
		z-index: 15 !important;
		gap: 6px !important;
	}

	.at-hero-slider.at-carousel--arrows-bottom-right .at-carousel__arrow {
		width: 36px !important;
		height: 36px !important;
	}

	.at-hero-slider__dots {
		bottom: 22px !important;
		left: 14px !important;
		transform: none !important;
		z-index: 15 !important;
	}
}

/* 2. CTA Banner (Floating pill preset responsive fix on mobile) */
@media (max-width: 991px) {
	.at-cta-banner--floating {
		border-radius: 24px !important;
		padding: 28px 24px !important;
	}
}

@media (max-width: 767px) {

	.at-cta-banner,
	.at-cta-banner--floating {
		border-radius: 20px !important;
		padding: 24px 18px !important;
		box-sizing: border-box !important;
		width: 100% !important;
	}

	.at-cta-banner__inner {
		flex-direction: column !important;
		align-items: stretch !important;
		gap: 18px !important;
	}

	.at-cta-banner__content {
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 12px !important;
		width: 100% !important;
	}

	.at-cta-banner__badge {
		margin-bottom: 4px;
	}

	.at-cta-banner__text-wrap {
		width: 100% !important;
	}

	.at-cta-banner__msg {
		font-size: 1.25rem !important;
		line-height: 1.35 !important;
		margin-bottom: 6px !important;
		word-break: break-word !important;
	}

	.at-cta-banner__sub {
		font-size: 0.92rem !important;
		line-height: 1.55 !important;
		max-width: 100% !important;
		color: #475569 !important;
	}

	.at-cta-banner__actions {
		width: 100% !important;
		flex-direction: column !important;
		align-items: stretch !important;
		margin-top: 4px !important;
	}

	.at-cta-banner__actions .at-button,
	.at-cta-banner__actions a,
	.at-cta-banner__btn {
		width: 100% !important;
		display: flex !important;
		justify-content: center !important;
		text-align: center !important;
		padding: 12px 20px !important;
		box-sizing: border-box !important;
	}
}

/* 3. Header Navigation & Premium Mobile Drawer System */
.at-header__drawer-header,
.at-header__drawer-actions {
	display: none !important;
}

.at-header .at-header__menu,
.at-header--immersive .at-header__menu {
	display: flex !important;
	align-items: center !important;
	flex-wrap: nowrap !important;
	gap: 24px !important;
}

.at-header .at-header__menu-item,
.at-header--immersive .at-header__menu-item {
	white-space: nowrap !important;
	flex-shrink: 0 !important;
	position: relative !important;
}

.at-header .at-header__nav-link,
.at-header--immersive .at-header__nav-link {
	white-space: nowrap !important;
	display: inline-flex !important;
	align-items: center !important;
}

@media (max-width: 1024px) {

	/* Hide hamburger when drawer is open so there is NEVER a double close icon */
	.at-header--drawer-open .at-header__mobile-toggle {
		display: none !important;
		opacity: 0 !important;
		visibility: hidden !important;
		pointer-events: none !important;
	}

	/* Dark dimmed backdrop when drawer is open */
	.at-header--drawer-open .at-header__backdrop {
		display: block !important;
		position: fixed !important;
		top: 0 !important;
		left: 0 !important;
		right: 0 !important;
		bottom: 0 !important;
		width: 100vw !important;
		height: 100vh !important;
		background: rgba(0, 0, 0, 0.65) !important;
		backdrop-filter: blur(4px) !important;
		-webkit-backdrop-filter: blur(4px) !important;
		z-index: 999990 !important;
		opacity: 1 !important;
		visibility: visible !important;
		pointer-events: auto !important;
		transition: opacity 0.35s ease !important;
	}

	/* Hide floating Back to Top button when mobile navigation drawer is active */
	body.at-scroll-locked .at-footer__back-to-top,
	body.at-scroll-locked .at-footer__back-to-top--floating,
	.at-header--drawer-open ~ * .at-footer__back-to-top--floating,
	.at-header--drawer-open .at-footer__back-to-top--floating {
		opacity: 0 !important;
		visibility: hidden !important;
		pointer-events: none !important;
		z-index: -1 !important;
		transform: scale(0) !important;
	}

	/* Premium Off-Canvas Drawer (Slide from Right) */
	.at-header__nav {
		position: fixed !important;
		top: 0 !important;
		right: 0 !important;
		left: auto !important;
		width: min(340px, 86vw) !important;
		max-width: 86vw !important;
		height: 100vh !important;
		height: 100dvh !important;
		background: linear-gradient(180deg, #090e1a 0%, #0f172a 45%, #131d35 100%) !important;
		color: #ffffff !important;
		box-shadow: -12px 0 45px rgba(0, 0, 0, 0.65) !important;
		border-left: 1px solid rgba(255, 255, 255, 0.1) !important;
		border-top-left-radius: 20px !important;
		border-bottom-left-radius: 20px !important;
		padding: 24px 20px max(32px, env(safe-area-inset-bottom, 32px)) !important;
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		box-sizing: border-box !important;
		z-index: 1000005 !important;
		transform: translateX(105%) !important;
		transition: transform 0.38s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.38s ease !important;
		overflow-y: auto !important;
		overscroll-behavior: contain !important;
		visibility: hidden !important;
		opacity: 0 !important;
	}

	.at-header--drawer-open .at-header__nav {
		transform: translateX(0) !important;
		visibility: visible !important;
		opacity: 1 !important;
	}

	/* Drawer Header & Single Close Button */
	.at-header__drawer-header {
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		width: 100% !important;
		padding-bottom: 18px !important;
		margin-bottom: 20px !important;
		border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
		flex-shrink: 0 !important;
		box-sizing: border-box !important;
	}

	.at-header__drawer-title {
		color: #ffffff !important;
		font-size: 1.15rem !important;
		font-weight: 700 !important;
		letter-spacing: 0.02em !important;
		display: flex !important;
		align-items: center !important;
		gap: 8px !important;
	}

	.at-header__drawer-title::before {
		content: '' !important;
		display: inline-block !important;
		width: 8px !important;
		height: 8px !important;
		border-radius: 50% !important;
		background: #3b82f6 !important;
		box-shadow: 0 0 10px #3b82f6 !important;
	}

	.at-header__drawer-close {
		width: 38px !important;
		height: 38px !important;
		border-radius: 50% !important;
		background: rgba(255, 255, 255, 0.07) !important;
		border: 1px solid rgba(255, 255, 255, 0.15) !important;
		color: #94a3b8 !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		cursor: pointer !important;
		padding: 0 !important;
		transition: all 0.22s cubic-bezier(0.16, 1, 0.3, 1) !important;
		flex-shrink: 0 !important;
		box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2) !important;
	}

	.at-header__drawer-close:hover,
	.at-header__drawer-close:focus {
		background: rgba(239, 68, 68, 0.16) !important;
		border-color: rgba(239, 68, 68, 0.4) !important;
		color: #f87171 !important;
		transform: rotate(90deg) scale(1.06) !important;
	}

	/* Menu Items on Mobile */
	.at-header .at-header__menu,
	.at-header--immersive .at-header__menu {
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		width: 100% !important;
		gap: 8px !important;
		padding: 0 !important;
		margin: 0 !important;
		list-style: none !important;
	}

	.at-header .at-header__menu-item,
	.at-header--immersive .at-header__menu-item {
		width: 100% !important;
		list-style: none !important;
		border: none !important;
		margin: 0 !important;
	}

	.at-header .at-header__nav-link,
	.at-header--immersive .at-header__nav-link,
	.at-header--immersive.at-header--drawer-open .at-header__nav-link,
	.at-header__nav-link {
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		color: #e2e8f0 !important;
		font-size: 1rem !important;
		font-weight: 600 !important;
		letter-spacing: 0.01em !important;
		padding: 13px 16px !important;
		background: rgba(255, 255, 255, 0.03) !important;
		border: 1px solid rgba(255, 255, 255, 0.06) !important;
		border-radius: 12px !important;
		text-decoration: none !important;
		transition: all 0.22s ease !important;
		width: 100% !important;
		box-sizing: border-box !important;
	}

	.at-header .at-header__nav-link::after,
	.at-header--immersive .at-header__nav-link::after,
	.at-header__nav-link::after {
		content: '›' !important;
		font-size: 1.35rem !important;
		line-height: 1 !important;
		color: #64748b !important;
		position: static !important;
		width: auto !important;
		height: auto !important;
		background: none !important;
		opacity: 0.6 !important;
		transition: transform 0.2s ease, opacity 0.2s ease, color 0.2s ease !important;
		transform: none !important;
	}

	.at-header .at-header__nav-link:hover,
	.at-header .at-header__nav-link:focus,
	.at-header__nav-link:hover,
	.at-header__nav-link:focus {
		color: #ffffff !important;
		background: rgba(37, 99, 235, 0.15) !important;
		border-color: rgba(59, 130, 246, 0.4) !important;
		padding-left: 20px !important;
		transform: translateX(3px) !important;
	}

	.at-header .at-header__nav-link:hover::after,
	.at-header .at-header__nav-link:focus::after,
	.at-header__nav-link:hover::after,
	.at-header__nav-link:focus::after {
		color: #60a5fa !important;
		opacity: 1 !important;
		transform: translateX(3px) !important;
	}

	.at-header__menu-item.current-menu-item>.at-header__nav-link,
	.at-header__menu-item--active>.at-header__nav-link {
		color: #60a5fa !important;
		background: linear-gradient(135deg, rgba(37, 99, 235, 0.22) 0%, rgba(30, 58, 138, 0.28) 100%) !important;
		border-color: rgba(96, 165, 250, 0.45) !important;
		box-shadow: 0 4px 14px rgba(37, 99, 235, 0.18) !important;
	}

	.at-header__menu-item.current-menu-item>.at-header__nav-link::after,
	.at-header__menu-item--active>.at-header__nav-link::after {
		color: #60a5fa !important;
		opacity: 1 !important;
	}

	/* Mobile Drawer Submenu & Accordion Styling */
	.at-header__menu-item--has-children {
		position: relative !important;
	}

	.at-header__sub-toggle {
		display: none !important;
	}

	.at-header__menu-item--expanded>.at-header__nav-link {
		border-color: rgba(56, 189, 248, 0.4) !important;
		background: rgba(56, 189, 248, 0.08) !important;
	}

	.at-header__menu-item--expanded>.at-header__nav-link::after {
		transform: rotate(90deg) !important;
		color: #38bdf8 !important;
		opacity: 1 !important;
	}

	.at-header .at-header__submenu,
	.at-header__submenu {
		display: none !important;
		position: static !important;
		width: 100% !important;
		max-height: 0 !important;
		overflow: hidden !important;
		opacity: 0 !important;
		visibility: hidden !important;
		padding: 0 !important;
		margin: 0 !important;
		border: none !important;
		box-shadow: none !important;
		border-radius: 12px !important;
		background: transparent !important;
		list-style: none !important;
		box-sizing: border-box !important;
		transition: max-height 0.3s ease, opacity 0.25s ease !important;
	}

	.at-header .at-header__menu-item--expanded>.at-header__submenu,
	.at-header__menu-item--expanded>.at-header__submenu {
		display: flex !important;
		flex-direction: column !important;
		max-height: 1200px !important;
		opacity: 1 !important;
		visibility: visible !important;
		overflow: visible !important;
		padding: 8px 10px !important;
		margin: 6px 0 10px 0 !important;
		background: rgba(255, 255, 255, 0.04) !important;
		border: 1px solid rgba(255, 255, 255, 0.08) !important;
		gap: 4px !important;
	}

	.at-header .at-header__sub-item,
	.at-header__sub-item {
		width: 100% !important;
		list-style: none !important;
		margin: 0 !important;
		padding: 0 !important;
		border: none !important;
	}

	.at-header .at-header__sub-link,
	.at-header__sub-link {
		display: flex !important;
		align-items: center !important;
		width: 100% !important;
		padding: 11px 16px !important;
		font-size: 0.92rem !important;
		font-weight: 500 !important;
		letter-spacing: 0.01em !important;
		color: #cbd5e1 !important;
		background: rgba(255, 255, 255, 0.02) !important;
		border: 1px solid rgba(255, 255, 255, 0.05) !important;
		border-radius: 10px !important;
		text-decoration: none !important;
		box-sizing: border-box !important;
		transition: all 0.2s ease !important;
	}

	.at-header .at-header__sub-link::before,
	.at-header__sub-link::before {
		content: '›' !important;
		margin-right: 10px !important;
		font-size: 1.1rem !important;
		line-height: 1 !important;
		color: #38bdf8 !important;
		opacity: 0.75 !important;
	}

	.at-header .at-header__sub-link:hover,
	.at-header .at-header__sub-link:focus,
	.at-header__sub-link:hover,
	.at-header__sub-link:focus {
		color: #ffffff !important;
		background: rgba(37, 99, 235, 0.22) !important;
		border-color: rgba(59, 130, 246, 0.4) !important;
		padding-left: 20px !important;
		transform: translateX(3px) !important;
	}

	.at-header .at-header__sub-link:hover::before,
	.at-header .at-header__sub-link:focus::before,
	.at-header__sub-link:hover::before,
	.at-header__sub-link:focus::before {
		opacity: 1 !important;
		color: #60a5fa !important;
	}

	/* Drawer Footer / Quick Actions */
	.at-header__drawer-actions {
		display: flex !important;
		flex-direction: column !important;
		gap: 12px !important;
		margin-top: auto !important;
		padding-top: 24px !important;
		border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
		width: 100% !important;
		box-sizing: border-box !important;
	}

	.at-header .at-header__drawer-actions .at-header__cta,
	.at-header--immersive .at-header__drawer-actions .at-header__cta,
	.at-header__drawer-actions .at-header__cta,
	.at-header__drawer-actions a,
	.at-header__drawer-actions .at-button {
		width: 100% !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		gap: 8px !important;
		padding: 14px 22px !important;
		font-size: 0.95rem !important;
		font-weight: 700 !important;
		letter-spacing: 0.02em !important;
		border-radius: 12px !important;
		background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%) !important;
		color: #ffffff !important;
		border: 1px solid rgba(255, 255, 255, 0.25) !important;
		box-shadow: 0 4px 18px rgba(37, 99, 235, 0.45) !important;
		text-decoration: none !important;
		transition: all 0.22s ease !important;
		box-sizing: border-box !important;
	}

	.at-header .at-header__drawer-actions .at-header__cta:hover,
	.at-header--immersive .at-header__drawer-actions .at-header__cta:hover,
	.at-header__drawer-actions .at-header__cta:hover,
	.at-header__drawer-actions a:hover,
	.at-header__drawer-actions .at-button:hover {
		transform: translateY(-2px) !important;
		background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%) !important;
		box-shadow: 0 8px 24px rgba(37, 99, 235, 0.6) !important;
		color: #ffffff !important;
	}

	.at-header__drawer-actions .at-header__cta svg {
		transition: transform 0.2s ease !important;
	}

	.at-header__drawer-actions .at-header__cta:hover svg {
		transform: translateX(4px) !important;
	}

	.at-header__drawer-footer,
	.at-header__drawer-brand-note {
		margin-top: 14px !important;
		text-align: center !important;
		display: block !important;
		width: 100% !important;
	}

	.at-header__drawer-brand-note span {
		font-size: 0.76rem !important;
		color: #64748b !important;
		letter-spacing: 0.06em !important;
		text-transform: uppercase !important;
		font-weight: 600 !important;
	}

	/* Dim Backdrop */
	.at-header__backdrop {
		display: block !important;
		position: fixed !important;
		inset: 0 !important;
		background: rgba(11, 17, 32, 0.65) !important;
		backdrop-filter: blur(8px) !important;
		-webkit-backdrop-filter: blur(8px) !important;
		z-index: 10004 !important;
		opacity: 0 !important;
		pointer-events: none !important;
		transition: opacity 0.35s ease !important;
	}

	.at-header--drawer-open .at-header__backdrop {
		opacity: 1 !important;
		pointer-events: auto !important;
	}
}


/* 4. 3D Flip Cards & Inner Columns on Mobile */
@media (max-width: 767px) {
	.elementor-section.elementor-inner-section .elementor-column.elementor-inner-column {
		width: 100% !important;
		margin-bottom: 24px !important;
	}

	.at-flip-card {
		min-height: 400px !important;
		height: 400px !important;
		padding: 0 !important;
		width: 100% !important;
	}

	.at-flip-card__face {
		padding: 24px 20px !important;
	}

	.at-flip-card h3 {
		font-size: 1.5rem !important;
		line-height: 1.25 !important;
	}

	.at-flip-card p {
		font-size: 0.9rem !important;
		line-height: 1.5 !important;
	}
}

/* 5. General Section Spacing on Mobile */
@media (max-width: 767px) {
	.at-section-title__heading {
		font-size: clamp(1.75rem, 6.5vw, 2.4rem);
		line-height: 1.25;
	}

	.at-section-title__description {
		font-size: 0.95rem;
		line-height: 1.6;
	}
}

/* ==========================================================================
   AT Pill Badges / Technology Tags Widget
   ========================================================================== */
.at-pill-badges__wrapper {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	column-gap: 10px;
	row-gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.at-pill-badges--mobile-scroll {
	flex-wrap: nowrap;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	padding-bottom: 4px;
}
.at-pill-badges--mobile-scroll::-webkit-scrollbar {
	display: none;
}

.at-pill-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 7px 18px;
	border-radius: 9999px;
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.35;
	text-decoration: none;
	white-space: nowrap;
	transition: all 0.22s cubic-bezier(0.16, 1, 0.3, 1);
	box-sizing: border-box;
	cursor: default;
}

a.at-pill-badge {
	cursor: pointer;
}

/* Preset: Soft Tint (Default - matches user's screenshot) */
.at-pill-badge--soft {
	color: #0284c7;
	background-color: #f0f7ff;
	border: 1px solid rgba(2, 132, 199, 0.16);
}
.at-pill-badge--soft:hover {
	color: #0369a1;
	background-color: #e0f2fe;
	border-color: rgba(2, 132, 199, 0.32);
	box-shadow: 0 4px 12px rgba(2, 132, 199, 0.12);
}

/* Preset: Outline */
.at-pill-badge--outline {
	color: #0f172a;
	background-color: transparent;
	border: 1px solid #cbd5e1;
}
.at-pill-badge--outline:hover {
	color: #0284c7;
	border-color: #0284c7;
	background-color: #f8fafc;
}

/* Preset: Solid */
.at-pill-badge--solid {
	color: #ffffff;
	background-color: #0284c7;
	border: 1px solid #0284c7;
}
.at-pill-badge--solid:hover {
	background-color: #0369a1;
	border-color: #0369a1;
	box-shadow: 0 4px 14px rgba(2, 132, 199, 0.25);
}

/* Preset: Minimal */
.at-pill-badge--minimal {
	color: #334155;
	background-color: #f1f5f9;
	border: 1px solid transparent;
}
.at-pill-badge--minimal:hover {
	color: #0f172a;
	background-color: #e2e8f0;
}

/* Preset: Glass */
.at-pill-badge--glass {
	color: #0f172a;
	background-color: rgba(255, 255, 255, 0.65);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	border: 1px solid rgba(255, 255, 255, 0.8);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}
.at-pill-badge--glass:hover {
	background-color: rgba(255, 255, 255, 0.9);
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
}

/* Highlighted Accent */
.at-pill-badge--highlighted {
	color: #ffffff !important;
	background-color: #0284c7 !important;
	border-color: #0284c7 !important;
}

/* Icons inside Badges */
.at-pill-badge__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
}
.at-pill-badge__icon svg {
	width: 1em;
	height: 1em;
	fill: currentColor;
}
.at-pill-badge--icon-left .at-pill-badge__icon {
	margin-right: 6px;
}
.at-pill-badge--icon-right .at-pill-badge__icon {
	margin-left: 6px;
}

/* ==========================================================================
   AT Legal & Compliance Pages (Privacy Policy, Terms, Cookies, Security)
   ========================================================================== */
.at-legal-page {
	width: 100%;
	background-color: #ffffff;
	color: #1e293b;
	line-height: 1.7;
}

/* Legal Hero Section */
.at-legal-hero {
	background: linear-gradient(135deg, #0b1329 0%, #0f172a 50%, #1e293b 100%);
	color: #ffffff;
	padding: 72px 24px 56px;
	position: relative;
	overflow: hidden;
}

.at-legal-hero::before {
	content: '';
	position: absolute;
	top: -50%;
	right: -10%;
	width: 600px;
	height: 600px;
	background: radial-gradient(circle, rgba(37, 99, 235, 0.18) 0%, rgba(37, 99, 235, 0) 70%);
	border-radius: 50%;
	pointer-events: none;
}

.at-legal-hero__container {
	max-width: 1280px;
	margin: 0 auto;
	position: relative;
	z-index: 2;
}

.at-legal-hero__badge {
	display: inline-flex;
	align-items: center;
	padding: 4px 14px;
	background: rgba(37, 99, 235, 0.2);
	border: 1px solid rgba(59, 130, 246, 0.35);
	border-radius: 9999px;
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #60a5fa;
	margin-bottom: 20px;
}

.at-legal-hero__title {
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 800;
	line-height: 1.2;
	color: #ffffff;
	margin: 0 0 16px;
	letter-spacing: -0.02em;
}

.at-legal-hero__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px;
	font-size: 0.9rem;
	color: #94a3b8;
	margin-bottom: 28px;
}

.at-legal-hero__meta-item {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

/* Quick Navigation Pills in Hero */
.at-legal-nav-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 8px;
}

.at-legal-nav-pill {
	display: inline-flex;
	align-items: center;
	padding: 8px 18px;
	border-radius: 9999px;
	font-size: 0.85rem;
	font-weight: 600;
	color: #cbd5e1;
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.15);
	text-decoration: none;
	transition: all 0.2s ease;
}

.at-legal-nav-pill:hover {
	color: #ffffff;
	background: rgba(37, 99, 235, 0.3);
	border-color: rgba(96, 165, 250, 0.4);
	transform: translateY(-1px);
}

.at-legal-nav-pill.is-active {
	color: #ffffff;
	background: #2563eb;
	border-color: #2563eb;
	box-shadow: 0 4px 14px rgba(37, 99, 235, 0.35);
}

/* Main Content Layout */
.at-legal-main {
	max-width: 1280px;
	margin: 0 auto;
	padding: 56px 24px 80px;
	display: grid;
	grid-template-columns: 280px 1fr;
	gap: 48px;
	align-items: start;
}

/* Sticky Sidebar Table of Contents */
.at-legal-sidebar {
	position: sticky;
	top: 100px;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	padding: 24px 20px;
}

.at-legal-sidebar__title {
	font-size: 0.85rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: #64748b;
	margin: 0 0 16px;
	padding-bottom: 12px;
	border-bottom: 1px solid #e2e8f0;
}

.at-legal-toc {
	list-style: none;
	margin: 0;
	padding: 0;
}

.at-legal-toc li {
	margin-bottom: 8px;
}

.at-legal-toc a {
	display: block;
	padding: 6px 10px;
	font-size: 0.875rem;
	color: #475569;
	text-decoration: none;
	border-radius: 6px;
	transition: all 0.18s ease;
	line-height: 1.4;
}

.at-legal-toc a:hover {
	color: #2563eb;
	background: #eff6ff;
	font-weight: 600;
}

/* Content Area */
.at-legal-content {
	min-width: 0;
}

.at-legal-section {
	margin-bottom: 48px;
	scroll-margin-top: 100px;
}

.at-legal-section:last-child {
	margin-bottom: 0;
}

.at-legal-section__title {
	font-size: 1.5rem;
	font-weight: 700;
	color: #0f172a;
	margin: 0 0 18px;
	padding-bottom: 10px;
	border-bottom: 2px solid #f1f5f9;
	letter-spacing: -0.01em;
}

.at-legal-section p {
	font-size: 1rem;
	color: #334155;
	margin: 0 0 16px;
	line-height: 1.75;
}

.at-legal-section ul,
.at-legal-section ol {
	margin: 0 0 20px 20px;
	padding: 0;
	color: #334155;
}

.at-legal-section li {
	margin-bottom: 8px;
	line-height: 1.65;
}

.at-legal-section strong {
	color: #0f172a;
}

/* Callout Box */
.at-legal-callout {
	background: #f0f7ff;
	border-left: 4px solid #2563eb;
	border-radius: 0 8px 8px 0;
	padding: 18px 22px;
	margin: 24px 0;
}

.at-legal-callout p {
	margin: 0;
	color: #1e40af;
	font-size: 0.95rem;
}

/* Data / Cookie Tables */
.at-legal-table-wrap {
	overflow-x: auto;
	margin: 24px 0;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
}

.at-legal-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.9rem;
	text-align: left;
}

.at-legal-table th {
	background: #f8fafc;
	color: #0f172a;
	font-weight: 700;
	padding: 14px 18px;
	border-bottom: 1px solid #e2e8f0;
}

.at-legal-table td {
	padding: 14px 18px;
	border-bottom: 1px solid #f1f5f9;
	color: #334155;
	vertical-align: top;
}

.at-legal-table tr:last-child td {
	border-bottom: none;
}

/* Contact Card */
.at-legal-contact-card {
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	padding: 28px;
	margin-top: 24px;
}

.at-legal-contact-card h4 {
	font-size: 1.15rem;
	font-weight: 700;
	color: #0f172a;
	margin: 0 0 12px;
}

.at-legal-contact-card p {
	margin: 0 0 8px;
	color: #475569;
	font-size: 0.95rem;
}

.at-legal-contact-card a {
	color: #2563eb;
	text-decoration: none;
	font-weight: 600;
}

.at-legal-contact-card a:hover {
	text-decoration: underline;
}

/* Responsive */
@media (max-width: 991px) {
	.at-legal-main {
		grid-template-columns: 1fr;
		gap: 36px;
		padding: 40px 20px 60px;
	}

	.at-legal-sidebar {
		display: none;
	}

	.at-legal-hero {
		padding: 48px 20px 40px;
	}
}