/* BATES v0.26.176 – final homepage rhythm polish */

.hero-section-cover {
    min-height: clamp(590px, 66vh, 700px);
}
.hero-cover-inner {
    padding-block: clamp(88px, 9.2vh, 128px);
}
.trust-bar {
    position: relative;
    z-index: 4;
    margin-top: -22px;
}
.trust-bar-grid {
    box-shadow: 0 14px 34px rgba(19, 32, 60, .10);
}
.service-catalog-section {
    padding-top: clamp(48px, 5vw, 66px);
    padding-bottom: clamp(52px, 5.2vw, 70px);
}
.service-catalog-section .section-heading { margin-bottom: 26px; }
.service-catalog-section .catalog-card-body { padding-top: 20px; padding-bottom: 22px; }
.service-catalog-section .catalog-card-body h3 { font-size: 17px; line-height: 1.28; }
.service-catalog-section .catalog-card-body p { font-size: 14px; line-height: 1.55; }
.service-catalog-section .catalog-toggle-wrap { margin-top: 28px; }
.service-catalog-section + .section {
    padding-top: clamp(54px, 5.3vw, 72px);
    padding-bottom: clamp(56px, 5.5vw, 74px);
}
.service-catalog-section + .section .lead { font-size: 17px; }
.service-catalog-section + .section .check-list li { font-size: 14.5px; line-height: 1.5; }
.service-catalog-section + .section + .section-soft {
    padding-top: clamp(52px, 5vw, 68px);
    padding-bottom: clamp(54px, 5.2vw, 70px);
}
.service-catalog-section + .section + .section-soft .section-heading { margin-bottom: 25px; }
.service-catalog-section + .section + .section-soft .card-grid { gap: 14px; }
.service-catalog-section + .section + .section-soft .feature-card {
    padding: 22px 23px;
    border-color: #d8e2f0;
    box-shadow: 0 9px 24px rgba(19, 32, 60, .055);
}
.service-catalog-section + .section + .section-soft .feature-icon {
    width: 46px;
    height: 46px;
    border-radius: 13px;
    font-size: 20px;
    box-shadow: inset 0 0 0 1px rgba(49, 87, 167, .08);
}
.service-catalog-section + .section + .section-soft .feature-card h3 {
    margin-top: 14px;
    margin-bottom: 6px;
    font-size: 18px;
}
.service-catalog-section + .section + .section-soft .feature-card p {
    margin-top: 0;
    font-size: 13.5px;
    line-height: 1.55;
}
#main .bates-client-zone-section { padding-block: clamp(48px, 4.8vw, 64px); }
#main .bates-client-zone-section > .container { width: min(calc(100% - 42px), 1320px); }
#main .bates-client-zone {
    grid-template-columns: minmax(0, .88fr) minmax(0, 1.22fr);
    gap: clamp(32px, 4vw, 54px);
    padding: clamp(25px, 3vw, 40px);
}
#main .bates-client-zone-copy h2 { font-size: clamp(33px, 3.15vw, 48px); }
#main .bates-client-zone-visual {
    width: 106%;
    margin-left: -2%;
    padding: clamp(10px, 1.1vw, 14px);
}
.bates-client-zone-section + .section {
    padding-top: clamp(38px, 4vw, 52px);
    padding-bottom: clamp(40px, 4.2vw, 56px);
}
.process-section {
    padding-top: clamp(48px, 4.8vw, 64px);
    padding-bottom: clamp(50px, 5vw, 66px);
}
.process-section .section-heading { margin-bottom: 24px; }
.process-section .steps-grid { gap: 14px; }
.process-section .steps-grid li { padding: 21px 20px; }
.process-section .steps-grid li > span { width: 40px; height: 40px; flex-basis: 40px; }
.process-section .steps-grid h3 { font-size: 17px; }
.process-section .steps-grid p { font-size: 13.5px; line-height: 1.5; }
.process-section + .section-soft {
    padding-top: clamp(46px, 4.6vw, 60px);
    padding-bottom: clamp(48px, 4.8vw, 62px);
}
.process-section + .section-soft .section-heading { margin-bottom: 20px; }
.process-section + .section-soft .faq-list details { margin-block: 9px; }
.process-section + .section-soft .faq-list summary { padding: 16px 20px; }
.process-section + .section-soft .faq-list details div { padding: 0 20px 16px; }
.process-section + .section-soft .center { margin-top: 18px !important; }
.process-section + .section-soft + .section {
    padding-top: clamp(50px, 5vw, 68px);
    padding-bottom: clamp(52px, 5.2vw, 70px);
}
.process-section + .section-soft + .section .cta-panel {
    box-shadow: 0 20px 48px rgba(19, 32, 60, .14);
}
.site-footer .brand-footer img { width: 205px; }
.site-footer .footer-brand-column > p { max-width: 310px; }
@media (max-width: 1020px) {
    #main .bates-client-zone-visual { width: min(100%, 820px); margin-inline: auto; }
}
@media (max-width: 660px) {
    .hero-section-cover { min-height: 600px; }
    .hero-cover-inner { padding-block: 58px 270px; }
    .trust-bar { margin-top: -12px; }
    .service-catalog-section .catalog-card-body h3 { font-size: 16px; }
    #main .bates-client-zone-section > .container { width: min(calc(100% - 24px), 1320px); }
    #main .bates-client-zone { padding: 22px 16px; }
    #main .bates-client-zone-visual { width: 100%; margin: 0; }
    .process-section .steps-grid li { padding: 20px 18px; }
}
