[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%} }
/* record pages with a gallery (4 thumbnails): 1fr tracks take the thumbnail image's intrinsic width as minimum and pushed the page 13 px (375) / 67 px (320) wide */
.ew-td-thumbs{grid-template-columns:repeat(4,minmax(0,1fr))}
.ew-td-thumb{min-width:0}
@media (max-width:960px){ .ew-td{grid-template-columns:minmax(0,1fr)} .ew-td>*{min-width:0} .ew-amen li{overflow-wrap:anywhere} }
.ew-iq-row{grid-template-columns:repeat(2,minmax(0,1fr))}
.ew-iq input{min-width:0;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}}
