@font-face {
  font-family: 'ARTBUGU Sans';
  src: url('fonts/Arimo.ttf') format('truetype');
  font-style: normal;
  font-weight: 400 700;
  font-display: block;
}
:root { --site-font: 'ARTBUGU Sans', Arial, sans-serif; --motion-ease: cubic-bezier(.22,.61,.36,1); }
html, body { font-family: var(--site-font); font-synthesis: none; }
html { scrollbar-gutter: stable; scroll-behavior: smooth; }
body { overflow-x: clip; }
button, input, textarea, select, .category-tile strong { font-family: var(--site-font); }
.glyph { font-family: var(--site-font); font-weight: 700; transform: none; transition: filter 400ms var(--motion-ease); }
.glyph:hover, .glyph:active { transform: none; }
.glyph.flash { animation: none; }
.glyph .color { transition: opacity 600ms ease-in-out; }
.cta { font-weight: 700; }
button, a { -webkit-tap-highlight-color: transparent; }
.cta, .demo-button, .product-buy, .contact-primary, .catalog-categories button, .demo-favorite, .favorite-header {
  transition: background-color 240ms ease, color 240ms ease, border-color 240ms ease, box-shadow 240ms ease;
}
.featured-card img, .gallery-work img, .demo-open img { transition: filter 350ms ease; transform: none; }
.featured-card:hover img, .gallery-work:hover img, .demo-open:hover img { transform: none; filter: brightness(1.025); }
.artist-more summary span { transition: transform 350ms var(--motion-ease); }
.inquiry-panel, dialog[open], .image-dialog:not([hidden]) { animation: gentle-reveal 200ms ease-out; }
@keyframes gentle-reveal { from { opacity: 0; } to { opacity: 1; } }
/* Size the lettering from BOTH dimensions of the hero, keeping the CTA clear. */
@media (min-width: 761px) {
  main { container-type: size; height: clamp(520px, calc(100svh - 90px), 720px); min-height: 520px; }
  .stripes { left: 34%; top: 5%; width: 61%; height: 73%; }
  .word { left: 3.5%; top: 9%; width: auto; }
  .row { height: min(15cqw, 33.3cqh, 245px); }
  .row.bottom { margin-top: -18px; }
  .glyph { font-size: min(17cqw, 37cqh, 270px); line-height: .78; margin: 0 -.041em; letter-spacing: -.105em; }
  .caption { left: 4%; bottom: 4%; }
}
@media (max-width: 760px) {
  .glyph { font-family: var(--site-font); font-weight: 700; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}

/* Outlined display letters preserve the original Arial Black artwork on every OS. */
.glyph { height: .78em; letter-spacing: 0; }
.glyph span { height: .78em; }
.glyph svg { display: block; overflow: visible; }
.part-a { width: 0.67283em; }
.part-r { width: 0.67283em; }
.part-t { width: 0.61717em; }
.part-b { width: 0.67283em; }
.part-u-left { width: 0.72801em; }
.part-u-right { width: 0.72801em; }
.part-g { width: 0.72801em; }
@media (max-width: 760px) {
  header .brand-logo, header .brand-logo img { width: 110px; }
  header .tools { min-width: 0; }
}
@media (max-width: 360px) {
  header .brand-logo, header .brand-logo img { width: 92px; }
  header .tools { gap: 5px !important; }
  .favorite-header { font-size: 10px; }
}
.category-tile, .category-tile:hover { transform: none; transition: background-color 280ms ease, border-color 280ms ease; }
.menu-toggle span { transition: transform 300ms var(--motion-ease), opacity 200ms ease; }
.gallery-open:hover img { transform: none; }
/* Compact browsing and clearly grouped author/contact information. */
.catalog-views { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:16px 0; }
.catalog-view-label { font-size:12px; color:#686862; margin-right:8px; }
.catalog-views button { padding:9px 15px; min-height:40px; font-size:13px; }
.demo-grid[data-view="compact"] { grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px 18px; }
.demo-grid[data-view="compact"] .demo-open img { height:240px; padding:12px; }
.demo-grid[data-view="compact"] strong { font-size:16px; }
.demo-grid[data-view="list"] { grid-template-columns:1fr; gap:0; }
.demo-grid[data-view="list"] .demo-work { display:grid; grid-template-columns:150px minmax(0,1fr); gap:24px; align-items:center; padding:16px 60px 16px 0; border-bottom:1px solid #d7d7d2; }
.demo-grid[data-view="list"] .demo-open img { height:140px; padding:8px; }
.demo-grid[data-view="list"] figcaption { margin:0; max-width:700px; gap:10px; }
.demo-grid[data-view="list"] .demo-favorite { top:18px; right:0; }
.artist-more h4 { margin:30px 0 10px; font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#686862; }
.artist-more h4:first-of-type { margin-top:10px; }
.artist-more h4 + p { margin-top:0; }
.artist-contacts .contact-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); max-width:740px; gap:12px; }
.artist-contacts .contact-links a { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:54px; padding:15px 18px; border:1px solid #b8b8af; font-size:14px; overflow-wrap:anywhere; transition:background-color 250ms ease,border-color 250ms ease; }
.artist-contacts .contact-links a:hover { background:#e9e9e1; border-color:#171717; }
.artist-contacts .contact-links a[href*="instagram.com"] { font-weight:700; }
@media(max-width:1100px) and (min-width:761px){.demo-grid[data-view="compact"]{grid-template-columns:repeat(3,minmax(0,1fr))}.demo-grid[data-view="compact"] .demo-open img{height:220px}}
@media(max-width:760px){.demo-grid[data-view="compact"]{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 12px}.demo-grid[data-view="compact"] .demo-open img{height:190px;padding:8px}.demo-grid[data-view="list"] .demo-work{grid-template-columns:92px minmax(0,1fr);gap:14px;padding-right:42px}.demo-grid[data-view="list"] .demo-open img{height:105px}.demo-grid[data-view="list"] strong{font-size:16px}.artist-contacts .contact-links{grid-template-columns:1fr}.catalog-views{gap:6px}.catalog-view-label{width:100%}}

/* Decorative contact icons; existing link text remains accessible. */
.artist-contacts .contact-links a { justify-content:flex-start; }
.artist-contacts .contact-links a::before { content:""; width:22px; height:22px; flex:0 0 22px; background:center / contain no-repeat; }
.artist-contacts .contact-links a > span { margin-left:auto; }
.artist-contacts .contact-links a[href*="docs.google.com/forms"]::before { background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23171717%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%225%22%20y%3D%224%22%20width%3D%2214%22%20height%3D%2217%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M9%204V2h6v2M9%209h6M9%2013h6M9%2017h3%22%2F%3E%3C%2Fsvg%3E"); }
.artist-contacts .contact-links a[href^="mailto:"]::before { background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23171717%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%222%22%20y%3D%224%22%20width%3D%2220%22%20height%3D%2216%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22m3%206%209%207%209-7%22%2F%3E%3C%2Fsvg%3E"); }
.artist-contacts .contact-links a[href*="wa.me"]::before { background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23171717%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20.4%203.6a10.5%2010.5%200%200%200-16.5%2012.7L2%2022l5.9-1.8A10.5%2010.5%200%200%200%2020.4%203.6Z%22%2F%3E%3Cpath%20d%3D%22m8%207-1%202c0%204%204%208%208%208l2-1-2-3-2%201-3-3%201-2Z%22%2F%3E%3C%2Fsvg%3E"); }
.artist-contacts .contact-links a[href*="instagram.com"]::before { background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23171717%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%223%22%20width%3D%2218%22%20height%3D%2218%22%20rx%3D%225%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%224%22%2F%3E%3Ccircle%20cx%3D%2217.5%22%20cy%3D%226.5%22%20r%3D%22.8%22%20fill%3D%22%23171717%22%20stroke%3D%22none%22%2F%3E%3C%2Fsvg%3E"); }
