/*
Theme Name: DYST Digital SEO Growth
Theme URI: https://dystdigital.com/
Author: DYST Digital Solutions
Author URI: https://dystdigital.com/
Description: Mobile-responsive WordPress theme for DYST Digital Solutions with seeded 1000+ word pages, service hubs, schema-ready SEO, and built-in per-page SEO CMS controls.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: dystdigital
Tags: custom-logo, custom-menu, editor-style, seo, responsive, agency
*/
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800;900&family=DM+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&display=swap');

:root {
  --bg-primary: #06080d;
  --bg-secondary: #0c1017;
  --bg-card: #111620;
  --bg-card-hover: #161d2b;
  --text-primary: #f0f2f5;
  --text-secondary: #8b95a5;
  --text-muted: #5a6377;
  --accent-cyan: #00d4ff;
  --accent-coral: #ff6b35;
  --accent-purple: #7c5cfc;
  --accent-green: #00e676;
  --gradient-primary: linear-gradient(135deg, #00d4ff 0%, #7c5cfc 100%);
  --gradient-warm: linear-gradient(135deg, #ff6b35 0%, #ff3366 100%);
  --gradient-mesh: radial-gradient(ellipse at 20% 50%, rgba(0,212,255,0.08) 0%, transparent 50%),
                   radial-gradient(ellipse at 80% 20%, rgba(124,92,252,0.06) 0%, transparent 50%),
                   radial-gradient(ellipse at 60% 80%, rgba(255,107,53,0.04) 0%, transparent 50%);
  --border-subtle: rgba(255,255,255,0.06);
  --border-accent: rgba(0,212,255,0.2);
  --shadow-glow: 0 0 40px rgba(0,212,255,0.1);
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 20px;
  --radius-xl: 28px;
  --font-heading: 'Outfit', sans-serif;
  --font-body: 'DM Sans', sans-serif;
  --transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  --max-width: 1280px;
}

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

html { scroll-behavior: smooth; font-size: 16px; }

body {
  font-family: var(--font-body);
  background: var(--bg-primary);
  color: var(--text-primary);
  line-height: 1.7;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

/* === SCROLLBAR === */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: var(--bg-primary); }
::-webkit-scrollbar-thumb { background: var(--bg-card); border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: var(--accent-cyan); }

/* === TYPOGRAPHY === */
h1, h2, h3, h4, h5, h6 { font-family: var(--font-heading); font-weight: 700; line-height: 1.2; }
h1 { font-size: clamp(2.5rem, 5vw, 4rem); font-weight: 800; }
h2 { font-size: clamp(2rem, 4vw, 3rem); }
h3 { font-size: clamp(1.5rem, 3vw, 2rem); }
h4 { font-size: 1.25rem; }
p { color: var(--text-secondary); margin-bottom: 1rem; }
a { color: var(--accent-cyan); text-decoration: none; transition: var(--transition); }
a:hover { color: var(--text-primary); }
strong { color: var(--text-primary); font-weight: 600; }
ul, ol { margin-bottom: 1.5rem; padding-left: 1.5rem; }
li { color: var(--text-secondary); margin-bottom: 0.5rem; }

/* === LAYOUT === */
.container { max-width: var(--max-width); margin: 0 auto; padding: 0 2rem; }
.section { padding: 6rem 0; position: relative; }
.section-sm { padding: 4rem 0; }
.grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 2rem; }
.grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; }
.grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5rem; }

@media (max-width: 1024px) {
  .grid-4 { grid-template-columns: repeat(2, 1fr); }
  .grid-3 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
  .grid-4, .grid-3, .grid-2 { grid-template-columns: 1fr; }
  .container { padding: 0 1.25rem; }
  .section { padding: 4rem 0; }
}

/* === HEADER / NAV === */
.header {
  position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
  background: rgba(6,8,13,0.95); backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--border-subtle);
  transition: var(--transition);
}
.header .container { display: flex; align-items: center; justify-content: space-between; height: 72px; max-width: 1400px; }
.logo { font-family: var(--font-heading); font-size: 1.5rem; font-weight: 800; color: var(--text-primary); letter-spacing: -0.5px; }
.logo span { background: var(--gradient-primary); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }

/* Main Navigation */
.nav { display: flex; align-items: center; gap: 0; }
.nav > a, .nav-dropdown > a {
  color: var(--text-secondary); font-size: 0.9rem; font-weight: 500;
  padding: 0.5rem 0.9rem; border-radius: var(--radius-sm);
  transition: var(--transition); cursor: pointer; display: flex; align-items: center; gap: 0.4rem;
}
.nav > a:hover, .nav-dropdown > a:hover { color: var(--text-primary); background: rgba(255,255,255,0.05); }
.nav-dropdown { position: relative; }
.nav-dropdown > a::after { content: '▾'; font-size: 0.7em; transition: transform 0.3s ease; }
.nav-dropdown:hover > a::after { transform: rotate(180deg); }

/* Mega Menu - Opens Below Header */
.mega-menu {
  display: none; position: absolute; top: 100%; left: 50%;
  transform: translateX(-50%);
  background: var(--bg-secondary); border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md);
  box-shadow: 0 20px 60px rgba(0,0,0,0.6);
  animation: megaSlideDown 0.3s ease;
  min-width: 600px;
  padding: 2rem;
}
@keyframes megaSlideDown {
  from { opacity: 0; transform: translateX(-50%) translateY(-10px); }
  to { opacity: 1; transform: translateX(-50%) translateY(0); }
}
.nav-dropdown:hover .mega-menu { display: block; }
.mega-menu-inner {
  display: grid; gap: 2rem;
}
.mega-menu-inner.two-col { grid-template-columns: repeat(2, 1fr); }
.mega-menu-inner.one-col { grid-template-columns: 1fr; }
.mega-col h6 {
  font-family: var(--font-heading); font-size: 0.85rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: 1.5px;
  color: var(--accent-cyan); margin-bottom: 1.25rem;
  padding-bottom: 0.75rem; border-bottom: 1px solid var(--border-subtle);
}
.mega-col a {
  display: block; padding: 0.5rem 0.75rem; margin-bottom: 0.25rem;
  color: var(--text-secondary); font-size: 0.88rem; border-radius: var(--radius-sm);
  transition: var(--transition);
}
.mega-col a:hover {
  color: var(--text-primary); background: rgba(0,212,255,0.08);
  padding-left: 1rem;
}

/* Simple Dropdown */
.dropdown-menu {
  display: none; position: absolute; top: 100%; left: 50%;
  transform: translateX(-50%);
  background: var(--bg-card); border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md); padding: 0.75rem; min-width: 220px;
  box-shadow: 0 20px 60px rgba(0,0,0,0.5);
  animation: megaSlideDown 0.2s ease;
}
.nav-dropdown:hover .dropdown-menu { display: block; }
.dropdown-menu a {
  display: block; padding: 0.6rem 1rem; border-radius: var(--radius-sm);
  font-size: 0.88rem; color: var(--text-secondary);
}
.dropdown-menu a:hover { color: var(--text-primary); background: rgba(0,212,255,0.08); }

/* CTA Button */
.nav-cta {
  background: var(--gradient-primary); color: var(--bg-primary) !important;
  font-weight: 600; padding: 0.6rem 1.5rem !important;
  border-radius: var(--radius-xl) !important; margin-left: 0.5rem;
}
.nav-cta:hover { opacity: 0.9; transform: translateY(-1px); box-shadow: var(--shadow-glow); }

/* Mobile Menu */
.mobile-toggle {
  display: none; background: none; border: none; color: var(--text-primary);
  font-size: 1.5rem; cursor: pointer; padding: 0.5rem;
}
.mobile-overlay {
  display: none; position: fixed; inset: 0; background: rgba(0,0,0,0.6);
  z-index: 999; backdrop-filter: blur(4px);
}
.mobile-overlay.active { display: block; }
.mobile-nav {
  position: fixed; top: 0; right: -100%; width: 320px; height: 100vh;
  background: var(--bg-secondary); z-index: 1001; padding: 2rem 1.5rem;
  overflow-y: auto; transition: right 0.3s ease;
  border-left: 1px solid var(--border-subtle);
}
.mobile-nav.active { right: 0; }
.mobile-nav-header {
  display: flex; justify-content: space-between; align-items: center;
  margin-bottom: 2rem; padding-bottom: 1rem; border-bottom: 1px solid var(--border-subtle);
}
.mobile-nav-close {
  background: none; border: none; color: var(--text-primary);
  font-size: 1.5rem; cursor: pointer;
}
.mobile-nav-section { margin-bottom: 1.5rem; }
.mobile-nav-section h6 {
  font-family: var(--font-heading); font-size: 0.8rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: 1.5px;
  color: var(--accent-cyan); margin-bottom: 0.75rem;
}
.mobile-nav-section a {
  display: block; padding: 0.6rem 0.75rem; color: var(--text-secondary);
  font-size: 0.9rem; border-radius: var(--radius-sm); margin-bottom: 0.25rem;
}
.mobile-nav-section a:hover { color: var(--text-primary); background: rgba(255,255,255,0.05); }

@media (max-width: 1200px) {
  .nav { display: none; }
  .mobile-toggle { display: block; }
}

/* === HERO === */
.hero {
  min-height: 85vh; display: flex; align-items: center;
  padding-top: 72px; position: relative; overflow: hidden;
}
.hero::before {
  content: ''; position: absolute; inset: 0;
  background: var(--gradient-mesh);
}
.hero-content { position: relative; z-index: 2; max-width: 800px; }
.hero-badge {
  display: inline-flex; align-items: center; gap: 0.5rem;
  background: rgba(0,212,255,0.08); border: 1px solid rgba(0,212,255,0.2);
  padding: 0.4rem 1.2rem; border-radius: var(--radius-xl);
  font-size: 0.85rem; color: var(--accent-cyan); margin-bottom: 1.5rem;
  font-weight: 500;
}
.hero h1 { margin-bottom: 1.5rem; }
.hero h1 .gradient-text {
  background: var(--gradient-primary); -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.hero p { font-size: 1.2rem; max-width: 600px; margin-bottom: 2rem; }
.hero-buttons { display: flex; gap: 1rem; flex-wrap: wrap; }

/* === BUTTONS === */
.btn {
  display: inline-flex; align-items: center; gap: 0.5rem;
  padding: 0.85rem 2rem; border-radius: var(--radius-xl);
  font-family: var(--font-body); font-size: 0.95rem; font-weight: 600;
  border: none; cursor: pointer; transition: var(--transition);
  text-decoration: none;
}
.btn-primary {
  background: var(--gradient-primary); color: var(--bg-primary);
}
.btn-primary:hover { opacity: 0.9; transform: translateY(-2px); box-shadow: var(--shadow-glow); color: var(--bg-primary); }
.btn-secondary {
  background: transparent; color: var(--text-primary);
  border: 1px solid var(--border-subtle);
}
.btn-secondary:hover { border-color: var(--accent-cyan); color: var(--accent-cyan); }
.btn-sm { padding: 0.6rem 1.5rem; font-size: 0.85rem; }

/* === CARDS === */
.card {
  background: var(--bg-card); border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg); padding: 2rem;
  transition: var(--transition); position: relative; overflow: hidden;
}
.card::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px;
  background: var(--gradient-primary); opacity: 0; transition: var(--transition);
}
.card:hover { border-color: var(--border-accent); transform: translateY(-4px); background: var(--bg-card-hover); }
.card:hover::before { opacity: 1; }
.card-icon {
  width: 56px; height: 56px; border-radius: var(--radius-md);
  background: rgba(0,212,255,0.08); display: flex; align-items: center;
  justify-content: center; font-size: 1.5rem; margin-bottom: 1.25rem;
}
.card h4 { margin-bottom: 0.75rem; color: var(--text-primary); }
.card p { font-size: 0.95rem; margin-bottom: 0; }

/* === SERVICE PAGE LAYOUT === */
.page-hero {
  padding: 10rem 0 4rem; position: relative;
  background: var(--gradient-mesh);
}
.page-hero .breadcrumb {
  display: flex; gap: 0.5rem; font-size: 0.85rem;
  color: var(--text-muted); margin-bottom: 1.5rem;
}
.page-hero .breadcrumb a { color: var(--text-muted); }
.page-hero .breadcrumb a:hover { color: var(--accent-cyan); }
.page-hero h1 { margin-bottom: 1rem; }
.page-hero h1 .gradient-text {
  background: var(--gradient-primary); -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.page-hero .lead { font-size: 1.15rem; max-width: 700px; color: var(--text-secondary); }

.content-section { padding: 4rem 0; }
.content-section h2 { margin-bottom: 1.5rem; }
.content-section h3 { margin-bottom: 1rem; margin-top: 2rem; }
.content-section p { font-size: 1.05rem; line-height: 1.8; }
.content-section ul { list-style: none; padding: 0; }
.content-section ul li {
  padding: 0.5rem 0 0.5rem 1.75rem; position: relative;
}
.content-section ul li::before {
  content: '→'; position: absolute; left: 0; color: var(--accent-cyan);
  font-weight: 700;
}

/* === PROCESS STEPS === */
.process-steps { counter-reset: step; }
.process-step {
  display: flex; gap: 1.5rem; margin-bottom: 2.5rem;
  padding: 2rem; background: var(--bg-card);
  border: 1px solid var(--border-subtle); border-radius: var(--radius-lg);
  transition: var(--transition);
}
.process-step:hover { border-color: var(--border-accent); }
.process-step::before {
  counter-increment: step; content: counter(step, decimal-leading-zero);
  font-family: var(--font-heading); font-size: 2rem; font-weight: 800;
  background: var(--gradient-primary); -webkit-background-clip: text;
  -webkit-text-fill-color: transparent; min-width: 60px;
}
.process-step h4 { margin-bottom: 0.5rem; }
.process-step p { margin-bottom: 0; font-size: 0.95rem; }

/* === STATS === */
.stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2rem; }
.stat-item { text-align: center; padding: 2rem; }
.stat-number {
  font-family: var(--font-heading); font-size: 3rem; font-weight: 800;
  background: var(--gradient-primary); -webkit-background-clip: text;
  -webkit-text-fill-color: transparent; margin-bottom: 0.5rem;
}
.stat-label { color: var(--text-secondary); font-size: 0.9rem; }
@media (max-width: 768px) { .stats-grid { grid-template-columns: repeat(2, 1fr); } }

/* === CTA SECTION === */
.cta-section {
  padding: 6rem 0; text-align: center;
  background: linear-gradient(180deg, transparent 0%, rgba(0,212,255,0.03) 50%, transparent 100%);
  position: relative;
}
.cta-section h2 { margin-bottom: 1rem; }
.cta-section p { max-width: 600px; margin: 0 auto 2rem; font-size: 1.1rem; }

/* === FOOTER === */
.footer {
  background: var(--bg-secondary); border-top: 1px solid var(--border-subtle);
  padding: 4rem 0 2rem;
}
.footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 3rem; margin-bottom: 3rem; }
.footer h5 { font-family: var(--font-heading); color: var(--text-primary); margin-bottom: 1.25rem; font-size: 1rem; }
.footer a { color: var(--text-muted); font-size: 0.9rem; display: block; padding: 0.3rem 0; }
.footer a:hover { color: var(--accent-cyan); }
.footer-bottom {
  display: flex; justify-content: space-between; align-items: center;
  padding-top: 2rem; border-top: 1px solid var(--border-subtle);
  font-size: 0.85rem; color: var(--text-muted);
}
.footer p { color: var(--text-muted); }
@media (max-width: 768px) { .footer-grid { grid-template-columns: 1fr 1fr; } }

/* === MISC === */
.section-label {
  display: inline-flex; align-items: center; gap: 0.5rem;
  font-size: 0.8rem; font-weight: 600; text-transform: uppercase;
  letter-spacing: 2px; color: var(--accent-cyan); margin-bottom: 1rem;
}
.section-header { max-width: 700px; margin-bottom: 3rem; }
.section-header p { font-size: 1.1rem; }
.text-center { text-align: center; }
.mx-auto { margin-left: auto; margin-right: auto; }
.mb-0 { margin-bottom: 0; }
.mb-1 { margin-bottom: 0.5rem; }
.mb-2 { margin-bottom: 1rem; }
.mb-3 { margin-bottom: 1.5rem; }
.mb-4 { margin-bottom: 2rem; }
.mt-2 { margin-top: 1rem; }
.mt-3 { margin-top: 1.5rem; }
.mt-4 { margin-top: 2rem; }

.divider {
  height: 1px; background: var(--border-subtle);
  margin: 3rem 0; border: none;
}

.tag {
  display: inline-block; padding: 0.3rem 0.8rem;
  background: rgba(0,212,255,0.08); border: 1px solid rgba(0,212,255,0.15);
  border-radius: var(--radius-xl); font-size: 0.8rem;
  color: var(--accent-cyan); margin: 0.25rem;
}

/* === ANIMATIONS === */
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(30px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}
.animate-in { animation: fadeInUp 0.6s ease-out forwards; }
.delay-1 { animation-delay: 0.1s; opacity: 0; }
.delay-2 { animation-delay: 0.2s; opacity: 0; }
.delay-3 { animation-delay: 0.3s; opacity: 0; }
.delay-4 { animation-delay: 0.4s; opacity: 0; }

/* === TABLE === */
.pricing-table { width: 100%; border-collapse: collapse; margin: 2rem 0; }
.pricing-table th, .pricing-table td {
  padding: 1rem 1.5rem; text-align: left;
  border-bottom: 1px solid var(--border-subtle);
}
.pricing-table th {
  font-family: var(--font-heading); font-weight: 600;
  color: var(--text-primary); background: var(--bg-card);
}
.pricing-table td { color: var(--text-secondary); }
.pricing-table tr:hover td { background: rgba(0,212,255,0.02); }

/* === ACCORDION === */
.accordion-item {
  background: var(--bg-card); border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md); margin-bottom: 0.75rem; overflow: hidden;
}
.accordion-header {
  padding: 1.25rem 1.5rem; cursor: pointer; display: flex;
  justify-content: space-between; align-items: center;
  font-family: var(--font-heading); font-weight: 600;
  color: var(--text-primary); transition: var(--transition);
}
.accordion-header:hover { color: var(--accent-cyan); }
.accordion-body { padding: 0 1.5rem 1.25rem; display: none; }
.accordion-body p { margin-bottom: 0; }
.accordion-item.active .accordion-body { display: block; }
.accordion-item.active .accordion-header { color: var(--accent-cyan); }

/* === FORMS === */
.form-group { margin-bottom: 1.5rem; }
.form-group label {
  display: block; font-size: 0.9rem; font-weight: 500;
  color: var(--text-primary); margin-bottom: 0.5rem;
}
.form-group input, .form-group textarea, .form-group select {
  width: 100%; padding: 0.85rem 1.25rem;
  background: var(--bg-card); border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md); color: var(--text-primary);
  font-family: var(--font-body); font-size: 0.95rem;
  transition: var(--transition);
}
.form-group input:focus, .form-group textarea:focus, .form-group select:focus {
  outline: none; border-color: var(--accent-cyan);
  box-shadow: 0 0 0 3px rgba(0,212,255,0.1);
}
.form-group textarea { min-height: 140px; resize: vertical; }

/* === TWO-COLUMN CONTENT === */
.content-two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: start; }
@media (max-width: 768px) { .content-two-col { grid-template-columns: 1fr; gap: 2rem; } }

/* === TESTIMONIAL === */
.testimonial-card {
  background: var(--bg-card); border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg); padding: 2rem; position: relative;
}
.testimonial-card::before {
  content: '"'; font-family: var(--font-heading); font-size: 4rem;
  color: var(--accent-cyan); opacity: 0.3; position: absolute;
  top: 0.5rem; left: 1.5rem; line-height: 1;
}
.testimonial-text { font-style: italic; margin-bottom: 1.5rem; padding-top: 1.5rem; }
.testimonial-author { display: flex; align-items: center; gap: 1rem; }
.testimonial-avatar {
  width: 48px; height: 48px; border-radius: 50%;
  background: var(--gradient-primary); display: flex;
  align-items: center; justify-content: center;
  font-family: var(--font-heading); font-weight: 700; color: var(--bg-primary);
}
.testimonial-name { font-weight: 600; color: var(--text-primary); }
.testimonial-role { font-size: 0.85rem; color: var(--text-muted); }

/* === HERO WITH IMAGE === */
.hero-with-image {
  min-height: 90vh; display: grid; grid-template-columns: 1fr 1fr;
  gap: 4rem; align-items: center; padding-top: 72px;
  position: relative; overflow: hidden;
}
.hero-with-image::before {
  content: ''; position: absolute; inset: 0;
  background: var(--gradient-mesh);
}
.hero-text { position: relative; z-index: 2; }
.hero-image {
  position: relative; z-index: 2;
  border-radius: var(--radius-xl); overflow: hidden;
  box-shadow: 0 30px 80px rgba(0,0,0,0.4);
}
.hero-image img {
  width: 100%; height: auto; display: block;
}
.hero-image-placeholder {
  width: 100%; aspect-ratio: 4/3;
  background: linear-gradient(135deg, rgba(0,212,255,0.1) 0%, rgba(124,92,252,0.1) 100%);
  display: flex; align-items: center; justify-content: center;
  font-size: 4rem; color: var(--accent-cyan); opacity: 0.3;
}
@media (max-width: 1024px) {
  .hero-with-image { grid-template-columns: 1fr; gap: 3rem; min-height: auto; padding: 8rem 0 4rem; }
}

/* === PARTNER LOGOS === */
.partners-section {
  padding: 4rem 0; background: var(--bg-secondary);
  border-top: 1px solid var(--border-subtle);
  border-bottom: 1px solid var(--border-subtle);
}
.partners-grid {
  display: flex; align-items: center; justify-content: space-around;
  flex-wrap: wrap; gap: 3rem;
}
.partner-logo {
  font-family: var(--font-heading); font-size: 1.5rem; font-weight: 700;
  color: var(--text-muted); opacity: 0.5; transition: var(--transition);
  cursor: default;
}
.partner-logo:hover { opacity: 1; color: var(--text-primary); }

/* === SERVICE BOXES === */
.service-boxes {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.5rem;
}
.service-box {
  background: var(--bg-card); border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg); padding: 2rem;
  transition: var(--transition); position: relative; overflow: hidden;
}
.service-box::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: var(--gradient-primary); transform: scaleX(0);
  transition: transform 0.3s ease; transform-origin: left;
}
.service-box:hover {
  border-color: var(--border-accent); transform: translateY(-6px);
  box-shadow: 0 20px 40px rgba(0,212,255,0.1);
}
.service-box:hover::before { transform: scaleX(1); }
.service-box-icon {
  width: 64px; height: 64px; border-radius: var(--radius-md);
  background: rgba(0,212,255,0.08); display: flex; align-items: center;
  justify-content: center; font-size: 1.8rem; margin-bottom: 1.5rem;
}
.service-box h3 { margin-bottom: 1rem; font-size: 1.3rem; }
.service-box p { font-size: 0.95rem; margin-bottom: 1.5rem; }
.service-box-link {
  display: inline-flex; align-items: center; gap: 0.5rem;
  color: var(--accent-cyan); font-weight: 600; font-size: 0.9rem;
}
.service-box-link:hover { gap: 0.75rem; }

/* === ENHANCED FOOTER === */
.footer-enhanced {
  background: var(--bg-secondary); border-top: 1px solid var(--border-subtle);
  padding: 5rem 0 2rem;
}
.footer-main {
  display: grid; grid-template-columns: 2fr 1fr 1fr 1fr 1fr;
  gap: 3rem; margin-bottom: 4rem;
}
.footer-brand p { margin-top: 1.5rem; font-size: 0.95rem; max-width: 300px; }
.footer-social {
  display: flex; gap: 1rem; margin-top: 2rem;
}
.footer-social a {
  width: 40px; height: 40px; border-radius: 50%;
  background: var(--bg-card); display: flex; align-items: center;
  justify-content: center; color: var(--text-secondary);
  transition: var(--transition); font-size: 1.1rem;
}
.footer-social a:hover {
  background: var(--gradient-primary); color: var(--bg-primary);
  transform: translateY(-3px);
}
.footer-col h5 {
  font-family: var(--font-heading); color: var(--text-primary);
  margin-bottom: 1.5rem; font-size: 1rem; font-weight: 600;
}
.footer-col a {
  color: var(--text-muted); font-size: 0.9rem; display: block;
  padding: 0.4rem 0; transition: var(--transition);
}
.footer-col a:hover { color: var(--accent-cyan); padding-left: 0.5rem; }
.footer-bottom-enhanced {
  display: flex; justify-content: space-between; align-items: center;
  padding-top: 2rem; border-top: 1px solid var(--border-subtle);
  font-size: 0.85rem; color: var(--text-muted);
}
.footer-bottom-links { display: flex; gap: 2rem; }
.footer-bottom-links a { color: var(--text-muted); }
.footer-bottom-links a:hover { color: var(--accent-cyan); }
@media (max-width: 1024px) {
  .footer-main { grid-template-columns: 1fr 1fr; gap: 2.5rem; }
}
@media (max-width: 768px) {
  .footer-main { grid-template-columns: 1fr; gap: 2rem; }
  .footer-bottom-enhanced { flex-direction: column; gap: 1rem; text-align: center; }
  .footer-bottom-links { flex-direction: column; gap: 0.75rem; }
}


/* === WordPress + DYST SEO Build Enhancements === */
:root { color-scheme: dark; }
body.admin-bar .header { top: 32px; }
.wp-site-blocks, .site-main { min-height: 60vh; }
.hero-media-card { position: relative; z-index: 2; border: 1px solid rgba(255,255,255,.12); border-radius: 28px; overflow: hidden; background: rgba(255,255,255,.05); box-shadow: 0 30px 90px rgba(0,0,0,.45); }
.hero-media-card img { width: 100%; height: 100%; display: block; object-fit: cover; }
.service-deep-grid, .seo-cluster-grid, .industry-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1.25rem; }
.service-deep-card, .seo-note, .keyword-card, .process-card, .faq-card, .industry-card { border: 1px solid var(--border-subtle); background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.025)); border-radius: var(--radius-lg); padding: 1.5rem; box-shadow: var(--shadow-card); }
.service-deep-card h3, .seo-note h3, .keyword-card h3, .process-card h3, .faq-card h3, .industry-card h3 { color: var(--accent-cyan); margin-top: 0; }
.longform-section p { color: var(--text-secondary); line-height: 1.78; }
.keyword-cloud { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1rem; }
.keyword-cloud span { border: 1px solid rgba(0,212,255,.24); background: rgba(0,212,255,.08); color: var(--text-secondary); border-radius: 999px; padding: .45rem .75rem; font-size: .88rem; }
.breadcrumb-mini { color: var(--text-muted); margin-bottom: 1rem; font-size: .95rem; }
.breadcrumb-mini a { color: var(--accent-cyan); }
.page-hero .container > p, .hero .container > p { max-width: 900px; }
.seo-proof { display: grid; grid-template-columns: repeat(auto-fit,minmax(210px,1fr)); gap: 1rem; margin-top: 2rem; }
.seo-proof div { border-left: 3px solid var(--accent-cyan); padding: 1rem; background: rgba(255,255,255,.04); border-radius: 12px; }
.screen-reader-text { position:absolute; left:-999em; }
@media (max-width: 782px) { body.admin-bar .header { top: 46px; } }
@media (max-width: 768px) { .service-deep-card, .seo-note, .keyword-card, .process-card, .faq-card, .industry-card { padding: 1rem; } .hero-media-card { margin-top: 2rem; } }

@media (max-width: 1024px){ .hero.hero-with-image .container{ grid-template-columns:1fr !important; } }

/* === DYST Logo-Color Brand Refresh === */
:root {
  --bg-primary: #031426;
  --bg-secondary: #061d34;
  --bg-card: #092845;
  --bg-card-hover: #0d365d;
  --text-primary: #f8fcff;
  --text-secondary: #d7e7f1;
  --text-muted: #a9bdca;
  --accent-cyan: #27c3dc;
  --accent-coral: #f58220;
  --accent-purple: #0b78b7;
  --accent-green: #32a99e;
  --gradient-primary: linear-gradient(135deg, #28c7df 0%, #0a7fbd 52%, #f58220 100%);
  --gradient-warm: linear-gradient(135deg, #f58220 0%, #28c7df 100%);
  --gradient-mesh: radial-gradient(ellipse at 18% 42%, rgba(40,199,223,0.18) 0%, transparent 48%),
                   radial-gradient(ellipse at 82% 22%, rgba(245,130,32,0.10) 0%, transparent 45%),
                   radial-gradient(ellipse at 65% 80%, rgba(50,169,158,0.12) 0%, transparent 50%);
  --border-subtle: rgba(215,231,241,0.16);
  --border-accent: rgba(40,199,223,0.38);
  --shadow-glow: 0 0 42px rgba(40,199,223,0.16);
}
body { background: linear-gradient(180deg, #031426 0%, #061d34 50%, #031426 100%); color: var(--text-primary); }
p, li, .card p, .service-box p, .longform-section p { color: var(--text-secondary); }
.header.site-header-branded { background: rgba(3,20,38,0.97); border-bottom: 1px solid rgba(40,199,223,0.22); box-shadow: 0 12px 40px rgba(0,0,0,0.22); }
.header-contact-bar { border-bottom: 1px solid rgba(215,231,241,0.10); background: linear-gradient(90deg, rgba(40,199,223,0.12), rgba(245,130,32,0.10)); }
.header-contact-bar .container { height: 34px; }
.header-contact-inner { display:flex; align-items:center; justify-content:space-between; gap:1rem; font-size:.86rem; color:var(--text-secondary); }
.header-contact-links { display:flex; align-items:center; gap:1rem; flex-wrap:wrap; }
.header-contact-links a { color:#f8fcff; font-weight:700; white-space:nowrap; }
.header-contact-links a:hover { color:var(--accent-coral); }
.logo.logo-image { display:flex; align-items:center; min-width:190px; color:inherit; }
.brand-logo-img { height:58px; width:auto; max-width:220px; object-fit:contain; display:block; filter: drop-shadow(0 8px 20px rgba(40,199,223,0.18)); }
.header .container.header-main { height:78px; }
.nav > a, .nav-dropdown > a { color:#dcebf4; }
.nav > a:hover, .nav-dropdown > a:hover { color:#ffffff; background:rgba(40,199,223,0.12); }
.btn-primary { background: var(--gradient-primary); color:#ffffff; box-shadow: 0 10px 28px rgba(40,199,223,0.20); }
.btn-primary:hover { color:#ffffff; transform: translateY(-2px); box-shadow: 0 16px 34px rgba(245,130,32,0.20); }
.hero { padding-top:112px; }
.hero-badge, .section-label { color:#7ee8f5; }
.hero-badge { border-color: rgba(40,199,223,0.36); background: rgba(40,199,223,0.12); }
.page-hero { padding-top: 11rem; }
.card, .service-box, .service-deep-card, .seo-note, .keyword-card, .process-card, .faq-card, .industry-card { background: linear-gradient(180deg, rgba(9,40,69,.92), rgba(3,20,38,.82)); border-color: rgba(215,231,241,0.16); }
.footer-branded { padding:0; background: #031426; border-top:1px solid rgba(40,199,223,0.28); }
.footer-brand-panel { padding:4.5rem 0 2.5rem; background: radial-gradient(circle at 12% 10%, rgba(40,199,223,0.15), transparent 38%), radial-gradient(circle at 92% 18%, rgba(245,130,32,0.12), transparent 32%), #061d34; }
.footer-brand-grid { display:grid; grid-template-columns:1.4fr repeat(3,1fr); gap:2rem; align-items:start; }
.footer-brand-copy p { max-width:430px; color:var(--text-secondary); }
.footer-logo { display:inline-flex; align-items:center; margin-bottom:1rem; }
.footer-logo .brand-logo-img { height:86px; max-width:300px; }
.footer-contact-list { display:grid; gap:.75rem; margin-top:1.5rem; }
.footer-contact-list a { display:flex; flex-direction:column; padding:.85rem 1rem; border:1px solid rgba(215,231,241,.14); border-radius:16px; background:rgba(255,255,255,.045); color:#ffffff; }
.footer-contact-list a strong { font-size:.78rem; color:#7ee8f5; text-transform:uppercase; letter-spacing:1px; }
.footer-contact-list a span { color:#ffffff; font-weight:700; }
.footer-link-col h4 { color:#ffffff; margin-bottom:1rem; font-size:1rem; }
.footer-link-col a { display:block; color:#cfe1ec; padding:.32rem 0; font-size:.94rem; }
.footer-link-col a:hover { color:#f58220; padding-left:.35rem; }
.subfooter { border-top:1px solid rgba(215,231,241,.14); background:#031426; padding:1.15rem 0; }
.subfooter-inner { display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; color:var(--text-muted); font-size:.9rem; }
.subfooter-links { display:flex; gap:1rem; flex-wrap:wrap; }
.subfooter-links a { color:#cfe1ec; }
.subfooter-links a:hover { color:#f58220; }
@media (max-width: 1200px) { .header-contact-inner > span { display:none; } .header-contact-inner { justify-content:center; } }
@media (max-width: 1024px) { .footer-brand-grid { grid-template-columns:1fr 1fr; } .brand-logo-img { height:52px; max-width:190px; } }
@media (max-width: 768px) { .header-contact-bar .container { height:auto; padding-top:.45rem; padding-bottom:.45rem; } .header-contact-links { justify-content:center; gap:.75rem; font-size:.78rem; } .header .container.header-main { height:70px; } .logo.logo-image { min-width:150px; } .brand-logo-img { height:46px; max-width:170px; } .hero { padding-top:124px; } .page-hero { padding-top:10rem; } .footer-brand-grid { grid-template-columns:1fr; } .footer-logo .brand-logo-img { height:74px; } .subfooter-inner { flex-direction:column; text-align:center; } .subfooter-links { justify-content:center; } }

/* === V3 Elementor, Yoast, Blog, Hero and Visibility Updates === */
body { color:#f8fcff; }
p, li, .card p, .service-box p, .longform-section p, .page-hero p { color:#d7e7f1; }
.text-muted, .stat-label, .footer p { color:#c5d9e5; }
.logo.logo-image, .footer-logo { background:#ffffff; border:1px solid rgba(40,199,223,.22); border-radius:18px; padding:.35rem .65rem; box-shadow:0 12px 30px rgba(0,0,0,.25); }
.logo.logo-image .brand-logo-img { height:54px; max-width:190px; object-fit:contain; }
.footer-logo .brand-logo-img { height:76px; max-width:245px; object-fit:contain; }
.home-hero-split { min-height: 88vh; display:block; padding-top: 132px; }
.home-hero-split::before { background: var(--gradient-mesh), linear-gradient(135deg, rgba(3,20,38,.98), rgba(6,29,52,.96)); }
.home-hero-grid { position:relative; z-index:2; display:grid; grid-template-columns:minmax(0,1fr) minmax(360px,.92fr); gap:3.25rem; align-items:center; }
.hero-copy-panel { max-width:680px; }
.home-hero-split .hero-copy-panel p { max-width:620px; color:#e5f4fb; }
.hero-image-panel { position:relative; min-height:420px; border-radius:34px; padding:14px; background:linear-gradient(135deg, rgba(40,199,223,.38), rgba(245,130,32,.24)); box-shadow:0 34px 90px rgba(0,0,0,.42), 0 0 50px rgba(40,199,223,.14); }
.hero-image-panel::before { content:""; position:absolute; inset:28px -18px -18px 38px; border-radius:34px; background:rgba(245,130,32,.18); filter:blur(22px); z-index:-1; }
.hero-image-panel img { width:100%; height:100%; min-height:392px; object-fit:cover; border-radius:24px; display:block; background:#061d34; }
.partners-kicker { text-align:center; color:#d7e7f1; font-size:.9rem; margin-bottom:2rem; text-transform:uppercase; letter-spacing:2px; font-weight:800; }
.partner-logo-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:1rem; align-items:center; }
.partner-logo-card { background:#ffffff; border-radius:20px; padding:.7rem; min-height:86px; display:flex; align-items:center; justify-content:center; box-shadow:0 16px 36px rgba(0,0,0,.18); border:1px solid rgba(40,199,223,.18); }
.partner-logo-card img { max-width:100%; height:auto; display:block; }
.blog-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; margin-top:2rem; }
.blog-card { overflow:hidden; border:1px solid rgba(215,231,241,.16); border-radius:24px; background:linear-gradient(180deg, rgba(9,40,69,.94), rgba(3,20,38,.92)); box-shadow:var(--shadow-card); display:flex; flex-direction:column; }
.blog-card img { width:100%; aspect-ratio:1.9/1; object-fit:cover; display:block; }
.blog-card-body { padding:1.35rem; display:flex; flex-direction:column; gap:.7rem; flex:1; }
.blog-card .blog-cat { color:#f58220; font-weight:800; font-size:.78rem; text-transform:uppercase; letter-spacing:1.5px; }
.blog-card h3 { font-size:1.28rem; margin:0; color:#ffffff; }
.blog-card p { margin:0; color:#d7e7f1; }
.blog-card .read-more { margin-top:auto; font-weight:800; color:#7ee8f5; }
.single-post-hero { padding:11rem 0 3rem; background:var(--gradient-mesh); }
.single-post-hero img { width:100%; border-radius:28px; margin-top:2rem; box-shadow:0 28px 70px rgba(0,0,0,.34); }
.narrow-container { max-width:900px; }
.dyst-form { display:grid; gap:1rem; padding:1.3rem; border:1px solid rgba(215,231,241,.16); border-radius:24px; background:rgba(9,40,69,.72); }
.dyst-form .form-row { display:grid; gap:.45rem; }
.dyst-form label { color:#ffffff; font-weight:700; }
.dyst-form input, .dyst-form select, .dyst-form textarea, .wpcf7 input, .wpcf7 select, .wpcf7 textarea { width:100%; border:1px solid rgba(215,231,241,.18); background:#ffffff; color:#06223d; border-radius:14px; padding:.85rem 1rem; font:inherit; }
.dyst-form input::placeholder, .dyst-form textarea::placeholder { color:#607487; }
.form-success { padding:1rem; border-radius:14px; background:rgba(50,169,158,.16); border:1px solid rgba(50,169,158,.45); color:#ffffff; margin-bottom:1rem; }
.form-error { padding:1rem; border-radius:14px; background:rgba(245,130,32,.14); border:1px solid rgba(245,130,32,.42); color:#ffffff; margin-bottom:1rem; }
.related-action-grid { margin-top:1rem; }
.elementor-page .site-main { overflow:hidden; }
@media (max-width:1200px){ .partner-logo-grid{ grid-template-columns:repeat(3,1fr); } .blog-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:1024px){ .home-hero-grid{ grid-template-columns:1fr; } .hero-image-panel{ min-height:320px; } .hero-image-panel img{ min-height:320px; } }
@media (max-width:768px){ .home-hero-split{ padding-top:126px; } .partner-logo-grid, .blog-grid{ grid-template-columns:1fr; } .logo.logo-image .brand-logo-img{ height:44px; max-width:158px; } .footer-logo .brand-logo-img{ height:64px; max-width:220px; } .hero-image-panel{ padding:10px; border-radius:24px; } .hero-image-panel img{ border-radius:18px; } }

/* === V4 Logo, contrast, FAQ accordion, and service pricing updates === */
.logo.logo-image, .footer-logo { background:#ffffff !important; border:1px solid rgba(6,34,61,.12); border-radius:16px; padding:.25rem .55rem; overflow:hidden; }
.logo.logo-image .brand-logo-img { height:56px; max-width:230px; object-fit:contain; display:block; }
.footer-logo .brand-logo-img { height:82px; max-width:300px; object-fit:contain; display:block; }
section[style*="#f8f9fa"], section[style*="--bg-alt"], section[style*="#fff"], section[style*="white"] { background:#f8fafc !important; color:#06223d !important; }
section[style*="#f8f9fa"] h1, section[style*="#f8f9fa"] h2, section[style*="#f8f9fa"] h3, section[style*="#f8f9fa"] h4, section[style*="#f8f9fa"] p, section[style*="#f8f9fa"] li, section[style*="#f8f9fa"] td, section[style*="#f8f9fa"] span,
section[style*="--bg-alt"] h1, section[style*="--bg-alt"] h2, section[style*="--bg-alt"] h3, section[style*="--bg-alt"] h4, section[style*="--bg-alt"] p, section[style*="--bg-alt"] li, section[style*="--bg-alt"] td, section[style*="--bg-alt"] span { color:#06223d !important; }
section[style*="--bg-alt"] .section-label, section[style*="#f8f9fa"] .section-label { color:#0a7fbd !important; }
section[style*="--bg-alt"] .stat-item, section[style*="#f8f9fa"] .stat-item { background:#ffffff; border:1px solid rgba(6,34,61,.12); border-radius:18px; box-shadow:0 12px 30px rgba(6,34,61,.08); }
section[style*="--bg-alt"] .stat-item strong, section[style*="#f8f9fa"] .stat-item strong { color:#0a7fbd !important; -webkit-text-fill-color:initial !important; background:none !important; display:block; font-size:1.7rem; }
section[style*="--bg-alt"] .stat-item span, section[style*="#f8f9fa"] .stat-item span { color:#31546b !important; display:block; }
.pricing-table table, .visible-table { background:#ffffff; color:#06223d; border-radius:18px; overflow:hidden; box-shadow:0 16px 36px rgba(6,34,61,.10); }
.pricing-table td, .pricing-table th, .visible-table td, .visible-table th { color:#06223d !important; border-color:#d9e5ec !important; }
.pricing-table thead th, .visible-table thead th { background:#0a7fbd !important; color:#ffffff !important; }
.faq-section { background:linear-gradient(180deg, rgba(6,29,52,.88), rgba(3,20,38,.96)); }
.faq-accordion { display:grid; gap:1rem; margin-top:1.5rem; }
.faq-accordion-item { border:1px solid rgba(215,231,241,.16); border-radius:18px; background:rgba(9,40,69,.84); overflow:hidden; }
.faq-accordion-item summary { cursor:pointer; list-style:none; padding:1.1rem 1.25rem; color:#ffffff; font-weight:800; display:flex; justify-content:space-between; gap:1rem; }
.faq-accordion-item summary::-webkit-details-marker { display:none; }
.faq-accordion-item summary::after { content:'+'; color:#7ee8f5; font-size:1.35rem; line-height:1; }
.faq-accordion-item[open] summary::after { content:'−'; }
.faq-accordion-item div { padding:0 1.25rem 1.15rem; }
.faq-accordion-item p { color:#d7e7f1; margin:0; }
.service-pricing-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.35rem; margin-top:2rem; }
.service-pricing-card { border:1px solid rgba(215,231,241,.16); border-radius:26px; padding:1.5rem; background:linear-gradient(180deg, rgba(9,40,69,.94), rgba(3,20,38,.92)); box-shadow:var(--shadow-card); display:flex; flex-direction:column; gap:1rem; }
.service-pricing-card h3 { color:#ffffff; margin:0; }
.price-dual strong { display:block; font-size:2rem; color:#7ee8f5; }
.price-dual span { display:block; color:#f9b45f; font-weight:800; }
.service-pricing-card ul { margin:0 0 1rem 1.2rem; }
.service-pricing-directory { background:rgba(9,40,69,.45); }
.pricing-directory-grid .service-deep-card h3 a { color:#ffffff; }
@media (max-width:1024px){ .service-pricing-grid{ grid-template-columns:1fr; } .logo.logo-image .brand-logo-img{ max-width:190px; height:48px; } }

/* === V5 Full-service header, dark UI, white text, highlighted numbers === */
body, .site-main, section { color:#ffffff; }
p, li, td, th, span, label, .card p, .service-box p, .longform-section p, .page-hero p, .section-header p { color:#e9f6fb !important; }
h1,h2,h3,h4,h5,h6,strong { color:#ffffff; }
section[style*="#f8f9fa"], section[style*="#f8fafc"], section[style*="--bg-alt"], section[style*="#fff"], section[style*="white"] { background:linear-gradient(180deg,#092845 0%,#061d34 100%) !important; color:#ffffff !important; }
section[style*="#f8f9fa"] *, section[style*="#f8fafc"] *, section[style*="--bg-alt"] *, section[style*="#fff"] *, section[style*="white"] * { color:#ffffff !important; }
.logo.logo-image, .footer-logo { background:#ffffff !important; border-radius:14px; padding:.22rem .48rem; box-shadow:0 10px 26px rgba(0,0,0,.26); }
.logo.logo-image .brand-logo-img { height:52px; max-width:245px; object-fit:contain; display:block; }
.footer-logo .brand-logo-img { height:76px; max-width:315px; object-fit:contain; display:block; }
.header.site-header-branded { background:rgba(3,20,38,.98); }
.nav { gap:.05rem; }
.nav > a, .nav-dropdown > a { color:#ffffff !important; font-size:.84rem; padding:.48rem .62rem; }
.mega-menu { background:#061d34; border:1px solid rgba(40,199,223,.28); }
.mega-col a { color:#e9f6fb !important; }
.mega-col a:hover { color:#f9b45f !important; }
.stat-number, .stat-item strong { color:#f9b45f !important; -webkit-text-fill-color:initial !important; background:none !important; text-shadow:0 0 22px rgba(245,130,32,.24); font-weight:900; }
.stat-item { border:1px solid rgba(40,199,223,.22); background:linear-gradient(180deg,rgba(9,40,69,.92),rgba(3,20,38,.84)); border-radius:20px; }
.stats-grid .stat-item span, .stat-label { color:#d7e7f1 !important; }
.visible-table, .pricing-table table { background:#092845 !important; color:#ffffff !important; }
.visible-table td, .pricing-table td { background:#092845 !important; color:#ffffff !important; }
.visible-table tr:nth-child(even) td, .pricing-table tr:nth-child(even) td { background:#0b3154 !important; }
.visible-table th, .pricing-table th, .pricing-table thead th { background:#0a7fbd !important; color:#ffffff !important; }
.partner-logo-card { background:#ffffff !important; }
.dyst-form select option { color:#06223d; }
@media (max-width:1320px){ .nav > a, .nav-dropdown > a { font-size:.78rem; padding:.42rem .45rem; } .logo.logo-image .brand-logo-img{ max-width:200px; } }
@media (max-width:1200px){ .nav{ display:none; } }

.sitemap-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem}.sitemap-group{border:1px solid rgba(215,231,241,.16);border-radius:22px;padding:1.25rem;background:linear-gradient(180deg,rgba(9,40,69,.9),rgba(3,20,38,.82))}.sitemap-group ul{list-style:none;padding:0;margin:0}.sitemap-group li{padding:.55rem 0;border-bottom:1px solid rgba(255,255,255,.08)}.sitemap-group li:last-child{border-bottom:0}.sitemap-group a{color:#7ee8f5;font-weight:800}.sitemap-group span{display:block;color:#d7e7f1!important;font-size:.86rem;margin-top:.1rem}

/* === FINAL WHITE TEXT OVERRIDE === */
html body, html body *:not(img):not(svg):not(path):not(rect):not(circle):not(line):not(polyline):not(polygon) {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
html body a,
html body a:visited,
html body a:hover,
html body .section-label,
html body .hero-badge,
html body .gradient-text,
html body .stat-number,
html body .stat-item strong,
html body .price-dual strong,
html body .price-dual span,
html body .service-box-link,
html body .read-more {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background-image: none !important;
}
html body input,
html body textarea,
html body select,
html body option,
html body .wpcf7 input,
html body .wpcf7 textarea,
html body .wpcf7 select {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background: #061d34 !important;
  border-color: rgba(255,255,255,.28) !important;
}
html body input::placeholder,
html body textarea::placeholder {
  color: rgba(255,255,255,.78) !important;
  -webkit-text-fill-color: rgba(255,255,255,.78) !important;
}
html body .logo.logo-image,
html body .footer-logo,
html body .partner-logo-card {
  -webkit-text-fill-color: initial !important;
}
html body .logo.logo-image *,
html body .footer-logo *,
html body .partner-logo-card * {
  -webkit-text-fill-color: initial !important;
}

/* === Floating WhatsApp and Call Buttons === */
.dyst-floating-contact {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 99999;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.dyst-float-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 136px;
  min-height: 48px;
  padding: 0 16px;
  border-radius: 999px;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  font-weight: 800;
  letter-spacing: .2px;
  border: 1px solid rgba(255,255,255,.22);
  box-shadow: 0 14px 34px rgba(0,0,0,.34);
  backdrop-filter: blur(12px);
}
.dyst-float-whatsapp { background: linear-gradient(135deg, #25D366 0%, #128C7E 100%); }
.dyst-float-call { background: linear-gradient(135deg, #0a7fbd 0%, #28c7df 100%); }
.dyst-float-btn:hover { transform: translateY(-2px); color:#ffffff !important; }
.dyst-float-icon { font-size: 1.18rem; line-height: 1; }
@media (max-width: 640px) {
  .dyst-floating-contact { right: 14px; bottom: 14px; gap: 10px; }
  .dyst-float-btn { min-width: 50px; width: 50px; height: 50px; padding: 0; border-radius: 50%; }
  .dyst-float-text { display: none; }
}
