:root {
  --danis-bg: #06121b;
  --danis-panel: rgba(8, 20, 32, 0.86);
  --danis-panel-strong: rgba(11, 28, 43, 0.94);
  --danis-line: rgba(125, 211, 252, 0.24);
  --danis-line-strong: rgba(20, 241, 149, 0.5);
  --danis-text: #ecf6ff;
  --danis-muted: #a9bdd2;
  --danis-cyan: #00c2ff;
  --danis-green: #14f195;
  --danis-amber: #ffb84d;
  --danis-danger: #ff5b6e;
  --danis-shadow: 0 24px 70px rgba(0, 0, 0, 0.42);
}

html {
  scroll-behavior: smooth;
}

body {
  background:
    linear-gradient(180deg, rgba(2, 8, 15, 0.96), rgba(6, 18, 27, 0.98) 38%, rgba(9, 26, 35, 0.98) 100%) !important;
  color: var(--danis-text);
  text-rendering: geometricPrecision;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(125, 211, 252, 0.075) 1px, transparent 1px),
    linear-gradient(90deg, rgba(125, 211, 252, 0.055) 1px, transparent 1px);
  background-size: 46px 46px;
  mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.95), rgba(0, 0, 0, 0.14));
}

a {
  text-underline-offset: 4px;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid rgba(20, 241, 149, 0.72) !important;
  outline-offset: 3px;
}

nav,
.navbar,
header nav,
.sticky,
.fixed.top-0 {
  backdrop-filter: blur(18px) saturate(150%);
  border-bottom: 1px solid rgba(125, 211, 252, 0.18);
  box-shadow: 0 14px 44px rgba(0, 0, 0, 0.3);
}

.hero-section,
section.hero-section,
header.hero-section {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: min(860px, 92svh);
}

.hero-section::after,
section.hero-section::after,
header.hero-section::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    linear-gradient(105deg, rgba(2, 8, 15, 0.92) 0%, rgba(2, 12, 20, 0.72) 46%, rgba(20, 241, 149, 0.16) 100%),
    linear-gradient(180deg, transparent 70%, var(--danis-bg) 100%);
}

.hero-section h1,
section.hero-section h1,
header.hero-section h1 {
  max-width: 12ch;
  letter-spacing: 0;
  text-shadow: 0 18px 48px rgba(0, 0, 0, 0.55);
}

.hero-section p,
section.hero-section p,
header.hero-section p {
  color: #d7e6f7 !important;
}

#hero.hero-section .container {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

#hero.hero-section h1 {
  max-width: min(920px, 18ch) !important;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

#hero.hero-section p {
  max-width: min(760px, 92vw) !important;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

section,
.section,
main > div {
  scroll-margin-top: 96px;
}

.service-card,
.local-service-card,
.feature-card,
.benefit-card,
.testimonial-card,
.project-card,
.stat-card,
.job-card,
.area-card,
.trust-card,
.form-card,
.contact-card,
.faq-item,
.bg-slate-800,
.bg-slate-900,
.bg-gray-900 {
  background:
    linear-gradient(180deg, rgba(14, 34, 50, 0.94), rgba(7, 18, 31, 0.94)) !important;
  border: 1px solid var(--danis-line) !important;
  border-radius: 8px !important;
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.32);
}

.service-card,
.local-service-card,
.feature-card,
.benefit-card,
.project-card,
.job-card,
.area-card {
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.service-card:hover,
.local-service-card:hover,
.feature-card:hover,
.benefit-card:hover,
.project-card:hover,
.job-card:hover,
.area-card:hover {
  transform: translateY(-4px);
  border-color: var(--danis-line-strong) !important;
  box-shadow: 0 26px 70px rgba(0, 194, 255, 0.16), 0 24px 70px rgba(0, 0, 0, 0.38);
}

.service-card i,
.local-service-card i,
.feature-card i,
.benefit-card i,
.contact-card i,
.stat-card i {
  color: var(--danis-green) !important;
  filter: drop-shadow(0 0 12px rgba(20, 241, 149, 0.34));
}

.text-cyan-400,
.text-cyan-300,
.text-blue-400,
.text-blue-300 {
  color: var(--danis-cyan) !important;
}

.text-green-400,
.text-emerald-400 {
  color: var(--danis-green) !important;
}

.text-yellow-400,
.text-amber-400 {
  color: var(--danis-amber) !important;
}

.bg-cyan-500,
.bg-blue-500,
.bg-cyan-600,
.bg-blue-600,
.btn-primary,
.cta-button,
button[type="submit"],
input[type="submit"] {
  background: linear-gradient(135deg, var(--danis-green), var(--danis-cyan)) !important;
  color: #03111a !important;
  border: 0 !important;
  border-radius: 8px !important;
  box-shadow: 0 14px 34px rgba(20, 241, 149, 0.26);
  font-weight: 800;
}

.bg-cyan-500:hover,
.bg-blue-500:hover,
.bg-cyan-600:hover,
.bg-blue-600:hover,
.btn-primary:hover,
.cta-button:hover,
button[type="submit"]:hover,
input[type="submit"]:hover {
  filter: brightness(1.07);
  transform: translateY(-1px);
}

a[href^="tel:"],
a[href^="mailto:"] {
  font-weight: 700;
}

form,
.modal-content,
.booking-modal,
.booking-widget,
.request-form,
.quote-form {
  border-radius: 8px !important;
}

input,
select,
textarea {
  background: rgba(3, 13, 24, 0.78) !important;
  border: 1px solid rgba(125, 211, 252, 0.24) !important;
  color: var(--danis-text) !important;
  border-radius: 8px !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

input::placeholder,
textarea::placeholder {
  color: rgba(214, 229, 245, 0.62) !important;
}

input[type="checkbox"],
input[type="radio"] {
  accent-color: var(--danis-green);
  box-shadow: none;
}

label,
.required,
.form-label {
  color: #dcecff !important;
}

.modal,
.fixed.inset-0 {
  backdrop-filter: blur(14px);
}

.modal-content,
.booking-modal,
.form-card,
.request-form,
.quote-form {
  background:
    linear-gradient(180deg, rgba(12, 29, 45, 0.98), rgba(5, 15, 27, 0.98)) !important;
  border: 1px solid rgba(20, 241, 149, 0.28) !important;
  box-shadow: var(--danis-shadow);
}

.danis-main-form-redirect-card {
  margin: 22px 0;
  padding: 22px;
  border-radius: 8px;
  border: 1px solid rgba(20, 241, 149, 0.36);
  background: linear-gradient(180deg, rgba(12, 30, 45, 0.96), rgba(6, 18, 30, 0.96));
  box-shadow: 0 20px 54px rgba(0, 0, 0, 0.32);
  color: var(--danis-text);
}

.danis-main-form-redirect-card strong {
  display: block;
  margin-bottom: 6px;
  font-size: 1.15rem;
  color: #ffffff;
}

.danis-main-form-redirect-card p {
  margin: 0 0 16px;
  color: var(--danis-muted);
}

.danis-main-form-redirect-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.danis-main-form-redirect-actions a,
.danis-main-form-redirect-actions button,
.danis-area-result-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 12px 16px;
  border-radius: 8px;
  border: 1px solid rgba(125, 211, 252, 0.28);
  background: rgba(10, 31, 48, 0.92);
  color: var(--danis-text);
  font-weight: 800;
  text-decoration: none;
}

.danis-main-form-redirect-actions a:first-child,
.danis-main-form-redirect-actions button:first-child,
.danis-area-result-actions a:first-child {
  background: linear-gradient(135deg, var(--danis-green), var(--danis-cyan));
  color: #03111a;
  border-color: transparent;
}

.danis-area-address-result {
  margin-top: 18px;
  padding: 16px;
  border-radius: 8px;
  border: 1px solid rgba(20, 241, 149, 0.34);
  background: rgba(6, 18, 30, 0.88);
  text-align: left;
}

.danis-area-address-result strong,
.danis-area-address-result span {
  display: block;
}

.danis-area-address-result span {
  color: var(--danis-muted);
}

.danis-area-result-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 12px;
}

footer {
  border-top: 1px solid rgba(125, 211, 252, 0.18);
  background:
    linear-gradient(180deg, rgba(6, 18, 27, 0.98), rgba(1, 7, 13, 1)) !important;
}

footer a {
  color: #b9edff !important;
}

footer a:hover {
  color: var(--danis-green) !important;
}

.floating-whatsapp,
.whatsapp-float,
a[href*="wa.me"],
a[href*="whatsapp"] {
  box-shadow: 0 18px 42px rgba(20, 241, 149, 0.28) !important;
}

@media (max-width: 768px) {
  .hero-section,
  section.hero-section,
  header.hero-section {
    min-height: auto;
    padding-top: 96px;
    padding-bottom: 56px;
  }

  .hero-section h1,
  section.hero-section h1,
  header.hero-section h1 {
    max-width: 100%;
  }

}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}
