.mobile-menu-panel[hidden]{display:none!important}
.mobile-menu-panel{position:fixed;inset:0;z-index:80}
.mobile-menu-backdrop{position:absolute;inset:0;background:rgba(20,24,40,.45)}
.mobile-menu-sheet{position:absolute;top:0;right:0;bottom:0;width:min(20rem,92vw);background:#fff;color:#1a2430;border-left:4px solid #c6233a;padding:1rem 1rem 1.5rem;overflow:auto;box-shadow:0 0 24px rgba(0,0,0,.18)}
.mobile-menu-close{min-height:44px;min-width:44px;margin:0 0 1rem auto;display:block;font:inherit;font-weight:700;color:#2c2f89;background:#fff;border:2px solid #2c2f89;border-radius:.5rem;padding:.35rem .75rem;cursor:pointer}
.mobile-menu-sheet nav ul{list-style:none;margin:0;padding:0}
.mobile-menu-sheet nav a{display:flex;align-items:center;min-height:44px;padding:.35rem 0;color:#1a2430;text-decoration:none;font-weight:600;border-bottom:1px solid #e4e7f2}
.mobile-menu-actions{display:grid;gap:.5rem;margin-top:1.25rem}
.mobile-menu-actions .call-link,.mobile-menu-actions .quote-link{justify-content:center}
@media (min-width:980px){.mobile-menu-panel{display:none!important}}
body.menu-open{overflow:hidden}
@media (max-width:979px){.menu-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid #2c2f89;border-radius:.5rem;font-family:inherit;font-size:.875rem;font-weight:500;line-height:1.25rem;padding:0 .625rem;cursor:pointer;flex-shrink:0;align-self:center;height:44px}}
.crumbs{padding-top:1rem;font-size:.95rem}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.25rem .5rem}
.crumbs li+li:before{content:"/";margin-right:.5rem;color:#6b7280}
.crumbs a{color:var(--sea)}
.crumbs [aria-current]{color:#3e4a46}
.crumbs+.page-head{padding-top:.75rem}
.chip-list{list-style:none;margin:0 0 1rem;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}
.chip-list li{background:#eef0fa;border:1px solid var(--line);border-radius:999px;padding:.25rem .8rem;margin:0;font-size:1rem}
.prose-shop .chip-list{padding-left:0}
.faq-list{border-top:1px solid var(--line);margin:0 0 1rem}
.faq-item{border-bottom:1px solid var(--line)}
.faq-item summary{cursor:pointer;font-weight:700;padding:.75rem 0;min-height:44px;color:var(--ink)}
.faq-item p{margin:0 0 .9rem}
.link-list{padding-left:1.2rem}
.related-head{margin:1.8rem 0 .75rem;font-size:1.6rem}
.call-panel .panel-quote{color:#fff;background:#2c2f89;border-color:#2c2f89}
.call-panel .panel-reviews a{font-weight:700}
.owner-card{display:grid;gap:1.25rem;align-items:start;background:var(--card);border:1px solid var(--line);border-top:4px solid #2c2f89;padding:1rem;margin:1rem 0 1.5rem}
.owner-photo{margin:0;max-width:420px}
.owner-photo img{width:100%;height:auto;display:block;border-radius:6px}
.owner-photo figcaption{font-size:.95rem;color:#3e4a46;padding-top:.4rem}
.owner-card h2{margin:0 0 .5rem}
.trust-list{list-style:none;margin:0 0 1rem;padding:0;display:grid;gap:.4rem}
.trust-list li{position:relative;padding-left:1.6rem}
.trust-list li:before{content:"";position:absolute;left:0;top:.45em;width:.85rem;height:.85rem;border-radius:50%;background:#c6233a;box-shadow:inset 0 0 0 3px #fff,0 0 0 2px #c6233a}
.review-actions{display:flex;flex-wrap:wrap;gap:.6rem}
.review-actions a{text-decoration:none}
.optional{font-weight:400;color:#3e4a46}
.preview-only{font-size:1rem}
.photo-grid{margin-bottom:1rem}
@media (min-width:720px){.owner-card{grid-template-columns:minmax(0,420px) minmax(0,1.1fr);padding:1.25rem}.photo-grid.three{grid-template-columns:1fr 1fr 1fr}}
@media (max-width:719px){.pair-grid{grid-template-columns:1fr}.path-grid,.service-index{grid-template-columns:1fr}.path-grid.paths-3{grid-template-columns:1fr}}
article>h2,.owner-card h2{font-size:1.6rem;margin:1.8rem 0 .75rem}
.owner-card h2{margin-top:0}


/* v10e: live photo homepage hero (Mike's storefront + van). Overrides site.css hero rules. */
.hero-photo-live {
  --hero-pos: 42% 58%;
  position: relative;
  margin: 0;
  background: #1a2228;
  overflow: hidden;
  aspect-ratio: 16 / 10;
  text-align: center;
}
.hero-photo-live > .hero-live-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  margin: 0;
  object-fit: cover;
  object-position: var(--hero-pos);
  background: #1a2228;
  display: block;
}
.hero-scrim {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(8, 12, 16, 0.45) 0%, rgba(8, 12, 16, 0.08) 32%, rgba(8, 12, 16, 0.12) 55%, rgba(8, 12, 16, 0.72) 100%);
}
.hero-brand {
  position: absolute;
  z-index: 3;
  top: 0.55rem;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.2rem;
  width: auto;
  max-width: 90%;
  pointer-events: none;
}
.hero-photo-live img.hero-logo,
.hero-logo {
  position: relative !important;
  inset: auto !important;
  width: 2.75rem !important;
  max-width: 44px !important;
  height: auto !important;
  max-height: none !important;
  margin: 0 auto !important;
  object-fit: contain !important;
  object-position: center !important;
  background: transparent !important;
  filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.65));
}
.hero-tagline {
  position: absolute;
  z-index: 3;
  left: 50%;
  bottom: 3.6rem;
  transform: translateX(-50%);
  margin: 0;
  width: min(94%, 36rem);
  color: #fff;
  font-family: var(--font-fraunces), Georgia, serif;
  font-weight: 700;
  font-size: clamp(1.25rem, 3.6vw, 2.15rem);
  line-height: 1.15;
  letter-spacing: 0.01em;
  text-align: center;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.85), 0 1px 2px rgba(0, 0, 0, 0.95);
  pointer-events: none;
}
.hero-labels {
  position: absolute;
  z-index: 3;
  left: 0;
  right: 0;
  bottom: 0.75rem;
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0 1rem;
  pointer-events: none;
}
.hero-label {
  pointer-events: auto;
  min-height: 44px;
  min-width: 7.5rem;
  padding: 0.55rem 1rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: 800;
  font-size: clamp(1.05rem, 2.6vw, 1.35rem);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-decoration: none;
  background: rgba(12, 16, 28, 0.62);
  border: 2px solid rgba(255, 255, 255, 0.9);
  border-radius: 2px;
  backdrop-filter: blur(2px);
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.7);
}
.hero-label:hover,
.hero-label:focus-visible {
  background: rgba(255, 255, 255, 0.94);
  color: #1e2158;
  outline: 3px solid #c6233a;
  outline-offset: 2px;
  text-shadow: none;
}
.hero-photo-live .hero-hotspot { z-index: 2; }
@media (max-width: 430px) {
  .hero-photo-live { --hero-pos: 40% 55%; aspect-ratio: 4 / 5; }
  .hero-photo-live img.hero-logo { width: 2.25rem !important; max-width: 36px !important; }
  .hero-tagline { bottom: 3.35rem; font-size: 1.15rem; width: 94%; }
  .hero-labels { bottom: 0.55rem; padding: 0 0.55rem; }
  .hero-label { min-width: 0; flex: 1; font-size: 0.95rem; }
}
@media (min-width: 431px) and (max-width: 719px) {
  .hero-photo-live { --hero-pos: 41% 56%; aspect-ratio: 5 / 4; }
  .hero-photo-live img.hero-logo { width: 2.5rem !important; max-width: 40px !important; }
  .hero-tagline { bottom: 3.5rem; }
}
@media (min-width: 720px) and (max-width: 1279px) {
  .hero-photo-live { --hero-pos: 42% 58%; aspect-ratio: 16 / 10; }
  .hero-photo-live img.hero-logo { width: 3rem !important; max-width: 48px !important; }
}
@media (min-width: 1280px) {
  .hero-photo-live { --hero-pos: 43% 55%; aspect-ratio: 21 / 9; max-height: 34rem; }
  .hero-photo-live img.hero-logo { width: 3.25rem !important; max-width: 52px !important; }
  .hero-tagline { bottom: 3.8rem; }
}
.quote-call{margin:0 0 1rem;display:flex;flex-wrap:wrap;gap:.75rem}
.quote-button{font-size:1.15rem}
.quote-fallback{font-size:1rem;margin-top:.75rem}
.jobber-work-request{background:#fff}
