[hidden]{display:none!important}

/* demo-reconcile-0929: narrow-viewport overflow guards. The approved brand logos are wider than the prototype logos
   (ratio ~8:1), so the header logo is capped to the space left next to the burger button (max-width in header.html);
   long unbreakable headline words and the two-column proof grid must not create horizontal scroll at 320-375 px.
   No rule below changes the layout at >= 390 px. */
.ew-h1,.ew-h2{overflow-wrap:break-word}
@media (max-width:340px){
  .ew-proof{grid-template-columns:1fr}
  .ew-proof-item,.ew-proof-item:nth-child(odd){padding-left:0;padding-right:0}
  .ew-proof-item:nth-child(2){border-top:1px solid var(--rule)}
}
@media (max-width:380px){ .ew-cardots{flex-wrap:wrap;max-width:100%} }

/* Logo sizing = the approved demo entries' own rules (owner decision 2026-09-30: the approved demos have the correct logo sizes).
   Header: max 230x45 (180x38 up to 600 px); footer: max min(100%,320px) x 60; aspect ratio, asset bytes and object-fit:contain untouched. */
html body img[data-brand-logo]{width:auto!important;height:auto!important;max-width:100%;object-fit:contain;max-height:60px}
html body header img[data-brand-logo="header"]{max-width:230px!important;max-height:45px!important;width:auto!important;height:auto!important}
html body footer img[data-brand-logo="footer"]{max-width:min(100%,320px)!important;max-height:60px!important}
@media(max-width:600px){html body header img[data-brand-logo="header"]{max-width:180px!important;max-height:38px!important}}
