/* The catalog retains its own measured grid and card variants. Shared chrome uses services.css. */
.catalog-grid {display:grid;grid-template-columns:repeat(3,minmax(50px,1fr));grid-auto-rows:min-content;gap:40px 32px;padding:96px 80px;background:var(--ink);width:100%;overflow:hidden}
.catalog-page footer {background:var(--ink)}
.catalog-card {position:relative;display:flex;flex-direction:column;gap:16px;aspect-ratio:var(--card-ratio);width:100%;overflow:hidden;align-self:start;color:var(--paper);text-decoration:none}
.catalog-card[href] {cursor:pointer}
.catalog-media {position:relative;flex:1 0 0;min-height:0;width:100%;border-radius:16px;overflow:hidden}
.catalog-media picture {display:block;position:absolute;inset:0}
.catalog-photo {width:100%;height:100%;object-fit:cover;object-position:50% 0%;display:block}
.catalog-caption {display:flex;align-items:center;gap:10px;flex:none;width:100%;overflow:hidden}
.catalog-icon {position:relative;display:block;flex:none;width:56px;height:56px;overflow:hidden;border-radius:8px}
.catalog-icon img {display:block;width:100%;height:100%;object-fit:cover}
.catalog-placeholder .catalog-media,.catalog-placeholder .catalog-icon {background:#808080}
.catalog-placeholder .catalog-media::before,.catalog-placeholder .catalog-icon:empty::before {
 content:'';position:absolute;inset:-24px;pointer-events:none;
 background:url('/assets/catalog-tv-static.svg') repeat 0 0 / 192px 192px;
 animation:catalog-tv-static .32s steps(1,end) infinite;animation-play-state:paused;
}
.catalog-placeholder.noise-running .catalog-media::before,.catalog-placeholder.noise-running .catalog-icon:empty::before {animation-play-state:running}
.catalog-placeholder:nth-child(3n+2) .catalog-media::before,.catalog-placeholder:nth-child(3n+2) .catalog-icon:empty::before {animation-delay:-.11s}
.catalog-placeholder:nth-child(3n) .catalog-media::before,.catalog-placeholder:nth-child(3n) .catalog-icon:empty::before {animation-delay:-.23s}
@keyframes catalog-tv-static {
 0%,100% {transform:translate3d(0,0,0)}
 12.5% {transform:translate3d(-13px,9px,0)}
 25% {transform:translate3d(17px,-11px,0)}
 37.5% {transform:translate3d(-8px,-17px,0)}
 50% {transform:translate3d(12px,15px,0)}
 62.5% {transform:translate3d(-19px,3px,0)}
 75% {transform:translate3d(5px,-9px,0)}
 87.5% {transform:translate3d(19px,18px,0)}
}
@media(prefers-reduced-motion:reduce){.catalog-placeholder .catalog-media::before,.catalog-placeholder .catalog-icon:empty::before {animation:none;transform:none}}
.catalog-copy {display:flex;flex-direction:column;justify-content:center;gap:2px;height:50px;min-width:0;flex:1;overflow:hidden}
.catalog-copy h5 {margin:0;font-size:20px;line-height:1.2;font-weight:600;white-space:pre;width:max-content}
.catalog-copy h5+h5 {font-size:16px;font-weight:300}
.catalog-compact-copy,.catalog-video {display:none}
.catalog-badge {position:absolute;right:8px;top:8px;z-index:1;background:#000;color:var(--paper);font-size:10px;font-weight:500;line-height:12px;padding:6px 8px 5px;text-transform:uppercase}
@media(min-width:960px) and (max-width:1299.98px){
 .catalog-grid {grid-template-columns:repeat(2,minmax(50px,1fr));gap:32px;padding:96px 40px}
 .catalog-card {aspect-ratio:auto;height:340px}
}
@media(max-width:959.98px){
 .catalog-grid {grid-template-columns:repeat(2,minmax(50px,1fr));gap:24px;padding:48px 20px}
 .catalog-card {aspect-ratio:var(--compact-ratio);grid-column:span var(--compact-span);order:var(--compact-order);gap:8px}
 .catalog-icon {width:40px;height:40px}
 .catalog-copy {height:auto}
 .catalog-copy h5 {margin:0;font-size:13px;line-height:1.2}
 .catalog-copy h5+h5 {font-size:10px}
 .catalog-desktop-copy {display:none}
 .catalog-compact-copy {display:inline}
 .catalog-video-card {padding-bottom:8px}
 .catalog-video-card .catalog-icon {height:40px}
 .catalog-video-card picture {display:none}
 .catalog-video {display:block;width:100%;height:100%;object-fit:cover}
}
@media(min-width:2300px){
 .catalog-grid {gap:48px 56px;padding:96px 200px}
 .catalog-card {aspect-ratio:var(--wide-ratio)}
}
@media(min-width:2000px) and (max-width:2299.98px){
 .catalog-page .services-header {padding:40px 40px 56px}
 .catalog-page .services-header-content {gap:40px}
 .catalog-page .header-line {gap:48px}
 .catalog-page .services-color-parallax {right:40px;width:605px;height:449px}
}
