/* Klus Consultancy V4.3 — mobile polish, calm motion and conversion-first CTA */
:root{
  --kc43-navy:#101a2b;
  --kc43-orange:#ed7b3d;
  --kc43-paper:#f7f5f1;
  --kc43-ink:#141b24;
  --kc43-muted:#67717d;
  --kc43-line:rgba(16,26,43,.12);
  --kc43-shadow:0 24px 70px rgba(9,18,31,.11);
  --kc43-ease:cubic-bezier(.2,.72,.2,1);
}

/* hard mobile overflow guard */
html,body{width:100%;max-width:100%;overflow-x:hidden}
@supports (overflow:clip){html,body{overflow-x:clip}}
body.public-route,.public-route main,.public-route section,.public-route footer,.public-route .site-header{max-width:100%}
.public-route img,.public-route video,.public-route canvas,.public-route svg{max-width:100%}
.public-route .wrap{min-width:0}

/* global reveal language */
.js [data-kc-v43-reveal]{opacity:0;transform:translate3d(0,24px,0);transition:opacity .72s var(--kc43-ease),transform .72s var(--kc43-ease);transition-delay:var(--kc-v43-delay,0ms)}
.js [data-kc-v43-reveal].is-visible{opacity:1;transform:none}
.js [data-kc-v43-reveal="soft"]{transform:translate3d(0,14px,0)}
.js [data-kc-v43-reveal="image"]{opacity:1;transform:none;clip-path:inset(0 0 100% 0 round 20px);transition:clip-path 1s var(--kc43-ease)}
.js [data-kc-v43-reveal="image"].is-visible{clip-path:inset(0 0 0 0 round 20px)}

/* homepage: shorter, calmer, more editorial */
.kc-home-v42{overflow-x:clip;background:#fff}
.kc-home-v42 .kc-hero-v42{min-height:min(880px,94svh)}
.kc-home-v42 .kc-hero-content-v42{padding-top:clamp(150px,17vh,210px);padding-bottom:74px}
.kc-home-v42 .kc-hero-copy-v42 h1{max-width:850px;font-size:clamp(56px,6.7vw,94px);letter-spacing:-.052em}
.kc-home-v42 .kc-hero-copy-v42>p{max-width:660px}
.kc-home-v42 .kc-hero-planner-card-v42{border-radius:22px;backdrop-filter:blur(12px)}
.kc-home-v42 .kc-routes-v42{padding-block:90px}
.kc-home-v42 .kc-section-head-v42{margin-bottom:38px}
.kc-home-v42 .kc-route-grid-v42{gap:14px}
.kc-home-v42 .kc-route-card-v42{min-height:410px;border-radius:22px;overflow:hidden;box-shadow:none}
.kc-home-v42 .kc-route-card-main-v42{min-height:410px}
.kc-home-v42 .kc-route-card-v42 img{transition:transform 1s var(--kc43-ease),filter .6s ease}
.kc-home-v42 .kc-route-card-v42:hover img{transform:scale(1.035)}
.kc-home-v42 .kc-route-card-v42:hover>div{transform:translateY(-4px)}
.kc-home-v42 .kc-regie-v42{padding-block:92px}
.kc-home-v42 .kc-regie-points-v42 article{padding-block:15px}
.kc-home-v42 .kc-projects-v42{padding-block:88px}
.kc-home-v42 .kc-project-card-v42{border-radius:20px;overflow:hidden}
.kc-home-v42 .kc-area-v42{padding-bottom:48px}

/* conversion bridge replaces direct-contact thinking */
.kc-scan-bridge-v43{padding:84px 0;background:var(--kc43-paper);border-block:1px solid var(--kc43-line)}
.kc-scan-bridge-grid-v43{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);gap:clamp(42px,7vw,96px);align-items:center}
.kc-scan-bridge-copy-v43 h2{max-width:760px;margin:14px 0 18px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(42px,5.2vw,70px);font-weight:400;line-height:.99;letter-spacing:-.05em}
.kc-scan-bridge-copy-v43>p{max-width:660px;margin:0;color:var(--kc43-muted);font-size:16px;line-height:1.75}
.kc-scan-bridge-actions-v43{display:flex;align-items:center;gap:13px;flex-wrap:wrap;margin-top:28px}
.kc-scan-primary-v43,.kc-scan-secondary-v43{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 22px;border-radius:999px;font-size:13px;font-weight:850;transition:.25s var(--kc43-ease)}
.kc-scan-primary-v43{background:var(--kc43-navy);color:#fff}.kc-scan-primary-v43:hover{background:var(--kc43-orange);transform:translateY(-2px)}
.kc-scan-secondary-v43{border:1px solid var(--kc43-line);background:#fff;color:var(--kc43-ink)}.kc-scan-secondary-v43:hover{border-color:rgba(16,26,43,.3);transform:translateY(-2px)}
.kc-scan-steps-v43{display:grid;gap:1px;border:1px solid var(--kc43-line);border-radius:22px;overflow:hidden;background:var(--kc43-line);box-shadow:var(--kc43-shadow)}
.kc-scan-step-v43{display:grid;grid-template-columns:48px 1fr;gap:14px;padding:22px;background:#fff}
.kc-scan-step-v43>span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#fff2e9;color:var(--kc43-orange);font-size:11px;font-weight:900}
.kc-scan-step-v43 b{display:block;margin-bottom:4px;font-size:14px}.kc-scan-step-v43 small{display:block;color:var(--kc43-muted);font-size:11px;line-height:1.55}

/* Mobile conversion bar: guide, don't push to phone/WhatsApp */
.mobile-contact-bar.kc-mobile-conversion-v43{grid-template-columns:1.12fr .88fr;gap:8px;left:16px;right:16px;bottom:max(12px,env(safe-area-inset-bottom));padding:0;background:transparent}
.mobile-contact-bar.kc-mobile-conversion-v43 a{min-width:0;min-height:54px;padding:0 15px;font-size:11px;line-height:1.1;text-align:center;box-shadow:0 14px 40px rgba(8,16,28,.22)}
.mobile-contact-bar.kc-mobile-conversion-v43 a:first-child{background:var(--kc43-orange)}
.mobile-contact-bar.kc-mobile-conversion-v43 a:last-child{background:var(--kc43-navy)}
.kc-mobile-conversion-menu-v43 p{display:grid;gap:3px}.kc-mobile-conversion-menu-v43 p strong{font-size:13px}.kc-mobile-conversion-menu-v43 p small{color:var(--kc43-muted);font-size:10px;font-weight:500}

/* Local SEO landing pages: finished editorial composition */
.kc-local-v43{overflow:hidden;background:#fff}
.kc-local-v43 .local-seo-hero{position:relative;isolation:isolate;overflow:hidden;padding:154px 0 96px;background:linear-gradient(135deg,#101a2b,#183552);color:#fff}
.kc-local-hero-grid-v43{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.72fr);gap:clamp(48px,7vw,100px);align-items:end}
.kc-local-v43 .local-seo-hero h1{max-width:900px;margin:17px 0 22px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(50px,6.4vw,86px);font-weight:400;line-height:.95;letter-spacing:-.055em;text-wrap:balance}
.kc-local-v43 .local-seo-hero p{max-width:720px;color:rgba(255,255,255,.76);font-size:17px;line-height:1.7}
.kc-local-visual-v43{position:relative;min-height:390px;border:1px solid rgba(255,255,255,.18);border-radius:24px;overflow:hidden;background:rgba(255,255,255,.07);box-shadow:0 28px 80px rgba(0,0,0,.2)}
.kc-local-visual-v43 img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.72;transform:scale(1.03)}
.kc-local-visual-v43:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(7,15,27,.82))}
.kc-local-visual-caption-v43{position:absolute;z-index:2;left:22px;right:22px;bottom:20px;display:grid;gap:5px}.kc-local-visual-caption-v43 small{color:#ffc19d;text-transform:uppercase;letter-spacing:.13em;font-weight:850}.kc-local-visual-caption-v43 strong{font-family:Georgia,serif;font-size:29px;font-weight:400}
.kc-local-proof-v43{padding:22px 0;border-bottom:1px solid var(--kc43-line);background:#fff}
.kc-local-proof-v43 .wrap{display:grid;grid-template-columns:repeat(3,1fr)}
.kc-local-proof-v43 div{padding:8px 22px;border-left:1px solid var(--kc43-line)}.kc-local-proof-v43 div:first-child{border-left:0;padding-left:0}
.kc-local-proof-v43 b{display:block;font-size:12px}.kc-local-proof-v43 span{display:block;margin-top:3px;color:var(--kc43-muted);font-size:10px}
.kc-local-content-v43{padding:92px 0}
.kc-local-content-grid-v43{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:clamp(45px,8vw,120px)}
.kc-local-sticky-v43{position:sticky;top:120px;align-self:start}.kc-local-sticky-v43 h2{margin:14px 0 18px;font-family:Georgia,serif;font-size:clamp(38px,4.4vw,62px);font-weight:400;line-height:1;letter-spacing:-.05em}.kc-local-sticky-v43 p{color:var(--kc43-muted);line-height:1.75}
.kc-local-detail-v43{display:grid;gap:12px}.kc-local-detail-v43 article{padding:24px;border:1px solid var(--kc43-line);border-radius:18px;background:#fff}.kc-local-detail-v43 article span{color:var(--kc43-orange);font-size:9px;font-weight:900;letter-spacing:.13em}.kc-local-detail-v43 article h3{margin:7px 0;font-size:21px}.kc-local-detail-v43 article p{margin:0;color:var(--kc43-muted);font-size:13px;line-height:1.65}
.kc-local-process-v43{padding:86px 0;background:var(--kc43-paper)}
.kc-local-process-grid-v43{display:grid;grid-template-columns:.76fr 1.24fr;gap:clamp(45px,7vw,100px);align-items:start}.kc-local-process-v43 h2{margin:14px 0 0;font-family:Georgia,serif;font-size:clamp(42px,5vw,66px);font-weight:400;line-height:1;letter-spacing:-.05em}
.kc-local-process-list-v43{display:grid;gap:1px;border:1px solid var(--kc43-line);border-radius:20px;overflow:hidden;background:var(--kc43-line)}.kc-local-process-list-v43 article{display:grid;grid-template-columns:48px 1fr;gap:14px;padding:21px;background:#fff}.kc-local-process-list-v43 span{color:var(--kc43-orange);font-weight:900}.kc-local-process-list-v43 b{display:block;margin-bottom:3px}.kc-local-process-list-v43 small{color:var(--kc43-muted);line-height:1.5}
.kc-local-v43 .local-seo-faq{padding:88px 0}.kc-local-v43 .faq-grid{gap:12px}.kc-local-v43 .faq-grid article{border-radius:18px;border:1px solid var(--kc43-line);box-shadow:none}

@media(max-width:1000px){
  .kc-scan-bridge-grid-v43,.kc-local-hero-grid-v43,.kc-local-content-grid-v43,.kc-local-process-grid-v43{grid-template-columns:1fr}
  .kc-local-sticky-v43{position:static}.kc-local-visual-v43{min-height:340px;max-width:700px}
}

@media(max-width:760px){
  body.public-route{padding-bottom:86px}
  .kc-home-v42 .kc-hero-v42{min-height:690px}
  .kc-home-v42 .kc-hero-content-v42{padding:132px 0 52px}
  .kc-home-v42 .kc-hero-copy-v42 h1{font-size:clamp(45px,12.4vw,59px);line-height:.96}
  .kc-home-v42 .kc-hero-copy-v42>p{font-size:15px;line-height:1.65}
  .kc-home-v42 .kc-hero-planner-card-v42{display:none}
  .kc-home-v42 .kc-hero-trust-v42{margin-top:28px}
  .kc-home-v42 .kc-routes-v42{padding-block:64px}
  .kc-home-v42 .kc-section-head-v42{margin-bottom:28px}.kc-home-v42 .kc-section-head-v42 h2{font-size:42px}
  .kc-home-v42 .kc-route-card-v42,.kc-home-v42 .kc-route-card-main-v42{min-height:310px;border-radius:18px}
  .kc-home-v42 .kc-route-card-v42>div{padding:20px}.kc-home-v42 .kc-route-card-v42 h3{font-size:42px}
  .kc-home-v42 .kc-regie-v42{padding-block:66px}.kc-home-v42 .kc-regie-grid-v42{gap:34px}.kc-home-v42 .kc-regie-visual-v42{min-height:360px}.kc-home-v42 .kc-regie-copy-v42 h2{font-size:42px}
  .kc-home-v42 .kc-projects-v42{padding-block:64px}.kc-home-v42 .kc-project-rail-v42{margin-right:-15px;padding-right:15px}.kc-home-v42 .kc-project-card-v42{flex-basis:82%}
  .kc-scan-bridge-v43{padding:66px 0}.kc-scan-bridge-copy-v43 h2{font-size:43px}.kc-scan-bridge-copy-v43>p{font-size:14px}.kc-scan-bridge-actions-v43{display:grid}.kc-scan-primary-v43,.kc-scan-secondary-v43{width:100%}
  .kc-scan-step-v43{padding:18px}
  .kc-area-v42{display:none}
  .kc-local-v43 .local-seo-hero{padding:118px 0 62px}.kc-local-v43 .local-seo-hero h1{font-size:48px}.kc-local-v43 .local-seo-hero p{font-size:15px}.kc-local-visual-v43{min-height:285px}
  .kc-local-proof-v43 .wrap{grid-template-columns:1fr}.kc-local-proof-v43 div,.kc-local-proof-v43 div:first-child{padding:13px 0;border-left:0;border-top:1px solid var(--kc43-line)}.kc-local-proof-v43 div:first-child{border-top:0}
  .kc-local-content-v43,.kc-local-process-v43,.kc-local-v43 .local-seo-faq{padding:64px 0}.kc-local-sticky-v43 h2,.kc-local-process-v43 h2{font-size:42px}
  .kc-local-detail-v43 article{padding:20px}.kc-local-process-list-v43 article{padding:18px}
  .kc-mobile-conversion-menu-v43{padding-bottom:28px}
}

@media(max-width:430px){
  .kc-home-v42 .kc-hero-v42{min-height:640px}.kc-home-v42 .kc-hero-copy-v42 h1{font-size:47px}
  .mobile-contact-bar.kc-mobile-conversion-v43{left:10px;right:10px}.mobile-contact-bar.kc-mobile-conversion-v43 a{font-size:10px;padding-inline:10px}
}

@media(prefers-reduced-motion:reduce){
  .js [data-kc-v43-reveal]{opacity:1!important;transform:none!important;clip-path:none!important;transition:none!important}
  .kc-home-v42 .kc-route-card-v42 img,.kc-home-v42 .kc-route-card-v42>div{transition:none!important;transform:none!important}
}


/* KC_MENU_HARDENING_V431
   Mobile browsers may establish a containing block for position:fixed children
   when an ancestor uses backdrop-filter. Keep the mobile drawer independent of
   that effect and define its open state here instead of relying only on app.css. */
@media(max-width:1120px){
  .kc-site-header-v42.is-scrolled,
  .kc-site-header-v42.site-header-solid,
  body.menu-open .kc-site-header-v42{
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
    overflow:visible!important;
  }

  .kc-site-header-v42 .kc-mobile-nav-v42{
    display:block!important;
    position:fixed!important;
    z-index:320!important;
    top:74px!important;
    right:0!important;
    bottom:0!important;
    left:0!important;
    width:100%!important;
    height:auto!important;
    max-height:calc(100dvh - 74px)!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    padding:17px 0 max(28px,env(safe-area-inset-bottom))!important;
    background:#fff!important;
    color:var(--kc43-ink)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translate3d(0,-8px,0)!important;
    transition:opacity .2s ease,visibility .2s ease,transform .2s var(--kc43-ease)!important;
  }

  .kc-site-header-v42 .kc-mobile-nav-v42.open,
  .kc-site-header-v42 .kc-mobile-nav-v42[aria-hidden="false"],
  body.menu-open .kc-site-header-v42 .kc-mobile-nav-v42{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:none!important;
  }

  .kc-site-header-v42 .mobile-nav-backdrop{
    display:block!important;
    position:fixed!important;
    z-index:310!important;
    inset:74px 0 0!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }

  body.menu-open .kc-site-header-v42 .mobile-nav-backdrop{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }
}
