/* Website typography and brand UI. Text labels are not a reproduction of the
   registered figurative mark. The exact EUIPO artwork remains a separate PNG. */
:root{
  --font-body:'Saira',system-ui,sans-serif;
  --font-display:'Saira Condensed',sans-serif;
  --font-mono:'JetBrains Mono',monospace;
}

/* Valid emphasis weights also apply to local-font print contexts. Existing
   display/mono selector weights and the five print family profiles win. */
:where(b,strong){font-weight:600}
:where(h1,h2,h3,h4,h5,h6,.display) :where(b,strong){font-weight:inherit}

/* Low-specificity screen defaults cover standalone surfaces and browser-native
   controls. Existing explicit display weights retain their 700/800 hierarchy.
   Print profiles in five legacy legal/resource documents remain unchanged. */
@media screen{
  :where(body){font-family:var(--font-body);font-weight:400}
  :where(h1,h2,h3,h4,h5,h6,.display){font-family:var(--font-display);font-weight:700}
  :where(button,.btn){font-family:var(--font-display);font-weight:700}
  :where(input,select,textarea){font-family:var(--font-body);font-weight:400}
  :where(code,kbd,samp,pre){font-family:var(--font-mono);font-weight:400}
}

.cm-brand-copy{
  display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;
}
.cm-brand-copy .cm-brand-name,
html[data-theme-enabled] .brand .cm-brand-copy .cm-brand-name{
  display:block;font-family:Arial,Helvetica,sans-serif;font-weight:700;font-style:normal;
  font-size:18px;line-height:1;letter-spacing:.01em;font-kerning:normal;
  text-transform:uppercase;white-space:nowrap;
}
.cm-brand-copy .cm-brand-descriptor,
html[data-theme-enabled] .brand .cm-brand-copy .cm-brand-descriptor{
  display:block;font-family:var(--font-mono);font-weight:400;
  font-size:9.5px;line-height:1.3;letter-spacing:.12em;
  color:var(--color-text-muted,var(--muted,currentColor));text-transform:uppercase;
}
.cm-brand-symbol{
  width:34px;height:34px;flex:0 0 34px;object-fit:contain;
}
/* These invariants apply to the unchanged image pixels in every theme/media. */
img[data-brand-kind="ui-symbol"],
img[data-brand-kind="registered-mark"]{
  filter:none;object-fit:contain;
}
.cm-registered-mark{
  display:inline-block;max-width:100%;padding:12px;background:#fff;
  border-radius:8px;margin:0;
}
.cm-registered-mark img{
  display:block;width:180px;max-width:100%;height:auto;aspect-ratio:1;
}
.cm-trademark-notice{
  flex-basis:100%;font-family:var(--font-mono);font-weight:400;
  font-size:11px;line-height:1.5;letter-spacing:normal;
  color:var(--color-text-muted,var(--muted,currentColor));margin-top:12px;
}
/* Existing resource covers and compact confirmation-card branding keep their
   original footprint while separating the UI symbol from the descriptor. */
.cm-resource-brand{
  display:grid;justify-items:center;gap:5px;width:150px;max-width:46vw;
  margin:0 auto 12px;transform:none;
}
.cm-resource-brand .cm-brand-symbol{
  width:100px;height:100px;max-width:100%;margin:0 auto;
}
.cm-resource-brand .cm-brand-copy{align-items:center;text-align:center}
.cm-brand-card{
  display:flex;align-items:center;justify-content:center;gap:12px;
}
.cm-brand-card .cm-brand-symbol{width:54px;height:54px;flex-basis:54px}
img.cm-registered-mark{
  display:block;width:150px;max-width:100%;height:auto;padding:0;
  aspect-ratio:1;border-radius:0;background:#fff;
}
@media print{
  .cm-resource-brand{width:115px;transform:translateY(10px);gap:2px}
  .cm-resource-brand .cm-brand-symbol{width:80px;height:80px}
}
.cm-brand-card{margin-bottom:26px}
.cm-brand-card .cm-brand-symbol{margin:0}


/* Personal gallery: full original frames with a compact, source-sized footprint. */
.cm-chris .cm-chris-gallery>.wrap{max-width:1020px}
.cm-chris .cm-chris-gallery .cm-intro h2{font-size:clamp(34px,4.5vw,50px);line-height:1.12;text-transform:none}
.cm-chris .cm-chris-gallery .cm-intro p{max-width:650px;margin-top:14px;color:var(--color-text-muted);font-size:18px;line-height:1.7}
.cm-chris .cm-chris-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 20px;margin-top:30px}
.cm-chris .cm-chris-gallery-item{min-width:0;margin:0}
.cm-chris .cm-chris-gallery-image{display:grid;place-items:center;width:100%;max-width:240px;aspect-ratio:9/16;margin-inline:auto;background:var(--color-surface);border-radius:12px}
.cm-chris .cm-chris-gallery-image img{display:block;width:100%;height:100%;max-width:240px;object-fit:contain;transform:none;border-radius:12px}
.cm-chris .cm-chris-gallery-item figcaption{max-width:240px;margin:14px auto 0;font-size:16px;line-height:1.65;color:var(--color-text-muted);overflow-wrap:anywhere}
@media(max-width:900px){.cm-chris .cm-chris-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 18px}}
@media(max-width:359px){.cm-chris .cm-chris-gallery-grid{grid-template-columns:minmax(0,1fr)}}
