/* Site-wide UX polish loaded after page-specific styles. */
:root{
  --ux-primary:#0b6efd;
  --ux-accent:#00b894;
  --ux-dark:#0f172a;
  --ux-text:#1f2937;
  --ux-muted:#64748b;
  --ux-border:#e5e7eb;
  --ux-soft:#f8fafc;
  --ux-card:#ffffff;
  --ux-shadow:0 12px 32px rgba(15,23,42,.10);
}

body{
  color:var(--ux-text);
  background:var(--ux-soft);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

html{
  -webkit-text-size-adjust:100%;
}

a,
button,
input,
select,
textarea{
  touch-action:manipulation;
}

.topbar{
  background:var(--ux-dark);
  color:#fff;
  text-align:center;
  padding:9px 14px;
  font-size:14px;
  font-weight:600;
}

.topbar a{
  color:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:32px;
  text-decoration:none;
}

.topbar a:hover{
  text-decoration:underline;
}

.header{
  background:rgba(255,255,255,.96) !important;
  color:var(--ux-dark) !important;
  border-bottom:1px solid rgba(226,232,240,.9);
  box-shadow:0 8px 28px rgba(15,23,42,.08) !important;
  backdrop-filter:saturate(150%) blur(10px);
}

.nav{
  align-items:center;
}

.logo{
  color:var(--ux-primary) !important;
  letter-spacing:0;
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
}

.logo img{
  border-radius:8px;
  vertical-align:middle;
  flex:0 0 auto;
}

.nav a,
.nav-links a{
  color:var(--ux-dark) !important;
  font-size:15px;
  line-height:1.2;
  min-height:44px;
  display:inline-flex;
  align-items:center;
}

.nav a:hover,
.nav-links a:hover{
  color:var(--ux-primary) !important;
}

.hero,
.page-hero{
  position:relative !important;
  overflow:hidden;
  background-color:var(--ux-dark) !important;
  background-image:
    linear-gradient(110deg,rgba(15,23,42,.88),rgba(11,110,253,.62)),
    url("https://images.unsplash.com/photo-1621905252507-b35492cc74b4?q=80&w=1600&auto=format&fit=crop") !important;
  background-position:center !important;
  background-size:cover !important;
  color:#fff !important;
}

.hero{
  min-height:560px;
}

.hero-overlay{
  z-index:0 !important;
}

.hero-content,
.hero-grid,
.page-hero .container{
  position:relative !important;
  z-index:2 !important;
}

.hero h1,
.page-hero h1{
  letter-spacing:0;
  max-width:920px;
}

.hero p,
.page-hero p{
  color:rgba(255,255,255,.92) !important;
}

.trust-badges span,
.badges span{
  background:rgba(255,255,255,.14) !important;
  border:1px solid rgba(255,255,255,.24) !important;
  color:#fff !important;
  border-radius:999px !important;
}

.trust-strip{
  background:linear-gradient(90deg,var(--ux-primary),var(--ux-accent)) !important;
}

.breadcrumbs{
  background:#fff;
  border-bottom:1px solid var(--ux-border);
  font-size:14px;
}

.breadcrumbs .container{
  display:flex;
  align-items:center;
  gap:9px;
  padding-top:10px;
  padding-bottom:10px;
  color:var(--ux-muted);
}

.breadcrumbs a{
  color:var(--ux-primary);
  min-height:32px;
  display:inline-flex;
  align-items:center;
  text-decoration:none;
}

.breadcrumbs a:hover{
  text-decoration:underline;
}

.breadcrumbs [aria-current="page"]{
  color:var(--ux-dark);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.service-card,
.price-card,
.review-card,
.content-card,
.contact-page-card,
.box,
.card,
.contact-info{
  border:1px solid var(--ux-border) !important;
  border-radius:12px !important;
  box-shadow:var(--ux-shadow) !important;
}

.service-card,
.price-card,
.review-card,
.box{
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.service-card:hover,
.price-card:hover,
.review-card:hover,
.box:hover{
  transform:translateY(-3px);
  border-color:rgba(11,110,253,.28) !important;
}

.section-title,
.section h2,
.content-card h2,
.contact-page-card h2{
  color:var(--ux-dark) !important;
}

.section-sub,
.review-meta{
  color:var(--ux-muted) !important;
}

.btn,
button{
  border-radius:8px !important;
  box-shadow:0 8px 18px rgba(11,110,253,.16);
  min-height:44px;
}

.btn:hover,
button:hover{
  transform:translateY(-1px);
}

input,
select,
textarea,
.input,
.contact-form input,
.contact-form select,
.contact-form textarea{
  border:1px solid var(--ux-border) !important;
  border-radius:8px !important;
  outline:none;
  min-height:44px;
}

input:focus,
select:focus,
textarea:focus,
.input:focus{
  border-color:var(--ux-primary) !important;
  box-shadow:0 0 0 3px rgba(11,110,253,.12);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible{
  outline:3px solid rgba(11,110,253,.35);
  outline-offset:3px;
}

.map iframe{
  min-height:320px;
}

.footer{
  background:linear-gradient(180deg,#0f172a,#020617) !important;
}

.footer-links{
  gap:14px 18px !important;
  align-items:center;
}

.footer-links a{
  opacity:.92;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:8px 10px;
  border-radius:8px;
  line-height:1.25;
}

.footer-links a:hover{
  opacity:1;
  background:rgba(255,255,255,.08);
  text-decoration:none !important;
}

.career-form-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:16px;
}

.career-form-grid label{
  display:flex;
  flex-direction:column;
  gap:7px;
  font-weight:600;
  color:var(--ux-dark);
}

.career-form-grid label input,
.career-form-grid label select,
.career-form-grid label textarea{
  font-weight:400;
}

.career-form-grid .full-width{
  grid-column:1 / -1;
}

.form-help{
  color:var(--ux-muted);
  font-size:14px;
  margin-top:-6px;
}

.checkbox-row{
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:12px;
  background:#fff;
  border:1px solid var(--ux-border);
  border-radius:8px;
}

.checkbox-row input{
  min-height:auto;
  margin-top:4px;
}

@media(max-width:900px){
  .hero{
    min-height:auto;
  }

  .nav a{
    display:inline-block;
    margin:8px 10px 0 0;
  }

  .footer-links{
    gap:10px !important;
  }

  .footer-links a{
    flex:1 1 42%;
  }

  .career-form-grid{
    grid-template-columns:1fr;
  }
}
