/* Ready services carousel and the final Telegram contact. */
.catalog-track { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.catalog-card { min-width:0; padding:28px; border:1px solid #ffffffed; border-radius:var(--radius); background:#ffffffc9; }
.catalog-card-heading { display:flex; align-items:center; gap:12px; min-height:48px; }
.catalog-card h3 { margin:0; color:var(--ink); font-size:27px; line-height:1.15; }
.catalog-icon { width:40px; height:40px; flex:none; }
.catalog-brand { width:158px; height:56px; object-fit:contain; }
.catalog-category { margin:20px 0 0; color:var(--muted); font-size:12px; font-weight:500; letter-spacing:.08em; text-transform:uppercase; }
.catalog-category::before { content:''; display:inline-block; width:6px; height:6px; margin:0 8px 1px 0; border-radius:50%; background:var(--blue); }
.catalog-benefit { margin:14px 0 0; font-size:24px; line-height:1.25; font-weight:600; letter-spacing:-.025em; color:var(--blue-text); }
.catalog-description { margin:16px 0 0; color:var(--body); font-size:17px; line-height:1.45; }
.catalog-controls { display:flex; align-items:center; justify-content:center; gap:22px; margin-top:20px; }
.catalog-controls .button { flex:none; width:44px; height:44px; padding:0; font-size:21px; }
#catalog-count { font-size:14px; font-weight:600; color:var(--blue-text); white-space:nowrap; min-width:50px; text-align:center; }
.catalog-dots { display:flex; align-items:center; gap:4px; }
.catalog-dots button { display:grid; place-items:center; border:0; background:none; padding:0; width:28px; height:36px; }
.catalog-dots span { width:7px; height:7px; border-radius:50%; background:#3479e933; transition:background .15s,transform .15s; }
.catalog-dots button[aria-current="true"] span { background:var(--blue-text); transform:scale(1.5); }
.catalog-custom { margin:20px 0 0; color:var(--body); font-size:17px; }
.has-viewer .slide-catalog { justify-content:flex-start; }
.has-viewer .product-carousel { display:flex; flex:1; flex-direction:column; min-height:0; margin-top:24px; }
.has-viewer .catalog-track { flex:1; min-height:0; }
.has-viewer .catalog-card { min-height:0; transition:border-color .18s,background .18s; }
.has-viewer .catalog-card.is-selected { border-color:#3479e9aa; background:linear-gradient(135deg,#fff,#e8f2fff2); box-shadow:0 0 0 1px #3479e91a; }
.contact-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.slide-contact h2 { font-size:clamp(42px,5.7vw,82px); max-width:430px; }
.contact-arrow { display:block; flex:1; min-width:80px; width:240px; max-width:260px; height:auto; }
.telegram-contact { display:inline-flex; align-items:center; justify-content:center; gap:18px; flex:none; padding:26px 32px; border-radius:100px; background:linear-gradient(125deg,var(--blue),var(--blue-deep)); color:#fff; font-weight:600; font-size:clamp(24px,2.9vw,42px); letter-spacing:-.03em; box-shadow:0 16px 44px #1356c21f; transition:transform .15s,box-shadow .15s; }
.telegram-contact svg { display:block; width:40px; height:40px; flex:none; }
.telegram-contact:hover { transform:translateY(-2px); box-shadow:0 20px 48px #1356c22b; }
.contact-description { margin:48px 0 0; max-width:820px; font-size:30px; color:var(--body); line-height:1.35; text-wrap:balance; }
.contact-description strong { color:var(--ink); font-weight:600; }
@container (min-width:761px) and (min-height:381px) and (max-height:640px) {
 .has-viewer .catalog-card { padding:16px; }
 .has-viewer .catalog-card-heading { min-height:32px; gap:10px; }
 .has-viewer .catalog-icon { width:30px; height:30px; }
 .has-viewer .catalog-brand { width:125px; height:36px; }
 .has-viewer .catalog-card h3 { font-size:22px; }
 .has-viewer .catalog-category { margin-top:12px; font-size:10px; }
 .has-viewer .catalog-benefit { margin-top:10px; font-size:18px; }
 .has-viewer .catalog-description { margin-top:10px; font-size:14px; line-height:1.4; }
 .has-viewer .catalog-controls { margin-top:12px; }
 .has-viewer .catalog-custom { margin-top:12px; font-size:14px; }
}
@media screen and (max-width:1100px) and (min-width:761px) {
 .catalog-track { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .catalog-card { padding:24px; }
 .catalog-benefit { font-size:22px; }
 .catalog-description { font-size:16px; }
 .contact-heading { flex-wrap:wrap; justify-content:flex-start; }
 .slide-contact h2 { max-width:none; }
 .contact-arrow { width:130px; max-width:150px; }
 .telegram-contact { font-size:30px; padding:24px; }
 .contact-description { font-size:26px; }
}
@media screen and (max-width:760px) {
 .has-viewer .catalog-track { grid-template-columns:1fr; }
 .has-viewer .product-carousel { margin-top:clamp(10px,2cqh,18px); }
 .has-viewer .catalog-card { padding:clamp(12px,3cqh,22px); border-radius:22px; }
 .catalog-card-heading { gap:10px; min-height:24px; }
 .catalog-icon { width:28px; height:28px; }
 .catalog-brand { width:135px; height:42px; }
 .catalog-card h3 { font-size:clamp(20px,4.5cqh,28px); }
 .catalog-category { margin-top:clamp(8px,2cqh,16px); font-size:10px; }
 .catalog-benefit { margin-top:8px; font-size:clamp(14px,3.4cqh,22px); line-height:1.2; }
 .catalog-description { margin-top:8px; font-size:clamp(11px,min(2.6cqh,3.5vw),16px); line-height:1.35; }
 .catalog-controls { gap:6px; margin-top:clamp(8px,1.8cqh,14px); }
 .catalog-controls .button { width:40px; height:40px; min-height:40px; font-size:19px; }
 #catalog-count { font-size:12px; min-width:42px; }
 .catalog-dots { gap:0; }
 .catalog-dots button { width:17px; height:32px; }
 .catalog-dots span { width:5px; height:5px; }
 .catalog-custom { margin-top:clamp(8px,1.8cqh,14px); font-size:clamp(11px,2.5cqh,15px); line-height:1.3; }
 .contact-heading { flex-direction:column; gap:12px; align-items:flex-start; }
 .has-viewer .slide-contact { justify-content:center; }
 .has-viewer .slide-contact h2 { font-size:clamp(38px,10cqh,68px); }
 .contact-arrow { width:130px; max-width:130px; flex:none; height:80px; margin-left:80px; transform:rotate(40deg); }
 .telegram-contact { font-size:clamp(24px,6cqh,36px); padding:18px 24px; gap:12px; }
 .telegram-contact svg { width:30px; height:30px; }
 .contact-description { margin-top:clamp(24px,6cqh,48px); font-size:clamp(18px,4.6cqh,28px); line-height:1.35; }
}
@container (max-width:360px) {
 .catalog-dots button { width:14px; }
}
@container (max-width:760px) and (max-height:500px) {
 .has-viewer .slide-catalog h2 { font-size:22px; }
 .has-viewer .slide-catalog .intro { font-size:12px; line-height:1.3; margin-top:8px; }
 .has-viewer .product-carousel { margin-top:8px; }
 .has-viewer .catalog-card { padding:12px; }
 .has-viewer .catalog-card h3 { font-size:20px; }
 .has-viewer .catalog-card-heading { min-height:24px; }
 .has-viewer .catalog-category { margin-top:6px; font-size:9px; }
 .has-viewer .catalog-benefit { font-size:14px; margin-top:6px; }
 .has-viewer .catalog-description { font-size:11px; margin-top:6px; }
 .has-viewer .catalog-brand { height:26px; width:115px; }
 .has-viewer .catalog-custom { font-size:11px; margin-top:6px; }
 .has-viewer .catalog-controls { margin-top:6px; }
}
@media screen and (min-width:761px) and (max-height:500px) {
 .has-viewer .slide-catalog .intro { font-size:13px; margin-top:8px; }
 .has-viewer .product-carousel { margin-top:10px; }
 .catalog-card { padding:12px; }
 .catalog-card-heading { min-height:26px; gap:8px; }
 .catalog-icon { width:24px; height:24px; }
 .catalog-brand { width:105px; height:26px; }
 .catalog-card h3 { font-size:18px; }
 .catalog-category { margin-top:6px; font-size:9px; }
 .catalog-benefit { margin-top:6px; font-size:13px; line-height:1.2; }
 .catalog-description { margin-top:6px; font-size:11px; line-height:1.3; }
 .catalog-controls { margin-top:6px; gap:16px; }
 .catalog-controls .button { height:30px; min-height:30px; width:30px; font-size:17px; }
 .catalog-dots button { height:26px; }
 .catalog-custom { margin-top:6px; font-size:11px; }
 .contact-heading { flex-wrap:nowrap; gap:16px; }
 .has-viewer .slide-contact h2 { font-size:36px; max-width:230px; }
 .contact-arrow { min-width:60px; max-width:130px; }
 .telegram-contact { padding:18px 22px; font-size:28px; }
 .telegram-contact svg { width:28px; height:28px; }
 .contact-description { margin-top:28px; font-size:22px; }
}
@media (prefers-reduced-motion:reduce) {
 .catalog-card,.catalog-dots span,.telegram-contact { transition:none; }
 .telegram-contact:hover { transform:none; }
}
@media print {
 .has-viewer .product-carousel { display:block; }
 .has-viewer .catalog-track { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
 .has-viewer .catalog-card[hidden] { display:block !important; }
 .catalog-card { break-inside:avoid; padding:12px; }
 .catalog-card h3 { font-size:18px; }
 .catalog-category { font-size:9px; margin-top:6px; }
 .catalog-benefit { font-size:14px; margin-top:6px; }
 .catalog-description { font-size:11px; margin-top:6px; }
 .catalog-icon { width:24px; height:24px; }
 .catalog-controls { display:none !important; }
 .contact-heading { flex-wrap:wrap; }
 .slide-contact h2 { font-size:42px; }
 .telegram-contact { font-size:26px; padding:16px; }
 .contact-description { font-size:22px; }
}
