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

body{
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  background:#020617;
  color:#e5e7eb;
  line-height:1.6;
}

a{ color:#60a5fa; text-decoration:none; }
a:hover{ text-decoration:underline; }

.container{
  max-width:1120px;
  margin:0 auto;
  padding:0 1.25rem;
}

header{
  border-bottom:1px solid #1f2937;
  background:#020617;
  position:sticky;
  top:0;
  z-index:10;
}

.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.5rem;
  padding:0.8rem 0;
  flex-wrap:wrap;
}

.logo{
  display:flex;
  align-items:center;
  text-decoration:none;
}

/* Hard fix: logo should never render huge on any page */
.logo-img,
header .logo img{
  max-height:56px !important;
  height:auto !important;
  width:auto !important;
  max-width:100%;
  display:block;
}
@media (max-width:600px){
  .logo-img,
  header .logo img{ max-height:46px !important; }
}

.logo-main{
  font-size:1.1rem;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:#f9fafb;
  font-weight:700;
}
.logo-sub{ font-size:0.8rem; color:#a5b4fc; }

nav{
  display:flex;
  flex-wrap:wrap;
  gap:0.75rem;
  font-size:0.9rem;
}

nav a, nav summary{
  padding:0.2rem 0.5rem;
  border-radius:999px;
  color:#e5e7eb;
}

nav a:hover, nav summary:hover{ background:#0f172a; }

/* Dropdown (Equipment) */
nav details.nav-dropdown{ position:relative; margin:0; padding:0; }
nav details.nav-dropdown > summary{
  list-style:none;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
}
nav details.nav-dropdown > summary::-webkit-details-marker{ display:none; }
nav details.nav-dropdown > summary::after{
  content:"\25BE"; /* small down-pointing triangle */
  font-size:0.75rem;
  margin-left:0.35rem;
  opacity:0.8;
  display:inline-block;
  transition:transform 0.2s ease;
}
nav details.nav-dropdown[open] > summary::after{ transform:rotate(180deg); }

.nav-dropdown-menu{
  position:absolute;
  top:calc(100% + 0.45rem);
  left:0;
  min-width:220px;
  background:#050c1f;
  border:1px solid #1f2937;
  border-radius:14px;
  padding:0.35rem;
  display:none;
  box-shadow:0 12px 30px rgba(0,0,0,0.35);
  z-index:50;
}
nav details.nav-dropdown[open] .nav-dropdown-menu,
nav details.nav-dropdown:hover .nav-dropdown-menu{ display:block; }

.nav-dropdown-menu a{
  display:block;
  padding:0.45rem 0.65rem;
  border-radius:12px;
  white-space:nowrap;
}

.btn-nav{ border:1px solid #60a5fa; }

.header-cta{ text-align:right; min-width:165px; }
.header-cta-label{
  font-size:0.75rem;
  text-transform:uppercase;
  letter-spacing:0.12em;
  color:#9ca3af;
}
.header-cta-phone{
  font-size:1.05rem;
  font-weight:700;
  color:#60a5fa;
}

.section{ padding:2.4rem 0; background:#020617; }
.section h2{ font-size:1.5rem; margin:0 0 0.9rem; color:#e5e7eb; }
.section p{ color:#cbd5f5; }

.lead{ font-size:1rem; max-width:46rem; }

.list-check{ list-style:none; padding:0; margin:0; }
.list-check li{ margin-bottom:0.25rem; }
.list-check li::before{
  content:"\2714"; /* heavy check mark */
  margin-right:0.35rem;
  color:#4ade80;
}

footer{
  background:#020617;
  border-top:1px solid #1f2937;
  margin-top:3rem;
}

.footer-inner{
  padding:1.5rem 0 1rem;
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:1.5rem;
  font-size:0.88rem;
  color:#cbd5f5;
}
.footer-inner h3{
  margin-top:0;
  font-size:0.95rem;
  color:#e5e7eb;
}

.footer-bottom{
  border-top:1px solid #111827;
  padding:0.8rem 0 1.1rem;
  font-size:0.8rem;
  color:#9ca3af;
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:0.75rem;
}

@media (max-width:900px){
  .footer-inner{ grid-template-columns:minmax(0,1fr); }
  .header-cta{ text-align:left; }
}

/* Components */
.btn, .btn-primary, button, input[type="submit"]{
  display:inline-block;
  padding:0.75rem 1rem;
  border-radius:999px;
  border:1px solid #38bdf8;
  background:transparent;
  color:#e5e7eb;
  font-weight:700;
  cursor:pointer;
}
.btn:hover, .btn-primary:hover, button:hover, input[type="submit"]:hover{
  background:#0f172a;
  text-decoration:none;
}

.grid-3{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:1.25rem;
}
@media (max-width:900px){
  .grid-3{ grid-template-columns:minmax(0,1fr); }
}

.card{
  border:1px solid #1f2937;
  background:#050c1f;
  border-radius:18px;
  padding:1.1rem 1.1rem 1rem;
  box-shadow:0 8px 24px rgba(0,0,0,0.25);
}
.card h3{ margin-top:0.35rem; margin-bottom:0.5rem; color:#f9fafb; }
.card p{ color:#cbd5f5; }

.badge{
  display:inline-block;
  font-size:0.72rem;
  letter-spacing:0.08em;
  text-transform:uppercase;
  padding:0.22rem 0.55rem;
  border-radius:999px;
  border:1px solid #1f2937;
  background:#0b1227;
  color:#a5b4fc;
  font-weight:700;
}

.table-simple{
  width:100%;
  border-collapse:collapse;
  border:1px solid #1f2937;
  border-radius:14px;
  overflow:hidden;
  background:#050c1f;
}
.table-simple th, .table-simple td{
  padding:0.85rem 0.85rem;
  border-bottom:1px solid #111827;
  vertical-align:top;
}
.table-simple thead th{
  text-align:left;
  font-size:0.85rem;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:#e5e7eb;
  background:#0b1227;
}
.table-simple tbody td{ color:#cbd5f5; }
.table-simple tbody tr:last-child td{ border-bottom:none; }

input, textarea, select{
  width:100%;
  padding:0.75rem 0.85rem;
  border-radius:12px;
  border:1px solid #1f2937;
  background:#050c1f;
  color:#e5e7eb;
  outline:none;
}
input:focus, textarea:focus, select:focus{ border-color:#38bdf8; }

.form-row{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:1rem;
}
@media (max-width:700px){
  .form-row{ grid-template-columns:minmax(0,1fr); }
}

/* Brand color accents for tagline (unified - removed red) */
.logo-sub .water, .logo-tagline .water,
.logo-sub .mold, .logo-tagline .mold,
.logo-sub .fire, .logo-tagline .fire{ color:#60a5fa; }
/* Home page logo size (clean replacement for inline style) */
header .logo-img.logo-img--home{
  max-height: 130px;
  height: auto;
  width: auto;
}