.hero-glyph{font-weight:300}
.hero-glyph,.brand,.chromatic,.section-title,.release-info h3,.beat-card h3,.service-grid h3,.contact-section h2,.artwork-caption h2,.artwork-group-heading h3{
  background-image:linear-gradient(110deg,#83dce7 5%,#b4ade9 36%,#e1a4d4 60%,#83dce7 90%);
  background-size:240% 100%;
  background-position:0 50%;
  background-clip:text;
  -webkit-background-clip:text;
  color:transparent;
  animation:heaven-gradient 22s ease-in-out infinite alternate;
}
.artist-panel p,.section-intro,.contact-copy{
  background-image:linear-gradient(110deg,#acc3d1,#b8b2cd,#c5afc1,#acc3d1);
  background-size:240% 100%;
  background-clip:text;
  -webkit-background-clip:text;
  color:transparent;
  animation:heaven-gradient 28s ease-in-out infinite alternate;
}
.chromatic.pink{animation-delay:-11s}
.section-title,.contact-section h2{animation-delay:-5s}
@keyframes heaven-gradient{to{background-position:100% 50%}}
.portfolio-section .narrow-inner{width:min(100%,1120px)}
.portfolio-filters{display:flex;flex-wrap:wrap;gap:4px 24px;border-bottom:1px solid var(--line);margin:24px 0 38px}
.portfolio-filters button{border:0;border-bottom:2px solid transparent;padding:13px 0;background:none;color:#8ba6bb;min-height:44px;font:inherit;font-size:11px;line-height:1.5}
.portfolio-filters button[aria-pressed=true]{border-bottom-color:#83dce7;color:#c7e7eb}
.portfolio-filters button:hover{color:#e1c1df}
.artwork-group{margin:0 0 46px}
.artwork-group[hidden]{display:none}
.artwork-group:last-child{margin-bottom:0}
.artwork-group-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}
.artwork-group-heading h3{font-size:18px;line-height:1.4;font-weight:400;margin:0}
.artwork-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 24px}
.artwork{margin:0;min-width:0}
.artwork-open{position:relative;display:block;width:100%;aspect-ratio:1;border:1px solid #809aaf35;border-radius:4px;background:#070b12;padding:0;overflow:hidden}
.artwork-open img{display:block;width:100%;height:100%;object-fit:contain;transition:filter .3s}
.artwork-open:hover img{filter:brightness(1.08)}
.artwork-zoom{position:absolute;bottom:10px;right:10px;display:grid;place-items:center;width:32px;height:32px;border:1px solid #a8c4d65a;background:#080d16dc;color:#d4e8ee;border-radius:3px;opacity:0;transition:opacity .2s}
.artwork-zoom svg{width:15px;height:15px}
.artwork-open:hover .artwork-zoom,.artwork-open:focus-visible .artwork-zoom{opacity:1}
.artwork figcaption{padding:13px 0 0}
.artwork h4{color:#c5dae3;font-size:13px;line-height:1.5;font-weight:400;margin:0;overflow-wrap:anywhere}
.artwork figcaption p{color:#8599ad;font-size:10px;line-height:1.8;margin:5px 0 0;overflow-wrap:anywhere}
.artwork-dialog{width:min(1000px,calc(100% - 32px));max-height:calc(100svh - 32px);border:1px solid #809aaf60;border-radius:4px;background:#080d16;color:#b3cbd8;padding:16px 22px 22px;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.artwork-dialog::backdrop{background:#02060bf2}
.artwork-dialog-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:10px}
#artwork-full{display:block;max-width:100%;width:auto;height:auto;max-height:calc(100svh - 240px);margin:0 auto;object-fit:contain}
.artwork-dialog-bottom{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-top:18px}
.artwork-caption{min-width:0}
.artwork-caption h2{font-size:22px;font-weight:400;line-height:1.4;margin:0;overflow-wrap:anywhere}
.artwork-caption p{font-size:11px;line-height:1.7;margin:6px 0 10px;overflow-wrap:anywhere}
.artwork-arrows{display:flex;gap:8px;flex:none}
@media(min-width:651px) and (max-width:1050px){.site-header{gap:16px}.site-header nav{gap:14px}.header-side{display:none}.site-header nav a{font-size:9px}}
@media(max-width:700px){.artwork-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 16px}.artwork-zoom{opacity:1}.portfolio-filters{gap:0 20px}}
@media(max-width:500px){.artwork-dialog{padding:12px 14px 18px}.artwork-dialog-bottom{gap:14px}.artwork-caption h2{font-size:18px}.artwork-caption p{font-size:10px}.artwork-arrows{gap:4px}#artwork-full{max-height:calc(100svh - 260px)}.artwork-group-heading h3{font-size:16px}.artwork h4{font-size:12px}}
@media(max-width:370px){.artwork-grid{grid-template-columns:1fr}.artwork-dialog-bottom{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.hero-glyph,.brand,.chromatic,.section-title,.release-info h3,.beat-card h3,.service-grid h3,.contact-section h2,.artwork-caption h2,.artwork-group-heading h3,.artist-panel p,.section-intro,.contact-copy{animation:none!important;background-position:50% 50%;color:transparent!important}.artwork-open img,.artwork-zoom{transition:none}}
