/* v0.24: approved copy, stacked section headings and readable supporting text. */
/* Remove the custom nine-dot launcher; Enfold's mobile navigation remains usable. */
#lv-launcher, #lv-offcanvas, #lv-backdrop, .lv-backdrop { display:none!important; }

/* Use the full section width for headings and place descriptions below them. */
#top .ks-section-head,
#top .ks-project-index__intro,
#top .ks-project-index__head,
#top .ks-about-modern__head,
#top .ks-about-modern__closing {
    display:flex!important; flex-direction:column!important; align-items:center!important; text-align:center!important;
    grid-template-columns:none!important; gap:14px!important;
}
#top .ks-section-head>div, #top .ks-section-head>p,
#top .ks-project-index__intro>div, #top .ks-project-index__intro>p {
    position:static!important; width:100%!important; max-width:none!important;
    min-width:0; margin:0!important; transform:none!important; float:none!important;
}
#top .ks-section-head h2, #top .ks-project-index__intro h2 {
    max-width:none!important; width:100%!important; margin:0!important;
    word-break:normal!important; overflow-wrap:break-word; text-wrap:balance;
}
#top .ks-eyebrow:empty { display:none!important; }
#top .ks-documents .ks-section-head { align-items:center!important; text-align:center!important; }

/* Page title and contact stack share a vertical center, below the fixed header. */
#top .ks-page-band--editable { --ks-band-header-overlap:0px; }
#top.ks-v2-page .ks-page-band--editable {
    --ks-band-header-overlap:calc(var(--ks-header-safe,94px) + var(--ks-adminbar-safe,0px));
}
#top .ks-page-band--editable .ks-page-band__inner {
    display:grid!important; align-items:center!important;
    grid-template-columns:minmax(0,1fr) minmax(290px,350px)!important; gap:40px!important;
    box-sizing:border-box!important;
    min-height:calc(184px + var(--ks-band-header-overlap))!important;
    padding-top:calc(16px + var(--ks-band-header-overlap))!important;
    padding-bottom:16px!important;
}
/* Clear the old 900px copy cap: short titles must use the whole grid column. */
#top .ks-page-band--editable .ks-page-band__copy {
    align-self:center!important; justify-self:stretch!important;
    width:100%!important; max-width:none!important; min-width:0;
    box-sizing:border-box!important;
    padding:0 0 0 clamp(24px,6.25vw,96px)!important;
    margin:0!important; text-align:left!important;
}
#top .ks-page-band--editable .ks-page-band__copy h1 {
    display:block!important; width:100%!important; margin:0!important;
    max-width:none!important; text-align:left!important;
    font-size:clamp(35px,3.125vw,50px)!important;
    overflow-wrap:break-word; text-wrap:balance;
}
#top .ks-page-band__contacts { align-self:center!important; }
#top .ks-page-band__contact-link { min-height:68px!important; }
#top .ks-page-band__contact-link small { font-size:12px!important; letter-spacing:1px!important; line-height:1.3!important; }
#top .ks-page-band__contact-link strong { font-size:19px!important; line-height:1.25!important; }
#top .ks-page-band__contact-link>span { width:36px!important; height:36px!important; }
#top .ks-whatsapp-icon { display:block; width:23px; height:23px; }

/* Increase supporting copy, without changing h1/h2/h3 sizes. */
#top .ks-section p, #top .ks-section-head>p,
#top .ks-home-service-request p, #top .ks-about-piece p,
#top .ks-contact-modern p, #top .ks-career-modern p,
#top .ks-feedback-modern p, #top .ks-application-modern p,
#top .ks-form-builder-block p,
#top .ks-service-detail-block p, #top .ks-project-detail-block p,
#top .ks-service-detail-block li, #top .ks-project-detail-block li {
    font-size:17px!important; line-height:1.65!important;
}
#top .ks-detail-lead p, #top .ks-detail-flow p,
#top .ks-project-detail p, #top .ks-home-project-showcase p,
#top .ks-detail-points>div, #top .ks-project-featured em,
#top .ks-project-index__card em { font-size:17px!important; line-height:1.65!important; }
#top .ks-contact-modern__quick-card small, #top .ks-contact-modern__quick-card span,
#top .ks-form-topline small, #top .ks-form-mini-note,
#top .ks-empty-state span, #top .ks-finder-result-head strong,
#top .ks-project-featured small, #top .ks-project-index__card small {
    font-size:14px!important; line-height:1.45!important;
}
#top .ks-banner__content>p { font-size:19px!important; line-height:1.6!important; }
#top .ks-banner__trust span { font-size:14px!important; line-height:1.45!important; }
#top .ks-eyebrow { font-size:12px!important; line-height:1.4!important; }
#top .ks-btn, #top .ks-text-link, #top .ks-service-card>b,
#top .ks-doc-filters button, #top .ks-project-featured b,
#top .ks-project-index__card b { font-size:15px!important; line-height:1.4!important; }
#top .ks-form-grid label>span, #top .ks-form-choice-group legend,
#top .ks-finder__control>label { font-size:15px!important; line-height:1.4!important; }
#top .ks-form-grid input, #top .ks-form-grid select, #top .ks-form-grid textarea,
#top .ks-finder-city, #top .ks-doc-search { font-size:16px!important; line-height:1.5!important; }
#top .ks-consent span, #top .ks-form-grid label>small,
#top .ks-form-choice-group>small, #top .ks-form-choice-group__options label,
#top .ks-doc-copy small, #top .ks-service-result small,
#top .ks-project-index__head>span { font-size:14px!important; line-height:1.5!important; }
#top .ks-submit span, #top .ks-submit { font-size:15px!important; }
#top .ks-accordion summary { font-size:18px!important; line-height:1.45!important; }
#top .ks-accordion details>div { font-size:17px!important; line-height:1.65!important; }
#top .ks-footer-v2__brand p, #top .ks-footer-v2__col>a { font-size:16px!important; line-height:1.6!important; }
#top .ks-footer-v2__contact small, #top .ks-footer-v2__bottom span { font-size:13px!important; line-height:1.5!important; }

/* Retain the current home form and make its existing link a visible button. */
#top .ks-home-service-request__features { gap:18px!important; }
#top .ks-home-service-request__features strong { font-size:15px!important; line-height:1.3!important; }
#top .ks-home-service-request__features small { font-size:15px!important; line-height:1.45!important; margin-top:5px!important; }
#top .ks-home-service-request__link {
    display:inline-flex!important; align-items:center; justify-content:center; gap:22px;
    width:auto!important; padding:16px 22px!important; margin-top:28px!important;
    border-radius:10px; background:#073665!important; color:#fff!important;
    font-size:15px!important; line-height:1.4!important; text-decoration:none!important;
    transition:background .18s ease,box-shadow .18s ease;
}
#top .ks-home-service-request__link:hover, #top .ks-home-service-request__link:focus-visible {
    background:#0875c1!important; color:#fff!important; box-shadow:0 8px 24px rgba(8,117,193,.2);
}
#top .ks-home-service-request__link span { color:inherit!important; }

/* Requested corporate text + three benefits, with the existing column structure. */
#top .ks-about-piece--intro { padding-bottom:64px!important; }
#top .ks-about-modern__intro { align-items:start!important; }
#top .ks-about-intro__copy h2 { margin-bottom:20px!important; }
#top .ks-about-intro__copy p { margin:0 0 18px!important; }
#top .ks-about-intro__benefits { display:grid; gap:26px; }
#top .ks-about-intro__benefits article { padding-left:22px; border-left:3px solid #1395d0; }
#top .ks-about-intro__benefits h3 { margin:0 0 7px!important; }
#top .ks-about-intro__benefits p { margin:0!important; }
#top .ks-brands .ks-logo-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
#top .ks-brands .ks-logo-card img { width:auto; max-width:100%; height:72px; object-fit:contain; }
#top .ks-footer-v2__body { margin-top:0!important; }

@media(max-width:1100px) {
    #top .ks-page-band--editable .ks-page-band__inner { grid-template-columns:minmax(0,1fr) minmax(260px,310px)!important; gap:28px!important; }
}
@media(max-width:767px) {
    #top .ks-page-band--editable .ks-page-band__inner {
        grid-template-columns:1fr!important; gap:16px!important; min-height:0!important;
        padding-top:calc(16px + var(--ks-band-header-overlap))!important;
    }
    #top .ks-page-band--editable .ks-page-band__copy { padding-left:0!important; }
    #top .ks-page-band--editable .ks-page-band__copy h1 { font-size:clamp(29px,8.3vw,38.5px)!important; }
    #top .ks-page-band__contacts { grid-template-columns:repeat(2,minmax(0,1fr)); }
    #top .ks-page-band__contact-link { padding:12px!important; min-width:0; column-gap:8px; }
    #top .ks-page-band__contact-link strong { font-size:17px!important; white-space:normal!important; overflow-wrap:anywhere; }
    #top .ks-page-band__contact-link small { font-size:11px!important; letter-spacing:.6px!important; }
    #top .ks-section p, #top .ks-section-head>p, #top .ks-home-service-request p,
    #top .ks-about-piece p, #top .ks-banner__content>p { font-size:16px!important; }
    #top .ks-section-head { gap:12px!important; }
    #top .ks-home-service-request__features { grid-template-columns:1fr!important; gap:18px!important; }
    #top .ks-about-modern__intro { grid-template-columns:1fr!important; gap:26px!important; }
    #top .ks-brands .ks-logo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    #top .ks-brands .ks-logo-card img { height:56px; }
    #top .ks-finder__control { min-width:0; }
    #top .ks-finder-results { overflow-wrap:break-word; }
}
@media(max-width:420px) {
    #top .ks-page-band__contacts { grid-template-columns:1fr; }
    #top .ks-page-band__contact-link--whatsapp:nth-child(3) { grid-column:auto; }
}
