/* ==========================================================================
   Garud AI - design refresh
   Layers on top of Astra + Elementor. Content is untouched; this file only
   changes how it looks.
   1. Tokens  2. Base  3. Buttons  4. Header  5. Hero  6. Sections & cards
   7. Forms  8. Blog  9. Footer  10. Mobile  11. Accessibility
   ========================================================================== */

/* 1. TOKENS --------------------------------------------------------------- */
:root {
	--gai-navy-950: #071225;
	--gai-navy-900: #0b1b36;
	--gai-navy-800: #10264a;
	--gai-navy-700: #173461;
	--gai-ink: #0f1f3d;
	--gai-text: #4b576b;
	--gai-muted: #5b6678;
	--gai-orange: #f47b20;
	--gai-orange-hi: #ff9a3c;
	--gai-orange-lo: #e0650c;
	--gai-orange-soft: #fff1e4;
	--gai-orange-ink: #b34605;       /* orange for TEXT on light backgrounds (AA contrast) */
	--gai-cyan: #37c3e6;
	--gai-surface: #f4f7fb;
	--gai-line: #e3e8f1;
	--gai-radius: 18px;
	--gai-radius-sm: 12px;
	--gai-shadow-sm: 0 1px 2px rgba(11, 27, 54, .06), 0 6px 16px -6px rgba(11, 27, 54, .10);
	--gai-shadow-md: 0 14px 36px -14px rgba(11, 27, 54, .28);
	--gai-shadow-orange: 0 12px 26px -10px rgba(244, 123, 32, .65);
	--gai-font-head: 'Plus Jakarta Sans', 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
	--gai-font: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
	--gai-ease: cubic-bezier(.2, .7, .2, 1);
}

/* 2. BASE ----------------------------------------------------------------- */
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
	font-family: var(--gai-font);
	color: var(--gai-text);
	background: #fff;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	overflow-x: clip;               /* the original overflowed sideways on phones */
}
#page, .site, .ast-container { max-width: 100%; }
::selection { background: var(--gai-orange); color: #fff; }

h1, h2, h3, h4, h5, h6,
.elementor-heading-title,
.elementor-image-box-title,
.elementor-post__title,
.elementor-testimonial__name,
.elementor-icon-box-title,
.elementor-button,
.hfe-nav-menu .menu-item a,
.elementskit-tab-title,
.elementskit-accordion .ekit-accordion--toggler {
	font-family: var(--gai-font-head) !important;
	letter-spacing: -.012em;
}
.elementor-widget-text-editor,
.elementor-widget-text-editor p,
.elementor-icon-list-text,
.elementor-image-box-description,
.elementor-icon-box-description,
.elementor-post__excerpt,
.elementor-post__excerpt p,
.elementor-field,
.elementor-field-label,
.elementor-testimonial__text,
.elementor-testimonial__title,
.elementor-widget-container > p {
	font-family: var(--gai-font) !important;
}
.elementor-widget-text-editor { line-height: 1.75; }
.elementor-widget-text-editor p { margin-bottom: 1em; }
.elementor-widget-text-editor p:last-child { margin-bottom: 0; }
.elementor-icon-list-text { line-height: 1.5; }

a { transition: color .2s var(--gai-ease); }

/* small orange "kicker" headings that sit above section titles */
.elementor-widget-heading .elementor-heading-title[style*="color: #F47B20"],
.elementor-widget-heading .elementor-heading-title[style*="color:#F47B20"] { text-transform: none; }

/* 3. BUTTONS -------------------------------------------------------------- */
.elementor-button,
.elementor-widget-button .elementor-button,
.elementor-widget-form .elementor-button,
.elementor-post__read-more {
	border-radius: 999px !important;
	font-weight: 700 !important;
	letter-spacing: .005em;
	transition: transform .22s var(--gai-ease), box-shadow .22s var(--gai-ease), background-color .22s, border-color .22s, color .22s;
}
.elementor-widget-button:not(.gai-ghost):not(.gai-link):not(.gai-light) .elementor-button,
.elementor-widget-form .elementor-button[type="submit"],
.header_section .elementor-button {
	background: linear-gradient(135deg, var(--gai-orange-hi) 0%, var(--gai-orange) 55%, var(--gai-orange-lo) 100%) !important;
	color: #0b1b36 !important;
	border: 0 !important;
	box-shadow: var(--gai-shadow-orange);
	padding: .95em 1.75em;
}
.elementor-widget-button:not(.gai-ghost):not(.gai-link):not(.gai-light) .elementor-button:hover,
.elementor-widget-form .elementor-button[type="submit"]:hover,
.header_section .elementor-button:hover {
	transform: translateY(-2px);
	box-shadow: 0 18px 30px -12px rgba(244, 123, 32, .75);
	color: #0b1b36 !important;
}
.elementor-widget-button .elementor-button:active { transform: translateY(0); }
.elementor-button .elementor-button-text,
.elementor-button-content-wrapper { font-family: var(--gai-font-head); }

/* ghost buttons (outlined) - tagged in the data by the refresh pass */
.gai-ghost .elementor-button,
.elementor-widget-button.gai-ghost .elementor-button {
	background: transparent !important;
	color: var(--gai-orange-ink) !important;
	border: 2px solid var(--gai-orange-ink) !important;
	box-shadow: none !important;
}
.elementor-section.gai-dark .gai-ghost .elementor-button, footer#colophon .gai-ghost .elementor-button, .gai-panel-dark .gai-ghost .elementor-button {
	color: var(--gai-orange-hi) !important; border-color: var(--gai-orange-hi) !important;
}
.gai-ghost .elementor-button:hover, .elementor-section.gai-dark .gai-ghost .elementor-button:hover { background: var(--gai-orange) !important; border-color: var(--gai-orange) !important; color: #0b1b36 !important; }
/* text-link style ("Read More") */
.gai-link .elementor-button,
.elementor-widget-button.gai-link .elementor-button {
	background: transparent !important;
	color: var(--gai-orange-ink) !important;
	box-shadow: none !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	border: 0 !important;
}
.gai-link .elementor-button:hover { transform: translateX(3px); color: var(--gai-orange-lo) !important; }
.elementor-section.gai-dark .gai-link .elementor-button, footer#colophon .gai-link .elementor-button { color: var(--gai-orange-hi) !important; }

/* white buttons */
.elementor-widget-button.gai-light .elementor-button {
	background: #fff !important; color: var(--gai-ink) !important; border: 0 !important;
	box-shadow: var(--gai-shadow-sm) !important; padding: .95em 1.75em;
}
.elementor-widget-button.gai-light .elementor-button:hover { transform: translateY(-2px); box-shadow: var(--gai-shadow-md) !important; color: var(--gai-orange-lo) !important; }

/* shared class for hand-built markup (hero, etc.) */
.gai-btn {
	display: inline-flex; align-items: center; gap: .55em;
	padding: .95em 1.75em; border-radius: 999px;
	font: 700 .9375rem/1 var(--gai-font-head); letter-spacing: .005em; text-decoration: none;
	transition: transform .22s var(--gai-ease), box-shadow .22s var(--gai-ease), background-color .22s, color .22s, border-color .22s;
}
.gai-btn--primary {
	background: linear-gradient(135deg, var(--gai-orange-hi) 0%, var(--gai-orange) 55%, var(--gai-orange-lo) 100%);
	color: #0b1b36; box-shadow: var(--gai-shadow-orange);
}
.gai-btn--primary:hover { transform: translateY(-2px); box-shadow: 0 18px 30px -12px rgba(244, 123, 32, .75); color: #0b1b36; }
.gai-btn--ghost { color: #fff; border: 1.5px solid rgba(255, 255, 255, .55); background: rgba(255, 255, 255, .06); backdrop-filter: blur(6px); }
.gai-btn--ghost:hover { background: #fff; color: var(--gai-navy-900); border-color: #fff; transform: translateY(-2px); }
.gai-btn, .gai-btn:hover, .gai-btn:focus { text-decoration: none !important; }
.gai-btn svg { width: 1em; height: 1em; transition: transform .22s var(--gai-ease); }
.gai-btn:hover svg { transform: translateX(3px); }

/* 4. HEADER --------------------------------------------------------------- */
.elementor-location-header {
	position: sticky; top: 0; z-index: 1000;
	background: rgba(255, 255, 255, .88);
	-webkit-backdrop-filter: saturate(1.5) blur(16px);
	backdrop-filter: saturate(1.5) blur(16px);
	border-bottom: 1px solid rgba(15, 31, 61, .07);
	transition: box-shadow .25s var(--gai-ease), background-color .25s;
}
.elementor-location-header.is-stuck { box-shadow: 0 12px 34px -16px rgba(11, 27, 54, .35); background: rgba(255, 255, 255, .96); }
body.admin-bar .elementor-location-header { top: 32px; }
.header_section,
.single .header_section { background: transparent !important; padding: 0 !important; margin: 0 !important; }
.header_section > .elementor-container {
	max-width: 1320px !important;
	display: flex; flex-wrap: nowrap; align-items: center; gap: clamp(12px, 1.6vw, 28px);
	min-height: 78px; padding-inline: clamp(16px, 2.4vw, 32px);
}
.header_section > .elementor-container > .elementor-column { width: auto !important; flex: 0 0 auto; }
.header_section > .elementor-container > .elementor-column:nth-child(2) { flex: 1 1 auto; }
.header_section .elementor-widget-wrap { padding: 0 !important; align-items: center; }
.header_section .elementor-widget-image img { max-height: 46px; width: auto; border-radius: 0; }
.header_section .elementor-column:nth-child(2) { margin: 0 !important; }
.header_section .elementor-column:nth-child(5) .elementor-widget-wrap { flex-direction: column; align-items: flex-start; gap: 2px; }
.header_section .elementor-column:nth-child(5) .elementor-widget { margin: 0 !important; width: auto; }

/* nav links: dark on the white bar, orange pill on hover / current */
.elementor-nav-menu--main .elementor-nav-menu { display: flex; flex-wrap: nowrap; gap: 2px; white-space: nowrap; }
.elementor-nav-menu--main .elementor-nav-menu a.elementor-item,
.elementor-nav-menu--main .elementor-nav-menu a.elementor-sub-item {
	color: var(--gai-ink) !important;
	font-weight: 600; font-size: .9375rem; line-height: 1.2;
	padding: .6em 1.05em !important;
	border-radius: 999px;
	transition: background-color .2s, color .2s;
}
.elementor-nav-menu--main .elementor-nav-menu a.elementor-item:hover,
.elementor-nav-menu--main .elementor-nav-menu a.elementor-item.elementor-item-active,
.elementor-nav-menu--main .elementor-nav-menu a.elementor-item:focus {
	background: var(--gai-orange-soft) !important;
	color: var(--gai-orange-ink) !important;
}
.elementor-nav-menu--main .elementor-nav-menu a.elementor-item:before,
.elementor-nav-menu--main .elementor-nav-menu a.elementor-item:after { display: none !important; }
.elementor-nav-menu--main .elementor-nav-menu--dropdown,
.elementor-nav-menu--main .sub-menu {
	border-radius: var(--gai-radius-sm); border: 1px solid var(--gai-line);
	box-shadow: var(--gai-shadow-md); overflow: hidden; background: #fff;
}
.header_section .elementor-menu-toggle { color: var(--gai-ink); }
.header_section .hfe-search-button-wrapper .hfe-search-icon-toggle,
.header_section .hfe-search-button-wrapper i { color: var(--gai-ink) !important; }
.header_section .hfe-search-button-wrapper svg { fill: var(--gai-ink) !important; }
.header_section .elementor-icon-list-text { color: var(--gai-ink) !important; font-size: .8125rem !important; font-weight: 600; white-space: nowrap; }
.header_section .elementor-icon-list-item { padding: 0 !important; }
.header_section .elementor-icon-list-icon img { width: 18px !important; height: auto; border-radius: 50%; }
.header_section .elementor-widget-button.gai-light .elementor-button,
.header_section .elementor-button { padding: .8em 1.5em; font-size: .875rem; white-space: nowrap;
	background: linear-gradient(135deg, var(--gai-orange-hi) 0%, var(--gai-orange) 55%, var(--gai-orange-lo) 100%) !important;
	color: #0b1b36 !important; box-shadow: var(--gai-shadow-orange) !important; }

/* 5. HERO (custom carousel that replaces Slider Revolution) --------------- */
.gai-hero-section, .gai-hero-section > .elementor-container, .gai-hero-section .elementor-column,
.gai-hero-section .elementor-widget-wrap, .gai-hero-section .elementor-widget-container { padding: 0 !important; margin: 0 !important; max-width: none !important; }
.gai-hero {
	position: relative; isolation: isolate; overflow: hidden; display: grid;
	background: var(--gai-navy-900); color: #fff;
	min-height: clamp(540px, 82vh, 780px);
}
.gai-hero__slide {
	grid-area: 1 / 1; position: relative; display: grid; align-items: center;
	opacity: 0; visibility: hidden; transition: opacity .9s var(--gai-ease), visibility .9s;
}
.gai-hero__slide.is-active { opacity: 1; visibility: visible; z-index: 1; }
.gai-hero__bg { position: absolute; inset: 0; z-index: 0; }
.gai-hero__bg img {
	width: 100%; height: 100%; object-fit: cover; object-position: 62% center; border-radius: 0 !important;
	transform: scale(1.06); transition: transform 9s linear;
}
.gai-hero__slide.is-active .gai-hero__bg img { transform: scale(1); }
.gai-hero__slide::before {
	content: ""; position: absolute; inset: 0; z-index: 1;
	background:
		radial-gradient(1200px 520px at 8% 100%, rgba(244, 123, 32, .20), transparent 60%),
		linear-gradient(95deg, rgba(7, 18, 37, .93) 0%, rgba(7, 18, 37, .74) 38%, rgba(7, 18, 37, .22) 72%, rgba(7, 18, 37, .05) 100%);
}
.gai-hero__inner {
	position: relative; z-index: 2;
	width: min(1240px, 100% - clamp(32px, 6vw, 96px)); margin-inline: auto;
	padding-block: clamp(72px, 10vw, 150px) clamp(96px, 11vw, 168px);
}
.gai-hero__kicker {
	display: inline-flex; align-items: center; gap: .65em; margin: 0 0 1.4em !important;
	padding: .55em 1.1em .55em .9em; border-radius: 999px;
	border: 1px solid rgba(255, 255, 255, .26); background: rgba(255, 255, 255, .08);
	-webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
	font: 600 .8125rem/1.3 var(--gai-font-head); letter-spacing: .06em; text-transform: uppercase; color: #fff;
}
.gai-hero__kicker::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--gai-orange); box-shadow: 0 0 0 4px rgba(244, 123, 32, .28); flex: none; }
.gai-hero__inner > * { margin-top: 0; }
.gai-hero__title {
	margin: 0 0 .5em !important; max-width: 17ch; padding: 0 !important;
	font: 800 clamp(2.25rem, 5.2vw, 4.4rem)/1.04 var(--gai-font-head) !important; letter-spacing: -.03em; color: #fff;
}
.gai-hero__title em { font-style: normal; background: linear-gradient(90deg, var(--gai-orange-hi), var(--gai-orange)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.gai-hero__lead { margin: 0 0 2.2em !important; max-width: 56ch; font: 400 clamp(1.0625rem, 1.5vw, 1.3rem)/1.65 var(--gai-font); color: rgba(255, 255, 255, .86); }
.gai-hero__cta { display: flex; flex-wrap: wrap; gap: 14px; }
.gai-hero__slide.is-active .gai-hero__kicker,
.gai-hero__slide.is-active .gai-hero__title,
.gai-hero__slide.is-active .gai-hero__lead,
.gai-hero__slide.is-active .gai-hero__cta { animation: gai-rise .9s var(--gai-ease) both; }
.gai-hero__slide.is-active .gai-hero__title { animation-delay: .08s; }
.gai-hero__slide.is-active .gai-hero__lead { animation-delay: .16s; }
.gai-hero__slide.is-active .gai-hero__cta { animation-delay: .24s; }
@keyframes gai-rise { from { opacity: 0; transform: translateY(22px); } to { opacity: 1; transform: none; } }
.gai-hero__nav {
	position: absolute; z-index: 5; left: 0; right: 0; bottom: clamp(24px, 4vw, 46px);
	width: min(1240px, 100% - clamp(32px, 6vw, 96px)); margin-inline: auto;
	display: flex; align-items: center; gap: 14px;
}
.gai-hero__dots { display: flex; gap: 8px; }
.gai-hero__dot { appearance: none; border: 0; padding: 0; cursor: pointer; width: 10px; height: 10px; border-radius: 999px; background: rgba(255, 255, 255, .4); transition: width .3s var(--gai-ease), background-color .3s; }
.gai-hero__dot.is-active { width: 38px; background: var(--gai-orange); }
.gai-hero__arrows { margin-left: auto; display: flex; gap: 10px; }
.gai-hero__prev, .gai-hero__next {
	appearance: none; cursor: pointer; width: 46px; height: 46px; border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, .35); background: rgba(255, 255, 255, .08); color: #fff;
	display: grid; place-items: center; transition: background-color .2s, color .2s, transform .2s;
}
.gai-hero__prev:hover, .gai-hero__next:hover { background: #fff; color: var(--gai-navy-900); transform: translateY(-2px); }
.gai-hero__prev svg, .gai-hero__next svg { width: 18px; height: 18px; }
@media (prefers-reduced-motion: reduce) {
	.gai-hero__slide, .gai-hero__bg img { transition: none !important; }
	.gai-hero__slide.is-active * { animation: none !important; }
}

/* 6. SECTIONS & CARDS ----------------------------------------------------- */
.elementor-section.elementor-top-section { position: relative; }
.elementor-widget-image img,
.elementor-widget-image-box img { border-radius: var(--gai-radius-sm); }
.elementor-location-header img, .elementor-location-footer img, footer img { border-radius: 0 !important; }

.elementor-widget-image-box .elementor-image-box-img img,
.elementor-widget-icon-box .elementor-icon { transition: transform .35s var(--gai-ease); }
.elementor-widget-image-box:hover .elementor-image-box-img img { transform: translateY(-3px) scale(1.04); }

.elementor-widget-slides .swiper-slide { border-radius: var(--gai-radius); overflow: hidden; }
.elementor-widget-slides .swiper-slide-bg { transition: transform .8s var(--gai-ease); }
.elementor-widget-slides .swiper-slide:hover .swiper-slide-bg { transform: scale(1.06); }

.elementor-widget-testimonial-carousel .swiper-slide {
	border-radius: var(--gai-radius) !important; overflow: hidden;
	transition: transform .3s var(--gai-ease), box-shadow .3s var(--gai-ease);
}
.elementor-widget-testimonial-carousel .swiper-slide:hover { transform: translateY(-5px); box-shadow: var(--gai-shadow-md); }

.elementor-icon-list-item { transition: transform .25s var(--gai-ease); }
li.elementor-icon-list-item:hover { transform: none; }                 /* replaces a 5s zoom from the old custom CSS */
.elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:hover { transform: translateX(3px); }

.elementor-widget-video .elementor-wrapper { border-radius: var(--gai-radius); overflow: hidden; box-shadow: var(--gai-shadow-md); }
.elementor-widget-accordion .elementor-accordion-item,
.elementskit-accordion .elementskit-card { border-radius: var(--gai-radius-sm); overflow: hidden; border-color: var(--gai-line); }


/* eyebrow + title pairs (tagged by the data pass) */
.gai-eyebrow .elementor-heading-title {
	display: inline-flex; align-items: center; gap: .75em;
	font-size: .8125rem !important; line-height: 1.3 !important; font-weight: 700 !important;
	letter-spacing: .14em; text-transform: uppercase; color: var(--gai-orange-ink) !important;
}
.gai-eyebrow .elementor-heading-title::before { content: ""; width: 28px; height: 2px; border-radius: 2px; background: currentColor; flex: none; }
.gai-eyebrow.gai-on-dark .elementor-heading-title { color: var(--gai-orange-hi) !important; }
.gai-title .elementor-heading-title {
	font-size: clamp(1.7rem, 2.7vw, 2.6rem) !important; line-height: 1.14 !important;
	font-weight: 800 !important; letter-spacing: -.028em; color: var(--gai-ink);
}
.gai-title.gai-on-dark .elementor-heading-title { color: #fff !important; }
.elementor-widget-heading h1.elementor-heading-title { font-weight: 800 !important; letter-spacing: -.03em; }

/* inner-page banner (first section of each content page except Home and the two self-styled product pages):
   the original pulled it up under a transparent header with a negative margin; the header is solid now */
body:not(.home):not(.page-id-7521):not(.page-id-7541) [data-elementor-type="wp-page"] > .elementor-section:first-child {
	position: relative; isolation: isolate; margin-top: 0 !important;
}
body:not(.home):not(.page-id-7521):not(.page-id-7541) [data-elementor-type="wp-page"] > .elementor-section:first-child::before {
	content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
	background: linear-gradient(95deg, rgba(7, 18, 37, .86) 0%, rgba(7, 18, 37, .55) 52%, rgba(7, 18, 37, .12) 100%);
}
body:not(.home):not(.page-id-7521):not(.page-id-7541) [data-elementor-type="wp-page"] > .elementor-section:first-child > .elementor-container { position: relative; z-index: 1; }
body:not(.home):not(.page-id-7521):not(.page-id-7541) [data-elementor-type="wp-page"] > .elementor-section:first-child .elementor-heading-title {
	color: #fff !important; font-weight: 800 !important; letter-spacing: -.03em;
	font-size: clamp(2.1rem, 4.4vw, 3.5rem) !important; line-height: 1.08 !important;
}
body:not(.home):not(.page-id-7521):not(.page-id-7541) [data-elementor-type="wp-page"] > .elementor-section:first-child .elementor-widget-text-editor,
body:not(.home):not(.page-id-7521):not(.page-id-7541) [data-elementor-type="wp-page"] > .elementor-section:first-child .elementor-widget-text-editor p {
	color: rgba(255, 255, 255, .9) !important; font-size: 1.125rem;
}

/* dark panels (e.g. the contact-info card) */
.gai-panel-dark .elementor-heading-title { color: #fff !important; }
.gai-panel-dark .elementor-widget-text-editor, .gai-panel-dark .elementor-widget-text-editor p,
.gai-panel-dark .elementor-icon-list-text, .gai-panel-dark .elementor-icon-list-item a { color: #d6deee !important; }
.gai-panel-dark .elementor-icon-list-icon i, .gai-panel-dark .elementor-icon-list-icon svg { color: var(--gai-orange-hi) !important; fill: var(--gai-orange-hi) !important; }

/* accordion / tab titles are links in the markup: no underline */
.elementskit-accordion a, .elementskit-tab-nav a, .elementor-accordion-title, .elementor-tab-title a, .elementor-toggle-title { text-decoration: none !important; }

/* 7. FORMS ---------------------------------------------------------------- */
.elementor-field-textual,
.elementor-field-group .elementor-select-wrapper select,
.elementor-widget-form textarea {
	border-radius: var(--gai-radius-sm) !important;
	border: 1.5px solid var(--gai-line) !important;
	background: #fff !important;
	padding: .85em 1em !important;
	font-size: 1rem !important; color: var(--gai-ink) !important;
	transition: border-color .2s, box-shadow .2s;
}
.elementor-field-textual::placeholder { color: #8a94a6; }
.elementor-field-textual:focus,
.elementor-widget-form textarea:focus {
	border-color: var(--gai-orange) !important; outline: 0 !important;
	box-shadow: 0 0 0 4px rgba(244, 123, 32, .18) !important;
}
.elementor-field-group > label,
.elementor-field-label { color: var(--gai-ink) !important; font-weight: 600; }
.elementor-field-type-checkbox input[type="checkbox"], .elementor-field-option input { accent-color: var(--gai-orange); width: 1.05em; height: 1.05em; }
.elementor-message.elementor-message-success { color: #0a7a4b; }

/* 8. BLOG ----------------------------------------------------------------- */
.elementor-posts .elementor-post {
	border-radius: var(--gai-radius); overflow: hidden; background: #fff;
	border: 1px solid var(--gai-line); box-shadow: var(--gai-shadow-sm);
	transition: transform .3s var(--gai-ease), box-shadow .3s var(--gai-ease);
}
.elementor-posts .elementor-post:hover { transform: translateY(-5px); box-shadow: var(--gai-shadow-md); }
.elementor-posts .elementor-post__thumbnail { border-radius: 0; }
.elementor-posts .elementor-post__card .elementor-post__thumbnail img,
.elementor-posts .elementor-post__thumbnail img { border-radius: 0; }
.elementor-post__title a { color: var(--gai-ink) !important; }
.elementor-post__title a:hover { color: var(--gai-orange-ink) !important; }
.elementor-post__meta-data { color: var(--gai-muted) !important; font-size: .8125rem; }
.elementor-pagination .page-numbers {
	border-radius: 999px !important; min-width: 42px; height: 42px; display: inline-grid; place-items: center; padding: 0 !important;
	border: 1.5px solid var(--gai-line) !important; color: var(--gai-ink) !important; font-weight: 600; text-decoration: none !important;
}
.elementor-pagination .page-numbers.current,
.elementor-pagination .page-numbers:hover { background: var(--gai-orange) !important; border-color: var(--gai-orange) !important; color: #0b1b36 !important; }

/* 9. FOOTER --------------------------------------------------------------- */
footer#colophon, .elementor-location-footer { background: var(--gai-navy-900); color: #c9d3e6; }
.elementor-location-footer .elementor-section,
.footer-width-fixer .elementor-section { background-color: transparent !important; }
.footer-width-fixer { background:
	radial-gradient(900px 380px at 100% 0%, rgba(244, 123, 32, .12), transparent 60%),
	linear-gradient(180deg, var(--gai-navy-900), var(--gai-navy-950)); }
footer#colophon .elementor-heading-title { color: #fff !important; }
footer#colophon .elementor-widget-heading .elementor-heading-title:not([class*="size-"]) { font-size: 1.0625rem; }
footer#colophon .elementor-widget-text-editor,
footer#colophon .elementor-widget-text-editor p,
footer#colophon .elementor-icon-list-text,
footer#colophon .elementor-icon-list-item a { color: #c9d3e6 !important; }
footer#colophon a:hover, footer#colophon .elementor-icon-list-item a:hover .elementor-icon-list-text { color: var(--gai-orange) !important; }
footer#colophon .elementor-icon-list-icon i, footer#colophon .elementor-icon-list-icon svg { color: var(--gai-orange) !important; fill: var(--gai-orange) !important; }
footer#colophon img[src*="Garud-Ai-New-Logo"] { filter: brightness(0) invert(1); max-height: 52px; width: auto; }
.newsfooter { top: 0 !important; border-radius: var(--gai-radius); background-image: none !important; background: linear-gradient(135deg, var(--gai-navy-700), var(--gai-navy-800)) !important; border: 1px solid rgba(255, 255, 255, .1); }
.newsfooter .elementor-heading-title { color: #fff !important; }
.newsfooter .elementor-widget-text-editor, .newsfooter .elementor-widget-text-editor p { color: #d6deee !important; }
footer#colophon .elementor-field-textual { background: rgba(255, 255, 255, .96) !important; border-color: transparent !important; }

/* copyright bar: the original used negative margins that made the arrow overlap the link */
.elementor-location-footer .elementor-element-658d6f7 > .elementor-container,
.elementor-location-footer .elementor-element-8b705f7 > .elementor-container,
footer#colophon .elementor-element-658d6f7 > .elementor-container,
footer#colophon .elementor-element-8b705f7 > .elementor-container {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px;
	border-top: 1px solid rgba(255, 255, 255, .12); padding-top: 22px;
}
footer#colophon .elementor-element-658d6f7 > .elementor-container > .elementor-column,
footer#colophon .elementor-element-8b705f7 > .elementor-container > .elementor-column { width: auto !important; margin: 0 !important; }
footer#colophon .elementor-element-658d6f7 .elementor-heading-title,
footer#colophon .elementor-element-8b705f7 .elementor-heading-title { font-size: .875rem !important; font-weight: 500 !important; color: #aab6cf !important; }
footer#colophon .elementor-element-7c8def5 img, footer#colophon .elementor-element-0f1e9ee img { display: none; }   /* decorative arrow that overlapped the link */
footer#colophon .elementor-widget-button .elementor-button { background: transparent !important; box-shadow: none !important; color: var(--gai-orange-hi) !important; padding: 0 !important; }

footer#colophon .elementor-widget-button .elementor-button, footer#colophon .elementor-button-text { white-space: nowrap; }

/* 10. MOBILE -------------------------------------------------------------- */
/* mobile bar from the Mobile Menu plugin */
.mob-menu-header-holder {
	background: rgba(255, 255, 255, .94) !important;
	-webkit-backdrop-filter: saturate(1.5) blur(14px); backdrop-filter: saturate(1.5) blur(14px);
	border-bottom: 1px solid rgba(15, 31, 61, .08); box-shadow: 0 8px 24px -14px rgba(11, 27, 54, .35);
}
.mob-menu-header-holder .mobmenul-container a, .mob-menu-header-holder .mobmenur-container a { color: var(--gai-ink) !important; }
.mob-menu-logo-holder img { max-height: 40px; width: auto; }
.mobmenu-panel, .mobmenu-left-panel, .mobmenu-right-panel { background: var(--gai-navy-900) !important; }
.mobmenu-panel .mobmenu-content li a, .mobmenu-content .menu-item a { color: #fff !important; font-family: var(--gai-font-head); font-weight: 600; }
.mobmenu-content .menu-item a:hover, .mobmenu-content .current-menu-item > a { color: var(--gai-orange) !important; }

@media (max-width: 1024px) {
	.elementor-location-header { position: static; backdrop-filter: none; }
	.gai-hero { min-height: 520px; }
	.gai-hero__slide::before { background: linear-gradient(180deg, rgba(7, 18, 37, .78) 0%, rgba(7, 18, 37, .86) 100%); }
}
@media (max-width: 767px) {
	.elementor-widget-button.gai-link { padding-left: 20px; }
	.gai-hero__slide::before { background: linear-gradient(180deg, rgba(7, 18, 37, .55) 0%, rgba(7, 18, 37, .78) 55%, rgba(7, 18, 37, .9) 100%); }
	.gai-hero__inner { padding-block: 56px 112px; }
	.gai-hero__cta .gai-btn { width: 100%; justify-content: center; }
	.gai-hero__arrows { display: none; }
	.elementor-section.elementor-top-section { overflow-x: clip; }
}

/* 11. ACCESSIBILITY ------------------------------------------------------- */
:focus-visible { outline: 3px solid var(--gai-orange); outline-offset: 3px; border-radius: 6px; }
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* inline text links must be recognisable without colour */
.elementor-widget-text-editor a:not(.elementor-button) { text-decoration: underline !important; text-underline-offset: .18em; color: var(--gai-orange-ink); }
.elementor-widget-text-editor a:not(.elementor-button):hover { text-decoration-thickness: 2px; }
.gai-panel-dark .elementor-widget-text-editor a:not(.elementor-button), footer#colophon .elementor-widget-text-editor a:not(.elementor-button) { color: var(--gai-orange-hi); }

/* ElementsKit tabs + blog "read more": keep text AA-readable */
.elementkit-nav-link .elementskit-tab-title, .elementskit-tab-nav .elementskit-tab-title { color: var(--gai-orange-ink) !important; }
.elementkit-nav-link.active .elementskit-tab-title, .elementkit-nav-link:hover .elementskit-tab-title,
.elementkit-tab-nav li.active .elementskit-tab-title { color: #0b1b36 !important; }
.elementor-post__read-more { color: var(--gai-orange-ink) !important; }
.elementor-post__excerpt, .elementor-post__excerpt p { color: var(--gai-muted) !important; }

/* phone numbers and e-mail addresses never break across lines */
a[href^="tel:"] .elementor-icon-list-text, a[href^="mailto:"] .elementor-icon-list-text, a[href^="tel:"], a[href^="mailto:"] { white-space: nowrap; }
