/* Williams Plumbing Header — all selectors scoped to .wp-header */
.wp-header,
.wp-header * { box-sizing: border-box; }

.wp-header {
  --wp-navy: #102b46;
  --wp-blue: #2768b9;
  --wp-copper: #b7652b;
  --wp-line: #e6edf3;
  --wp-muted: #657a90;
  position: relative;
  z-index: 1000;
  width: 100%;
  background: rgba(255,255,255,.97);
  border-bottom: 1px solid var(--wp-line);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.wp-header__inner {
  width: min(1400px, calc(100% - 72px));
  min-height: 92px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 36px;
}

.wp-header__brand {
  display: inline-flex;
  align-items: center;
  gap: 13px;
  color: var(--wp-navy);
  text-decoration: none;
  flex: 0 0 auto;
}

.wp-header__mark {
  width: 54px;
  height: 54px;
  display: block;
  flex: 0 0 54px;
}
.wp-header__mark svg { display:block; width:100%; height:100%; }

.wp-header__wordmark { display:flex; flex-direction:column; line-height:1; }
.wp-header__wordmark strong {
  font-size: 17px;
  letter-spacing: .095em;
  font-weight: 850;
}
.wp-header__wordmark small {
  margin-top: 6px;
  color: var(--wp-blue);
  font-size: 8px;
  line-height: 1;
  letter-spacing: .19em;
  font-weight: 800;
}

.wp-header__right {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap: 32px;
  min-width:0;
}

.wp-header__nav { display:flex; align-items:center; gap: 31px; }
.wp-header__nav a {
  position:relative;
  padding: 12px 0;
  color: var(--wp-navy);
  text-decoration:none;
  font-size:13px;
  font-weight:700;
  letter-spacing:.015em;
}
.wp-header__nav a::after {
  content:"";
  position:absolute;
  left:0; right:100%; bottom:4px;
  height:2px;
  border-radius:999px;
  background:var(--wp-blue);
  transition:right .2s ease;
}
.wp-header__nav a:hover::after,
.wp-header__nav a:focus-visible::after { right:0; }

.wp-header__phone {
  min-height:44px;
  padding:0 4px 0 17px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--wp-blue);
  text-decoration:none;
  border-left:1px solid var(--wp-line);
  font-size:13px;
  font-weight:800;
  white-space:nowrap;
}
.wp-header__phone b { font-size:15px; font-weight:900; }

.wp-header__menu { display:none; border:0; background:transparent; padding:10px; cursor:pointer; }
.wp-header__menu span { display:block; width:24px; height:2px; margin:5px 0; background:var(--wp-navy); border-radius:3px; }

.wp-header__mobile { display:none; }

@media (max-width: 900px) {
  .wp-header__inner { width:min(100% - 36px, 1400px); min-height:78px; }
  .wp-header__nav { display:none; }
  .wp-header__phone { border-left:0; padding-left:0; }
  .wp-header__menu { display:block; }
  .wp-header__right { gap:12px; }

  .wp-header__mobile {
    width:min(100% - 36px, 1400px);
    margin:0 auto;
    padding: 8px 0 18px;
    display:flex;
    flex-direction:column;
  }
  .wp-header__mobile[hidden] { display:none; }
  .wp-header__mobile a {
    padding:14px 2px;
    border-top:1px solid var(--wp-line);
    color:var(--wp-navy);
    text-decoration:none;
    font-size:15px;
    font-weight:750;
  }
  .wp-header__mobile-phone { color:var(--wp-blue)!important; }
  .wp-header__mobile-phone span { float:right; }
}

@media (max-width: 560px) {
  .wp-header__inner { width:calc(100% - 24px); min-height:72px; gap:12px; }
  .wp-header__mark { width:46px; height:46px; flex-basis:46px; }
  .wp-header__wordmark strong { font-size:14px; }
  .wp-header__wordmark small { font-size:6.5px; margin-top:5px; }
  .wp-header__phone span { display:none; }
}
