.catalog-hero{display:grid;grid-template-columns:1.3fr 1fr;gap:50px;align-items:center;padding:80px 0 64px}.catalog-hero h1{font-size:clamp(44px,5.5vw,76px)}.catalog-hero .lead{font-size:19px}.catalog-art{position:relative;min-height:340px;display:grid;place-items:center;border:1px solid var(--line);background:radial-gradient(ellipse at center,#234532 0%,var(--panel) 65%);overflow:hidden;border-radius:16px}.system-orbit{width:250px;height:250px;border:1px solid #55d9ca55;border-radius:50%;display:grid;place-items:center;transform:rotate(-18deg);box-shadow:0 0 0 35px #55d9ca08,0 0 0 70px #55d9ca06}.system-core{padding:25px;background:var(--lime);color:var(--ink);font:800 20px 'Manrope';transform:rotate(18deg);box-shadow:12px 12px 0 #07110f66;border-radius:12px}.orbit-label{position:absolute;padding:9px 14px;background:#0b1815;border:1px solid #55d9ca55;border-radius:6px;font:11px 'Roboto Mono';color:var(--cyan)}.orbit-label:nth-of-type(1){top:38px;left:25px}.orbit-label:nth-of-type(2){top:85px;right:20px}.orbit-label:nth-of-type(3){bottom:60px;left:24px}.orbit-label:nth-of-type(4){bottom:30px;right:26px}.catalog-section{padding:48px 0 90px}.catalog-heading{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:24px}.catalog-heading h2{font-size:32px}.catalog-heading p{color:var(--muted);font:12px 'Roboto Mono'}.catalog-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:32px}.catalog-filters button{font:500 13px 'DM Sans';padding:10px 16px;background:var(--panel);border:1px solid var(--line);border-radius:30px;color:var(--muted);cursor:pointer}.catalog-filters button:hover{border-color:var(--lime);color:var(--paper)}.catalog-filters button[aria-pressed=true]{background:var(--lime);border-color:var(--lime);color:var(--ink)}.catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;border:0}.catalog-grid .project{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:28px;background:var(--panel);border:1px solid var(--line);border-radius:14px;position:relative;min-width:0;transition:border-color .2s,transform .2s}.catalog-grid .project:hover{border-color:#c9ff6366;transform:translateY(-3px)}.catalog-grid .project[hidden]{display:none}.catalog-grid .num{position:absolute;right:28px;top:30px;color:var(--muted);font-size:11px}.catalog-grid .kicker{font-size:10px;padding-right:35px;min-height:18px;color:var(--lime);margin:0 0 18px}.catalog-grid h2{font-size:clamp(25px,3vw,36px);letter-spacing:-.04em;line-height:1.15}.catalog-grid .project-copy{display:flex;flex-direction:column;flex:1}.catalog-grid .project-copy>p:not(.kicker){font-size:15px;line-height:1.7}.catalog-grid .tags{margin:8px 0 24px}.catalog-grid .tags span{font-size:10px;border-radius:4px;padding:5px 8px}.catalog-grid .project-copy>p:last-child{margin:auto 0 0;padding-top:6px}.catalog-grid .btn{border:none;border-bottom:1px solid #c9ff6344;padding:10px 0;text-transform:none;letter-spacing:0;color:var(--lime);justify-content:flex-start}.catalog-grid .btn:after{content:'↗';margin-left:12px}.catalog-grid .btn:hover{background:transparent;color:var(--paper)}.catalog-grid .ui-panel{order:-1;min-height:170px;margin-bottom:26px;background:linear-gradient(135deg,#142c24,#091711);border-radius:8px;padding:16px;border-color:#55d9ca22}.catalog-grid .ui-top{height:14px;margin-bottom:16px;position:relative}.catalog-grid .ui-top:before{content:'● ● ●';position:absolute;top:-8px;font-size:9px;letter-spacing:3px;color:#55d9ca66}.catalog-grid .console{gap:13px;margin:12px 0 8px}.catalog-grid .console div{font-size:10px;gap:12px}.catalog-grid .console b{color:var(--cyan);text-align:right}.catalog-grid .bars{height:90px}.catalog-grid .ui-label{font-size:9px;gap:10px}.catalog-note{color:var(--muted);font-size:12px;margin:28px 0 0}.catalog-page a:focus-visible,.catalog-page button:focus-visible{outline:2px solid var(--lime);outline-offset:5px}
@media(max-width:850px){.catalog-hero{grid-template-columns:1fr;gap:30px;padding:50px 0}.catalog-art{min-height:280px}.system-orbit{width:190px;height:190px}.catalog-grid{gap:16px}.catalog-grid .project{padding:22px}.catalog-grid .num{right:22px;top:24px}}
@media(max-width:600px){.catalog-grid{grid-template-columns:1fr}.catalog-heading{align-items:start;flex-direction:column;gap:0}.catalog-hero h1{font-size:44px}.catalog-section{padding-top:32px}.catalog-filters{gap:6px}.catalog-filters button{font-size:12px;padding:9px 12px}.catalog-art{min-height:260px}.catalog-grid .project:hover{transform:none}}
