.catalog-page{background:#181818;color:#eee;--ink:#181818;--paper:#eee;--ink-soft:#aaa;--line:#555}
.catalog-page .public-nav{border-color:#444}.catalog-page .public-nav img{filter:invert(1)}
.catalog-page .catalog{grid-template-columns:repeat(4,minmax(0,1fr));gap:40px 24px;margin:55px 0 100px}
.catalog-page .catalog .work{padding:0;background:transparent;transition:transform .3s}
.catalog-page .catalog .work:hover{transform:translateY(-4px)}
.catalog-page .catalog .work{display:flex;flex-direction:column;min-width:0}.catalog-story-link{display:block}.catalog-page .catalog .catalog-title{font-size:16px;font-weight:600;line-height:1.5;margin:19px 0 0;color:#eee}.catalog-page .catalog .work-caption{display:block;flex:1}.catalog-page .catalog .catalog-print{display:inline-flex;align-items:center;justify-content:center;color:#ff9142;width:18px;height:18px;margin-left:3px;flex:none}.catalog-print svg{display:block;width:18px;height:18px}.catalog-page .catalog .catalog-teaser{height:100%;padding:24px 18px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:22px;text-align:center;background:linear-gradient(125deg,#181818 55%,#ff914215 55% 72%,#181818 72%);border:1px solid #ff91426a;color:#ff9142}.catalog-teaser>span{font-family:monospace;font-size:10px;letter-spacing:.13em}.catalog-teaser strong{font-size:clamp(45px,6vw,90px);letter-spacing:-.08em;line-height:1}.catalog-teaser em{font-style:normal;font-size:clamp(16px,2vw,25px);font-weight:600;color:#eee;line-height:1.5}.catalog-release{font-size:11px;color:#ff9142;margin:16px 0 0;line-height:1.8}.catalog-page .catalog [hidden]{display:none!important}.catalog-story-link:focus-visible{outline:2px solid #ff9142;outline-offset:5px}
.catalog-page .catalog .work .work-image{height:auto;aspect-ratio:2/3;background:#555;box-shadow:inset 5px 0 #ffffff12,8px 12px 24px #0005}
.catalog-page .catalog .image-placeholder{position:absolute;inset:0;width:100%;height:100%;background:#555;clip-path:none;transform:none;border-left:5px solid #666}
.catalog-page .catalog .work-caption{min-height:0;padding:12px 0;gap:0;border:0}
.catalog-page .catalog .work-caption small{display:flex;gap:9px;flex-wrap:wrap;color:#bbb;font-size:10px;margin:0;letter-spacing:.04em;font-weight:400}
.catalog-page .catalog .work-caption b{font-weight:400}
.catalog-page .upcoming{color:#181818}.catalog-page .upcoming-placeholder{background:#777}
.catalog-page .making{display:grid;grid-template-columns:1fr 1.5fr;gap:45px;background:#242424;color:#eee;padding:55px 40px}
.catalog-page .making .section-header{grid-column:1/-1;margin:0}
.catalog-page .making-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;grid-column:1/-1;align-items:center}
.catalog-page .making-col:nth-child(2){background:transparent;padding:0}
.catalog-page .phone{width:min(100%,300px);max-width:300px;padding:18px;border:1px solid #777;background:#111}
.catalog-page .phone-screen{height:440px;background:#ddd}
.catalog-page .phone-placeholder{height:200%;background:repeating-linear-gradient(180deg,#bbb 0 150px,#eee 150px 175px,#888 175px 360px,#eee 360px 390px,#555 390px 440px);animation:phone-scroll 12s ease-in-out infinite alternate}
.catalog-page .phone-notch{background:#777}
.catalog-page .process-frame{height:330px;background:#444}.catalog-page .process-ph{color:#eee}.catalog-page .process-steps{flex-wrap:wrap}.catalog-page .process-steps button{padding:8px;color:#eee;background:#333}.catalog-page .process-steps button[aria-pressed=true]{background:#ff9142;color:#111}
@keyframes phone-scroll{0%,12%{transform:translateY(0)}88%,100%{transform:translateY(-50%)}}
@media(max-width:900px){.catalog-page .catalog{grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}}
@media(max-width:600px){.catalog-page .catalog{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 18px}.catalog-page .making{padding:35px 20px;gap:25px}.catalog-page .making-grid{grid-template-columns:1fr;gap:35px}.catalog-page .phone{width:min(100%,300px)}.catalog-page .making .section-title{font-size:36px}.catalog-page .catalog .work-caption small{font-size:9px;gap:6px}}
@media(prefers-reduced-motion:reduce){.catalog-page .phone-placeholder{animation:none}}
.catalog-page .catalog .work:nth-child(n) .image-placeholder{background:#555}
.catalog-page .catalog .work-image img{display:block;width:100%;height:100%;object-fit:contain}
.catalog-page .process-frame{overflow:hidden}.catalog-page .process-stage{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.catalog-page .process-stage[hidden]{display:none}
.catalog-page .process-progress{display:block}.catalog-page .process-progress-fill{background:#ff9142;transition:width .4s}
.catalog-page .phone-strip{display:block;width:100%;max-width:none;animation:comic-flow 18s ease-in-out infinite alternate}
.construction{min-height:340px;background:#181818;color:#ff9142;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;position:relative;gap:8px}
.construction svg{width:85%;max-width:400px;height:200px;fill:none;stroke:currentColor;stroke-width:4}.construction strong{font-size:42px;letter-spacing:.18em}.construction>span{font-size:10px;letter-spacing:.16em}.construction-track{width:200%;height:15px;background:repeating-linear-gradient(120deg,#ff9142 0 18px,#181818 18px 36px);animation:construction-belt 4s linear infinite}.construction-track:first-child{position:absolute;top:0}.construction-track:last-child{position:absolute;bottom:0}.crane-hook{animation:crane-work 3s ease-in-out infinite alternate;transform-origin:285px 38px}
@keyframes construction-belt{to{transform:translateX(42px)}}@keyframes crane-work{to{transform:translateY(10px) rotate(4deg)}}@keyframes comic-flow{0%,15%{transform:translateY(0)}85%,100%{transform:translateY(min(0px,calc(440px - 100%)))}}
@media(prefers-reduced-motion:reduce){.construction-track,.crane-hook,.catalog-page .phone-strip{animation:none}.catalog-page .process-progress-fill{transition:none}}
.catalog-page .making-col:nth-child(2){display:flex;flex-direction:column;align-items:center;gap:20px;margin:0;border:0;min-width:0}.catalog-page .phone{transform:none;margin:0 auto;border-radius:4px;flex-shrink:0}.catalog-page .phone-notch{width:40px;height:4px;margin:0 auto 14px}
