/* Structural rules only. Brand colors and typography live in brand.css. */
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; }
a { color:inherit; text-decoration:none; }
button,input,select,textarea { font:inherit; }
button { color:inherit; cursor:pointer; }
img,video { max-width:100%; }
h1,h2,h3,p,figure { margin-top:0; }
h1,h2,h3 { margin-bottom:0; }
.panel { display:none; }
.panel.active { display:block; }
.no-badges,.ai-mark,.status-dot { display:none; }
.contact-dialog { width:min(600px,calc(100% - 32px)); }
.contact-dialog form { display:grid; gap:18px; }
.contact-dialog label { display:grid; gap:8px; }
.contact-dialog input,.contact-dialog select { width:100%; min-width:0; }
.dialog-close { position:absolute; right:12px; top:12px; }
.contact-dialog .section-index { padding-right:36px; }
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation:none!important; transition:none!important; }
}
