/*
 * Andromeda Links — custom theme styles.
 *
 * Built on top of Bootstrap 5.3. Mobile-first.
 *
 * Sections:
 *  1.  Design tokens (CSS variables)
 *  2.  Global / typography
 *  3.  Bootstrap overrides
 *  4.  Header / topbar / navbar
 *  5.  Footer
 *  6.  Reusable section primitives
 *  7.  Homepage — Hero
 *  8.  Homepage — Services grid
 *  9.  Homepage — Solutions
 * 10.  Homepage — Industries
 * 11.  Homepage — Social proof / Follow our work
 * 12.  Homepage — Insights
 * 13.  Homepage — Final CTA
 * 14.  Inner pages — Services
 * 15.  Inner pages — Solutions
 * 16.  Inner pages — Company (uses `.andromeda-about-page`)
 * 17.  Insights / blog / single
 * 18.  Contact page
 * 19.  Company page legacy helpers (about-pillars, value-card, about-community)
 * 20.  Forms / search / pagination / 404
 * 21.  Maintenance mode
 */

/* ============================================================
 * 1. Design tokens
 * ============================================================ */
:root {
	--al-navy:        #0b1f3a;
	--al-navy-700:    #122a4d;
	--al-navy-500:    #1d3a66;
	--al-blue:        #1f6feb;
	--al-blue-600:    #1858c2;
	--al-blue-100:    #e8f0fe;
	--al-cyan:        #2bb6ff;
	--al-text:        #1b2336;
	--al-muted:       #5b6b85;
	--al-line:        #e6ebf2;
	--al-bg:          #ffffff;
	--al-bg-alt:      #f5f7fb;
	--al-bg-soft:     #fafbfd;
	--al-radius:      14px;
	--al-radius-sm:   10px;
	--al-radius-lg:   20px;
	--al-shadow-sm:   0 1px 2px rgba(11, 31, 58, .06), 0 1px 3px rgba(11, 31, 58, .04);
	--al-shadow:      0 6px 18px rgba(11, 31, 58, .06), 0 2px 6px rgba(11, 31, 58, .04);
	--al-shadow-lg:   0 18px 40px rgba(11, 31, 58, .10), 0 4px 12px rgba(11, 31, 58, .06);

	--al-font-sans:   'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
	--al-font-head:   'Manrope', 'Inter', system-ui, sans-serif;
	--al-article-width: 100%;
}

/* ============================================================
 * 2. Global / typography
 * ============================================================ */
html { scroll-behavior: smooth; }

body.andromeda-site {
	font-family: var(--al-font-sans);
	color: var(--al-text);
	background: var(--al-bg);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-size: 16px;
	line-height: 1.6;
}

.andromeda-site h1,
.andromeda-site h2,
.andromeda-site h3,
.andromeda-site h4,
.andromeda-site h5,
.andromeda-site h6 {
	font-family: var(--al-font-head);
	color: var(--al-navy);
	font-weight: 700;
	letter-spacing: -0.01em;
	margin-top: 0;
}

.andromeda-site h1 { font-size: clamp(1.9rem, 3.5vw, 2.75rem); line-height: 1.15; }
.andromeda-site h2 { font-size: clamp(1.55rem, 2.6vw, 2.15rem); line-height: 1.2; }
.andromeda-site h3 { font-size: clamp(1.15rem, 1.5vw, 1.35rem); line-height: 1.3; }
.andromeda-site p  { color: var(--al-text); }

.andromeda-site a { color: var(--al-blue); text-decoration: none; transition: color .15s ease; }
.andromeda-site a:hover { color: var(--al-blue-600); }

.eyebrow {
	display: inline-block;
	font-size: .78rem;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--al-blue);
	background: var(--al-blue-100);
	padding: .35rem .7rem;
	border-radius: 999px;
	margin-bottom: 1rem;
}

.skip-link {
	position: absolute;
	left: 1rem;
	top: 1rem;
	background: var(--al-navy);
	color: #fff !important;
	padding: .5rem .75rem;
	border-radius: 6px;
	z-index: 10000;
}

/* ============================================================
 * 3. Bootstrap overrides
 * ============================================================ */
.andromeda-site .btn {
	border-radius: 10px;
	font-weight: 600;
	padding: .6rem 1.1rem;
	letter-spacing: .01em;
	transition: transform .15s ease, box-shadow .2s ease, background-color .2s ease, border-color .2s ease, color .2s ease;
}
.andromeda-site .btn-lg { padding: .85rem 1.4rem; font-size: 1rem; }
.andromeda-site .btn-sm { padding: .4rem .8rem; font-size: .85rem; }

.andromeda-site .btn-primary {
	background: var(--al-blue);
	border-color: var(--al-blue);
	color: #fff;
}
.andromeda-site .btn-primary:active {
	color: #fff;
}
.andromeda-site .btn-primary:hover,
.andromeda-site .btn-primary:focus,
.andromeda-site .btn-primary:focus-visible {
	background: var(--al-blue-600);
	border-color: var(--al-blue-600);
	color: #fff;
	box-shadow: 0 6px 16px rgba(31, 111, 235, .25);
}

.andromeda-site .btn-outline-primary {
	color: var(--al-blue);
	border-color: var(--al-blue);
	background: transparent;
}
.andromeda-site .btn-outline-primary:hover {
	background: var(--al-blue);
	color: #fff;
}

.andromeda-site .btn-outline-light {
	color: #fff;
	border-color: rgba(255,255,255,.6);
}
.andromeda-site .btn-outline-light:hover {
	background: #fff;
	color: var(--al-navy);
	border-color: #fff;
}

.andromeda-site .btn-link {
	color: var(--al-blue);
	font-weight: 600;
	text-decoration: none;
}
.andromeda-site .btn-link:hover { color: var(--al-blue-600); text-decoration: underline; }

.andromeda-site .badge.text-bg-light { background: var(--al-bg-alt); color: var(--al-muted); font-weight: 500; }

/* ============================================================
 * 4. Header / topbar / navbar
 * ============================================================ */
.andromeda-header { position: sticky; top: 0; z-index: 1030; }

.andromeda-topbar {
	background: var(--al-navy);
	color: rgba(255,255,255,.85);
	font-size: .82rem;
	padding: .45rem 0;
}
.andromeda-topbar a { color: rgba(255,255,255,.88); margin-left: 1.1rem; }
.andromeda-topbar a:hover { color: #fff; }
.andromeda-topbar .topbar-meta span { margin-right: 1.25rem; }
.andromeda-topbar .topbar-meta i,
.andromeda-topbar .topbar-actions i { margin-right: .35rem; }
.andromeda-topbar .topbar-whatsapp { color: #22d36b; }

.andromeda-navbar {
	background: rgba(255, 255, 255, .92);
	backdrop-filter: saturate(180%) blur(10px);
	-webkit-backdrop-filter: saturate(180%) blur(10px);
	border-bottom: 1px solid var(--al-line);
	padding: .55rem 0;
	transition: box-shadow .25s ease, background-color .25s ease;
}
.andromeda-navbar.is-scrolled { box-shadow: var(--al-shadow); background: rgba(255, 255, 255, .98); }

.andromeda-navbar .navbar-brand {
	display: inline-flex;
	align-items: center;
	padding: 0;
	margin-right: 1rem;
}
.andromeda-navbar .navbar-brand .custom-logo,
.andromeda-navbar .navbar-brand .andromeda-brand-img {
	width: auto;
	max-width: 220px;
	height: 80px;
	object-fit: contain;
	display: block;
}
@media (max-width: 575.98px) {
	.andromeda-navbar .navbar-brand .custom-logo,
	.andromeda-navbar .navbar-brand .andromeda-brand-img { height: 64px; }
}

.andromeda-navbar .navbar-nav { gap: .1rem; }
.andromeda-navbar .nav-link {
	color: var(--al-navy);
	font-weight: 600;
	font-size: .94rem;
	padding: .55rem 1rem;
	border-radius: 8px;
	transition: color .15s ease, background-color .15s ease;
}
.andromeda-navbar .nav-link:hover { color: var(--al-blue); background: var(--al-blue-100); }
.andromeda-navbar .nav-item.active > .nav-link,
.andromeda-navbar .nav-link.active,
.andromeda-navbar .current-menu-item > .nav-link,
.andromeda-navbar .current_page_item > .nav-link { color: var(--al-blue); background: var(--al-blue-100); }

.andromeda-navbar .dropdown-menu {
	border: 1px solid var(--al-line);
	border-radius: var(--al-radius);
	padding: .5rem;
	box-shadow: var(--al-shadow);
	margin-top: .25rem;
}
.andromeda-navbar .dropdown-item {
	border-radius: 8px;
	padding: .55rem .75rem;
	color: var(--al-navy);
	font-weight: 500;
}
.andromeda-navbar .dropdown-item:hover,
.andromeda-navbar .dropdown-item:focus { background: var(--al-blue-100); color: var(--al-blue); }

.andromeda-navbar .navbar-toggler { border: 1px solid var(--al-line); padding: .4rem .6rem; }
.andromeda-navbar .navbar-toggler:focus { box-shadow: 0 0 0 .2rem rgba(31,111,235,.15); }

.andromeda-navbar .navbar-cta { margin-left: 1rem; }
.andromeda-navbar .navbar-cta .btn { white-space: nowrap; }

@media (max-width: 991.98px) {
	.andromeda-navbar .navbar-collapse { padding-top: 1rem; }
	.andromeda-navbar .nav-link { padding: .65rem .25rem; }
	.andromeda-navbar .navbar-cta { margin-left: 0; margin-top: .5rem; }
	.andromeda-navbar .dropdown-menu { box-shadow: none; border: 0; padding-left: .75rem; }
}

/* ============================================================
 * 5. Footer
 * ============================================================ */
.andromeda-footer {
	margin-top: 0;
	background: var(--al-navy);
	color: rgba(255,255,255,.78);
	padding-top: 0;
}
.andromeda-footer .footer-main { padding: 4rem 0 2.5rem; }
.andromeda-footer .footer-brand { display: flex; align-items: center; margin-bottom: 1rem; }
.andromeda-footer .footer-brand a {
	display: inline-flex;
	align-items: center;
	background: #fff;
	padding: .55rem .85rem;
	border-radius: var(--al-radius-sm);
	box-shadow: 0 1px 0 rgba(255,255,255,.06);
}
.andromeda-footer .footer-brand .custom-logo,
.andromeda-footer .footer-brand .andromeda-brand-img {
	width: auto;
	max-width: 220px;
	height: 80px;
	object-fit: contain;
	display: block;
}
.andromeda-footer .footer-tagline { color: rgba(255,255,255,.7); margin-bottom: 1.25rem; max-width: 28rem; }
.andromeda-footer .footer-widget-title { color: #fff; font-size: .95rem; text-transform: uppercase; letter-spacing: .06em; margin-bottom: 1rem; font-weight: 700; }
.andromeda-footer .footer-links { list-style: none; padding: 0; margin: 0; }
.andromeda-footer .footer-links li { margin-bottom: .55rem; }
.andromeda-footer .footer-links a { color: rgba(255,255,255,.75); font-size: .92rem; }
.andromeda-footer .footer-links a:hover { color: #fff; }
.andromeda-footer .footer-contact { list-style: none; padding: 0; margin: 0; }
.andromeda-footer .footer-contact li { display: flex; gap: .6rem; align-items: flex-start; margin-bottom: .65rem; font-size: .92rem; color: rgba(255,255,255,.78); }
.andromeda-footer .footer-contact a { color: rgba(255,255,255,.85); }
.andromeda-footer .footer-contact i { color: var(--al-cyan); margin-top: 3px; }

.andromeda-footer .footer-bottom {
	background: rgba(0,0,0,.18);
	padding: 1rem 0;
	border-top: 1px solid rgba(255,255,255,.06);
	font-size: 0.9375rem;
	line-height: 1.55;
	color: rgba(255,255,255,.78);
}
.andromeda-footer .footer-bottom a { color: rgba(255,255,255,.85); font-weight: 500; }
.andromeda-footer .footer-bottom a:hover { color: #fff; }
.andromeda-footer .footer-bottom-links { list-style: none; padding: 0; margin: 0; display: flex; gap: 1.25rem; flex-wrap: wrap; justify-content: center; }
.andromeda-footer .footer-bottom-links li { font-size: 0.9375rem; }
.andromeda-footer .footer-copy {
	font-family: var(--al-font-sans);
	font-size: 0.9375rem;
	line-height: 1.55;
	color: rgba(255,255,255,.88);
	text-align: center;
	max-width: 100%;
}
.andromeda-footer .footer-copy-line { display: inline-block; }
@media (min-width: 768px) {
	.andromeda-footer .footer-bottom .container.d-flex { align-items: center !important; }
	.andromeda-footer .footer-copy { text-align: left; }
	.andromeda-footer .footer-bottom-links { justify-content: flex-end; }
}

.andromeda-socials {
	list-style: none; padding: 0; margin: 0;
	display: inline-flex; gap: .5rem; flex-wrap: wrap;
}
.andromeda-socials a {
	width: 38px; height: 38px;
	display: inline-flex; align-items: center; justify-content: center;
	border-radius: 50%;
	background: rgba(255,255,255,.08);
	color: #fff;
	transition: background .2s ease, transform .15s ease, color .2s ease;
	font-size: 1rem;
}
.andromeda-socials a:hover { background: var(--al-blue); color: #fff; transform: translateY(-2px); }

/* On light backgrounds use blue tint */
.about-socials a,
.contact-socials-list a,
.social-proof-icons a {
	background: var(--al-blue-100);
	color: var(--al-blue);
}
.about-socials a:hover,
.contact-socials-list a:hover,
.social-proof-icons a:hover { background: var(--al-blue); color: #fff; }

/* ============================================================
 * 6. Reusable section primitives
 * ============================================================ */
.andromeda-section { padding: 4.5rem 0; }
.andromeda-section + .andromeda-section { border-top: 1px solid var(--al-line); }

.section-heading { text-align: center; max-width: 760px; margin: 0 auto 2.5rem; }
.section-heading p { color: var(--al-muted); }
.section-heading .eyebrow { margin-bottom: .85rem; }

.andromeda-page-header {
	position: relative;
	overflow: hidden;
	padding: 4.5rem 0 3.25rem;
	background: linear-gradient(180deg, #0b1f3a 0%, #102a52 100%);
	color: #fff;
	border-bottom: 1px solid rgba(255, 255, 255, .06);
}
.andromeda-page-header .page-header-backdrop { position: absolute; inset: 0; pointer-events: none; }
.andromeda-page-header .page-header-grid {
	position: absolute; inset: 0;
	background-image:
		linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
	background-size: 48px 48px;
	mask-image: radial-gradient(ellipse at 50% 30%, #000 30%, transparent 75%);
}
.andromeda-page-header .page-header-glow { position: absolute; width: 420px; height: 420px; filter: blur(80px); opacity: .32; border-radius: 50%; }
.andromeda-page-header .page-header-glow--a { top: -140px; left: -120px; background: var(--al-blue); }
.andromeda-page-header .page-header-glow--b { bottom: -180px; right: -120px; background: var(--al-cyan); }

.andromeda-page-header .page-header-eyebrow {
	display: inline-flex; align-items: center; gap: .5rem;
	background: rgba(255,255,255,.08);
	color: #cfe1ff;
	padding: .4rem .8rem;
	border-radius: 999px;
	font-size: .8rem;
	font-weight: 600;
	letter-spacing: .04em;
	border: 1px solid rgba(255,255,255,.12);
	margin-bottom: 1.1rem;
	text-transform: uppercase;
}
.andromeda-page-header .page-header-eyebrow i { color: var(--al-cyan); }
.andromeda-page-header .page-header-title { color: #fff; font-size: clamp(1.9rem, 3.5vw, 2.6rem); line-height: 1.15; margin: .25rem 0 1rem; }
.andromeda-page-header .page-header-intro { color: rgba(255,255,255,.82); font-size: 1.05rem; max-width: 680px; margin: 0 auto; }

/* ============================================================
 * 7. Homepage — Hero
 * ============================================================ */
.andromeda-hero {
	position: relative;
	overflow: hidden;
	padding: 5rem 0 5.5rem;
	background:
		linear-gradient(180deg, #0b1f3a 0%, #102a52 100%);
	color: #fff;
}
.andromeda-hero .hero-title { color: #fff; max-width: 22ch; }
.andromeda-hero .hero-subtitle { color: rgba(255,255,255,.82); font-size: 1.1rem; max-width: 60ch; margin: 1rem 0 1.75rem; }
.andromeda-hero .hero-eyebrow {
	display: inline-flex; align-items: center; gap: .5rem;
	background: rgba(255,255,255,.08);
	color: #cfe1ff;
	padding: .4rem .8rem;
	border-radius: 999px;
	font-size: .8rem;
	font-weight: 600;
	letter-spacing: .04em;
	border: 1px solid rgba(255,255,255,.12);
	margin-bottom: 1.25rem;
}
.andromeda-hero .hero-actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.andromeda-hero .hero-meta {
	list-style: none; padding: 0; margin: 2rem 0 0;
	display: flex; flex-wrap: wrap; gap: 1rem 1.5rem;
	color: rgba(255,255,255,.8);
	font-size: .92rem;
}
.andromeda-hero .hero-meta i { color: var(--al-cyan); margin-right: .35rem; }

.andromeda-hero .hero-backdrop { position: absolute; inset: 0; pointer-events: none; }
.andromeda-hero .hero-grid {
	position: absolute; inset: 0;
	background-image:
		linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
	background-size: 48px 48px;
	mask-image: radial-gradient(ellipse at 50% 30%, #000 30%, transparent 75%);
}
.andromeda-hero .hero-glow { position: absolute; width: 480px; height: 480px; filter: blur(80px); opacity: .35; border-radius: 50%; }
.andromeda-hero .hero-glow--a { top: -120px; left: -120px; background: var(--al-blue); }
.andromeda-hero .hero-glow--b { bottom: -160px; right: -120px; background: var(--al-cyan); }

.hero-card {
	background: rgba(255,255,255,.06);
	border: 1px solid rgba(255,255,255,.12);
	border-radius: var(--al-radius-lg);
	padding: 1.25rem;
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
	box-shadow: 0 30px 60px rgba(0,0,0,.25);
}
.hero-card-row { display: flex; align-items: center; gap: .85rem; padding: .65rem .35rem; border-bottom: 1px dashed rgba(255,255,255,.08); }
.hero-card-row:last-child { border-bottom: 0; }
.hero-card-row strong { display: block; color: #fff; font-size: .98rem; }
.hero-card-row small { color: rgba(255,255,255,.7); font-size: .82rem; }
.hero-card-dot { width: 10px; height: 10px; border-radius: 50%; flex: 0 0 auto; box-shadow: 0 0 0 4px rgba(255,255,255,.05); }
.hero-card-dot--green { background: #22d36b; }
.hero-card-dot--blue  { background: var(--al-cyan); }
.hero-card-dot--amber { background: #f5b13a; }

/* ============================================================
 * 8. Homepage — Services grid
 * ============================================================ */
.andromeda-services-grid { background: var(--al-bg-soft); }
.service-card {
	display: flex; flex-direction: column; gap: .65rem;
	padding: 1.5rem;
	border: 1px solid var(--al-line);
	border-radius: var(--al-radius);
	background: #fff;
	height: 100%;
	color: var(--al-text);
	transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
	text-decoration: none;
}
.service-card:hover { border-color: rgba(31,111,235,.5); box-shadow: var(--al-shadow); transform: translateY(-3px); color: var(--al-text); }
.service-card-icon {
	width: 48px; height: 48px;
	display: inline-flex; align-items: center; justify-content: center;
	border-radius: 12px;
	background: linear-gradient(135deg, rgba(31,111,235,.12), rgba(43,182,255,.12));
	color: var(--al-blue);
	font-size: 1.35rem;
	margin-bottom: .25rem;
}
.service-card-title { font-size: 1.08rem; margin: 0; }
.service-card-desc  { margin: 0; color: var(--al-muted); font-size: .93rem; line-height: 1.55; flex: 1 1 auto; }
.service-card-link  { color: var(--al-blue); font-weight: 600; font-size: .9rem; display: inline-flex; align-items: center; gap: .35rem; margin-top: auto; }
.service-card:hover .service-card-link i { transform: translateX(3px); }
.service-card-link i { transition: transform .15s ease; }

/* ============================================================
 * 9. Homepage — Solutions
 * ============================================================ */
.andromeda-solutions-home { background: #fff; }
/* Homepage solutions section reuses the .solution-card markup from the
   /solutions/ listing so both stay visually aligned. The actual card
   rules live in section 15 below. */

/* ============================================================
 * 10. Homepage — Industries
 * ============================================================ */
.andromeda-industries { background: var(--al-bg-soft); }
.industry-card {
	display: flex; align-items: flex-start; gap: 1rem;
	padding: 1.25rem;
	border: 1px solid var(--al-line);
	border-radius: var(--al-radius);
	background: #fff;
	height: 100%;
	transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.industry-card:hover { border-color: rgba(31,111,235,.4); box-shadow: var(--al-shadow); transform: translateY(-2px); }
.industry-card-icon { width: 42px; height: 42px; border-radius: 10px; background: var(--al-navy); color: #fff; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; font-size: 1.15rem; }
.industry-card-title { font-size: 1.05rem; margin: 0 0 .25rem; }
.industry-card-desc { margin: 0; color: var(--al-muted); font-size: .92rem; }

/* ============================================================
 * 11. Homepage — Social proof / Follow our work
 * ============================================================ */
.andromeda-social-proof { background: #fff; }
.proof-card {
	background: #fff;
	border: 1px solid var(--al-line);
	border-radius: var(--al-radius);
	overflow: hidden;
	height: 100%;
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.proof-card:hover { transform: translateY(-3px); box-shadow: var(--al-shadow); border-color: rgba(31,111,235,.4); }
.proof-card-media {
	height: 150px;
	display: flex; align-items: center; justify-content: center;
	color: #fff;
	font-size: 2.6rem;
	background:
		radial-gradient(ellipse at top left, rgba(43,182,255,.5), transparent 60%),
		linear-gradient(135deg, var(--al-navy), var(--al-blue));
}
.proof-card-body { padding: 1.25rem; }
.proof-card-title { font-size: 1.05rem; margin: 0 0 .35rem; }
.proof-card-desc { margin: 0; color: var(--al-muted); font-size: .92rem; }

/* ============================================================
 * 12. Homepage — Insights
 * ============================================================ */
.andromeda-insights-home { background: var(--al-bg-soft); }
.andromeda-insights-home .insight-card { background: #fff; border: 1px solid var(--al-line); border-radius: var(--al-radius); overflow: hidden; height: 100%; display: flex; flex-direction: column; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.andromeda-insights-home .insight-card:hover { transform: translateY(-3px); box-shadow: var(--al-shadow); border-color: rgba(31,111,235,.4); }
.andromeda-insights-home .insight-card-body { padding: 1.25rem; flex: 1 1 auto; display: flex; flex-direction: column; }
.andromeda-insights-home .insight-card-body h3 { font-size: 1.08rem; margin: .35rem 0 .5rem; }
.andromeda-insights-home .insight-card-body h3 a { color: var(--al-navy); }
.andromeda-insights-home .insight-card-body h3 a:hover { color: var(--al-blue); }
.andromeda-insights-home .insight-card-body p { color: var(--al-muted); font-size: .93rem; margin: 0 0 .75rem; flex: 1 1 auto; }

/* ============================================================
 * 13. Homepage — Final CTA
 * ============================================================ */
.andromeda-final-cta { padding: 4rem 0 5rem; background: #fff; }
.final-cta-card {
	background:
		radial-gradient(ellipse at top right, rgba(43,182,255,.4), transparent 60%),
		linear-gradient(135deg, var(--al-navy), var(--al-blue-600));
	color: #fff;
	border-radius: var(--al-radius-lg);
	padding: 2.5rem;
	box-shadow: var(--al-shadow-lg);
}
.final-cta-card h2 { color: #fff; margin: .25rem 0 .5rem; font-size: clamp(1.45rem, 2.4vw, 2rem); }
.final-cta-card p { color: rgba(255,255,255,.85); margin: 0; max-width: 60ch; }
.final-cta-eyebrow {
	display: inline-flex; align-items: center; gap: .5rem;
	background: rgba(255,255,255,.12);
	color: rgba(255,255,255,.95);
	font-size: .78rem;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
	padding: .35rem .7rem;
	border-radius: 999px;
	border: 1px solid rgba(255,255,255,.18);
}
.andromeda-final-cta .btn-light { color: var(--al-navy); }
.andromeda-final-cta .btn-light:hover { background: #fff; color: var(--al-blue); }

/* ============================================================
 * 14. Inner pages — Services
 * ============================================================ */
/* Services-page sticky section nav — used as a band directly under the page header */
.services-nav-band {
	position: sticky;
	top: 80px;
	z-index: 5;
	padding: .85rem 0;
	background: rgba(255, 255, 255, .92);
	-webkit-backdrop-filter: saturate(140%) blur(10px);
	backdrop-filter: saturate(140%) blur(10px);
	border-bottom: 1px solid var(--al-line);
	box-shadow: 0 1px 0 rgba(11, 31, 58, .03);
}
.services-nav {
	background: var(--al-bg-soft);
	border: 1px solid var(--al-line);
	border-radius: 999px;
	padding: .4rem .6rem;
}
.services-nav ul {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: .35rem;
	justify-content: center;
}
.services-nav a {
	display: inline-block;
	padding: .4rem .85rem;
	border-radius: 999px;
	background: #fff;
	border: 1px solid var(--al-line);
	font-size: .88rem;
	color: var(--al-navy);
	font-weight: 600;
	white-space: nowrap;
	transition: background .15s ease, color .15s ease, border-color .15s ease, transform .15s ease;
}
.services-nav a:hover,
.services-nav a.is-active {
	background: var(--al-blue);
	color: #fff;
	border-color: var(--al-blue);
	transform: translateY(-1px);
}
@media (max-width: 767.98px) {
	.services-nav-band {
		position: static;
		padding: .6rem 0;
	}
	.services-nav { border-radius: var(--al-radius); padding: .5rem; }
	.services-nav ul {
		flex-wrap: nowrap;
		overflow-x: auto;
		justify-content: flex-start;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: thin;
	}
	.services-nav ul::-webkit-scrollbar { height: 4px; }
	.services-nav ul::-webkit-scrollbar-thumb { background: var(--al-line); border-radius: 4px; }
}

.service-group { padding: 2.5rem 0; border-top: 1px solid var(--al-line); scroll-margin-top: 120px; }
.service-group:first-of-type { border-top: 0; }
.service-group-head { padding-right: 1rem; }
.service-group-icon { display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 56px; border-radius: 14px; background: linear-gradient(135deg, var(--al-blue), var(--al-cyan)); color: #fff; font-size: 1.6rem; margin-bottom: 1rem; }
.service-group-head h2 { font-size: 1.5rem; margin-bottom: .35rem; }
.service-group-head p { color: var(--al-muted); margin: 0 0 1.1rem; }

.service-group-cta {
	display: inline-flex;
	align-items: center;
	gap: .45rem;
	padding: .55rem 1rem;
	border: 1px solid rgba(31, 111, 235, .25);
	background: rgba(31, 111, 235, .06);
	border-radius: 999px;
	font-weight: 600;
	font-size: .9rem;
	line-height: 1.3;
	color: var(--al-blue-600);
	max-width: 100%;
	transition: background .15s ease, color .15s ease, border-color .15s ease, transform .15s ease, box-shadow .15s ease;
}
.service-group-cta:hover,
.service-group-cta:focus-visible {
	background: linear-gradient(135deg, var(--al-blue), var(--al-cyan));
	color: #fff;
	border-color: transparent;
	transform: translateY(-2px);
	box-shadow:
		0 12px 24px rgba(31, 111, 235, .28),
		0 2px 6px rgba(31, 111, 235, .18);
}
.service-group-cta i {
	font-size: .95rem;
	transition: transform .2s ease;
}
.service-group-cta:hover i,
.service-group-cta:focus-visible i { transform: translateX(3px); }
.service-item {
	display: flex; align-items: center; gap: .65rem;
	padding: .85rem 1rem;
	border: 1px solid var(--al-line);
	border-radius: var(--al-radius-sm);
	background: var(--al-bg-soft);
	transition: background .2s ease, border-color .2s ease, transform .2s ease;
}
.service-item:hover { background: #fff; border-color: rgba(31,111,235,.4); transform: translateY(-1px); }
.service-item i { color: var(--al-blue); font-size: 1.05rem; }
.service-item span { font-weight: 500; }

/* ----- Technology Procurement feature (top of Services page) ----- */
/* Distinct full-width banded section so it reads as its own zone */
.procurement-section {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	padding: clamp(3rem, 5vw, 4.5rem) 0 clamp(3.5rem, 5.5vw, 5rem);
	scroll-margin-top: 110px;
	background:
		radial-gradient(120% 90% at 50% 0%, #ffffff 0%, #eef3fb 45%, #e4ecf7 100%);
	border-top: 1px solid rgba(31, 111, 235, .12);
	border-bottom: 1px solid rgba(31, 111, 235, .12);
}
.procurement-section-grid {
	position: absolute;
	inset: 0;
	z-index: -1;
	background-image:
		linear-gradient(rgba(11, 31, 58, .045) 1px, transparent 1px),
		linear-gradient(90deg, rgba(11, 31, 58, .045) 1px, transparent 1px);
	background-size: 36px 36px;
	mask-image: radial-gradient(ellipse 80% 60% at 50% 50%, #000 35%, transparent 95%);
	-webkit-mask-image: radial-gradient(ellipse 80% 60% at 50% 50%, #000 35%, transparent 95%);
	opacity: .65;
}
.procurement-section-glow {
	position: absolute;
	z-index: -1;
	border-radius: 50%;
	filter: blur(70px);
	opacity: .45;
	pointer-events: none;
}
.procurement-section-glow--a {
	top: -120px;
	left: -80px;
	width: 360px;
	height: 360px;
	background: radial-gradient(circle, rgba(43, 182, 255, .55), transparent 70%);
}
.procurement-section-glow--b {
	bottom: -140px;
	right: -100px;
	width: 420px;
	height: 420px;
	background: radial-gradient(circle, rgba(31, 111, 235, .45), transparent 70%);
}

.procurement-feature { position: relative; }
.procurement-feature-head { max-width: 760px; margin: 0 auto 2.25rem; text-align: center; }
.procurement-feature-head .eyebrow {
	background: rgba(31, 111, 235, .12);
	color: var(--al-blue-600);
}
.procurement-feature-head h2 {
	font-size: clamp(1.55rem, 2.6vw, 2.15rem);
	margin: .65rem 0 .9rem;
	color: var(--al-navy);
}
.procurement-feature-head p { color: var(--al-muted); margin: 0; }

@media (max-width: 575.98px) {
	.procurement-section-grid { background-size: 28px 28px; }
}

/* Timeline-style workflow strip — circles linked by a continuous bar */
.procurement-flow {
	list-style: none;
	margin: 0 0 2.25rem;
	padding: 2rem 1.5rem 1.75rem;
	background: #fff;
	border: 1px solid rgba(31, 111, 235, .12);
	border-radius: var(--al-radius);
	box-shadow: var(--al-shadow-sm);
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1rem;
	position: relative;
}
/* Continuous gradient rail behind the circles */
.procurement-flow::before {
	content: '';
	position: absolute;
	top: calc(2rem + 22px);
	left: calc((100% / 4) / 2 + 1.5rem);
	right: calc((100% / 4) / 2 + 1.5rem);
	height: 3px;
	border-radius: 3px;
	background: linear-gradient(90deg, var(--al-blue), var(--al-cyan));
	opacity: .85;
	z-index: 0;
}
.procurement-flow-step {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	padding: 0 .25rem;
	position: relative;
	z-index: 1;
}
.procurement-flow-node {
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background: #fff;
	border: 3px solid var(--al-blue);
	box-shadow: 0 6px 16px rgba(31, 111, 235, .18);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 1rem;
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.procurement-flow-step:hover .procurement-flow-node {
	transform: translateY(-2px);
	border-color: var(--al-cyan);
	box-shadow: 0 10px 22px rgba(31, 111, 235, .28);
}
.procurement-flow-num {
	font-family: var(--al-font-head);
	font-weight: 800;
	font-size: .95rem;
	letter-spacing: .03em;
	background: linear-gradient(135deg, var(--al-blue), var(--al-cyan));
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	line-height: 1;
}
.procurement-flow-body { width: 100%; max-width: 22ch; }
.procurement-flow-title {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	margin-bottom: .3rem;
}
.procurement-flow-title i { color: var(--al-blue); font-size: 1rem; }
.procurement-flow-title strong {
	color: var(--al-navy);
	font-family: var(--al-font-head);
	font-size: 1rem;
	letter-spacing: -.005em;
}
.procurement-flow-body p {
	margin: 0;
	color: var(--al-muted);
	font-size: .86rem;
	line-height: 1.5;
}

/* Tablet — keep horizontal but tighter, rail still spans steps */
@media (max-width: 991.98px) {
	.procurement-flow { padding: 1.75rem 1rem 1.5rem; gap: .75rem; }
	.procurement-flow-body { font-size: .82rem; max-width: 18ch; }
}

/* Mobile — switch to a vertical timeline with a left-side rail */
@media (max-width: 575.98px) {
	.procurement-flow {
		grid-template-columns: 1fr;
		gap: 1.25rem;
		padding: 1.5rem 1.25rem;
	}
	.procurement-flow::before {
		top: calc(1.5rem + 23px);
		bottom: calc(1.5rem + 23px);
		left: calc(1.25rem + 22px);
		right: auto;
		width: 3px;
		height: auto;
		background: linear-gradient(180deg, var(--al-blue), var(--al-cyan));
	}
	.procurement-flow-step {
		flex-direction: row;
		align-items: flex-start;
		text-align: left;
		gap: 1rem;
	}
	.procurement-flow-node { margin-bottom: 0; flex: 0 0 auto; }
	.procurement-flow-body { max-width: none; }
}

/* Per-category blocks — mirror the service-group layout, but with a real
   image in the left column instead of an icon tile. */
.procurement-groups { margin-top: .5rem; }
.procurement-group {
	padding: 2.5rem 0;
	border-top: 1px solid rgba(31, 111, 235, .14);
	scroll-margin-top: 120px;
}
.procurement-group:first-of-type { border-top: 0; padding-top: 1rem; }

.procurement-group-head { padding-right: 1rem; }
.procurement-group-media {
	margin: 0 0 1.1rem;
	border-radius: var(--al-radius);
	overflow: hidden;
	aspect-ratio: 16 / 10;
	background: var(--al-bg-soft);
	border: 1px solid rgba(31, 111, 235, .12);
	box-shadow: var(--al-shadow-sm);
}
.procurement-group-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
	transition: transform .6s ease;
	will-change: transform;
}
.procurement-group:hover .procurement-group-media img { transform: scale(1.03); }
.procurement-group-head h3 {
	font-size: 1.5rem;
	margin-bottom: .4rem;
	color: var(--al-navy);
}
.procurement-group-head p {
	color: var(--al-muted);
	margin: 0;
	line-height: 1.55;
}

/* Vendor items reuse .service-item — give them crisp white pills on the
   tinted band so they stand out clearly. */
.procurement-section .service-item {
	background: #fff;
	border-color: rgba(31, 111, 235, .14);
	box-shadow: var(--al-shadow-sm);
}
.procurement-section .service-item:hover {
	background: #fff;
	border-color: rgba(31, 111, 235, .4);
}

/* Sub-grouped procurement category — labelled vendor sub-sections inside
   the right column (used by IT Infrastructure & Networking). */
.procurement-subgroup + .procurement-subgroup { margin-top: 1.5rem; }
.procurement-subgroup-label {
	display: inline-flex;
	align-items: center;
	gap: .45rem;
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--al-blue-600);
	margin: 0 0 .65rem;
	padding: .3rem .7rem;
	background: rgba(31, 111, 235, .08);
	border: 1px solid rgba(31, 111, 235, .18);
	border-radius: 999px;
}
.procurement-subgroup-label i { font-size: .9rem; color: var(--al-blue); }

@media (max-width: 991.98px) {
	.procurement-group { padding: 2rem 0; }
	.procurement-group-head { padding-right: 0; }
	.procurement-group-media { aspect-ratio: 16 / 9; max-width: 520px; }
}

.procurement-note {
	display: flex;
	align-items: flex-start;
	gap: .55rem;
	width: fit-content;
	max-width: 820px;
	margin: 1.75rem auto 0;
	padding: .75rem 1.15rem;
	color: var(--al-navy);
	font-size: .88rem;
	line-height: 1.5;
	background: rgba(255, 255, 255, .8);
	border: 1px solid rgba(31, 111, 235, .14);
	border-radius: 999px;
	box-shadow: var(--al-shadow-sm);
	text-align: left;
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
}
.procurement-note i { color: var(--al-blue); }

/* ============================================================
 * 15. Inner pages — Solutions
 * ============================================================ */
/* Solution card — used by BOTH /solutions/ listing AND the homepage
   solutions preview so the two stay visually consistent. */
.solution-card {
	padding: 1.6rem 1.4rem;
	border: 1px solid var(--al-line);
	border-radius: var(--al-radius);
	background: #fff;
	height: 100%;
	display: flex;
	flex-direction: column;
	gap: .65rem;
	scroll-margin-top: 120px;
	transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.solution-card:hover { border-color: rgba(31,111,235,.4); box-shadow: var(--al-shadow); transform: translateY(-3px); }
/* Soft background on the homepage variant to match the rest of the home
   sections without breaking the listing page's pure-white card. */
.andromeda-solutions-home .solution-card { background: var(--al-bg-soft); }
.andromeda-solutions-home .solution-card:hover { background: #fff; }
.solution-card-head { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: .25rem; }
.solution-card-icon {
	width: 48px; height: 48px;
	border-radius: 12px;
	background: linear-gradient(135deg, var(--al-blue), var(--al-cyan));
	color: #fff;
	display: inline-flex; align-items: center; justify-content: center;
	font-size: 1.35rem;
}
.solution-card-badge {
	background: var(--al-blue-100);
	color: var(--al-blue);
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	padding: .25rem .65rem;
	border-radius: 999px;
}
.solution-card-title { font-size: 1.18rem; margin: 0; color: var(--al-navy); }
.solution-card-desc { margin: 0; color: var(--al-muted); font-size: .93rem; }
.solution-card-list { list-style: none; padding: 0; margin: .25rem 0 .5rem; }
.solution-card-list li { padding: .3rem 0; font-size: .92rem; color: var(--al-text); display: flex; align-items: flex-start; }
.solution-card-list i { color: var(--al-blue); margin-top: .2rem; }
.solution-card-link { color: var(--al-blue); font-weight: 600; display: inline-flex; align-items: center; gap: .25rem; margin-top: auto; }

/* Two-CTA row on each solution card: primary "Explore now" pill + quiet
   "Discuss this solution" text-link beneath it. Pushed to the bottom of
   the card so cards align nicely in a row. */
.solution-card-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .65rem 1rem;
	margin-top: auto;
	padding-top: .65rem;
}
.solution-card-actions .btn-explore {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	padding: .55rem 1rem;
	border-radius: 999px;
	font-weight: 600;
	font-size: .92rem;
	line-height: 1.3;
	color: #fff;
	background: linear-gradient(135deg, var(--al-blue), var(--al-cyan));
	border: 1px solid transparent;
	box-shadow: 0 6px 16px rgba(31, 111, 235, .22);
	transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
}
.solution-card-actions .btn-explore:hover,
.solution-card-actions .btn-explore:focus-visible {
	color: #fff;
	transform: translateY(-2px);
	box-shadow:
		0 12px 24px rgba(31, 111, 235, .28),
		0 2px 6px rgba(31, 111, 235, .18);
	filter: brightness(1.02);
}
.solution-card-actions .btn-explore i {
	font-size: .95rem;
	transition: transform .2s ease;
}
.solution-card-actions .btn-explore:hover i,
.solution-card-actions .btn-explore:focus-visible i { transform: translate(2px, -2px); }

/* "Discuss this solution" — soft pill by default; vibrant gradient +
   glow on hover (matches .service-group-cta energy). */
.solution-card-actions .btn-discuss {
	display: inline-flex;
	align-items: center;
	gap: .45rem;
	font-weight: 600;
	font-size: .9rem;
	line-height: 1.3;
	color: var(--al-blue-600);
	text-decoration: none;
	padding: .5rem .85rem;
	border-radius: 999px;
	border: 1px solid rgba(31, 111, 235, .28);
	background: rgba(31, 111, 235, .07);
	transition: background .18s ease, color .18s ease, border-color .18s ease,
		transform .18s ease, box-shadow .18s ease;
}
.solution-card-actions .btn-discuss:hover,
.solution-card-actions .btn-discuss:focus-visible {
	color: #fff;
	background: linear-gradient(135deg, var(--al-blue), var(--al-cyan));
	border-color: transparent;
	transform: translateY(-2px);
	box-shadow:
		0 12px 28px rgba(31, 111, 235, .32),
		0 4px 10px rgba(31, 111, 235, .2),
		0 0 0 1px rgba(255, 255, 255, .12) inset;
}
.solution-card-actions .btn-discuss i { font-size: .9rem; transition: transform .2s ease; }
.solution-card-actions .btn-discuss:hover i,
.solution-card-actions .btn-discuss:focus-visible i { transform: translateX(3px); }

/* ============================================================
 * 15b. Solution detail pages
 * ============================================================ */
/* Keep comfortable space above the section divider (the next
   .andromeda-section draws border-top: 1px solid var(--al-line)). */
.solution-detail-intro { padding-bottom: 3.5rem; }
.solution-detail-summary .eyebrow {
	background: var(--al-blue-100);
	color: var(--al-blue-600);
}
.solution-detail-summary h2 { font-size: clamp(1.4rem, 2.4vw, 1.9rem); margin: .6rem 0 1rem; }
.solution-detail-lede { color: var(--al-muted); font-size: 1.05rem; line-height: 1.65; margin: 0; }

/* Brand mark above "Best for" (SkilledIM, Silver Accounting): logo file
   optional — typographic fallback uses the same accessible name as img alt. */
.solution-detail-aside-brand {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: .45rem;
	margin-bottom: 1.15rem;
	padding: 1rem 1.15rem;
	background: #fff;
	border: 1px solid var(--al-line);
	border-radius: var(--al-radius);
	box-shadow: var(--al-shadow-sm);
	width: 100%;
	max-width: 100%;
}
.solution-detail-aside-brand-img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 360 / 72;
	object-fit: contain;
	object-position: center center;
}
.solution-detail-aside-brand-fallback {
	margin: 0;
	font-size: clamp(1.2rem, 2.4vw, 1.55rem);
	font-weight: 700;
	letter-spacing: -.02em;
	line-height: 1.2;
	color: var(--al-navy);
}
.solution-detail-aside-brand-tagline {
	font-size: .68rem;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--al-muted);
}

/* Two-CTA row: Explore (outline, secondary) + Discuss (filled, primary).
   Wraps on narrow viewports so neither button gets clipped. */
.solution-detail-cta-row {
	display: flex;
	flex-wrap: wrap;
	gap: .85rem 1rem;
	align-items: center;
	margin-top: 1.75rem;
	margin-bottom: .35rem;
	padding-top: .25rem;
	padding-bottom: .15rem;
}
.solution-detail-cta-row .btn {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	padding: .7rem 1.35rem;
	border-radius: 999px;
	font-weight: 600;
	font-size: .95rem;
	line-height: 1.3;
	letter-spacing: .01em;
}
.solution-detail-cta-row .btn i { font-size: .95rem; }

/* Primary Discuss — must beat .andromeda-site .btn-primary:hover (flat
   solid) so the gradient + glow stay on hover. */
.andromeda-site .btn.btn-primary.solution-detail-cta-discuss {
	color: #fff;
	background: linear-gradient(135deg, var(--al-blue), var(--al-cyan));
	border-color: transparent;
	box-shadow: 0 6px 18px rgba(31, 111, 235, .25);
	transition: transform .18s ease, box-shadow .18s ease, filter .18s ease,
		background .18s ease, border-color .18s ease, color .18s ease;
}
.andromeda-site .btn.btn-primary.solution-detail-cta-discuss:hover,
.andromeda-site .btn.btn-primary.solution-detail-cta-discuss:focus-visible {
	color: #fff;
	background: linear-gradient(135deg, #1d4ed8, #06b6d4);
	border-color: transparent;
	transform: translateY(-3px);
	box-shadow:
		0 14px 34px rgba(31, 111, 235, .38),
		0 6px 14px rgba(31, 111, 235, .22),
		0 0 0 3px rgba(43, 182, 255, .28);
	filter: brightness(1.05);
}
.andromeda-site .btn.btn-primary.solution-detail-cta-discuss:active {
	transform: translateY(-1px);
	filter: brightness(0.98);
}

/* Secondary (Explore) — clean outline, lifts to a soft tinted fill on hover. */
.solution-detail-cta-explore {
	color: var(--al-blue-600);
	border-color: rgba(31, 111, 235, .35);
	background: #fff;
	transition: transform .15s ease, border-color .15s ease, background-color .15s ease, color .15s ease, box-shadow .15s ease;
}
.solution-detail-cta-explore:hover,
.solution-detail-cta-explore:focus-visible {
	color: var(--al-blue);
	border-color: var(--al-blue);
	background: var(--al-blue-100);
	transform: translateY(-2px);
	box-shadow: 0 6px 14px rgba(31, 111, 235, .12);
}

/* Icon micro-motion — direction matches link type. */
.solution-detail-cta-explore i,
.andromeda-site .btn.btn-primary.solution-detail-cta-discuss i { transition: transform .18s ease; }
.solution-detail-cta-explore:hover .bi-arrow-right        { transform: translateX(2px); }
.solution-detail-cta-explore:hover .bi-arrow-down         { transform: translateY(2px); }
.solution-detail-cta-explore:hover .bi-box-arrow-up-right { transform: translate(2px, -2px); }
.andromeda-site .btn.btn-primary.solution-detail-cta-discuss:hover i,
.andromeda-site .btn.btn-primary.solution-detail-cta-discuss:focus-visible i { transform: translateX(3px); }

/* When the Explore CTA jumps to the in-page #features anchor, leave a
   little breathing room above the heading so it doesn't sit flush under
   the sticky navbar. */
#features { scroll-margin-top: 110px; }

@media (max-width: 575.98px) {
	.solution-detail-intro { padding-bottom: 2.5rem; }
	.solution-detail-cta-row { gap: .65rem; margin-top: 1.5rem; margin-bottom: .25rem; }
	.solution-detail-cta-row .btn { width: 100%; justify-content: center; }
}

/* Status / cloud-evolving callout above the lede */
.solution-detail-notice {
	display: flex;
	align-items: flex-start;
	gap: .85rem;
	margin: 0 0 1.25rem;
	padding: .9rem 1.1rem;
	background: linear-gradient(135deg, rgba(43, 182, 255, .10), rgba(31, 111, 235, .08));
	border: 1px solid rgba(31, 111, 235, .22);
	border-left: 4px solid var(--al-blue);
	border-radius: var(--al-radius);
	color: var(--al-navy);
	box-shadow: var(--al-shadow-sm);
}
.solution-detail-notice-icon {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 999px;
	background: linear-gradient(135deg, var(--al-blue), var(--al-cyan));
	color: #fff;
	font-size: 1.05rem;
	box-shadow: 0 4px 10px rgba(31, 111, 235, .25);
}
.solution-detail-notice-body { display: grid; gap: .15rem; line-height: 1.5; }
.solution-detail-notice-body strong { color: var(--al-navy); font-weight: 700; font-size: .95rem; }
.solution-detail-notice-body span { color: var(--al-muted); font-size: .92rem; }

.solution-detail-aside {
	background: #fff;
	border: 1px solid rgba(31, 111, 235, .12);
	border-radius: var(--al-radius);
	padding: 1.25rem 1.35rem;
	box-shadow: var(--al-shadow-sm);
}
.solution-detail-aside-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: .45rem;
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--al-blue-600);
	margin-bottom: .8rem;
}
.solution-detail-aside-eyebrow i { font-size: .95rem; }
.solution-detail-aside ul { list-style: none; padding: 0; margin: 0; }
.solution-detail-aside li {
	display: flex;
	align-items: flex-start;
	gap: .55rem;
	padding: .5rem 0;
	border-top: 1px dashed var(--al-line);
	color: var(--al-text);
	font-size: .92rem;
	line-height: 1.5;
}
.solution-detail-aside li:first-child { border-top: 0; padding-top: 0; }
.solution-detail-aside li i { color: var(--al-blue); margin-top: .2rem; flex: 0 0 auto; }

.solution-detail-included { background: var(--al-bg-soft); }

.solution-module-card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	text-align: left;
	gap: 1rem;
	height: 100%;
	padding: 1.35rem 1.25rem 1.4rem;
	background: #fff;
	border: 1px solid var(--al-line);
	border-radius: var(--al-radius);
	box-shadow: var(--al-shadow-sm);
	transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.solution-module-card:hover {
	border-color: rgba(31, 111, 235, .35);
	box-shadow: var(--al-shadow);
	transform: translateY(-2px);
}
.solution-module-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 3rem;
	height: 3rem;
	border-radius: 14px;
	font-size: 1.35rem;
	color: #fff;
	flex: 0 0 auto;
	box-shadow: 0 8px 18px rgba(11, 31, 58, .12);
}
.solution-module-icon--slate  { background: linear-gradient(145deg, #5b6578, #374151); box-shadow: 0 8px 18px rgba(55, 65, 81, .22); }
.solution-module-icon--blue   { background: linear-gradient(145deg, #4f8ef7, #2563eb); box-shadow: 0 8px 18px rgba(37, 99, 235, .24); }
.solution-module-icon--green  { background: linear-gradient(145deg, #34d06a, #16a34a); box-shadow: 0 8px 18px rgba(22, 163, 74, .22); }
.solution-module-icon--purple { background: linear-gradient(145deg, #9b6df8, #7c3aed); box-shadow: 0 8px 18px rgba(124, 58, 237, .22); }
.solution-module-icon--red    { background: linear-gradient(145deg, #f87171, #dc2626); box-shadow: 0 8px 18px rgba(220, 38, 38, .22); }
.solution-module-icon--teal   { background: linear-gradient(145deg, #2dd4bf, #0d9488); box-shadow: 0 8px 18px rgba(13, 148, 136, .22); }
.solution-module-icon--amber  { background: linear-gradient(145deg, #fbbf24, #d97706); box-shadow: 0 8px 18px rgba(217, 119, 6, .22); }
.solution-module-icon--orange { background: linear-gradient(145deg, #fb923c, #ea580c); box-shadow: 0 8px 18px rgba(234, 88, 12, .22); }
.solution-module-card-body {
	display: flex;
	flex-direction: column;
	gap: .45rem;
	min-width: 0;
}
.solution-module-title {
	margin: 0;
	font-family: var(--al-font-head);
	font-size: 1.02rem;
	font-weight: 700;
	line-height: 1.3;
	color: var(--al-navy);
	letter-spacing: -.01em;
}
.solution-module-desc {
	margin: 0;
	font-size: .9rem;
	line-height: 1.55;
	color: var(--al-muted);
}

.solution-detail-outcomes h2 { font-size: clamp(1.35rem, 2.4vw, 1.85rem); margin: .55rem 0 .8rem; }

.outcomes-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 1rem; }
.outcomes-list li {
	display: flex;
	align-items: flex-start;
	gap: 1rem;
	padding: 1rem 1.25rem;
	background: #fff;
	border: 1px solid rgba(31, 111, 235, .12);
	border-radius: var(--al-radius);
	box-shadow: var(--al-shadow-sm);
}
.outcomes-list .outcome-num {
	flex: 0 0 auto;
	font-family: var(--al-font-head);
	font-weight: 800;
	font-size: 1.4rem;
	line-height: 1;
	background: linear-gradient(135deg, var(--al-blue), var(--al-cyan));
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.outcomes-list p { margin: 0; color: var(--al-text); line-height: 1.55; }

.solution-detail-engagement { background: linear-gradient(180deg, #ffffff 0%, #eef3fb 100%); }
.engagement-flow {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
}
.engagement-step {
	background: #fff;
	border: 1px solid rgba(31, 111, 235, .12);
	border-radius: var(--al-radius);
	padding: 1.4rem 1.35rem;
	box-shadow: var(--al-shadow-sm);
	position: relative;
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.engagement-step:hover { transform: translateY(-2px); box-shadow: var(--al-shadow); border-color: rgba(31,111,235,.4); }
.engagement-step-num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--al-blue), var(--al-cyan));
	color: #fff;
	font-family: var(--al-font-head);
	font-weight: 800;
	font-size: .9rem;
	margin-bottom: .9rem;
}
.engagement-step-title { font-size: 1.05rem; margin: 0 0 .35rem; color: var(--al-navy); }
.engagement-step-desc { margin: 0; color: var(--al-muted); font-size: .92rem; line-height: 1.55; }
@media (max-width: 767.98px) {
	.engagement-flow { grid-template-columns: 1fr; }
}

.solution-detail-prose { background: #fff; }
.solution-detail-prose-body { color: var(--al-text); line-height: 1.7; }
.solution-detail-prose-body p { margin-bottom: 1rem; }
.solution-detail-prose-body h2,
.solution-detail-prose-body h3 { color: var(--al-navy); margin: 1.75rem 0 .75rem; }
.solution-detail-prose-body ul,
.solution-detail-prose-body ol { margin: 0 0 1rem 1.25rem; }

/* ============================================================
 * 16. Inner pages — Company
 * ============================================================ */
.company-solutions-note {
	background: var(--al-blue-100);
	border-left: 4px solid var(--al-blue);
	padding: .85rem 1rem;
	border-radius: var(--al-radius-sm);
	color: var(--al-navy);
	font-size: .94rem;
	margin-bottom: 0;
}
.about-founded {
	display: flex;
	align-items: center;
	gap: .5rem;
	font-size: .92rem;
	font-weight: 600;
	color: var(--al-blue-600);
	margin: 0 0 1rem;
}
.about-founded i { font-size: 1.05rem; opacity: .9; }
.company-industries { padding-top: 1rem; }
.company-industry-card {
	background: #fff;
	border: 1px solid var(--al-line);
	border-radius: var(--al-radius);
	padding: 1.25rem 1rem;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: .65rem;
	height: 100%;
	transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.company-industry-card:hover { border-color: rgba(31,111,235,.4); box-shadow: var(--al-shadow); transform: translateY(-2px); }
.company-industry-icon {
	width: 46px; height: 46px;
	border-radius: 12px;
	background: var(--al-navy);
	color: #fff;
	display: inline-flex; align-items: center; justify-content: center;
	font-size: 1.25rem;
}
.company-industry-card strong { color: var(--al-navy); font-size: .98rem; font-family: var(--al-font-head); }

/* Core team — About page (horizontal card: media | content) */
.core-team-section .section-heading p { max-width: 52rem; color: var(--al-muted); }
.core-team-card {
	background: #fff;
	border: 1px solid var(--al-line);
	border-radius: var(--al-radius);
	box-shadow: var(--al-shadow-sm);
	overflow: hidden;
	transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.core-team-card:hover {
	border-color: rgba(31, 111, 235, .35);
	box-shadow: var(--al-shadow);
	transform: translateY(-3px);
}
.core-team-card-inner { min-height: 8.5rem; }
.core-team-card-media {
	background: linear-gradient(145deg, var(--al-blue-100), #e8eef8);
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	min-height: 7.5rem;
	width: 100%;
}
@media (min-width: 768px) {
	.core-team-card-inner { min-height: 10.5rem; }
	.core-team-card-media {
		width: 11.5rem;
		min-width: 11.5rem;
		min-height: 100%;
		height: 100%;
		align-self: stretch;
		border-right: 1px solid var(--al-line);
	}
}
.core-team-card-media img {
	width: 100%;
	height: 100%;
	min-height: 10.5rem;
	object-fit: cover;
}
@media (min-width: 768px) {
	.core-team-card-media img { min-height: 100%; }
}
.core-team-card-initials {
	font-size: clamp(1.85rem, 3.5vw, 2.5rem);
	font-weight: 700;
	letter-spacing: .06em;
	color: var(--al-blue);
	font-family: var(--al-font-head);
}
.core-team-card-body {
	padding: 1.25rem 1.35rem 1.35rem;
	display: flex;
	flex-direction: column;
	gap: .45rem;
	flex: 1 1 auto;
	min-height: 100%;
}
@media (min-width: 768px) {
	.core-team-card-body { padding: 1.35rem 1.5rem 1.4rem 1.45rem; }
}
.core-team-card-name { font-size: 1.2rem; margin: 0; color: var(--al-navy); line-height: 1.25; }
.core-team-card-role {
	margin: 0;
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--al-blue-600);
}
.core-team-card-bio { margin: 0; font-size: .93rem; line-height: 1.55; color: var(--al-muted); flex: 1 1 auto; }
.core-team-card-socials {
	list-style: none;
	margin: .65rem 0 0;
	padding: .65rem 0 0;
	border-top: 1px solid var(--al-line);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .5rem;
}
@media (min-width: 768px) {
	.core-team-card-socials { margin-top: auto; }
}
.core-team-card-socials a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.35rem;
	height: 2.35rem;
	border-radius: 999px;
	color: var(--al-blue-600);
	background: var(--al-blue-100);
	transition: color .15s ease, background .15s ease, transform .15s ease;
}
.core-team-card-socials a:hover,
.core-team-card-socials a:focus-visible {
	color: #fff;
	background: linear-gradient(135deg, var(--al-blue), var(--al-cyan));
	transform: translateY(-2px);
}
.core-team-card-socials i { font-size: 1.05rem; }

/* ============================================================
 * 17. Insights / blog / single
 * ============================================================ */
.andromeda-insights-page { background: var(--al-bg-soft); }

/* Hero featured / pinned */
.insight-feature--hero { padding: 0 0 2.5rem; margin-bottom: 2.5rem; border-bottom: 0; }
.insight-feature-frame {
	background: #fff;
	border: 1px solid var(--al-line);
	border-radius: var(--al-radius-lg);
	overflow: hidden;
	box-shadow: var(--al-shadow-sm);
	transition: box-shadow .25s ease, border-color .25s ease;
}
.insight-feature--hero:hover .insight-feature-frame {
	box-shadow: var(--al-shadow);
	border-color: rgba(31, 111, 235, .25);
}
.insight-feature-media { position: relative; min-height: 220px; background: linear-gradient(145deg, var(--al-navy), var(--al-blue)); }
.insight-badge--hero {
	position: absolute;
	top: 1rem;
	left: 1rem;
	z-index: 2;
	font-size: .68rem;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: #fff;
	background: linear-gradient(135deg, var(--al-blue), var(--al-cyan));
	padding: .35rem .75rem;
	border-radius: 999px;
	box-shadow: 0 4px 14px rgba(0, 0, 0, .2);
}
.insight-feature-img {
	width: 100%;
	height: 100%;
	min-height: 260px;
	object-fit: cover;
	display: block;
}
@media (min-width: 992px) {
	.insight-feature-media { min-height: 100%; }
	.insight-feature-img { min-height: 340px; }
}
.insight-feature-placeholder,
.insight-card-placeholder {
	width: 100%;
	aspect-ratio: 16 / 10;
	min-height: 220px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, var(--al-navy), var(--al-blue));
	color: #fff;
	font-size: 2.5rem;
}
.insight-feature-body {
	padding: 1.75rem 1.5rem 1.85rem;
	display: flex;
	flex-direction: column;
	height: 100%;
}
@media (min-width: 992px) {
	.insight-feature-body { padding: 2rem 2rem 2.25rem; }
}
.insight-feature-title {
	font-size: clamp(1.35rem, 2.8vw, 1.85rem);
	line-height: 1.25;
	margin: 0 0 .65rem;
}
.insight-feature-title a { color: var(--al-navy); text-decoration: none; }
.insight-feature-title a:hover { color: var(--al-blue); }
.insight-feature-excerpt {
	color: var(--al-muted);
	font-size: 1rem;
	line-height: 1.6;
	margin: 0 0 .25rem;
	flex: 1 1 auto;
}
.insight-feature-cta { align-self: flex-start; margin-top: 1rem; }

/* Section labels */
.insights-section-eyebrow {
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--al-blue-600);
	margin: 0 0 1rem;
}

/* Two highlight cards (horizontal, under hero) */
.insights-highlights { margin-bottom: 2.75rem; }
.insight-highlight-card {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--al-line);
	border-radius: var(--al-radius);
	overflow: hidden;
	box-shadow: var(--al-shadow-sm);
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
@media (min-width: 576px) {
	.insight-highlight-card { flex-direction: row; align-items: stretch; }
}
.insight-highlight-card:hover {
	transform: translateY(-3px);
	box-shadow: var(--al-shadow);
	border-color: rgba(31, 111, 235, .35);
}
.insight-highlight-media {
	flex: 0 0 auto;
	display: block;
	width: 100%;
	overflow: hidden;
	background: var(--al-navy);
}
@media (min-width: 576px) {
	.insight-highlight-media { width: 42%; max-width: 280px; min-height: 100%; }
}
.insight-highlight-img {
	width: 100%;
	height: 100%;
	min-height: 160px;
	object-fit: cover;
	display: block;
	transition: transform .35s ease;
}
.insight-highlight-card:hover .insight-highlight-img { transform: scale(1.04); }
.insight-highlight-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 160px;
	color: #fff;
	font-size: 2rem;
}
@media (min-width: 576px) {
	.insight-highlight-placeholder { min-height: 100%; }
}
.insight-highlight-body {
	padding: 1.2rem 1.35rem 1.35rem;
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	min-width: 0;
}
.insight-highlight-title {
	font-size: 1.12rem;
	line-height: 1.3;
	margin: 0 0 .45rem;
}
.insight-highlight-title a { color: var(--al-navy); text-decoration: none; }
.insight-highlight-title a:hover { color: var(--al-blue); }
.insight-highlight-excerpt {
	font-size: .9rem;
	line-height: 1.55;
	color: var(--al-muted);
	margin: 0 0 .35rem;
	flex: 1 1 auto;
}
.insight-highlight-link {
	font-weight: 600;
	font-size: .88rem;
	color: var(--al-blue);
	text-decoration: none;
	margin-top: .35rem;
	align-self: flex-start;
}
.insight-highlight-link:hover { color: var(--al-blue-600); }

/* Masonry archive */
.insights-masonry-wrap { margin-top: .25rem; }
.insights-masonry {
	column-count: 1;
	column-gap: 1.15rem;
}
@media (min-width: 576px) {
	.insights-masonry { column-count: 2; }
}
@media (min-width: 1200px) {
	.insights-masonry { column-count: 3; }
}
.insight-mason-card {
	break-inside: avoid;
	margin-bottom: 1.15rem;
	background: #fff;
	border: 1px solid var(--al-line);
	border-radius: var(--al-radius);
	overflow: hidden;
	box-shadow: var(--al-shadow-sm);
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.insight-mason-card:hover {
	transform: translateY(-2px);
	box-shadow: var(--al-shadow);
	border-color: rgba(31, 111, 235, .35);
}
.insight-mason-media {
	display: block;
	overflow: hidden;
	height: 132px;
	background: linear-gradient(135deg, var(--al-blue-100), #e8eef8);
}
.insight-mason-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .35s ease;
}
.insight-mason-card:hover .insight-mason-img { transform: scale(1.05); }
.insight-mason-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	color: var(--al-blue);
	font-size: 1.5rem;
}
.insight-mason-body { padding: 1rem 1.1rem 1.15rem; }
.insight-cat--small {
	font-size: .65rem;
	padding: .2rem .45rem;
	margin-bottom: .4rem;
}
.insight-mason-title {
	font-size: .98rem;
	line-height: 1.35;
	margin: 0;
}
.insight-mason-title a { color: var(--al-navy); text-decoration: none; }
.insight-mason-title a:hover { color: var(--al-blue); }
.insight-meta--compact {
	gap: .65rem;
	font-size: .78rem;
	margin: .5rem 0 0;
}

.insight-card-placeholder { font-size: 1.7rem; border-radius: 0; aspect-ratio: 16 / 10; }

.insight-cat {
	display: inline-block;
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--al-blue);
	background: var(--al-blue-100);
	padding: .25rem .55rem;
	border-radius: 999px;
	margin-bottom: .65rem;
}

.insight-meta { display: flex; flex-wrap: wrap; gap: 1rem; color: var(--al-muted); font-size: .85rem; margin: .75rem 0 1rem; }
.insight-meta i { margin-right: .25rem; color: var(--al-blue); }

/* Legacy grid (homepage insights, archive.php, search) */
.insights-grid .insight-card { background: #fff; border: 1px solid var(--al-line); border-radius: var(--al-radius); overflow: hidden; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; height: 100%; display: flex; flex-direction: column; }
.insights-grid .insight-card:hover { transform: translateY(-3px); box-shadow: var(--al-shadow); border-color: rgba(31,111,235,.4); }
.insights-grid .insight-card-media { display: block; overflow: hidden; }
.insights-grid .insight-card-media img { transition: transform .4s ease; }
.insights-grid .insight-card:hover .insight-card-media img { transform: scale(1.03); }
.insights-grid .insight-card-body { padding: 1.25rem; flex: 1 1 auto; display: flex; flex-direction: column; }
.insights-grid .insight-card-body h3 { font-size: 1.1rem; margin: 0 0 .35rem; }
.insights-grid .insight-card-body h3 a { color: var(--al-navy); }
.insights-grid .insight-card-body h3 a:hover { color: var(--al-blue); }

.andromeda-single .andromeda-article {
	max-width: var(--al-article-width);
	width: 100%;
	margin: 0 auto;
}

.andromeda-single .andromeda-article-meta { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; margin-bottom: 1rem; color: var(--al-muted); font-size: .9rem; }
.andromeda-single .andromeda-article-title { margin-bottom: 1.25rem; }

.andromeda-single .andromeda-article-thumb img {
	width: 100%;
}

.andromeda-article-content > * { margin-bottom: 1.1rem; }
.andromeda-article-content h2,
.andromeda-article-content h3 { margin-top: 2rem; }

/* Legacy/imported posts often repeat an h1 in the body — style as section heading */
.andromeda-single .andromeda-article-content h1 {
	font-size: clamp(1.55rem, 2.6vw, 2.15rem);
	line-height: 1.2;
	margin-top: 2rem;
}

.andromeda-article-content img,
.andromeda-article-content figure {
	max-width: 100%;
	height: auto;
}
.andromeda-article-content blockquote { border-left: 4px solid var(--al-blue); padding: .25rem 0 .25rem 1rem; color: var(--al-muted); font-style: italic; background: var(--al-bg-soft); border-radius: 0 var(--al-radius-sm) var(--al-radius-sm) 0; }
.andromeda-article-tags { margin-top: 2rem; color: var(--al-muted); font-size: .9rem; }
.andromeda-article-tags i { margin-right: .35rem; color: var(--al-blue); }

.andromeda-post-nav { margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid var(--al-line); }
.post-nav-link { padding: .85rem 1rem; border: 1px solid var(--al-line); border-radius: var(--al-radius-sm); display: block; color: var(--al-navy); font-weight: 600; transition: background .2s ease, border-color .2s ease; }
.post-nav-link:hover { background: var(--al-bg-soft); border-color: rgba(31,111,235,.4); }

/* Comments — single / insights posts */
.andromeda-comments {
	max-width: var(--al-article-width);
	width: 100%;
	margin: 3rem auto 0;
	padding-top: 2rem;
	border-top: 1px solid var(--al-line);
}

.andromeda-comments-title,
.andromeda-comments-reply-title {
	font-size: 1.35rem;
	margin-bottom: 1rem;
}

.andromeda-comment-list {
	list-style: none;
	padding: 0;
	margin: 0 0 2rem;
}

.andromeda-comment-list .andromeda-comment {
	margin-bottom: 1rem;
}

.andromeda-comment-body {
	background: var(--al-bg-soft);
	border: 1px solid var(--al-line);
	border-radius: var(--al-radius);
	padding: 1.15rem 1.25rem;
}

.andromeda-comment-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .5rem 1rem;
	margin-bottom: .65rem;
	font-size: .88rem;
	color: var(--al-muted);
}

.andromeda-comment-author {
	color: var(--al-navy);
	font-size: .95rem;
}

.andromeda-comment-content {
	color: var(--al-text);
	font-size: .95rem;
	line-height: 1.6;
}

.andromeda-comment-content > *:last-child {
	margin-bottom: 0;
}

.andromeda-comment-awaiting {
	margin: 0 0 .65rem;
	font-size: .88rem;
	color: var(--al-blue-600);
}

.andromeda-comment-reply {
	margin-top: .75rem;
}

.andromeda-comment-form-card {
	background: #fff;
	border: 1px solid var(--al-line);
	border-radius: var(--al-radius-lg);
	padding: 1.75rem;
	box-shadow: var(--al-shadow-sm);
}

.andromeda-comment-form-card .andromeda-comment-respond,
.andromeda-comment-form-card #respond {
	margin: 0;
}

.andromeda-comment-form-card .andromeda-comments-reply-title,
.andromeda-comment-form-card #reply-title {
	font-size: 1.35rem;
	margin: 0 0 1rem;
}

.andromeda-comment-form-card .andromeda-comment-notes,
.andromeda-comment-form-card .comment-notes,
.andromeda-comment-form-card .andromeda-comment-logged-in,
.andromeda-comment-form-card .logged-in-as {
	color: var(--al-muted);
	font-size: .9rem;
	margin: 0 0 1rem;
}

/* Reset legacy WP / plugin comment-form floats inside the card */
.andromeda-comment-form-card .comment-form p {
	clear: both;
	float: none;
	margin: 0 0 1rem;
	width: 100%;
}

.andromeda-comment-form-card .comment-form label {
	display: block;
	float: none;
	width: auto;
	font-weight: 600;
	color: var(--al-navy);
	font-size: .9rem;
	margin-bottom: .35rem;
}

.andromeda-comment-form-card .comment-form .form-label {
	display: block;
	font-weight: 600;
	color: var(--al-navy);
	font-size: .9rem;
	margin-bottom: .35rem;
}

.andromeda-comment-form-card .comment-form input[type="text"],
.andromeda-comment-form-card .comment-form input[type="email"],
.andromeda-comment-form-card .comment-form input[type="url"],
.andromeda-comment-form-card .comment-form textarea,
.andromeda-comment-form-card .comment-form .form-control {
	display: block;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	border-radius: 10px;
	border: 1px solid var(--al-line);
	padding: .65rem .85rem;
	font-size: 1rem;
	line-height: 1.5;
	color: var(--al-text);
	background-color: #fff;
}

.andromeda-comment-form-card .comment-form textarea,
.andromeda-comment-form-card .comment-form textarea.form-control {
	min-height: 9rem;
	resize: vertical;
}

.andromeda-comment-form-card .comment-form input:focus,
.andromeda-comment-form-card .comment-form textarea:focus,
.andromeda-comment-form-card .comment-form .form-control:focus {
	border-color: var(--al-blue);
	box-shadow: 0 0 0 .2rem rgba(31, 111, 235, .15);
	outline: 0;
}

.andromeda-comment-form-card .comment-form .form-check,
.andromeda-comment-form-card .comment-form-cookies-consent {
	display: flex;
	align-items: flex-start;
	gap: .55rem;
	margin-bottom: 0;
}

.andromeda-comment-form-card .comment-form .form-check-input {
	margin-top: .2rem;
	flex-shrink: 0;
}

.andromeda-comment-form-card .comment-form .form-check-label {
	color: var(--al-muted);
	font-size: .9rem;
	line-height: 1.45;
	margin-bottom: 0;
}

.andromeda-comment-form-card .comment-form .required,
.andromeda-comment-form-card .comment-form .required-field-message {
	color: var(--al-blue-600);
}

.andromeda-comment-form-card .andromeda-comment-form-fields {
	margin-bottom: 0;
}

.andromeda-comment-form-card .comment-form .form-submit {
	margin: 1rem 0 0;
}

.andromeda-comments-closed {
	color: var(--al-muted);
	margin: 0;
}

/* ============================================================
 * 18. Contact page
 * ============================================================ */
.contact-meta-card {
	background: var(--al-bg-soft);
	border: 1px solid var(--al-line);
	border-radius: var(--al-radius-lg);
	padding: 2rem;
	height: 100%;
}
.contact-meta-card h2 { font-size: 1.35rem; margin-bottom: 1.25rem; }
.contact-list { list-style: none; padding: 0; margin: 0 0 1.5rem; }
.contact-list li { display: flex; gap: .85rem; align-items: flex-start; padding: .65rem 0; border-bottom: 1px dashed var(--al-line); }
.contact-list li:last-child { border-bottom: 0; }
.contact-list-icon { width: 38px; height: 38px; border-radius: 10px; background: #fff; border: 1px solid var(--al-line); color: var(--al-blue); display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; font-size: 1.1rem; }
.contact-list strong { display: block; color: var(--al-navy); font-size: .9rem; }
.contact-list p { color: var(--al-text); font-size: .95rem; }
.contact-socials { padding-top: 1rem; border-top: 1px solid var(--al-line); }
.contact-socials strong { display: block; margin-bottom: .65rem; color: var(--al-navy); }

.contact-form-card {
	background: #fff;
	border: 1px solid var(--al-line);
	border-radius: var(--al-radius-lg);
	padding: 2rem;
	box-shadow: var(--al-shadow-sm);
}
.contact-form-card h2 { font-size: 1.35rem; margin-bottom: .25rem; }
.contact-form-intro { color: var(--al-muted); margin-bottom: 1.5rem; }
.andromeda-contact-form .form-label { font-weight: 600; color: var(--al-navy); font-size: .9rem; }
/* Do not use symmetric padding on .form-select — Bootstrap reserves ~2.25rem on the
   right for the chevron; a uniform padding squeezes the label and clips placeholder text. */
.andromeda-contact-form .form-control {
	border-radius: 10px;
	border-color: var(--al-line);
	padding: .65rem .85rem;
}
.andromeda-contact-form .form-select {
	display: block;
	width: 100%;
	max-width: 100%;
	border-radius: 10px;
	border-color: var(--al-line);
	padding: .65rem 2.5rem .65rem .85rem;
	line-height: 1.5;
}
.andromeda-contact-form .form-control:focus,
.andromeda-contact-form .form-select:focus { border-color: var(--al-blue); box-shadow: 0 0 0 .2rem rgba(31,111,235,.15); }
.andromeda-contact-form .form-note { font-size: .8rem; color: var(--al-muted); margin: .75rem 0 0; }

.contact-map { border-radius: var(--al-radius-lg); overflow: hidden; border: 1px solid var(--al-line); }
.contact-map-placeholder {
	background: var(--al-bg-soft);
	color: var(--al-muted);
	padding: 3rem 1rem;
	text-align: center;
	min-height: 280px;
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .5rem;
}
.contact-map-placeholder i { font-size: 2rem; color: var(--al-blue); }

.andromeda-legal-page .andromeda-legal-content,
.andromeda-sitemap-page .andromeda-legal-content { font-size: 1rem; color: var(--al-text); }
.andromeda-legal-page .andromeda-legal-content > *:first-child,
.andromeda-sitemap-page .andromeda-legal-content > *:first-child { margin-top: 0; }
.andromeda-sitemap-card {
	background: var(--al-bg-soft);
	border: 1px solid var(--al-line);
	border-radius: var(--al-radius);
	padding: 1.25rem 1.35rem;
	height: 100%;
}
.andromeda-sitemap-card h2 { color: var(--al-navy); font-family: var(--al-font-head); }
.andromeda-sitemap-list li { padding: .35rem 0; border-bottom: 1px dashed var(--al-line); }
.andromeda-sitemap-list li:last-child { border-bottom: 0; }
.andromeda-sitemap-list a { font-weight: 500; color: var(--al-navy); }
.andromeda-sitemap-list a:hover { color: var(--al-blue); }

/* ============================================================
 * 19. Company page (legacy `.andromeda-about-page` class kept)
 * ============================================================ */
.andromeda-about-page .about-pillars { display: grid; gap: 1rem; }
.andromeda-about-page .about-pillar {
	padding: 1.4rem;
	background: var(--al-bg-soft);
	border-left: 4px solid var(--al-blue);
	border-radius: var(--al-radius-sm);
}
.andromeda-about-page .about-pillar strong { display: block; font-family: var(--al-font-head); color: var(--al-navy); font-size: 1.05rem; margin-bottom: .25rem; }
.andromeda-about-page .about-pillar p { margin: 0; color: var(--al-text); }

.value-card {
	padding: 1.5rem;
	border: 1px solid var(--al-line);
	border-radius: var(--al-radius);
	background: #fff;
	height: 100%;
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.value-card:hover { transform: translateY(-3px); box-shadow: var(--al-shadow); border-color: rgba(31,111,235,.4); }
.value-card-icon { width: 44px; height: 44px; border-radius: 12px; background: var(--al-blue-100); color: var(--al-blue); display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem; margin-bottom: .65rem; }
.value-card-title { font-size: 1.05rem; margin: 0 0 .35rem; }
.value-card-desc { margin: 0; color: var(--al-muted); font-size: .92rem; }

.about-community {
	padding: 2rem;
	background: var(--al-bg-soft);
	border: 1px solid var(--al-line);
	border-radius: var(--al-radius-lg);
}
.about-community h3 { font-size: 1.25rem; margin-bottom: .25rem; }
.about-community p { color: var(--al-muted); }

/* ============================================================
 * 20. Forms / search / pagination / 404
 * ============================================================ */
.andromeda-search-form .form-control { border-radius: 10px 0 0 10px; }
.andromeda-search-form .btn { border-radius: 0 10px 10px 0; }

.andromeda-pagination { display: flex; justify-content: center; margin-top: 2.5rem; }
.andromeda-pagination .page-numbers {
	display: inline-block;
	padding: .55rem .9rem;
	margin: 0 .15rem;
	border: 1px solid var(--al-line);
	border-radius: 10px;
	color: var(--al-navy);
	font-weight: 600;
	background: #fff;
	transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.andromeda-pagination .page-numbers.current,
.andromeda-pagination .page-numbers:hover {
	background: var(--al-blue);
	color: #fff;
	border-color: var(--al-blue);
}

.andromeda-404 .error-code {
	font-family: var(--al-font-head);
	font-weight: 800;
	font-size: clamp(5rem, 16vw, 9rem);
	line-height: 1;
	background: linear-gradient(135deg, var(--al-blue), var(--al-cyan));
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.andromeda-404 .error-title { margin-bottom: .5rem; }
.andromeda-404 .error-intro { color: var(--al-muted); max-width: 50ch; margin: 0 auto 1.5rem; }
.andromeda-404 .error-actions { display: flex; flex-wrap: wrap; gap: .75rem; justify-content: center; }

/* Bootstrap doesn't ship spacer "6" — add it for slightly larger gaps. */
.mt-lg-6 { margin-top: 4rem; }
.mb-lg-6 { margin-bottom: 4rem; }
@media (max-width: 991.98px) {
	.mt-lg-6 { margin-top: 2.5rem; }
	.mb-lg-6 { margin-bottom: 2.5rem; }
}

/* ============================================================
 * 21. Maintenance mode
 * ============================================================ */
body.andromeda-maintenance {
	min-height: 100vh;
	background:
		radial-gradient(circle at top right, rgba(43, 182, 255, .12), transparent 42%),
		linear-gradient(180deg, var(--al-bg-alt) 0%, var(--al-bg) 100%);
}

.andromeda-maintenance-shell {
	min-height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 2rem 1rem;
}

.andromeda-maintenance-card {
	width: min(100%, 42rem);
	padding: clamp(2rem, 5vw, 3rem);
	background: var(--al-bg);
	border: 1px solid var(--al-line);
	border-radius: var(--al-radius-lg);
	box-shadow: var(--al-shadow-lg);
	text-align: center;
}

.andromeda-maintenance-brand {
	display: flex;
	justify-content: center;
	margin-bottom: 1.5rem;
}

.andromeda-maintenance-brand .custom-logo,
.andromeda-maintenance-brand .andromeda-brand-img {
	max-height: 56px;
	width: auto;
}

.andromeda-maintenance-eyebrow {
	display: inline-block;
	margin: 0 0 .75rem;
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--al-blue);
}

.andromeda-maintenance-title {
	margin: 0 0 1rem;
	font-size: clamp(1.75rem, 4vw, 2.35rem);
}

.andromeda-maintenance-message {
	margin: 0 auto 1.5rem;
	max-width: 42ch;
	color: var(--al-muted);
}

.andromeda-maintenance-contact {
	list-style: none;
	padding: 0;
	margin: 0 0 1.25rem;
	display: flex;
	flex-direction: column;
	gap: .65rem;
	align-items: center;
	color: var(--al-muted);
}

.andromeda-maintenance-contact li {
	display: flex;
	align-items: center;
	gap: .55rem;
}

.andromeda-maintenance-contact i {
	color: var(--al-cyan);
}

.andromeda-maintenance-contact a {
	color: var(--al-navy);
	font-weight: 600;
}

.andromeda-maintenance-socials {
	justify-content: center;
}

#wpadminbar .andromeda-maintenance-admin-bar > .ab-item {
	background: #d63638 !important;
	color: #fff !important;
}

/* ============================================================
 * Responsive tweaks
 * ============================================================ */
@media (max-width: 767.98px) {
	.andromeda-section { padding: 3rem 0; }
	.andromeda-hero { padding: 3.5rem 0 4rem; }
	.andromeda-page-header { padding: 3rem 0 2rem; }
	.final-cta-card { padding: 1.75rem; }
	.contact-meta-card, .contact-form-card { padding: 1.5rem; }
	.solution-card, .service-card, .industry-card { padding: 1.25rem; }
	.vendor-band { padding: 1.25rem; }
}

@media (prefers-reduced-motion: reduce) {
	* { transition: none !important; }
	html { scroll-behavior: auto; }
}
