.catalog-page{padding-top:clamp(38px,6vw,74px);padding-bottom:90px}.catalog-hero{max-width:920px;margin:28px 0 42px}.catalog-hero h1{margin:10px 0 14px;font-size:clamp(2.35rem,6vw,4.8rem)}.catalog-hero p{max-width:720px;margin:0;color:var(--text-muted);font-size:1.05rem;line-height:1.7}.reference-grid,.price-grid{display:grid;gap:18px}.reference-grid,.price-grid-private{grid-template-columns:repeat(2,minmax(0,1fr))}.reference-card,.price-card{overflow:hidden;border:1px solid var(--border);border-radius:24px;background:var(--surface);box-shadow:0 16px 48px rgba(15,23,42,.07);transition:transform .35s var(--ease),border-color .25s ease,box-shadow .35s ease}.reference-card:hover,.price-card:hover{border-color:color-mix(in srgb,var(--primary) 48%,var(--border));transform:translateY(-5px);box-shadow:0 24px 58px rgba(37,99,235,.12)}.reference-card>img,.reference-placeholder{display:grid;width:100%;aspect-ratio:16/10;object-fit:cover;background:linear-gradient(135deg,var(--surface-soft),color-mix(in srgb,var(--primary) 14%,var(--surface)));place-items:center}.reference-placeholder i{color:var(--primary);font-size:2.5rem}.reference-body{padding:22px}.reference-body time{display:block;margin-bottom:9px;color:var(--primary);font-size:.74rem;font-weight:800;letter-spacing:.04em}.reference-body h2,.price-card h2,.price-card h3{margin:0 0 12px;font-size:1.18rem}.catalog-rich-text{color:var(--text-muted);font-size:.9rem;line-height:1.7}.catalog-rich-text>:first-child{margin-top:0}.catalog-rich-text>:last-child{margin-bottom:0}.price-card{display:flex;min-height:390px;padding:26px;flex-direction:column}.price-icon{display:grid;width:54px;height:54px;margin-bottom:22px;border-radius:16px;color:#fff;background:var(--primary);place-items:center;font-size:1.2rem}.price-label{display:block;margin-top:auto;padding:24px 0 18px;color:var(--text);font-family:var(--heading);font-size:1.3rem}.price-card .button{width:100%}.catalog-empty{display:grid;min-height:260px;padding:38px;border:1px dashed var(--border);border-radius:24px;color:var(--text-muted);background:var(--surface);text-align:center;place-items:center}.catalog-empty i{color:var(--primary);font-size:2.2rem}.catalog-empty h2{margin:8px 0 0;color:var(--text)}.catalog-empty p{margin:4px 0 0}@media(max-width:900px){.reference-grid,.price-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.catalog-page{padding-top:28px;padding-bottom:120px}.catalog-hero{margin:22px 0 30px}.catalog-hero h1{font-size:clamp(2.2rem,11vw,3.2rem)}.reference-grid,.price-grid{grid-template-columns:1fr}.price-card{min-height:340px;padding:22px}}@media(prefers-reduced-motion:reduce){.reference-card,.price-card{transition:none}}

.reference-card {
    position: relative;
    display: flex;
    min-height: 100%;
    padding: clamp(22px, 3vw, 32px);
    flex-direction: column;
    isolation: isolate;
}

.reference-card::after {
    position: absolute;
    z-index: -1;
    right: 18px;
    bottom: -34px;
    color: color-mix(in srgb, var(--primary) 7%, transparent);
    font-family: Georgia, serif;
    font-size: 10rem;
    line-height: 1;
    content: "”";
    pointer-events: none;
}

.reference-card-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 22px;
    gap: 14px;
}

.reference-category {
    display: inline-flex;
    max-width: 72%;
    padding: 7px 11px;
    border-radius: 999px;
    color: var(--primary);
    background: color-mix(in srgb, var(--primary) 10%, var(--surface));
    font-size: .72rem;
    font-weight: 850;
    line-height: 1.35;
}

.reference-rating {
    display: inline-flex;
    padding-top: 6px;
    color: #f59e0b;
    font-size: .76rem;
    gap: 3px;
}

.reference-body {
    display: flex;
    padding: 0;
    flex: 1;
}

.reference-body .catalog-rich-text {
    display: flex;
    width: 100%;
    flex-direction: column;
}

.reference-body .catalog-rich-text h3 {
    margin: 0 0 16px;
    color: var(--text);
    font-family: var(--heading);
    font-size: clamp(1.15rem, 2vw, 1.42rem);
    line-height: 1.38;
}

.reference-body .catalog-rich-text blockquote {
    margin: 0 0 24px;
    padding: 0;
    border: 0;
    color: var(--text-muted);
    font-size: .96rem;
    line-height: 1.78;
}

.reference-body .catalog-rich-text blockquote p {
    margin: 0;
}

.reference-body .catalog-rich-text > p:last-child {
    margin-top: auto;
    padding-top: 17px;
    border-top: 1px solid var(--border);
    color: var(--text-muted);
    line-height: 1.55;
}

.reference-body .catalog-rich-text > p:last-child strong {
    color: var(--text);
    font-family: var(--heading);
    font-size: 1rem;
}

.reference-cta {
    display: grid;
    justify-items: center;
    max-width: 760px;
    margin: 34px auto 0;
    padding: clamp(22px, 4vw, 32px);
    border: 1px solid var(--border);
    border-radius: 24px;
    background: linear-gradient(135deg, color-mix(in srgb, var(--primary) 9%, var(--surface)), var(--surface));
    text-align: center;
    gap: 16px;
}

.reference-cta p {
    max-width: 620px;
    margin: 0;
    color: var(--text-muted);
    line-height: 1.65;
}

.reference-cta .button {
    max-width: 100%;
}

@media (max-width: 620px) {
    .reference-card {
        padding: 21px;
    }

    .reference-card-top {
        align-items: stretch;
        flex-direction: column;
        margin-bottom: 18px;
        gap: 8px;
    }

    .reference-category {
        max-width: 100%;
        width: fit-content;
    }

    .reference-rating {
        padding-top: 0;
    }

    .reference-cta .button {
        width: 100%;
        min-height: 52px;
        height: auto;
        padding: 12px 15px;
        line-height: 1.35;
    }
}
