.catalog-main{background:var(--paper)}
.catalog-hero{padding:clamp(76px,10vw,132px) clamp(24px,5vw,76px) clamp(64px,8vw,104px);border-bottom:1px solid var(--line);background:linear-gradient(90deg,var(--paper) 0 68%,var(--green-soft) 68% 100%)}
.catalog-hero h1{max-width:1080px;font-size:clamp(3.7rem,8vw,8rem)}
.catalog-hero .hero-lead{max-width:800px;margin-bottom:0}
.catalog-section{padding:clamp(72px,9vw,124px) clamp(24px,5vw,76px);background:var(--white)}
.catalog-heading{display:grid;grid-template-columns:1fr minmax(260px,.45fr);gap:48px;align-items:end;margin-bottom:46px}
.catalog-heading h2{margin:0}
.app-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.app-card,.catalog-empty{min-height:290px;padding:clamp(26px,3vw,42px);border:1px solid var(--line);background:#faf9f5}
.app-card-top{display:flex;justify-content:space-between;gap:16px;margin-bottom:50px;font-family:var(--mono);font-size:.67rem;text-transform:uppercase}
.app-status{color:var(--green);font-weight:800}.app-version{color:var(--muted)}
.app-card h3,.catalog-empty h3{font-family:var(--serif);font-size:1.7rem;font-weight:400}
.app-card p,.catalog-empty>p:last-child{color:var(--muted);font-size:.9rem}
.catalog-empty{grid-column:1/-1;min-height:240px;background:var(--yellow-soft);border-color:#dfcb8d}
.catalog-principles{display:grid;grid-template-columns:minmax(280px,.55fr) minmax(560px,1.45fr);gap:clamp(48px,8vw,110px);padding:clamp(72px,9vw,124px) clamp(24px,5vw,76px);background:var(--paper-deep)}
.principle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.principle-grid article{padding:30px;background:var(--white)}
.principle-grid span{color:var(--coral);font-family:var(--mono);font-size:.68rem}.principle-grid h3{margin:34px 0 12px;font-family:var(--serif);font-size:1.4rem;font-weight:400}.principle-grid p{margin:0;color:var(--muted);font-size:.83rem}
@media(max-width:980px){.catalog-hero{background:var(--paper)}.catalog-heading,.catalog-principles{grid-template-columns:1fr}.app-grid{grid-template-columns:1fr}.principle-grid{grid-template-columns:1fr}}
