.brand {
  gap: 0;
}

.brand img {
  width: 190px;
  height: auto;
  object-fit: contain;
  flex: 0 0 auto;
  display: block;
  background: transparent !important;
}

.brand span {
  display: none;
}

/* Desktop/tablet navigation */
.menu-toggle { display: none; }
.nav nav { display: flex; }
.nav > .outline-btn { display: inline-flex; }

/* Phone navigation only */
@media (max-width: 767px) {
  body { overflow-x: hidden; }

  header .nav {
    min-height: 76px;
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 46px;
    align-items: center;
    gap: 10px 12px;
    padding: 10px 0;
  }

  .nav .brand {
    min-width: 0;
    margin-right: 0;
  }

  .nav .brand img {
    width: 150px;
    height: auto;
    background: transparent !important;
  }

  .menu-toggle {
    grid-column: 2;
    grid-row: 1;
    width: 46px;
    height: 46px;
    padding: 0;
    display: grid;
    place-items: center;
    border: 1px solid var(--green);
    border-radius: 12px;
    background: transparent;
    color: var(--green);
    cursor: pointer;
    font-size: 27px;
    line-height: 1;
  }

  .nav nav {
    grid-column: 1 / -1;
    grid-row: 2;
    width: 100%;
    padding: 6px 0 0;
    display: none;
    flex-direction: column;
    gap: 0;
  }

  .nav.menu-open nav { display: flex; }

  .nav nav a {
    min-height: 48px;
    padding: 14px 2px;
    display: flex;
    align-items: center;
    border-top: 1px solid var(--line);
    font-size: 16px;
  }

  .nav > .outline-btn {
    grid-column: 1 / -1;
    grid-row: 3;
    width: 100%;
    min-height: 50px;
    padding: 0 18px;
    display: none;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--copper), #65eef7);
    color: var(--green);
    border-color: transparent;
  }

  .nav.menu-open > .outline-btn { display: flex; }

  .hero { min-height: 580px; }
  .hero h1 { font-size: clamp(42px, 14vw, 64px); line-height: 1; }
  .hero-copy { padding: 58px 0; }
  .section { padding-top: 62px; padding-bottom: 62px; }
  .heading { margin-bottom: 34px; }
  .heading h2,.center h2,.reviews h2,.about h2,.cta h2 { font-size: clamp(34px, 11vw, 48px); }
  .service-grid article { min-height: 0; padding: 32px 25px; }
  .service-grid p { min-height: 0; }
  .steps article { padding: 28px 24px; }
  .review-grid { gap: 34px; }
  .rating { min-height: 220px; }
  .rating b { font-size: 76px; }
  .about-image { height: min(128vw, 590px); }
  .about-image img { object-position: 58% center; }
  .cta { padding: 62px 0; }
  .cta .shell { gap: 30px; }
  footer { padding-top: 55px; }
  .footer-grid { gap: 38px; }
  .quote-title h1 { font-size: clamp(40px, 13vw, 58px); }
  .quote-title > div { gap: 12px 18px; }
  .form-actions { flex-wrap: wrap; }
  .form-actions button { flex: 1 1 130px; }
  .area-hero h1 { font-size: clamp(40px, 13vw, 58px); }
  .area-hero > div > p:not(.eyebrow) { font-size: 16px; }
  .city-layout { gap: 40px; }
  .city-aside { padding: 24px 20px; }
  .neighbourhoods { padding: 62px 0; }
}

@media (max-width: 380px) {
  .shell { width: calc(100% - 22px); }
  .brand img { width: 132px; background: transparent !important; }
  .hero h1 { font-size: 40px; }
  .choices.condition { grid-template-columns: repeat(3,1fr); }
  .result-footer { padding: 15px 12px; gap: 10px; }
}

.breadcrumbs {
  margin-bottom: 24px;
  color: #ffffffb0;
  font-size: 13px;
}

.breadcrumbs a { color: white; }
