/*
  SOLVERTRIX FINAL UI POLISH
  Purpose: restore visual hierarchy, alignment and readability without changing
  content, URLs, structured data, forms or existing SVG artwork.
*/
:root{
  --sx-blue:#1557ff;
  --sx-blue-dark:#0d43cf;
  --sx-ink:#111827;
  --sx-muted:#64748b;
  --sx-paper:#f7f8fa;
  --sx-white:#ffffff;
  --sx-border:#e2e8f0;
  --sx-navy:#0d1728;
}

html{scroll-behavior:smooth;}
body{
  background:var(--sx-paper) !important;
  color:var(--sx-ink) !important;
}

/* One alignment system across every page */
.wrap{
  width:min(100% - 40px, 1200px) !important;
  max-width:1200px !important;
  margin-inline:auto !important;
  padding-inline:0 !important;
}
@media (max-width:767px){
  .wrap{width:min(100% - 32px,1200px) !important;}
}

/* Header: clean, restrained, identical everywhere */
nav.site-nav,
.navbar,
.glass-nav{
  background:rgba(255,255,255,.92) !important;
  border-bottom:1px solid rgba(15,23,42,.08) !important;
  box-shadow:0 1px 0 rgba(15,23,42,.03) !important;
  backdrop-filter:blur(14px) !important;
  -webkit-backdrop-filter:blur(14px) !important;
}
nav.site-nav.scrolled,
.navbar.scrolled{
  background:rgba(255,255,255,.96) !important;
  box-shadow:0 8px 28px rgba(15,23,42,.07) !important;
}
.nav-logo{font-weight:800 !important;}
.nav-links a{color:#475569 !important;}
.nav-links a:hover,.nav-links a.active{color:var(--sx-blue) !important;}
.nav-cta{background:var(--sx-blue) !important;color:#fff !important;box-shadow:0 8px 20px rgba(21,87,255,.16) !important;}
.nav-cta:hover{background:var(--sx-blue-dark) !important;}

/* Kill the source of the giant blank areas.
   Content must never depend on an intersection observer to become visible. */
.fade-up,
.hero-reveal{
  opacity:1;
  transform:none;
  visibility:visible;
}

/* Homepage */
.hero{
  background:#fff !important;
  min-height:0 !important;
  padding-top:145px !important;
  padding-bottom:72px !important;
}
.hero::before{opacity:.55 !important;}
.hero-inner{max-width:1200px !important;}
.hero-title{
  color:#0f172a !important;
  font-weight:800 !important;
  letter-spacing:-.045em !important;
}
.hero-title em{color:var(--sx-blue) !important;}
.hero-sub{color:#64748b !important;}
.hero-eyebrow{color:var(--sx-blue) !important;}
.hero-actions{gap:14px !important;}
.hero-actions .btn-primary,.btn-blue{background:var(--sx-blue) !important;}
.hero-secondary-link{color:#0f172a !important;}
.hero-stats{border-color:#e2e8f0 !important;}
.hero-stat + .hero-stat{border-color:#e2e8f0 !important;}
.hero-stat-value{color:#0f172a !important;}
.hero-stat-label{color:#64748b !important;}
.hero-img-wrap img{display:block !important;}
.hero-img-frame::before{border-color:var(--sx-blue) !important;opacity:.3 !important;}

/* Section rhythm: no oversized dead zones */
.section{
  padding-top:clamp(64px,7vw,96px) !important;
  padding-bottom:clamp(64px,7vw,96px) !important;
}
.section[style*="padding-top: 0"],
.section[style*="padding-top:0"]{
  padding-top:clamp(56px,6vw,80px) !important;
}
.section-label,.page-badge,.eyebrow,.badge{
  color:var(--sx-blue) !important;
  background:#eef3ff !important;
  border-color:#dce6ff !important;
}
.section-title,.page-title{color:#0f172a !important;}
.section-sub,.page-sub{color:#64748b !important;}

/* Homepage service cards */
.service-featured,
.service-row,
.svc-card,
.area-card,
.faq-item,
.review-card{
  background:#fff !important;
  border-color:#e2e8f0 !important;
  box-shadow:0 4px 18px rgba(15,23,42,.045) !important;
}
.service-featured:hover,.service-row:hover,.svc-card:hover,.area-card:hover,.faq-item:hover{
  border-color:#cbd8f8 !important;
  box-shadow:0 14px 32px rgba(15,23,42,.08) !important;
}

/* Homepage WHY block: light, not a second black hero */
.why-section{
  background:#f0f5ff !important;
  border:1px solid #dbe6ff !important;
  color:#0f172a !important;
  border-radius:28px !important;
  margin-inline:0 !important;
  padding:clamp(40px,6vw,72px) !important;
}
.why-section .section-title,
.why-section h2,
.why-section h3,
.why-section :is(h3,h4){color:#0f172a !important;}
.why-section p{color:#64748b !important;}
.feature-item,.stat-box{
  background:#fff !important;
  border-color:#dbe4f2 !important;
  color:#0f172a !important;
}
.feature-item :is(h3,h4),.stat-num{color:#0f172a !important;}
.feature-item p,.stat-label{color:#64748b !important;}

/* Process: compact four-card rail, no invisible/empty space */
.process-flow,.process-steps{margin-top:32px !important;}
.process-step,.step-card{
  background:#fff !important;
  border:1px solid #e2e8f0 !important;
  color:#0f172a !important;
  box-shadow:0 4px 18px rgba(15,23,42,.045) !important;
}
.process-step h2,.process-step h3,.process-step :is(h3,h4),.step-card h2,.step-card h3{color:#0f172a !important;}
.process-step p,.step-card p{color:#64748b !important;}
.step-number{background:#eef3ff !important;color:var(--sx-blue) !important;}
.process-flow::before{background:#dbe5f8 !important;}
.process-step::after{border-color:#c7d6f6 !important;background:#f7f8fa !important;}

/* Service area */
.area-grid{margin-top:32px !important;}
.area-card h3{color:#0f172a !important;}
.area-card p{color:#64748b !important;}

/* FAQ */
.faq-preview{margin-top:28px !important;}
.faq-q,.faq-q-text{color:#0f172a !important;}
.faq-a,.faq-answer p{color:#64748b !important;}

/* Services page: LIGHT trust section. This was one of the biggest visual failures. */
.trust-section{
  background:#eef4ff !important;
  border:1px solid #dbe6ff !important;
  border-radius:28px !important;
  margin-inline:0 !important;
  color:#0f172a !important;
}
.trust-section .section-title{color:#0f172a !important;}
.trust-section .section-sub{color:#64748b !important;}
.trust-grid{margin-top:32px !important;}
.trust-card,
.trust-item{
  background:#fff !important;
  border:1px solid #dbe4f2 !important;
  color:#0f172a !important;
  box-shadow:0 6px 20px rgba(15,23,42,.055) !important;
}
.trust-card h3,.trust-item h3{color:#0f172a !important;}
.trust-card p,.trust-item p{color:#64748b !important;}

/* Interior page headers: same light visual language as home */
.page-header,.page-hero{
  background:#fff !important;
  border-bottom:1px solid #e5eaf1 !important;
  padding-top:132px !important;
  padding-bottom:72px !important;
}
.header-grid{align-items:center !important;}
.header-img{
  border:1px solid #dfe6f0 !important;
  box-shadow:0 16px 40px rgba(15,23,42,.08) !important;
}

/* How-it-works timeline */
.timeline{margin-top:32px !important;}
.tl-card{
  background:#fff !important;
  border-color:#e2e8f0 !important;
  box-shadow:0 6px 22px rgba(15,23,42,.05) !important;
}
.tl-card h2,.tl-card h3{color:#0f172a !important;}
.tl-card p{color:#64748b !important;}
.tl-detail-chip{background:#f4f7fb !important;border-color:#e2e8f0 !important;color:#475569 !important;}
.tl-spine::before{background:#dbe5f4 !important;}
.tl-dot{background:var(--sx-blue) !important;color:#fff !important;}
.tl-icon-box{background:#f4f7fb !important;border-color:#e2e8f0 !important;}
.promise-section{
  background:#f0f5ff !important;
  border:1px solid #dbe6ff !important;
  color:#0f172a !important;
  border-radius:28px !important;
  margin-inline:0 !important;
}
.promise-section h2,.promise-section h3{color:#0f172a !important;}
.promise-section p{color:#64748b !important;}

/* Booking page */
.booking-layout{padding-top:48px !important;}
.booking-form-wrap,.form-card,.trust-block,.trust-box,.summary-card{
  background:#fff !important;
  border-color:#e2e8f0 !important;
  box-shadow:0 8px 28px rgba(15,23,42,.055) !important;
}
.form-section-title,.step-header h2{color:#0f172a !important;}
.step-header p,.trust-point p,.mini-step p{color:#64748b !important;}
.device-label{background:#fff !important;border-color:#dbe3ef !important;}
.device-label:hover,.device-label.selected,.device-label.active{border-color:var(--sx-blue) !important;background:#eef3ff !important;}
.form-group input,.form-group select,.form-group textarea{border-color:#dbe3ef !important;background:#fff !important;color:#0f172a !important;}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--sx-blue) !important;box-shadow:0 0 0 4px rgba(21,87,255,.1) !important;}
.steps-indicator{margin-top:24px !important;}

/* Contact page */
.contact-card,.map-section{
  background:#fff !important;
  border-color:#e2e8f0 !important;
  box-shadow:0 6px 22px rgba(15,23,42,.045) !important;
}
.contact-card h2,.map-header h2{color:#0f172a !important;}
.contact-card p,.map-header p{color:#64748b !important;}
.contact-method{background:#f8fafc !important;border-color:#e2e8f0 !important;}

/* CTA: one intentional dark section, rather than dark everywhere */
.cta-band{
  background:var(--sx-navy) !important;
  border-radius:28px !important;
  margin-inline:0 !important;
  padding:clamp(44px,6vw,72px) !important;
  text-align:left !important;
}
.cta-band h2{color:#fff !important;}
.cta-band p{color:#cbd5e1 !important;margin-left:0 !important;}
.cta-actions{justify-content:flex-start !important;}

/* Footer remains dark, but visually separated from content */
footer,.site-footer{
  background:#0f172a !important;
  margin-top:0 !important;
}

/* Floating quick action: blue instead of another black circle */
.fab-btn,#floatingBtn{
  background:var(--sx-blue) !important;
  color:#fff !important;
  box-shadow:0 10px 26px rgba(21,87,255,.24) !important;
}
.fab-item{background:#fff !important;border:1px solid #e2e8f0 !important;}

/* Mobile: preserve hierarchy and stop desktop spacing from leaking */
@media(max-width:767px){
  .hero{padding-top:92px !important;padding-bottom:44px !important;}
  .hero-inner{gap:28px !important;}
  .hero-title{font-size:clamp(40px,12vw,62px) !important;line-height:.98 !important;}
  .hero-sub{font-size:16px !important;line-height:1.65 !important;}
  .hero-actions{margin-bottom:24px !important;}
  .hero-actions .btn{width:auto !important;min-height:50px !important;}
  .hero-stats{grid-template-columns:1fr 1fr !important;row-gap:16px !important;}
  .hero-stat:nth-child(3){grid-column:1/-1;}
  .hero-visual{margin-top:4px !important;}
  .section{padding-block:52px !important;}
  .section[style*="padding-top: 0"],.section[style*="padding-top:0"]{padding-top:44px !important;}
  .why-section,.trust-section,.promise-section,.cta-band{border-radius:22px !important;margin-inline:0 !important;padding:34px 22px !important;}
  .trust-grid{grid-template-columns:1fr !important;gap:12px !important;}
  .process-flow{display:grid !important;grid-template-columns:1fr !important;gap:12px !important;}
  .process-flow::before{display:none !important;}
  .process-step::after{display:none !important;}
  .page-header,.page-hero{padding-top:96px !important;padding-bottom:44px !important;}
  .header-grid{gap:28px !important;}
  .page-title{font-size:clamp(34px,10vw,50px) !important;}
  .header-actions .btn{width:auto !important;}
  .timeline{margin-top:24px !important;}
  .tl-step{grid-template-columns:1fr !important;gap:10px !important;}
  .tl-spine,.tl-visual{display:none !important;}
  .booking-layout{padding-top:28px !important;}
  .cta-band{text-align:left !important;}
  .cta-actions{align-items:stretch !important;}
  .cta-actions .btn{width:100% !important;}
  .sticky-mobile-cta .smc-book{background:var(--sx-blue) !important;}
}

/* Accessibility / interaction */
@media(hover:hover) and (pointer:fine){
  .btn,.svc-card,.service-row,.service-featured,.trust-card,.area-card,.faq-item,.tl-card,.contact-card{transition:transform 180ms ease,box-shadow 180ms ease,border-color 180ms ease !important;}
}


/* ── FINAL TARGETED FIXES ───────────────────────────────── */
/* Keep the original homepage composition; fix only readability, spacing and controls. */
.service-featured{
  background:var(--sx-navy) !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.06) !important;
}
.service-featured h3{color:#fff !important;}
.service-featured p{color:rgba(255,255,255,.78) !important;}
.service-featured .service-featured-badge{
  color:#dbe7ff !important;
  background:rgba(255,255,255,.10) !important;
}
.service-featured .service-featured-icon{
  background:rgba(255,255,255,.10) !important;
  color:#fff !important;
}
.service-featured .service-tag{
  color:#fff !important;
  background:rgba(255,255,255,.13) !important;
}
.service-featured .service-link{color:#fff !important;}

/* Dark CTA: always inset from every viewport edge. */
.cta-band{
  width:min(1200px,calc(100% - 32px)) !important;
  max-width:1200px !important;
  margin-inline:auto !important;
  box-sizing:border-box !important;
}

/* Real Solvertrix logo on dark brand surfaces. */
.cta-logo{
  display:block !important;
  width:132px !important;
  height:auto !important;
  margin:0 0 24px !important;
  object-fit:contain !important;
}
.footer-brand .brand-logo{
  display:block !important;
  width:138px !important;
  height:auto !important;
  margin:0 0 18px !important;
  object-fit:contain !important;
}

/* Floating + control: stable, visible and safely inside the viewport. */
.fab-wrap{
  position:fixed !important;
  right:24px !important;
  bottom:24px !important;
  z-index:1200 !important;
  align-items:flex-end !important;
}
.fab-btn{
  width:52px !important;
  height:52px !important;
  min-width:52px !important;
  min-height:52px !important;
  padding:0 !important;
  border-radius:50% !important;
  background:var(--sx-blue) !important;
  color:#fff !important;
  border:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  line-height:1 !important;
  box-shadow:0 10px 26px rgba(21,87,255,.28) !important;
}
.fab-plus{
  display:block !important;
  font-size:27px !important;
  font-weight:400 !important;
  line-height:1 !important;
  transform:rotate(0deg) !important;
  transition:transform 180ms ease !important;
}
.fab-btn.open .fab-plus{transform:rotate(45deg) !important;}
.fab-items{z-index:1201 !important;}

@media(max-width:767px){
  .cta-band{
    width:calc(100% - 32px) !important;
    margin-inline:auto !important;
    padding:34px 22px !important;
  }
  .cta-logo{width:112px !important;margin-bottom:18px !important;}
  .footer-brand .brand-logo{width:120px !important;}
  .fab-wrap{
    right:16px !important;
    bottom:82px !important;
  }
}


/* ================================================================
   SOLVERTRIX APPROVED HEADER — HEADER ONLY
   Keep the approved page design unchanged. This override changes
   only the navigation appearance and logo treatment.
   ================================================================ */
nav.site-nav,
body > nav:not(.site-nav) {
  background: #0f172a !important;
  color: #ffffff !important;
  box-shadow: 0 1px 0 rgba(255,255,255,0.08) !important;
}

nav.site-nav.scrolled {
  background: #0f172a !important;
  box-shadow: 0 1px 0 rgba(255,255,255,0.08) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.nav-logo {
  display: inline-flex !important;
  align-items: center !important;
  gap: 9px !important;
  color: #ffffff !important;
}

.nav-logo-mark {
  width: 49px !important;
  height: 27px !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
  flex: 0 0 auto !important;
}

.nav-logo-text {
  font-family: var(--font-display) !important;
  font-weight: 800 !important;
  font-size: 22px !important;
  line-height: 1 !important;
  color: #ffffff !important;
  letter-spacing: -0.03em !important;
}

.nav-logo-text > span {
  color: var(--blue) !important;
}

.nav-links a,
nav.site-nav .nav-links a {
  color: rgba(255,255,255,0.92) !important;
}

.nav-links a:hover,
.nav-links a.active,
nav.site-nav .nav-links a:hover,
nav.site-nav .nav-links a.active {
  color: var(--blue) !important;
}

.hamburger .ham-line {
  background: #ffffff !important;
}

.mobile-drawer {
  background: #0f172a !important;
  color: #ffffff !important;
}

.mobile-drawer a {
  color: #ffffff !important;
  border-bottom-color: rgba(255,255,255,0.10) !important;
}

.mobile-drawer a:active,
.mobile-drawer a.active {
  color: var(--blue) !important;
}
