/* KSL Meta LP — Frontend CSS v3
   Body scoped to .ksl-meta-lp
   Brand: #63777c · #bccbcc · #222 · #f7f7f7 */

.ksl-meta-lp*,.ksl-meta-lp*::before,.ksl-meta-lp*::after{box-sizing:border-box;margin:0;padding:0}
.ksl-meta-lp{font-family:'Merriweather Sans','Lato',sans-serif;color:#222;background:#fff;-webkit-font-smoothing:antialiased}

/* Hide all theme chrome — scoped so nothing else on site is affected */
.ksl-meta-lp #header,.ksl-meta-lp .header-wrap,.ksl-meta-lp #top-bar,
.ksl-meta-lp #top-bar-sticky-wrapper,.ksl-meta-lp #mobile-header,
.ksl-meta-lp #mobile-header-sticky-wrapper,.ksl-meta-lp #mobile-top-text,
.ksl-meta-lp nav.std-menu,.ksl-meta-lp .site-navigation,
.ksl-meta-lp #footer-widgets,.ksl-meta-lp .main-footer,
.ksl-meta-lp .page-heading.fancy-heading,.ksl-meta-lp .breadcrumbs,
.ksl-meta-lp .sidebar,.ksl-meta-lp #sidebar,
.ksl-meta-lp .inner-page-wrap{display:none!important}
.ksl-meta-lp .wpadminbar{display:block!important}

.ksl-lp-wrap{max-width:1180px;margin:0 auto;padding:0 24px}

/* ── Header ── */
.ksl-lp-header{background:#fff;border-bottom:1px solid #e8eded;position:sticky;top:0;z-index:1000;box-shadow:0 2px 8px rgba(0,0,0,.06)}
.ksl-lp-header__inner{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;max-width:1180px;margin:0 auto}
.ksl-lp-header__logo{height:54px;width:auto;display:block}
.ksl-lp-header__phone{display:flex;align-items:center;gap:6px;font-family:'Merriweather Sans',sans-serif;font-size:18px;font-weight:700;color:#63777c;text-decoration:none}
.ksl-lp-header__phone:hover{color:#222}

/* ── Hero ── */
.ksl-lp-hero{position:relative;min-height:560px;background-size:cover;background-position:center;display:flex;align-items:center;padding:80px 0}
.ksl-lp-hero__overlay{position:absolute;inset:0;background:linear-gradient(105deg,rgba(34,34,34,.74) 0%,rgba(34,34,34,.44) 55%,rgba(34,34,34,.12) 100%)}
.ksl-lp-hero__content{position:relative;max-width:600px;color:#fff;padding:0 24px}
.ksl-lp-eyebrow{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#bccbcc;margin-bottom:12px}
.ksl-lp-hero__h1{font-family:'Merriweather',serif;font-size:clamp(26px,3.8vw,46px);font-weight:300;line-height:1.25;color:#fff;margin-bottom:16px}
.ksl-lp-hero__sub{font-size:clamp(14px,1.7vw,17px);line-height:1.75;color:rgba(255,255,255,.88);margin-bottom:28px}
.ksl-lp-hero__rating{display:flex;align-items:center;gap:8px;margin-top:16px;font-size:13px;color:rgba(255,255,255,.82)}

/* ── Buttons ── */
.ksl-lp-btn{display:inline-block;font-family:'Merriweather Sans',sans-serif;font-size:15px;font-weight:600;padding:15px 28px;border-radius:2px;text-decoration:none;cursor:pointer;border:2px solid transparent;transition:background .2s,transform .15s;line-height:1.3}
.ksl-lp-btn:hover{transform:translateY(-1px)}
.ksl-lp-btn--hero{background:#63777c;color:#fff;border-color:#63777c}
.ksl-lp-btn--hero:hover{background:#4e6164;color:#fff}
.ksl-lp-btn--submit{background:#63777c;color:#fff;border-color:#63777c;width:100%;text-align:center;font-size:15px;padding:16px 20px}
.ksl-lp-btn--submit:hover{background:#4e6164;color:#fff}
.ksl-lp-btn--outline{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
.ksl-lp-btn--outline:hover{background:rgba(255,255,255,.1);color:#fff;border-color:#fff}

/* ── Stars ── */
.ksl-stars{color:#f5c518;letter-spacing:3px}

/* ── Trust bar ── */
.ksl-lp-trust-bar{background:#f7f7f7;border-bottom:1px solid #e4ebec;padding:16px 0}
.ksl-lp-trust-bar__list{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:8px 26px;padding:0;margin:0}
.ksl-lp-trust-bar li{display:flex;align-items:center;gap:6px;font-size:13px;color:#63777c;font-weight:600}

/* ── Main ── */
.ksl-lp-main{padding:60px 0 72px}
.ksl-lp-main__grid{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:start}
.ksl-lp-main__left h2{font-family:'Merriweather',serif;font-size:clamp(20px,2.8vw,28px);font-weight:300;color:#63777c;margin-bottom:12px}
.ksl-lp-intro{font-size:15px;line-height:1.8;color:#444;margin-bottom:30px}

/* Steps */
.ksl-lp-steps{display:flex;flex-direction:column;gap:20px;margin-bottom:32px}
.ksl-lp-step{display:flex;gap:14px;align-items:flex-start}
.ksl-lp-step__num{flex-shrink:0;width:36px;height:36px;border-radius:50%;background:#63777c;color:#fff;font-family:'Merriweather',serif;display:flex;align-items:center;justify-content:center;margin-top:2px}
.ksl-lp-step h3{font-size:14px;font-weight:700;color:#222;margin-bottom:3px}
.ksl-lp-step p{font-size:13px;color:#666;line-height:1.6}

/* Pull quote */
.ksl-lp-pull-quote{border-left:3px solid #bccbcc;padding:12px 0 12px 16px;margin-bottom:22px}
.ksl-lp-pull-quote p{font-family:'Merriweather',serif;font-size:14px;font-weight:300;font-style:italic;color:#444;line-height:1.75;margin-bottom:6px}
.ksl-lp-pull-quote cite{font-size:12px;color:#63777c;font-style:normal}

/* Rating badge */
.ksl-lp-rating-badge{display:flex;align-items:center;gap:10px;padding:12px 14px;background:#f7f7f7;border:1px solid #e4ebec;border-radius:4px;font-size:13px;color:#444}
.ksl-lp-rating-badge .ksl-stars{font-size:18px}

/* ── Form box ── */
.ksl-lp-form-box{background:#fff;border:1px solid #d4e0e1;border-radius:4px;overflow:hidden;box-shadow:0 4px 24px rgba(99,119,124,.10);position:sticky;top:86px}
.ksl-lp-form-box__hdr{background:#63777c;padding:20px 24px}
.ksl-lp-form-box__hdr h2{font-family:'Merriweather',serif;font-size:18px;font-weight:300;color:#fff;margin-bottom:3px}
.ksl-lp-form-box__hdr p{font-size:12px;color:rgba(255,255,255,.78);letter-spacing:.04em;text-transform:uppercase}
.ksl-lp-form-box__body{padding:22px}

/* ── Built-in form ── */
.ksl-form{display:flex;flex-direction:column;gap:12px}
.ksl-form__row{display:flex;flex-direction:column;gap:12px}
@media(min-width:480px){.ksl-form__row--half{flex-direction:row}.ksl-form__row--half .ksl-form__field{flex:1}}
.ksl-form__field{display:flex;flex-direction:column;gap:4px}
.ksl-form__field label{font-family:'Lato',sans-serif;font-size:12px;font-weight:700;color:#444;text-transform:uppercase;letter-spacing:.04em}
.ksl-form__field label em{font-weight:400;text-transform:none;color:#888}
.ksl-form__field input,.ksl-form__field select,.ksl-form__field textarea{width:100%;padding:10px 12px;border:1px solid #c8d5d6;border-radius:3px;background:#fafcfc;font-family:'Lato',sans-serif;font-size:14px;color:#222;transition:border-color .15s,box-shadow .15s;-webkit-appearance:none;appearance:none}
.ksl-form__field input:focus,.ksl-form__field select:focus,.ksl-form__field textarea:focus{border-color:#63777c;box-shadow:0 0 0 3px rgba(99,119,124,.12);outline:none}
.ksl-form__field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath fill='%2363777c' d='M6 8L0 0h12z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:30px}
.ksl-form__field textarea{resize:vertical;min-height:80px}
.ksl-form__consent{display:flex;align-items:flex-start;gap:8px}
.ksl-form__consent input{width:16px;height:16px;margin-top:2px;flex-shrink:0;accent-color:#63777c}
.ksl-form__consent span{font-family:'Lato',sans-serif;font-size:12px;color:#666;line-height:1.5}
.ksl-form__consent a{color:#63777c}
.ksl-form-err{background:#fef2f2;border-left:3px solid #e53935;padding:8px 12px;font-size:13px;color:#b71c1c;border-radius:0 3px 3px 0;margin-bottom:4px}

/* Form success */
.ksl-form-success{text-align:center;padding:24px 16px}
.ksl-form-success__icon{font-size:40px;margin-bottom:12px}
.ksl-form-success h3{font-family:'Merriweather',serif;font-size:18px;font-weight:300;color:#63777c;margin-bottom:8px}
.ksl-form-success p{font-size:14px;color:#444;line-height:1.65;margin-bottom:8px}
.ksl-form-success__tel a{color:#63777c;font-size:17px;font-weight:700}

.ksl-lp-reassurance{display:flex;align-items:center;justify-content:center;gap:5px;font-size:12px;color:#999;margin-top:8px}

/* ── Testimonials ── */
.ksl-lp-testimonials{background:#63777c;padding:56px 0}
.ksl-lp-testimonials h2{font-family:'Merriweather',serif;font-size:clamp(18px,2.5vw,24px);font-weight:300;color:#fff;text-align:center;margin-bottom:28px}
.ksl-lp-testimonials__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-bottom:28px}
.ksl-lp-testimonial{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.16);border-radius:4px;padding:22px 18px}
.ksl-lp-testimonial .ksl-stars{display:block;margin-bottom:10px;font-size:14px}
.ksl-lp-testimonial blockquote{font-family:'Merriweather',serif;font-size:13px;font-weight:300;font-style:italic;line-height:1.75;color:rgba(255,255,255,.88);margin-bottom:10px;border:none;padding:0}
.ksl-lp-testimonial cite{font-size:12px;color:#bccbcc;font-style:normal}

/* ── Contact ── */
.ksl-lp-contact{background:#f7f7f7;padding:56px 0}
.ksl-lp-contact__grid{display:grid;grid-template-columns:1fr 1.5fr;gap:44px;align-items:start}
.ksl-lp-contact h2{font-family:'Merriweather',serif;font-size:clamp(18px,2.3vw,24px);font-weight:300;color:#63777c;margin-bottom:14px}
.ksl-lp-contact address{font-size:15px;line-height:1.8;color:#444;font-style:normal;margin-bottom:14px}
.ksl-lp-contact address strong{color:#222;font-weight:700}
.ksl-lp-contact__hours{font-size:14px;line-height:1.7;color:#444;margin-bottom:14px}
.ksl-lp-contact__link{color:#63777c;text-decoration:none;font-weight:600;font-size:15px}
.ksl-lp-contact__link:hover{color:#222}
.ksl-lp-contact__areas{font-size:13px;color:#666;margin-top:14px;line-height:1.7}

/* ── Footer ── */
.ksl-lp-footer{background:#63777c;padding:30px 0}
.ksl-lp-footer__inner{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}
.ksl-lp-footer__logo{opacity:.7;filter:brightness(10)}
.ksl-lp-footer__copy{font-size:13px;color:rgba(255,255,255,.80);line-height:1.7}
.ksl-lp-footer__copy a{color:rgba(255,255,255,.9)}
.ksl-lp-footer__finance{font-size:11px;color:rgba(255,255,255,.50);max-width:620px;line-height:1.6}

/* ── Mobile sticky bar ── */
.ksl-lp-sticky{display:none;position:fixed;bottom:0;left:0;right:0;z-index:9999;background:#222;border-top:2px solid #63777c}
.ksl-lp-sticky__call,.ksl-lp-sticky__book{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:14px 10px;font-family:'Merriweather Sans',sans-serif;font-size:14px;font-weight:600;text-decoration:none;transition:background .2s}
.ksl-lp-sticky__call{background:#444;color:#fff;border-right:1px solid #333}
.ksl-lp-sticky__call:hover{background:#333;color:#fff}
.ksl-lp-sticky__book{background:#63777c;color:#fff}
.ksl-lp-sticky__book:hover{background:#4e6164;color:#fff}

/* ── Tablet ── */
@media(max-width:1024px){
    .ksl-lp-main__grid{grid-template-columns:1fr;gap:36px}
    .ksl-lp-form-box{position:static}
    .ksl-lp-testimonials__grid{grid-template-columns:1fr 1fr}
    .ksl-lp-contact__grid{grid-template-columns:1fr}
}

/* ── Mobile ── */
@media(max-width:767px){
    .ksl-lp-sticky{display:flex}
    .ksl-lp-footer{padding-bottom:72px}
    .ksl-lp-hero{min-height:420px;padding:52px 0 68px;background-position:65% center}
    .ksl-lp-hero__h1{font-size:24px}
    .ksl-lp-hero__sub{font-size:14px}
    .ksl-lp-trust-bar li span{display:none}
    .ksl-lp-main{padding:40px 0 52px}
    .ksl-lp-testimonials__grid{grid-template-columns:1fr}
    .ksl-lp-header__phone{font-size:16px}
    .ksl-lp-form-box__body{padding:16px}
    .ksl-lp-contact__grid iframe{height:240px}
}
@media(max-width:400px){.ksl-lp-hero__h1{font-size:21px}}

/* ── Project Gallery ── */
.ksl-lp-gallery{background:#fff;padding:52px 0 44px}
.ksl-lp-gallery h2{font-family:'Merriweather',serif;font-size:clamp(18px,2.3vw,24px);font-weight:300;color:#63777c;text-align:center;margin-bottom:28px}
.ksl-lp-gallery__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.ksl-lp-gallery__item{overflow:hidden;border-radius:4px;aspect-ratio:4/3;background:#f7f7f7}
.ksl-lp-gallery__item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s}
.ksl-lp-gallery__item:hover img{transform:scale(1.04)}
.ksl-lp-gallery__cta-line{text-align:center;margin-top:22px;font-size:15px;color:#444}
.ksl-lp-gallery__cta-line a{color:#63777c;font-weight:700;text-decoration:none}
.ksl-lp-gallery__cta-line a:hover{color:#222}
@media(max-width:767px){
    .ksl-lp-gallery__grid{grid-template-columns:1fr 1fr;gap:10px}
    .ksl-lp-gallery{padding:36px 0 30px}
}
@media(max-width:480px){
    .ksl-lp-gallery__grid{grid-template-columns:1fr}
}
