/* =====================================================================
   GLSH Theme — LIGHT AGENCY skin + animation layer
   Loaded after main.css; overrides dark defaults for a clean white,
   blue-accent agency design (inspired by modern IT-agency sites).
   ===================================================================== */

/* ---------- 0. Base / body ---------- */
body {
	background:
		radial-gradient(900px 480px at 100% -8%, rgba(37,99,235,0.07), transparent 60%),
		radial-gradient(700px 420px at -5% 6%, rgba(6,182,212,0.06), transparent 55%),
		#FFFFFF;
	color: var(--glsh-text);
}
a { color: var(--glsh-primary); }
a:hover { color: var(--glsh-primary-dark); }
::selection { background: var(--glsh-primary); color: #fff; }

/* Gradient text helper */
.glsh-gradient-text {
	background: linear-gradient(120deg, var(--glsh-primary), var(--glsh-primary-2) 55%, var(--glsh-secondary));
	background-size: 220% 220%;
	-webkit-background-clip: text; background-clip: text;
	-webkit-text-fill-color: transparent;
	animation: glsh-grad-move 7s ease infinite;
}
@keyframes glsh-grad-move { 0%,100%{background-position:0% 50%} 50%{background-position:100% 50%} }

/* ---------- 1. Scroll progress ---------- */
.glsh-scroll-progress {
	position: fixed; top: 0; left: 0; height: 3px; width: 0%;
	background: var(--glsh-gradient); z-index: 1000;
	box-shadow: 0 0 10px rgba(37,99,235,.45); transition: width 80ms linear;
}

/* ---------- 2. Mouse glow (subtle on light) ---------- */
.glsh-cursor-glow {
	position: fixed; top:0; left:0; width: 460px; height: 460px;
	margin: -230px 0 0 -230px; border-radius: 50%; pointer-events: none; z-index: 1;
	background: radial-gradient(circle, rgba(37,99,235,0.10), rgba(6,182,212,0.05) 40%, transparent 70%);
	transform: translate3d(-1000px,-1000px,0); will-change: transform;
}
@media (hover: none) { .glsh-cursor-glow { display: none; } }

/* ---------- 3. Header (white, sticky) ---------- */
.glsh-site-header {
	position: sticky; top: 0; z-index: 100;
	background: rgba(255,255,255,0.85);
	backdrop-filter: saturate(180%) blur(12px); -webkit-backdrop-filter: saturate(180%) blur(12px);
	border-bottom: 1px solid var(--glsh-border);
}
.glsh-site-header.is-scrolled { background: rgba(255,255,255,0.97); box-shadow: 0 8px 30px rgba(15,23,42,.08); }
.glsh-logo-text { color: var(--glsh-text); }
.glsh-nav a { color: var(--glsh-text); }
.glsh-nav a:hover, .glsh-nav .current-menu-item > a, .glsh-nav .current_page_item > a {
	color: var(--glsh-primary); background: rgba(37,99,235,.08);
}
.glsh-nav .sub-menu { background: #fff; border-color: var(--glsh-border); box-shadow: var(--glsh-shadow); }
.glsh-mobile-toggle { color: var(--glsh-text); border-color: var(--glsh-border); }
@media (max-width: 900px) {
	.glsh-nav { background: #fff; }
	.glsh-nav a { border-bottom: 1px solid var(--glsh-border); }
}

/* ---------- 4. Buttons ---------- */
.glsh-btn--primary {
	background: var(--glsh-gradient); background-size: 180% 180%;
	color: #fff; box-shadow: 0 12px 30px rgba(37,99,235,.28);
	position: relative; overflow: hidden; animation: glsh-grad-move 6s ease infinite; will-change: transform;
}
.glsh-btn--primary::after {
	content: ""; position: absolute; top:0; left:-160%; width:60%; height:100%;
	transform: skewX(-20deg);
	background: linear-gradient(120deg, transparent, rgba(255,255,255,.5), transparent);
	animation: glsh-shimmer 4.5s ease-in-out infinite;
}
@keyframes glsh-shimmer { 0%{left:-160%} 55%,100%{left:170%} }
.glsh-btn--primary:hover { color:#fff; box-shadow: 0 18px 44px rgba(37,99,235,.4); }
.glsh-btn--outline { border-color: var(--glsh-primary); color: var(--glsh-primary); background: #fff; }
.glsh-btn--outline:hover { background: var(--glsh-primary); color:#fff; }
.glsh-btn--ghost { color: var(--glsh-text); background: #fff; border-color: var(--glsh-border); box-shadow: 0 4px 14px rgba(15,23,42,.06); }
.glsh-btn--ghost:hover { color: var(--glsh-primary); border-color: var(--glsh-primary); background:#fff; }

/* ---------- 5. Sections / headings ---------- */
h1,h2,h3,h4 { color: var(--glsh-text); }
.glsh-section-head .eyebrow,
.glsh-hero .eyebrow {
	color: var(--glsh-primary);
	background: rgba(37,99,235,.10); border: 1px solid rgba(37,99,235,.22);
	padding: 6px 16px; border-radius: 999px;
}
.glsh-section-head p { color: var(--glsh-muted); }
.glsh-underline { background: var(--glsh-gradient); height: 4px; width: 90px; }
.glsh-section--alt { background: var(--glsh-bg-2); }

/* ---------- 6. HERO (light) ---------- */
.glsh-hero { isolation: isolate; min-height: clamp(560px, 76vh, 760px);
	background: linear-gradient(180deg, #F4F8FF 0%, #FFFFFF 100%); }
.glsh-hero::before { display: none; } /* remove old dark pattern */
.glsh-hero::after {
	content:""; position:absolute; inset:0; z-index:0;
	background:
		radial-gradient(ellipse at 78% 22%, rgba(6,182,212,0.16), transparent 55%),
		radial-gradient(ellipse at 12% 80%, rgba(139,92,246,0.14), transparent 55%);
	animation: glsh-aurora 16s ease-in-out infinite alternate;
}
@keyframes glsh-aurora { 0%{transform:translate3d(0,0,0) scale(1);opacity:.8} 100%{transform:translate3d(0,-22px,0) scale(1.1);opacity:1} }
.glsh-particles { position:absolute; inset:0; z-index:0; pointer-events:none; }
.glsh-grid-overlay {
	position:absolute; inset:0; z-index:0; pointer-events:none; opacity:.6;
	background-image:
		linear-gradient(rgba(37,99,235,.06) 1px, transparent 1px),
		linear-gradient(90deg, rgba(37,99,235,.06) 1px, transparent 1px);
	background-size: 54px 54px;
	-webkit-mask-image: radial-gradient(ellipse 75% 60% at 50% 28%, #000 38%, transparent 75%);
	        mask-image: radial-gradient(ellipse 75% 60% at 50% 28%, #000 38%, transparent 75%);
}
.glsh-blob { position:absolute; border-radius:50%; filter: blur(70px); opacity:.45; z-index:0; pointer-events:none; }
.glsh-blob--1 { width:420px; height:420px; top:-90px; right:-70px; background: radial-gradient(circle, rgba(37,99,235,.45), transparent 70%); animation: glsh-float-a 14s ease-in-out infinite; }
.glsh-blob--2 { width:340px; height:340px; bottom:-80px; left:-60px; background: radial-gradient(circle, rgba(6,182,212,.4), transparent 70%); animation: glsh-float-b 18s ease-in-out infinite; }
.glsh-blob--3 { width:260px; height:260px; top:42%; left:56%; background: radial-gradient(circle, rgba(139,92,246,.32), transparent 70%); animation: glsh-float-a 22s ease-in-out infinite; }
@keyframes glsh-float-a { 0%,100%{transform:translate(0,0)} 50%{transform:translate(-30px,26px)} }
@keyframes glsh-float-b { 0%,100%{transform:translate(0,0)} 50%{transform:translate(28px,-22px)} }
.glsh-hero-inner { position: relative; z-index: 1; max-width: 820px; }
.glsh-hero h1 {
	color: var(--glsh-text);
	-webkit-text-fill-color: currentColor; /* cancel old gradient fill */
	background: none;
}
.glsh-hero h1 .accent {
	background: linear-gradient(120deg, var(--glsh-primary), var(--glsh-primary-2) 55%, var(--glsh-secondary));
	background-size: 220% 220%;
	-webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
	animation: glsh-grad-move 7s ease infinite;
}
.glsh-hero p { color: var(--glsh-muted); }
.glsh-hero-trust { color: var(--glsh-muted); }
.glsh-hero-trust strong { color: var(--glsh-primary); }

/* ---------- 7. Typing ---------- */
.glsh-type-wrap { display:inline-block; }
.glsh-type-cursor { display:inline-block; width:3px; height:1em; vertical-align:-2px; margin-left:4px; background: var(--glsh-primary); animation: glsh-caret 900ms steps(1) infinite; }
@keyframes glsh-caret { 50%{opacity:0} }

/* ---------- 8. Cards (white, soft shadow, hover lift) ---------- */
.glsh-card {
	background: #FFFFFF; border: 1px solid var(--glsh-border);
	border-radius: var(--glsh-radius); box-shadow: 0 6px 24px rgba(15,23,42,.06);
	backdrop-filter: none; -webkit-backdrop-filter: none;
	transform-style: preserve-3d; will-change: transform; height: 100%;
}
.glsh-card::before { background: var(--glsh-gradient); }
.glsh-card::after {
	content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none; opacity:0;
	background: radial-gradient(220px circle at var(--mx,50%) var(--my,0%), rgba(37,99,235,.10), transparent 60%);
	transition: opacity var(--transition);
}
.glsh-card:hover { border-color: rgba(37,99,235,.35); box-shadow: var(--glsh-shadow-lg); }
.glsh-card:hover::after { opacity: 1; }
.glsh-card h3 { color: var(--glsh-text); }
.glsh-card p { color: var(--glsh-muted); }
.glsh-card-icon {
	background: linear-gradient(135deg, rgba(37,99,235,.12), rgba(6,182,212,.10));
	color: var(--glsh-primary); box-shadow: inset 0 0 0 1px rgba(37,99,235,.18);
	transition: transform var(--transition);
}
.glsh-card:hover .glsh-card-icon { transform: translateZ(26px) scale(1.06); }
.glsh-card-link { color: var(--glsh-primary); }

/* ---------- 9. Reveal + stagger ---------- */
.glsh-reveal { opacity:0; transform: translateY(28px); transition: opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1); }
.glsh-reveal.is-in { opacity:1; transform:none; }
.glsh-reveal[data-anim="zoom"]{transform:scale(.92)} .glsh-reveal[data-anim="left"]{transform:translateX(-40px)} .glsh-reveal[data-anim="right"]{transform:translateX(40px)}
.glsh-reveal[data-anim].is-in{transform:none}
.glsh-stagger > * { opacity:0; transform: translateY(26px); transition: opacity .6s ease, transform .6s cubic-bezier(.2,.7,.2,1); }
.glsh-stagger.is-in > * { opacity:1; transform:none; }
.glsh-stagger.is-in > *:nth-child(1){transition-delay:.05s}.glsh-stagger.is-in > *:nth-child(2){transition-delay:.12s}.glsh-stagger.is-in > *:nth-child(3){transition-delay:.19s}.glsh-stagger.is-in > *:nth-child(4){transition-delay:.26s}.glsh-stagger.is-in > *:nth-child(5){transition-delay:.33s}.glsh-stagger.is-in > *:nth-child(6){transition-delay:.40s}.glsh-stagger.is-in > *:nth-child(7){transition-delay:.47s}.glsh-stagger.is-in > *:nth-child(8){transition-delay:.54s}

/* ---------- 10. Trust / tech marquee (light) ---------- */
.glsh-marquee {
	overflow:hidden; padding: 22px 0; background:#fff;
	border-top:1px solid var(--glsh-border); border-bottom:1px solid var(--glsh-border);
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
	        mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.glsh-marquee-track { display:flex; gap:56px; width:max-content; animation: glsh-marq 32s linear infinite; }
.glsh-marquee:hover .glsh-marquee-track { animation-play-state: paused; }
.glsh-marquee-item { display:inline-flex; align-items:center; gap:10px; white-space:nowrap; color: var(--glsh-muted); font-weight:700; font-size:.98rem; }
.glsh-marquee-item svg { width:20px; height:20px; color: var(--glsh-primary); }
@keyframes glsh-marq { from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* ---------- 11. Stats (white cards) ---------- */
.glsh-stats {
	background: #fff; border: 1px solid var(--glsh-border);
	box-shadow: var(--glsh-shadow); backdrop-filter:none; -webkit-backdrop-filter:none;
}
.glsh-stat-num { background: var(--glsh-gradient); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.glsh-stat-label { color: var(--glsh-muted); }

/* ---------- 12. Feature (why us) ---------- */
.glsh-feature-icon { background: linear-gradient(135deg, rgba(37,99,235,.12), rgba(6,182,212,.10)); color: var(--glsh-primary); }
.glsh-feature h4 { color: var(--glsh-text); }
.glsh-feature p { color: var(--glsh-muted); }

/* ---------- 13. Process timeline ---------- */
.glsh-timeline { position:relative; display:grid; grid-template-columns:repeat(5,1fr); gap:18px; margin-top:30px; }
.glsh-timeline::before { content:""; position:absolute; top:28px; left:8%; right:8%; height:2px; background: var(--glsh-gradient); opacity:.45; }
.glsh-step { position:relative; text-align:center; padding:0 8px; }
.glsh-step-num {
	width:58px; height:58px; margin:0 auto 16px; border-radius:50%;
	display:flex; align-items:center; justify-content:center;
	font-family: var(--font-display); font-weight:800; font-size:1.2rem; color:#fff;
	background: linear-gradient(135deg, var(--glsh-primary), var(--glsh-primary-2));
	box-shadow: 0 0 0 6px rgba(37,99,235,.10), var(--glsh-glow); position:relative; z-index:1;
	transition: transform var(--transition);
}
.glsh-step:hover .glsh-step-num { transform: translateY(-6px) scale(1.05); }
.glsh-step h4 { margin-bottom:6px; } .glsh-step p { color: var(--glsh-muted); font-size:.9rem; margin:0; }
@media (max-width:860px){ .glsh-timeline{grid-template-columns:1fr 1fr} .glsh-timeline::before{display:none} }
@media (max-width:520px){ .glsh-timeline{grid-template-columns:1fr} }

/* ---------- 14. Testimonials (white) ---------- */
.glsh-testimonial { background:#fff; border:1px solid var(--glsh-border); box-shadow: 0 6px 24px rgba(15,23,42,.06); }
.glsh-testimonial::before { color: rgba(37,99,235,.16); }
.glsh-testimonial-body { color: var(--glsh-text); }
.glsh-testimonial-name { color: var(--glsh-text); }
.glsh-testimonial-role { color: var(--glsh-muted); }

/* ---------- 15. Forms (white inputs) ---------- */
.glsh-input, .glsh-select, .glsh-textarea,
input[type="text"], input[type="email"], input[type="url"], input[type="tel"],
input[type="number"], input[type="search"], textarea, select {
	background:#fff; border:1px solid var(--glsh-border); color: var(--glsh-text);
}
.glsh-input:focus, input:focus, textarea:focus, select:focus { border-color: var(--glsh-primary); background:#fff; box-shadow: 0 0 0 4px rgba(37,99,235,.12); }
::placeholder { color: #9AA7BD; }
.glsh-field label { color: var(--glsh-text); }

/* ---------- 16. Blog cards ---------- */
.glsh-post-card .glsh-thumb { background: var(--glsh-bg-2); }
.glsh-post-card h3 a { color: var(--glsh-text); }
.glsh-post-card h3 a:hover { color: var(--glsh-primary); }
.glsh-post-meta { color: var(--glsh-muted); }
.glsh-pagination .page-numbers { background:#fff; border:1px solid var(--glsh-border); color: var(--glsh-text); }

/* ---------- 17. Pills / detail ---------- */
.glsh-pill { background: rgba(37,99,235,.10); color: var(--glsh-primary); border:1px solid rgba(37,99,235,.22); }
.glsh-filter-btn { border:1px solid var(--glsh-border); color: var(--glsh-muted); background:#fff; }
.glsh-filter-btn:hover { color: var(--glsh-primary); border-color: var(--glsh-primary); }
.glsh-filter-btn.is-active { background: var(--glsh-primary); color:#fff; border-color: var(--glsh-primary); }

/* ---------- 18. Page header (light) ---------- */
.glsh-page-header { background: linear-gradient(180deg, #F4F8FF, #FFFFFF); border-bottom:1px solid var(--glsh-border); }
.glsh-page-header::before { background: radial-gradient(ellipse at 80% 0%, rgba(37,99,235,.12), transparent 60%); }
.glsh-breadcrumbs, .glsh-breadcrumbs a { color: var(--glsh-muted); }
.glsh-breadcrumbs a:hover { color: var(--glsh-primary); }

/* ---------- 19. DARK BANDS (industries, CTA) ---------- */
.glsh-band--dark {
	background: linear-gradient(135deg, #0F172A, #16213C);
	color: #EAF1FF; position: relative; overflow: hidden;
}
.glsh-band--dark::before {
	content:""; position:absolute; inset:0;
	background: radial-gradient(ellipse at 75% 20%, rgba(37,99,235,.3), transparent 55%), radial-gradient(ellipse at 15% 90%, rgba(139,92,246,.25), transparent 55%);
}
.glsh-band--dark > * { position: relative; z-index: 1; }
.glsh-band--dark h2, .glsh-band--dark h3, .glsh-band--dark h4 { color:#fff; }
.glsh-band--dark p, .glsh-band--dark li { color:#C4D0E6; }
.glsh-band--dark .glsh-card { background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.12); box-shadow:none; backdrop-filter: blur(8px); }
.glsh-band--dark .glsh-card h3 { color:#fff; } .glsh-band--dark .glsh-card p { color:#C4D0E6; }
.glsh-band--dark .eyebrow { background: rgba(255,255,255,.10); border-color: rgba(255,255,255,.18); color:#9DC1FF; }
.glsh-industry {
	display:flex; align-items:center; gap:14px; padding:18px 20px;
	background: rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.12);
	border-radius: var(--glsh-radius); transition: all var(--transition);
}
.glsh-industry:hover { background: rgba(37,99,235,.18); transform: translateY(-4px); }
.glsh-industry svg { width:26px; height:26px; color:#9DC1FF; flex:0 0 26px; }
.glsh-industry span { font-weight:600; color:#fff; }

/* ---------- 20. CTA banner ---------- */
.glsh-cta { background: var(--glsh-gradient); color:#fff; box-shadow: var(--glsh-shadow-lg); }
.glsh-cta::before { background: radial-gradient(ellipse at 80% 20%, rgba(255,255,255,.18), transparent 55%); }
.glsh-cta h2 { color:#fff; } .glsh-cta p { color: rgba(255,255,255,.9); }
.glsh-cta .eyebrow { background: rgba(255,255,255,.16); border-color: rgba(255,255,255,.25); color:#fff; }
.glsh-cta .glsh-btn--primary { background:#fff; color: var(--glsh-primary); animation:none; }
.glsh-cta .glsh-btn--primary::after { display:none; }
.glsh-cta .glsh-btn--primary:hover { color: var(--glsh-primary-dark); box-shadow: 0 18px 44px rgba(0,0,0,.2); }

/* ---------- 21. Footer (stays dark) ---------- */
.glsh-site-footer { background: linear-gradient(180deg, #0F172A 0%, #0A1020 100%); color:#AEBCD6; border-top:1px solid rgba(255,255,255,.06); }
.glsh-site-footer h4 { color:#fff; }
.glsh-site-footer a, .glsh-footer a, .glsh-footer-contact li { color:#AEBCD6; }
.glsh-site-footer a:hover, .glsh-footer a:hover { color: var(--glsh-primary-2); }
.glsh-footer-about p { color:#AEBCD6; }
.glsh-social a { background: rgba(255,255,255,.08); color:#fff; }
.glsh-social a:hover { background: var(--glsh-primary); color:#fff; }
.glsh-footer-contact svg { color: var(--glsh-primary-2); }
.glsh-copy { border-top:1px solid rgba(255,255,255,.08); color:#8A99B5; }

/* ---------- 22. Quote form ---------- */
.glsh-quote-card { background:#fff; border:1px solid var(--glsh-border); box-shadow: var(--glsh-shadow); }
.glsh-quote-steps .dot { background: rgba(15,23,42,.10); }
.glsh-quote-steps .dot.is-active { background: var(--glsh-primary); }
.glsh-option { background:#fff; border:1px solid var(--glsh-border); }
.glsh-option:hover { border-color: rgba(37,99,235,.5); }
.glsh-option.is-selected, .glsh-option:has(input:checked) { border-color: var(--glsh-primary); background: rgba(37,99,235,.06); box-shadow: inset 0 0 0 1px var(--glsh-primary); }
.glsh-option .desc { color: var(--glsh-muted); }

/* ---------- 23. WhatsApp (unchanged green) ---------- */
.glsh-whatsapp { color:#fff; }

/* ---------- 24. Sticky mobile CTA + back-to-top ---------- */
.glsh-sticky-cta {
	position: fixed; left:0; right:0; bottom:0; z-index:950; display:none; gap:10px; padding:10px 14px;
	background: rgba(255,255,255,.96); backdrop-filter: blur(12px); border-top:1px solid var(--glsh-border); box-shadow: 0 -6px 24px rgba(15,23,42,.08);
}
.glsh-sticky-cta .glsh-btn { flex:1; padding:12px; }
@media (max-width:760px){ .glsh-sticky-cta{display:flex} body{padding-bottom:64px} }
.glsh-totop {
	position: fixed; right:22px; bottom:92px; width:46px; height:46px; border-radius:50%;
	display:grid; place-items:center; z-index:940; background:#fff; border:1px solid var(--glsh-border);
	color: var(--glsh-text); box-shadow: var(--glsh-shadow); cursor:pointer;
	opacity:0; transform: translateY(14px); pointer-events:none; transition: all var(--transition);
}
.glsh-totop.is-shown { opacity:1; transform:none; pointer-events:auto; }
.glsh-totop:hover { color: var(--glsh-primary); border-color: var(--glsh-primary); }

/* ---------- 26. Trust bar / badges ---------- */
.glsh-trustbar {
	display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:20px;
	padding:22px 28px; background:#fff; border:1px solid var(--glsh-border);
	border-radius: var(--glsh-radius); box-shadow: 0 6px 24px rgba(15,23,42,.06);
}
.glsh-trust-rating { display:flex; align-items:center; gap:8px; font-size:1rem; }
.glsh-trust-rating strong { color: var(--glsh-text); font-size:1.1rem; }
.glsh-stars { color: var(--glsh-accent); letter-spacing:2px; font-size:1.1rem; }
.glsh-trust-badges { display:flex; flex-wrap:wrap; gap:10px; }
.glsh-trust-badge {
	display:inline-flex; align-items:center; gap:8px; padding:8px 14px;
	background: rgba(37,99,235,.06); border:1px solid rgba(37,99,235,.16);
	border-radius:999px; font-size:.85rem; font-weight:600; color: var(--glsh-text);
}
.glsh-trust-badge svg { width:16px; height:16px; color: var(--glsh-primary); }
@media (max-width:680px){ .glsh-trustbar{flex-direction:column; align-items:flex-start;} }

/* ---------- 27. FAQ accordion ---------- */
.glsh-faq { max-width:820px; margin:0 auto; }
.glsh-faq-item { background:#fff; border:1px solid var(--glsh-border); border-radius: var(--glsh-radius); margin-bottom:14px; overflow:hidden; transition: box-shadow var(--transition), border-color var(--transition); }
.glsh-faq-item.is-open { border-color: rgba(37,99,235,.35); box-shadow: 0 10px 30px rgba(15,23,42,.08); }
.glsh-faq-q {
	width:100%; display:flex; align-items:center; justify-content:space-between; gap:16px;
	padding:20px 24px; background:none; border:0; cursor:pointer; text-align:left;
	font-family: var(--font-display); font-size:1.05rem; font-weight:600; color: var(--glsh-text);
}
.glsh-faq-icon { width:22px; height:22px; flex:0 0 22px; color: var(--glsh-primary); transition: transform var(--transition); }
.glsh-faq-item.is-open .glsh-faq-icon { transform: rotate(180deg); }
.glsh-faq-a { max-height:0; overflow:hidden; transition: max-height .35s ease; }
.glsh-faq-item.is-open .glsh-faq-a { max-height:320px; }
.glsh-faq-a p { margin:0; padding:0 24px 22px; color: var(--glsh-muted); }

/* ---------- 28. Exit-intent popup ---------- */
.glsh-popup-overlay {
	position:fixed; inset:0; z-index:1100; display:flex; align-items:center; justify-content:center; padding:20px;
	background: rgba(15,23,42,.55); backdrop-filter: blur(4px);
	opacity:0; transition: opacity .3s ease;
}
/* Critical: respect the [hidden] attribute so the invisible overlay
   never blocks clicks on the page beneath it. */
.glsh-popup-overlay[hidden] { display: none !important; }
.glsh-popup-overlay.is-open { opacity:1; }
.glsh-popup {
	position:relative; max-width:460px; width:100%; background:#fff; border-radius: var(--glsh-radius-lg);
	padding:40px 34px; box-shadow: var(--glsh-shadow-lg); text-align:center;
	transform: translateY(20px) scale(.97); transition: transform .35s cubic-bezier(.2,.7,.2,1);
}
.glsh-popup-overlay.is-open .glsh-popup { transform:none; }
.glsh-popup .eyebrow { color: var(--glsh-primary); background: rgba(37,99,235,.1); border:1px solid rgba(37,99,235,.22); padding:5px 14px; border-radius:999px; font-size:12px; font-weight:600; letter-spacing:1px; text-transform:uppercase; }
.glsh-popup h3 { margin:16px 0 8px; }
.glsh-popup-close { position:absolute; top:12px; right:16px; background:none; border:0; font-size:28px; line-height:1; color: var(--glsh-muted); cursor:pointer; }
.glsh-popup-close:hover { color: var(--glsh-text); }
.glsh-popup-form { display:flex; gap:10px; margin:20px 0 12px; }
.glsh-popup-form input { flex:1; }
@media (max-width:480px){ .glsh-popup-form{flex-direction:column;} }

/* ---------- 25. Reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
	.glsh-blob, .glsh-hero::after, .glsh-btn--primary, .glsh-btn--primary::after,
	.glsh-marquee-track, .glsh-gradient-text, .glsh-hero h1 .accent { animation: none !important; }
	.glsh-reveal, .glsh-stagger > * { opacity:1 !important; transform:none !important; }
}
