html,body{max-width:100%;overflow-x:hidden}
header,main,footer,section{max-width:100%}
.logo{display:flex;align-items:center;min-width:0}
.logo img{display:block;width:142px;height:64px;object-fit:contain}
.hero>*{min-width:0}
.hero-brand{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;max-width:560px;justify-self:center;background:rgba(255,228,74,.96);border-radius:22px;padding:28px;box-shadow:0 28px 70px rgba(31,20,20,.24);transform:none}
.hero-brand img{display:block;width:min(100%,440px);height:auto;max-height:460px;object-fit:contain}
.hero-brand>a{max-width:100%;margin-top:12px;color:var(--navy);font-weight:900;text-align:center;text-decoration:none;overflow-wrap:anywhere}
.hero .eyebrow{color:var(--accent)}
.eyebrow{color:var(--red)}
.button{box-shadow:0 4px 0 #c39100}
.nav-cta{background:var(--red);color:white;box-shadow:none}
footer .logo img{width:210px;height:auto}
.photo-slot{background:linear-gradient(145deg,#fff6ac,#ffd52f);border-color:#e1b700;color:var(--navy)}
.mobilebar a:first-child{background:var(--red)}
.breadcrumbs{display:flex;align-items:center;gap:9px;width:100%;margin:0;padding:12px max(6vw,24px);background:#f7f9fc;border-bottom:1px solid var(--line);font-size:.85rem;color:#53627d;overflow:hidden}
.breadcrumbs a{font-weight:800;color:var(--navy);text-decoration:none;white-space:nowrap}
.breadcrumbs span[aria-current="page"]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

@media(max-width:900px){
  header{width:100%;padding-inline:16px;gap:12px}
  .logo img{width:105px;height:54px}
  .hero{width:100%;padding:48px 22px 64px;gap:34px}
  .hero-brand{width:100%;max-width:620px;padding:20px;border-radius:18px}
  .hero-brand img{width:min(100%,390px)}
  .actions{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:12px;align-items:stretch}
  .actions .button,.actions .textlink{display:flex;align-items:center;justify-content:center;min-height:54px;text-align:center;padding:12px}
  .trust{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:10px}
  .trust span{display:flex;align-items:center;justify-content:center;min-height:46px;text-align:center;line-height:1.25}
  .trust span:last-child{grid-column:1/-1}
  .split,.section,.intro,.band,.map,.contact-grid,.estimate{width:100%;padding-inline:22px}
  .cards,.county-links,.ba,.gallery{width:100%;min-width:0}
  .cards>*,.county-links>*,.ba>*,.gallery>*{min-width:0}
  .estimate input,.estimate select,.estimate textarea{max-width:100%;min-width:0}
  .breadcrumbs{padding-inline:22px}
}

@media(max-width:520px){
  header{height:66px}
  .logo img{width:92px;height:50px}
  .menu{flex:0 0 auto;font-size:.82rem;padding:7px 10px}
  .hero{padding:36px 18px 54px;gap:28px}
  .hero h1{font-size:clamp(2.55rem,13vw,4rem);line-height:.94;overflow-wrap:anywhere}
  .lead{font-size:1rem}
  .actions{grid-template-columns:1fr}
  .actions .button,.actions .textlink{width:100%}
  .trust{grid-template-columns:1fr}
  .trust span,.trust span:last-child{grid-column:1;width:100%}
  .hero-brand{padding:16px 12px;border-radius:14px}
  .hero-brand img{width:100%;max-width:330px}
  .hero-brand>a{font-size:.95rem}
  .split,.section,.intro,.band,.map,.contact-grid,.estimate{padding-inline:18px}
  .ba{grid-template-columns:1fr}
  .legal{gap:12px}
  .mobilebar a{font-size:.9rem;padding:13px 8px}
  main .breadcrumbs{display:flex;position:static;inset:auto;margin:0;padding:10px 18px;flex-direction:row;align-items:center;gap:7px;width:100%;height:auto;box-shadow:none;overflow:hidden;white-space:nowrap}
  main .breadcrumbs a,main .breadcrumbs span{display:inline;min-width:0;margin:0;padding:0}
  main .breadcrumbs span[aria-current="page"]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}
