/* KH & PARTNERS — Site Core (plain CSS, independent from the theme's Tailwind build). */
.kh-hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}

/* Consent checkboxes inside forms whose wrapper styles every input as a 50px text field */
.kh-consent{display:flex;gap:.6rem;align-items:flex-start;font-size:.8125rem;line-height:1.25rem;color:#1a2228;text-align:left}
.kh-consent input[type=checkbox]{width:1.125rem!important;height:1.125rem!important;min-width:1.125rem;padding:0!important;margin:.1rem 0 0!important;border:1px solid #1a222866!important;accent-color:#2cc2cb;flex:0 0 auto}
.kh-consent a{color:#2cc2cb;text-decoration:underline}
.kh-consent .wpcf7-list-item{margin:0}
.kh-consent .wpcf7-list-item label{display:flex;gap:.6rem;align-items:flex-start}

/* Mobile quick-contact bar */
.kh-mbar{display:none}
@media (max-width:1023px){
  .kh-mbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:79;background:#1a2228;box-shadow:0 -4px 18px rgba(26,34,40,.18);padding:.5rem .5rem calc(.5rem + env(safe-area-inset-bottom))}
  body{padding-bottom:4.25rem}
}
.kh-mbar__btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;min-height:3.1rem;margin:0 .25rem;border-radius:.3125rem;border:0;color:#fff;font-size:.75rem;line-height:1rem;font-weight:700;text-decoration:none;background:transparent;cursor:pointer}
.kh-mbar__btn--call{background:#2cc2cb}
.kh-mbar__btn--tg{background:#229ed9}
.kh-mbar__btn--cb{background:#ffffff1a}
.kh-mbar__btn:focus-visible,.kh-btn:focus-visible{outline:2px solid #fff;outline-offset:2px}

/* Callback dialog */
.kh-cb[hidden]{display:none}
.kh-cb{position:fixed;inset:0;z-index:90;display:flex;align-items:flex-end;justify-content:center}
@media (min-width:640px){.kh-cb{align-items:center}}
.kh-cb__backdrop{position:absolute;inset:0;background:#1c325280}
.kh-cb__panel{position:relative;background:#fff;width:100%;max-width:29.5rem;border-radius:.75rem .75rem 0 0;padding:1.5rem 1.25rem calc(1.5rem + env(safe-area-inset-bottom));box-shadow:0 10px 30px rgba(26,34,40,.2)}
@media (min-width:640px){.kh-cb__panel{border-radius:.75rem;padding:2.5rem}}
.kh-cb__close{position:absolute;top:.75rem;right:1rem;border:0;background:none;font-size:1.75rem;line-height:1;color:#818b99;cursor:pointer}
.kh-cb__title{font-family:inherit;font-weight:700;font-size:1.25rem;line-height:1.6875rem;color:#1a2228;margin:0 0 .5rem}
.kh-cb__text{font-size:.875rem;line-height:1.3125rem;color:#1a2228;margin:0 0 1rem}
.kh-field{display:block;margin:0 0 .9rem;font-size:.8125rem;color:#1a2228b3}
.kh-field input,.kh-field select,.kh-field textarea{display:block;width:100%;margin-top:.3rem;border:1px solid #1a222833;border-radius:.3125rem;padding:.85rem .9375rem;font-size:1rem;line-height:1.25rem;color:#1a2228;background:#fff;box-sizing:border-box}
.kh-field textarea{min-height:7rem;resize:vertical}
.kh-field input:focus,.kh-field select:focus,.kh-field textarea:focus{outline:2px solid #2cc2cb;outline-offset:0;border-color:#2cc2cb}
.kh-btn{display:inline-flex;align-items:center;justify-content:center;gap:.75rem;width:100%;margin-top:1rem;background:#2cc2cb;color:#fff;border:0;border-radius:.3125rem;padding:1.05rem 1.875rem;font-size:1rem;line-height:1rem;font-weight:700;cursor:pointer}
.kh-btn[disabled]{opacity:.6;cursor:wait}
.kh-cb__msg,.kh-form__msg{margin:.75rem 0 0;font-size:.875rem;line-height:1.3125rem}
.kh-msg--ok{color:#16805a}.kh-msg--err{color:#c0392b}

/* Thanks / complaints (E) */
.kh-forms{display:grid;gap:2.5rem}
@media (min-width:1024px){.kh-forms{grid-template-columns:1fr 1fr}}
.kh-form{background:#1a222808;border-radius:.625rem;padding:1.5rem}
@media (min-width:1024px){.kh-form{padding:2.5rem}}
.kh-form h2,.kh-form h3{font-weight:700;font-size:1.25rem;line-height:1.6875rem;color:#1a2228;margin:0 0 .5rem}
.kh-form__intro{font-size:.875rem;line-height:1.3125rem;color:#1a2228b3;margin:0 0 1.25rem}
.kh-notice{border-left:3px solid #2cc2cb;background:#2cc2cb1a;padding:.85rem 1rem;margin:0 0 1.5rem;font-size:.875rem;line-height:1.3125rem;color:#1a2228}
.kh-notice--err{border-color:#c0392b;background:#c0392b14}
.kh-thanks{max-width:80.625rem;margin:0 auto;padding:2.5rem 1.25rem}
@media (min-width:1024px){.kh-thanks{padding:3.75rem 1.25rem}}
.kh-thanks__title{font-weight:700;font-size:1.5rem;line-height:2rem;color:#1a2228;margin:0 0 .625rem}
@media (min-width:1024px){.kh-thanks__title{font-size:1.875rem;line-height:2.5rem}}
.kh-thanks__line{background:#2cc2cb;height:1px;max-width:19.5625rem;margin:0 0 1.875rem}
.kh-thanks__grid{display:grid;gap:1.25rem}
@media (min-width:768px){.kh-thanks__grid{grid-template-columns:repeat(3,1fr);gap:2.5rem}}
.kh-thanks__item{background:#fff;border:1px solid #1a222814;border-radius:.625rem;padding:1.5rem;margin:0}
.kh-thanks__item blockquote{margin:0 0 1rem;font-size:.9375rem;line-height:1.5rem;color:#1a2228}
.kh-thanks__item figcaption{font-size:.875rem;color:#2cc2cb;font-weight:700}
.kh-thanks__item figcaption span{display:block;color:#1a222880;font-weight:400}

/* Lead magnet (F10) */
.kh-magnet{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;background:#2cc2cb1a;border-radius:.625rem;padding:1.5rem;margin:1.5rem 0}
.kh-magnet__title{font-weight:700;font-size:1.125rem;color:#1a2228;margin:0}
.kh-magnet__btn{display:inline-flex;background:#2cc2cb;color:#fff!important;border-radius:.3125rem;padding:.75rem 1.875rem;font-weight:700;text-decoration:none}

/* Awards captions (B1) */
.kh-award-caption{display:block;margin-top:.5rem;text-align:center;font-size:.75rem;line-height:1rem;color:#1a2228b3}

/* ---------- Header: "Services" dropdown (desktop) ---------- */
.nav-primary>ul{position:relative}
.kh-has-sub{position:static}
.kh-has-sub>a::after{content:"";display:inline-block;width:.35rem;height:.35rem;margin-left:.4rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-.15rem) rotate(45deg)}
.kh-sub{display:none;position:absolute;right:0;top:100%;z-index:60;width:min(56rem,92vw);margin:.9rem 0 0;padding:1.25rem 1.5rem 1rem;list-style:none;background:#fff;border-top:2px solid #2cc2cb;box-shadow:0 10px 30px rgba(26,34,40,.18);columns:3;column-gap:1.75rem}
.kh-has-sub:hover>.kh-sub,.kh-has-sub:focus-within>.kh-sub{display:block}
.kh-sub::before{content:"";position:absolute;left:0;right:0;top:-1rem;height:1rem}
.kh-sub li{break-inside:avoid;margin:0 0 .6rem}
.nav-primary .kh-sub a,.home-header .nav-primary .kh-sub a{display:block;font-family:inherit;font-weight:400;font-size:.8125rem;line-height:1.15rem;color:#1a2228;text-transform:none;text-decoration:none}
.nav-primary .kh-sub a:hover,.nav-primary .kh-sub a[aria-current="page"],.home-header .nav-primary .kh-sub a:hover{color:#2cc2cb}
/* Mobile off-canvas list */
.kh-mdetails{border-bottom:1px solid #c3d1e580}
.kh-mdetails>summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:1.5rem 1.25rem;font-weight:700;font-size:1rem;line-height:.875rem}
.kh-mdetails>summary::-webkit-details-marker{display:none}
.kh-mdetails>summary::after{content:"+";font-size:1.25rem;color:#2cc2cb}
.kh-mdetails[open]>summary::after{content:"−"}
.kh-msub{list-style:none;margin:0;padding:0 1.25rem 1rem}
.kh-msub li a{display:block;padding:.55rem 0;font-size:.9375rem;color:#1a2228;text-decoration:none}
.kh-msub li:first-child a{font-weight:700;color:#2cc2cb}

/* ---------- Home: all services grid ---------- */
.kh-svc-grid{padding:1.5rem 1.25rem 0}
.kh-svc-grid ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:.6rem 1.5rem}
@media (min-width:640px){.kh-svc-grid ul{grid-template-columns:1fr 1fr}}
@media (min-width:1024px){.kh-svc-grid ul{grid-template-columns:repeat(3,1fr)}}
.kh-svc-grid li a{display:flex;align-items:center;gap:.6rem;padding:.7rem .9rem;background:#fff;border:1px solid #1a222814;border-radius:.3125rem;color:#1a2228;font-size:.875rem;line-height:1.2rem;text-decoration:none;transition:border-color .3s,color .3s}
.kh-svc-grid li a::before{content:"";flex:0 0 .4rem;height:.4rem;border-radius:50%;background:#2cc2cb}
.kh-svc-grid li a:hover{border-color:#2cc2cb;color:#2cc2cb}
.kh-svc-grid__all{display:inline-block;margin-top:1.25rem;color:#2cc2cb;font-weight:700;font-size:1rem;text-decoration:none}

/* ---------- Service page: related services / cases ---------- */
.kh-wrap{max-width:80.125rem;margin:0 auto;padding:2.5rem 1rem}
.kh-related+.kh-related .kh-wrap{padding-top:0}
.kh-related__title{font-weight:700;font-size:1.25rem;line-height:1.6875rem;color:#1a2228;margin:0 0 .625rem}
@media (min-width:1024px){.kh-related__title{font-size:1.5rem;line-height:2rem}}
.kh-line{background:#2cc2cb;height:1px;max-width:19.5625rem;margin:0 0 1.25rem}
.kh-related__list{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}
@media (min-width:768px){.kh-related__list{grid-template-columns:repeat(3,1fr);gap:1.5rem}}
.kh-related__list a{display:block;height:100%;padding:1rem 1.25rem;border:1px solid #1a222814;border-radius:.625rem;color:#1a2228;font-weight:700;font-size:1rem;line-height:1.35rem;text-decoration:none;transition:border-color .3s,color .3s}
.kh-related__list a:hover{border-color:#2cc2cb;color:#2cc2cb}
.kh-related__list a span{color:#2cc2cb}

/* ---------- /reviews: two buttons ---------- */
.kh-reviews{max-width:80.625rem;margin:0 auto;padding:2.5rem 1.25rem}
.kh-reviews__intro{max-width:48rem;font-size:1rem;line-height:1.5rem;color:#1a2228;margin:0 0 1.5rem}
.kh-switch{display:flex;flex-wrap:wrap;gap:1rem;margin:0 0 1.75rem}
.kh-switch__btn{flex:1 1 14rem;display:flex;align-items:center;justify-content:center;gap:.6rem;min-height:3.5rem;padding:.9rem 1.5rem;border-radius:.3125rem;font-weight:700;font-size:1.0625rem;text-decoration:none;border:2px solid transparent;transition:opacity .2s}
.kh-switch__btn--thanks{background:#2cc2cb;color:#fff;border-color:#2cc2cb}
.kh-switch__btn--complaint{background:#fff;color:#1a2228;border-color:#1a2228}
.kh-reviews.kh-js .kh-switch__btn:not(.is-active){opacity:.55}
.kh-reviews.kh-js .kh-switch__btn.is-active{box-shadow:0 6px 18px rgba(26,34,40,.15)}
.kh-panels{display:grid;gap:2.5rem}
.kh-reviews:not(.kh-js) .kh-panels{grid-template-columns:1fr}
@media (min-width:1024px){.kh-reviews:not(.kh-js) .kh-panels{grid-template-columns:1fr 1fr}}
.kh-reviews.kh-js .kh-panel{max-width:46rem}
.kh-panel[hidden]{display:none}
.kh-form--complaint{background:#1a22280d;border:1px solid #1a222833}
.kh-btn--dark{background:#1a2228}
.kh-field input[type=file]{padding:.6rem;border-style:dashed}
.kh-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
/* Rating stars (right-to-left trick so hover fills the preceding stars) */
.kh-stars{display:inline-flex;flex-direction:row-reverse;justify-content:flex-end;gap:.25rem;margin-top:.35rem}
.kh-stars input{position:absolute;opacity:0;width:1px;height:1px}
.kh-stars label{font-size:2rem;line-height:1;color:#c3d1e5;cursor:pointer;transition:color .15s}
.kh-stars label:hover,.kh-stars label:hover~label,.kh-stars input:checked~label{color:#f5b301}
.kh-stars input:focus-visible+label{outline:2px solid #2cc2cb;outline-offset:2px}
.kh-thanks__stars{color:#f5b301;font-size:1.05rem;letter-spacing:.1rem;margin:0 0 .6rem}
.kh-thanks__stars-off{color:#c3d1e5}
.kh-thanks__more{margin:1.5rem 0 0}
.kh-thanks__more a{color:#2cc2cb;font-weight:700;text-decoration:none}

/* ---------- Lead magnet form ---------- */
.kh-magnet__form{flex:1 1 22rem;display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem 1rem}
.kh-magnet__form .kh-field{flex:1 1 14rem;margin:0}
.kh-magnet__form .kh-consent{flex:1 1 100%}
.kh-magnet__form button{border:0;cursor:pointer}
.kh-magnet__dl{margin-top:.6rem}

/* ---------- Urgent landing / case sections ---------- */
.kh-risk{margin-top:1.25rem;border-left:3px solid #c0392b;background:#c0392b0d;padding:1rem 1.25rem;border-radius:0 .3125rem .3125rem 0}
.kh-case-sec h2{font-weight:700;font-size:1.25rem;line-height:1.6875rem;color:#1a2228;margin:0 0 .5rem}
.kh-article-meta{font-size:.875rem;line-height:1.25rem;color:#1a222880;margin:.4rem 0 0}
.kh-article-meta a,.kh-article-service a{color:#2cc2cb;font-weight:700;text-decoration:none}
.kh-article-service{border-top:1px solid #1a222814;padding-top:1.25rem;font-size:1rem}
/* Theme preflight sets button{background-color:transparent}; keep our buttons visible regardless of load order. */
button.kh-btn,a.kh-btn{background-color:#2cc2cb}
button.kh-btn.kh-btn--dark,a.kh-btn.kh-btn--dark{background-color:#1a2228}
button.kh-btn:hover{filter:brightness(.95)}
.kh-reviews__title{font-size:2rem;line-height:1.2;font-weight:700;color:#1a2228;margin:0 0 1rem}
