/* Mobile / tablet overrides for inline-styled static pages */

/* ---------- Tablet: 2-up grids stay, wide grids collapse ---------- */
@media (max-width: 1180px) {
  [style*="margin-top: -58px"] { margin-top: 0 !important; }
  [style*="grid-column: span 2"] [style*="grid-template-columns: 1fr 1fr"] { grid-template-columns: minmax(0, 1fr) !important; }
}

@media (max-width: 1080px) {
  [style*="grid-template-columns: repeat(3"] { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
  [style*="padding: 104px 40px"] { padding: 80px 28px !important; }
  [style*="padding: 110px 40px"] { padding: 84px 28px !important; }
  [style*="padding: 96px 40px 96px 64px"] { padding: 72px 28px !important; }
}

/* ---------- Phone ---------- */
@media (max-width: 860px) {

  /* Everything becomes one column */
  [style*="grid-template-columns"] { grid-template-columns: minmax(0, 1fr) !important; }
  [style*="grid-column: span 2"] { grid-column: auto !important; }

  /* Header */
  header > div {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
    padding: 14px 18px !important;
  }
  header nav {
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 10px 20px !important;
  }
  header nav > a[href^="tel:"] {
    flex: 1 0 100% !important;
    text-align: center !important;
    padding: 14px 18px !important;
    font-size: 15px !important;
  }
  /* Tap-to-open services menu */
  .svc-wrap { position: static !important; }
  .svc-menu {
    left: 0 !important;
    right: 0 !important;
    top: 100% !important;
    min-width: 0 !important;
  }
  .svc-wrap.open .svc-menu { display: flex !important; }

  /* Section + card padding */
  [style*="padding: 104px 40px"] { padding: 56px 20px !important; }
  [style*="padding: 110px 40px"] { padding: 60px 20px !important; }
  [style*="padding: 120px 40px 150px"] { padding: 64px 20px 80px !important; }
  [style*="padding: 96px 40px 88px"] { padding: 54px 20px 48px !important; }
  [style*="padding: 96px 40px 96px 64px"] { padding: 48px 20px !important; }
  [style*="padding: 96px 40px"] { padding: 52px 20px !important; }
  [style*="padding: 72px 40px 72px"] { padding: 40px 20px 48px !important; }
  [style*="padding: 0 40px 104px"] { padding: 0 20px 56px !important; }
  [style*="padding: 56px 40px"] { padding: 40px 20px !important; }
  [style*="padding: 48px 44px"],
  [style*="padding: 44px 40px"],
  [style*="padding: 44px 44px 48px"],
  [style*="padding: 44px 38px"],
  [style*="padding: 42px 38px"],
  [style*="padding: 42px 36px"],
  [style*="padding: 40px 36px"],
  [style*="padding: 40px 34px"],
  [style*="padding: 38px"],
  [style*="padding: 36px 34px 34px"],
  [style*="padding: 36px 34px"],
  [style*="padding: 36px 32px"],
  [style*="padding: 36px"],
  [style*="padding: 30px 32px"],
  [style*="padding: 26px 30px"],
  [style*="padding: 48px 24px 20px"] { padding: 26px 20px !important; }
  [style*="padding: 0 60px 30px 0"] { padding: 0 0 26px !important; }
  [style*="padding: 18px 32px"] { padding: 16px 20px !important; }

  /* Type scale */
  [style*="font-size: 58px"] { font-size: 34px !important; }
  [style*="font-size: 56px"] { font-size: 33px !important; }
  [style*="font-size: 54px"] { font-size: 32px !important; }
  [style*="font-size: 52px"] { font-size: 31px !important; }
  [style*="font-size: 48px"] { font-size: 30px !important; }
  [style*="font-size: 46px"] { font-size: 29px !important; }
  [style*="font-size: 44px"] { font-size: 28px !important; }
  [style*="font-size: 42px"] { font-size: 27px !important; }
  [style*="font-size: 40px"] { font-size: 26px !important; }
  [style*="font-size: 38px"] { font-size: 25px !important; }
  [style*="font-size: 34px"] { font-size: 24px !important; }
  [style*="font-size: 32px"] { font-size: 24px !important; }
  [style*="font-size: 30px"] { font-size: 23px !important; }
  [style*="font-size: 28px"] { font-size: 22px !important; }
  [style*="font-size: 27px"] { font-size: 22px !important; }
  [style*="font-size: 26px"] { font-size: 21px !important; }
  [style*="font-size: 25px"] { font-size: 20px !important; }
  [style*="font-size: 24px"] { font-size: 20px !important; }
  [style*="font-size: 23px"] { font-size: 19px !important; }
  [style*="font-size: 22px"] { font-size: 19px !important; }
  h1, h2, h3 { text-wrap: pretty; }

  /* Headlines shouldn't keep desktop measure caps */
  [style*="max-width: 24ch"],
  [style*="max-width: 26ch"],
  [style*="max-width: 30ch"],
  [style*="max-width: 34ch"] { max-width: 100% !important; }

  /* Hero overlay: readable with text stacked over the photo */
  [style*="linear-gradient(95deg"] {
    background: linear-gradient(180deg, rgba(250,247,241,0.95) 0%, rgba(250,247,241,0.9) 55%, rgba(250,247,241,0.94) 100%) !important;
  }

  /* Sticky/oversized editorial images */
  [style*="position: sticky"][style*="top: 96px"] {
    position: relative !important;
    margin: 0 !important;
    aspect-ratio: auto !important;
    height: auto !important;
    display: block !important;
  }
  [style*="position: sticky"][style*="top: 96px"] > img {
    position: relative !important;
    inset: auto !important;
    display: block !important;
    width: 100% !important;
    height: 260px !important;
  }
  [style*="aspect-ratio: 4 / 5"] { aspect-ratio: 4 / 3 !important; }
  [style*="height: 320px"] { height: 220px !important; }
  [style*="margin-top: -58px"] { margin-top: 0 !important; }

  /* Tighter vertical rhythm inside stacks */
  [style*="gap: 64px"] { gap: 32px !important; }
  [style*="gap: 56px"] { gap: 30px !important; }
  [style*="gap: 48px"] { gap: 28px !important; }

  /* Footer */
  footer > div {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 16px !important;
  }

  /* Form + tap targets */
  input, textarea, select { font-size: 16px !important; width: 100% !important; }
  button[type="submit"], a[href^="tel:"] { min-height: 48px !important; }
  [style*="padding: 18px 34px"] { padding: 16px 24px !important; }
}

@media (max-width: 420px) {
  [style*="font-size: 58px"] { font-size: 30px !important; }
  [style*="font-size: 52px"] { font-size: 28px !important; }
  [style*="font-size: 46px"], [style*="font-size: 44px"], [style*="font-size: 42px"] { font-size: 25px !important; }
}

/* Anchor offsets clear the sticky (and stacked-mobile) header */
#top,#services,#areas,#about,#reviews,#faq,#contact,#quote { scroll-margin-top: 96px; }
@media (max-width: 860px) { #top,#services,#areas,#about,#reviews,#faq,#contact,#quote { scroll-margin-top: 120px; } }
