:root {
  --ink: var(--brand-light-text, #f4f0e8);
  --dark: var(--brand-dark-background, #071318);
  --panel: var(--brand-light-background, #f3efe5);
  --accent: var(--brand-accent, #27a8c5);
  --gold: var(--brand-secondary, #b89a62);
  font-family: var(--brand-body, Arial, sans-serif);
}
.brand img { display:block; max-width:min(180px,38vw); max-height:72px; object-fit:contain; }
.entry h1,.scene-copy h2,.lot-info h2,.media-copy h2,.lead-dialog h2 { font-family:var(--brand-heading,Georgia,serif); }
:focus-visible { outline:3px solid var(--brand-focus,#55d7f2); outline-offset:3px; }
.lot-dialog { background:var(--brand-light-background,#f3efe5); color:var(--brand-dark-text,#142126); }
.lot-info { background:var(--brand-dark-background,#071318); color:var(--brand-light-text,#f4f0e8); }
.runtime-layer.layer-fade { animation:brandFade .7s both; }
.runtime-layer.layer-rise { animation:brandRise .7s both; }
.runtime-layer.layer-scale { animation:brandScale .6s both; }
@keyframes brandFade { from { opacity:0 } }
@keyframes brandRise { from { opacity:0; transform:translateY(24px) } }
@keyframes brandScale { from { opacity:0; transform:scale(.94) } }
