.service-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.service-card { display: flex; flex-direction: column; }
.service-price-link { color: inherit; margin-top: auto; padding-top: 24px; font-size: .8rem; text-underline-offset: 5px; }
.catalog-section { display: block; }
.catalog-intro { display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(24px,7vw,100px); align-items: center; margin-bottom: 35px; }
.catalog-intro h2 { font: 400 clamp(2.6rem,5vw,5rem)/1.05 Georgia,serif; letter-spacing: -.045em; margin: 20px 0; }
.catalog-intro h2 em { color: var(--berry); }
.catalog-intro-copy { max-width: 540px; line-height: 1.75; }
.catalog-draft { border: 1px solid #b9a49c; border-left: 4px solid var(--berry); padding: 20px 24px; margin: 0 0 34px; background: #f7f0e8; }
.catalog-draft strong { color: #86143c; font-size: .94rem; }
.catalog-draft p { font-size: .88rem; max-width: 900px; margin: 8px 0 0; line-height: 1.65; }
.catalog-list { border-top: 1px solid #b7a89a; }
.catalog-group { border-bottom: 1px solid #b7a89a; scroll-margin-top: 110px; }
.catalog-group summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 28px 0; }
.catalog-group summary::-webkit-details-marker { display: none; }
.catalog-group summary strong { display: block; font: 400 clamp(1.5rem,2.7vw,2.2rem)/1.2 Georgia,serif; }
.catalog-group summary small { display: block; margin-top: 8px; color: #65564c; font-size: .87rem; }
.catalog-expand { flex: 0 0 36px; height: 36px; border: 1px solid #a58d82; border-radius: 50%; display: grid; place-items: center; color: var(--berry); }
.catalog-expand::before { content: '+'; font: 400 1.6rem/1 Arial,sans-serif; }
.catalog-group[open] .catalog-expand::before { content: '−'; }
.catalog-group[open] summary strong { color: var(--berry); }
.catalog-body { background: var(--cream); padding: 25px 30px 12px; margin-bottom: 25px; }
.catalog-group-note { color: #615147; font-size: .88rem; line-height: 1.7; margin: 0 0 8px; max-width: 950px; }
.catalog-row { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(265px,1fr); gap: 28px; padding: 24px 0; border-bottom: 1px solid #ded2c7; }
.catalog-row:last-child { border-bottom: 0; }
.catalog-description h4 { margin: 0 0 7px; font-size: 1rem; font-weight: 600; line-height: 1.45; }
.catalog-description p { font-size: .86rem; line-height: 1.65; margin: 0; color: #65564c; }
.catalog-pending { display: inline-block; font-size: .73rem; margin-top: 9px; color: #86143c; }
.catalog-amounts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin: 0; align-content: start; text-align: right; }
.catalog-amounts dt { font-size: .7rem; color: #746155; margin: 0 0 7px; }
.catalog-amounts dd { font-variant-numeric: tabular-nums; font-size: 1.05rem; font-weight: bold; color: var(--berry); margin: 0; white-space: nowrap; }
.catalog-single { grid-template-columns: 1fr; }
.catalog-consult { margin-top: 38px; display: flex; justify-content: space-between; gap: 24px; align-items: center; }
.catalog-consult p { margin: 0; line-height: 1.7; }
.catalog-consult .button { flex-shrink: 0; }
.catalog-group summary:focus-visible,.service-price-link:focus-visible { outline: 3px solid var(--berry); outline-offset: 6px; }
@media (max-width: 1000px) { .catalog-row { grid-template-columns: 1fr; gap: 18px; } .catalog-amounts { max-width: 380px; text-align: left; } .catalog-single { max-width: none; } }
@media (max-width: 880px) { .service-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .catalog-intro { grid-template-columns: 1fr; gap: 0; } .catalog-consult { flex-direction: column; align-items: flex-start; } }
@media (max-width: 540px) { .service-grid { grid-template-columns: 1fr; } .catalog-body { padding: 18px 16px 6px; } .catalog-draft { padding: 18px; } .catalog-group summary { padding: 23px 0; gap: 12px; } .catalog-amounts { gap: 8px; } .catalog-amounts dd { font-size: .96rem; } .catalog-consult .button { max-width: 100%; white-space: normal; } }
