/* Shared campaign photo cards — approved Meshy.ai treatment, October 27. */
body.site-design-standard main figure:not(.site-hero-media):has(img){
  margin:0!important;padding:0!important;display:flex!important;flex-direction:column!important;
  border:0!important;box-shadow:none!important;outline:0!important;border-radius:12px!important;overflow:hidden!important;
  background:#fff!important;color:#181818!important;box-sizing:border-box;min-width:0;
}
body.site-design-standard main figure:not(.site-hero-media):has(img)>:is(a,button){
  display:flex!important;align-items:center!important;justify-content:center!important;
  width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;
  aspect-ratio:3/2!important;padding:0!important;margin:0!important;border:0!important;
  border-radius:0!important;overflow:hidden!important;background:#fff!important;box-sizing:border-box;
}
body.site-design-standard main figure:not(.site-hero-media) img{
  display:block!important;width:100%!important;height:100%!important;max-width:100%!important;
  min-height:0!important;max-height:none!important;aspect-ratio:auto!important;
  object-fit:contain!important;object-position:center!important;margin:0!important;
  border:0!important;border-radius:0!important;transform:none!important;background:#fff!important;
}
body.site-design-standard main figure:not(.site-hero-media)>figcaption{
  display:block!important;position:static!important;flex:1 0 auto!important;
  padding:16px 18px!important;margin:0!important;min-height:0!important;
  background:#fff!important;color:#181818!important;font-size:14px!important;
  line-height:1.5!important;text-align:left!important;box-sizing:border-box;overflow-wrap:break-word;
}
body.site-design-standard main :is(.audit-photo-grid,.gallery-card-grid,.gloss-black-photo-grid,.detroit-voter-grid,.approved-photo-grid,.cleaned-oct25-grid,.arizona-campaign-grid,.meshy-campaign-grid,.miami-photo-grid,.boost-atlanta-grid){
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:24px!important;align-items:stretch!important;
}
@media(max-width:700px){
  body.site-design-standard main :is(.audit-photo-grid,.gallery-card-grid,.gloss-black-photo-grid,.detroit-voter-grid,.approved-photo-grid,.cleaned-oct25-grid,.arizona-campaign-grid,.meshy-campaign-grid,.miami-photo-grid,.boost-atlanta-grid){grid-template-columns:1fr!important;gap:24px!important}
}

/* No dark framing or letterboxing around campaign photography. */
body.site-design-standard main figure:not(.site-hero-media):has(img)>:is(a,button)::after{display:none!important}
body.site-design-standard main :is(.article-card,.campaign-example-card,.featured-story):has(img){border:0!important;box-shadow:none!important}
body.site-design-standard main :is(.article-card,.campaign-example-card,.featured-story) img{background:#fff!important;border:0!important}
@media(max-width:700px){
 body.site-design-standard main figure:not(.site-hero-media):has(img)>:is(a,button){aspect-ratio:3/2!important}
 body.site-design-standard main figure:not(.site-hero-media) img{height:100%!important;aspect-ratio:auto!important}
}

/* Truck-photo containers outside the gallery share the same clean media surface. */
body.site-design-standard main :is(.takeover-photo,.lf-card-image,.campaign-example-image-pair){background:#fff!important;border:0!important;box-shadow:none!important;padding:0!important;overflow:hidden}
body.site-design-standard main :is(.takeover-photo,.lf-card-image,.campaign-example-image-pair) img{display:block!important;background:#fff!important;border:0!important;box-shadow:none!important;object-fit:contain!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important}

/* Responsive layout contract for every page family. */
body.site-design-standard main :is(.takeover-visual-band,.takeover-photo){height:auto!important;min-height:0!important}
body.site-design-standard main :is(.article-card,.campaign-example-card,.featured-story){min-width:0;overflow:hidden}
body.site-design-standard main .campaign-example-image-pair{gap:16px!important;align-items:start}
body.site-design-standard main .campaign-example-image-pair img{aspect-ratio:auto!important;height:auto!important;align-self:start}
body.site-design-standard main .gallery-card-grid,body.site-design-standard main .audit-photo-grid{margin-top:24px}
body.site-design-standard main :is(.wrap,.section-head,.article-card-body,.campaign-example-copy){min-width:0}
body.site-design-standard main :is(h1,h2,h3,p,li,a){overflow-wrap:break-word}
body.site-design-standard main svg{max-width:100%;height:auto}
@media(max-width:760px){
 body.site-design-standard main :is(.cards,.service-grid,.quote-cards,.local-audience-grid,.local-columns,.location-grid,.takeover-use-grid,.takeover-control-grid,.takeover-process-grid,.campaign-examples-grid,.campaign-price-grid,.explainer-grid,.article-grid,.gov-use-grid,.gov-example-grid,.market-grid,.beyond-grid,.offer-grid,.elite-benefit-grid,.elite-three,.proof-grid,.campaign-example-image-pair){grid-template-columns:minmax(0,1fr)!important;gap:24px!important}
 body.site-design-standard main [data-aligned-card]{min-height:0!important;height:auto!important}
 body.site-design-standard main [data-aligned-card] :is(h2,h3,p,figcaption){min-height:0!important}
 body.site-design-standard main :is(.article-card,.campaign-example-card)>img{height:auto!important;aspect-ratio:auto!important;object-fit:contain!important;background:#fff!important}
 body.site-design-standard main :is(.takeover-control-grid,.takeover-use-grid,.takeover-process-grid)>article{min-height:0!important;height:auto!important;padding:24px!important}
 body.site-design-standard main .takeover-control-grid h3{margin-top:16px!important}
 body.site-design-standard main>.site-content-section{padding-top:32px!important;padding-bottom:32px!important}
 body.site-design-standard main .section-head{gap:12px;padding-bottom:16px;margin-bottom:24px}
}
body.site-design-standard main .coverage-map svg{min-width:0!important;width:100%!important;height:auto!important}
body.site-design-standard main .coverage-map{overflow:hidden!important}
/* Standalone article photos retain breathing room; grid cards keep aligned edges. */
body.site-design-standard main .campaign-example-photo{width:100%!important;max-width:1200px!important;margin:24px auto!important}
body.site-design-standard main>.campaign-example-photo{width:calc(100% - 36px)!important}
body.site-design-standard main :is(.article-body,.article-shell)>figure{margin:24px 0!important}
body.site-design-standard main :is(.audit-photo-grid,.gallery-card-grid,.gov-example-grid)>figure{width:100%!important;max-width:none!important;margin:0!important}

/* One photo-frame size for every campaign card, including stacked phone cards. */
body.site-design-standard main figure:not(.site-hero-media):has(img){aspect-ratio:auto!important}
body.site-design-standard main figure:not(.site-hero-media):has(img)>:is(a,button){flex:0 0 auto!important;aspect-ratio:3/2!important}
body.site-design-standard main figure:not(.site-hero-media)>figcaption{min-height:74px!important;flex:1 0 auto!important}
body.site-design-standard main :is(.article-card,.campaign-example-card)>img,
body.site-design-standard main .campaign-example-image-pair img{width:100%!important;height:auto!important;aspect-ratio:3/2!important;object-fit:contain!important;background:#fff!important}

body.site-design-standard main figure:not(.site-hero-media) .photo-card-media .photo-card-image{object-fit:contain!important;object-position:center!important;width:100%!important;height:100%!important;aspect-ratio:auto!important;background:#fff!important}

/* District labels retain their own readable surface on every section theme. */
body.site-design-standard main .route-band>span{
  background:#fff!important;color:#161616!important;border:1px solid #c9c9c5!important;
  border-radius:6px;min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere;
}
body.site-design-standard .menu{min-height:44px;min-width:64px;box-sizing:border-box}
/* Links inside call-to-action panels must not inherit incompatible parent ink. */
body.site-design-standard main .article-cta a:not(.btn){background:transparent!important;color:#161616!important;text-decoration:underline;text-underline-offset:3px}
body.site-design-standard main .article-cta .btn{background:#080808!important;color:#fff!important;border-color:#080808!important}
body.site-design-standard main :is(.article-cta,.campaign-cta) .btn.alt{background:#fff!important;color:#161616!important;border-color:#c9c9c5!important}
body.site-design-standard main :is(.campaign-cta,.compliance-note,.bike-profile){--surface-ink:#fff;--surface-muted:#d6d6d6;color:#fff!important}
body.site-design-standard main :is(.campaign-cta,.compliance-note) .eyebrow{color:#ff9a64!important}
body.site-design-standard main [data-surface="orange"]>.wrap>p a:not(.btn){color:#080808!important;text-decoration:underline;text-underline-offset:3px}
body.site-design-standard main [data-surface="orange"] .btn.alt{background:#fff!important;color:#080808!important;border-color:#fff!important}
body.site-design-standard main .bike-hubs button{min-height:44px;padding:10px 0;line-height:1.5;color:#fff!important}
@media(max-width:760px){
 body.site-design-standard main .campaign-jump{flex-wrap:wrap!important;overflow:visible!important;gap:12px}
 body.site-design-standard main .campaign-jump a{white-space:normal;max-width:100%;min-height:44px;display:inline-flex;align-items:center;box-sizing:border-box}
}
