/* K Master site header + footer (v1.0, Since21, 2026-10) */
:root{--kms-ink:#0c0c0d;--kms-steel:#16171a;--kms-line:rgba(244,242,238,.12);--kms-text:#f4f2ee;--kms-muted:#a9a59c;--kms-o1:#ff9a2e;--kms-grad:linear-gradient(135deg,#ffb04a 0%,#f26a1b 55%,#c93d0c 100%);--kms-h:76px}
html,body{overflow-x:clip}
.kms-header,.kms-footer{font-family:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased;color:var(--kms-text)}
.kms-header *,.kms-footer *{box-sizing:border-box}
.kms-header ul,.kms-footer ul{list-style:none;margin:0;padding:0}
.kms-header a,.kms-footer a{color:inherit;text-decoration:none}
.kms-header button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;text-transform:none;letter-spacing:inherit;border-radius:0}
.kms-header a:focus-visible,.kms-header button:focus-visible,.kms-footer a:focus-visible{outline:2px solid var(--kms-o1);outline-offset:3px}
.kms-wrap{width:min(1440px,100% - 8vw);margin-inline:auto}
.kms-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* HEADER */
.kms-header{position:sticky;top:var(--wp-admin--admin-bar--height,0px);z-index:1000;background:rgba(12,12,13,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--kms-line);transition:background-color .3s}
.kms-header.is-scrolled{background:rgba(12,12,13,.98)}
.kms-header-in{height:var(--kms-h);display:flex;align-items:center;justify-content:space-between;gap:24px}
.kms-logo{display:inline-flex;align-items:center;gap:10px;flex:0 0 auto}
.kms-logo img{width:44px;height:44px;object-fit:contain;display:block}
.kms-logo span{font-weight:900;font-variation-settings:"wdth" 75;text-transform:uppercase;font-size:17px;line-height:.95;letter-spacing:.02em}
.kms-logo small{font-size:10.5px;font-weight:600;letter-spacing:.32em;color:var(--kms-muted)}
.kms-nav{display:flex;align-items:center;gap:28px}
.kms-nav>ul{display:flex;align-items:center;gap:4px}
.kms-nav>ul>li{position:relative}
.kms-nav>ul>li>a,.kms-header .kms-sub-toggle{display:inline-flex;align-items:center;gap:6px;padding:10px 12px;font-size:14px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#d8d4cb;transition:color .2s}
.kms-sub-toggle svg{width:11px;height:11px;transition:transform .25s}
.kms-header button:hover,.kms-header button:focus,.kms-header button:active{background:none!important;background-color:transparent!important;border:0!important;box-shadow:none!important}
.kms-header .kms-sub-toggle:hover,.kms-header .kms-sub-toggle:focus{color:#fff!important}
.kms-nav>ul>li>a:hover,.kms-header .kms-sub-toggle:hover,.kms-nav>ul>li.is-current>a,.kms-nav>ul>li.is-current>.kms-sub-toggle{color:#fff}
.kms-nav>ul>li.is-current>a,.kms-nav>ul>li.is-current>.kms-sub-toggle{box-shadow:inset 0 -2px 0 var(--kms-o1)}
.kms-sub{position:absolute;left:0;top:calc(100% + 8px);min-width:240px;background:#141416;border:1px solid var(--kms-line);padding:8px;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .2s,transform .2s,visibility .2s}
.kms-sub a{display:block;padding:11px 12px;font-size:14.5px;color:#d8d4cb;border-radius:2px}
.kms-sub a:hover,.kms-sub a[aria-current]{background:rgba(255,154,46,.12);color:#fff}
.kms-has-sub:hover .kms-sub,.kms-has-sub.is-open .kms-sub{opacity:1;visibility:visible;transform:none}
.kms-has-sub:hover .kms-sub-toggle svg,.kms-has-sub.is-open .kms-sub-toggle svg{transform:rotate(180deg)}
.kms-cta{display:inline-flex;align-items:center;padding:11px 18px;background:var(--kms-grad);color:#140a04!important;font-weight:700;font-size:13.5px;letter-spacing:.06em;text-transform:uppercase;border-radius:2px;transition:transform .2s}
.kms-cta:hover{transform:translateY(-1px)}
.kms-header .kms-burger{display:none;flex:0 0 44px;width:44px;min-width:44px;height:44px;position:relative}
.kms-burger span:not(.kms-sr){position:absolute;left:10px;right:10px;height:2px;background:var(--kms-text);transition:transform .3s,top .3s}
.kms-burger span:nth-child(1){top:17px}.kms-burger span:nth-child(2){top:25px}
.kms-header.is-menu .kms-burger span:nth-child(1){top:21px;transform:rotate(45deg)}
.kms-header.is-menu .kms-burger span:nth-child(2){top:21px;transform:rotate(-45deg)}

@media (max-width:1024px){
  :root{--kms-h:66px}
  .kms-header{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--kms-ink)}
  .kms-header .kms-burger{display:block}
  .kms-nav{position:fixed;left:0;right:0;top:calc(var(--kms-h) + var(--wp-admin--admin-bar--height,0px));bottom:0;background:var(--kms-ink);flex-direction:column;align-items:stretch;justify-content:space-between;gap:0;padding:12px 4vw 28px;overflow-y:auto;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .25s,transform .25s,visibility .25s}
  .kms-header.is-menu .kms-nav{opacity:1;visibility:visible;transform:none}
  .kms-nav>ul{flex-direction:column;align-items:stretch;gap:0}
  .kms-nav>ul>li{border-bottom:1px solid var(--kms-line)}
  .kms-nav>ul>li>a,.kms-header .kms-sub-toggle{width:100%;justify-content:space-between;padding:18px 2px;font-size:17px}
  .kms-nav>ul>li.is-current>a,.kms-nav>ul>li.is-current>.kms-sub-toggle{box-shadow:none;color:var(--kms-o1)}
  .kms-sub{position:static;min-width:0;border:0;background:none;padding:0 0 10px;opacity:1;visibility:visible;transform:none;display:none}
  .kms-has-sub.is-open .kms-sub{display:block}
  .kms-has-sub:hover .kms-sub{display:none}
  .kms-has-sub.is-open:hover .kms-sub{display:block}
  .kms-sub a{padding:12px 14px;font-size:16px}
  .kms-cta{justify-content:center;margin-top:24px;padding:16px}
  body.kms-lock{overflow:hidden}
}

/* FOOTER */
.kms-footer{background:var(--kms-ink);border-top:1px solid var(--kms-line);padding:clamp(56px,7vw,96px) 0 28px;font-size:15px;line-height:1.55}
.kms-foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1.1fr 1.3fr 1.1fr;gap:clamp(24px,3vw,48px)}
.kms-foot-brand p{color:var(--kms-muted);margin:18px 0 0;max-width:36ch}
.kms-badges{display:flex;gap:14px;flex-wrap:wrap;font-family:"IBM Plex Mono",monospace;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--kms-text)!important}
.kms-badges span{display:inline-flex;align-items:center;gap:8px}
.kms-badges span::before{content:"";width:7px;height:7px;background:#f26a1b;transform:rotate(45deg)}
.kms-footer h2{font-family:"IBM Plex Mono",monospace;font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--kms-o1);margin:6px 0 16px;line-height:1.3}
.kms-footer li+li{margin-top:9px}
.kms-footer ul a,.kms-footer address+a,.kms-footer address~a{color:#d8d4cb;transition:color .2s}
.kms-footer ul a:hover,.kms-footer address~a:hover{color:var(--kms-o1)}
.kms-footer address{font-style:normal;color:var(--kms-muted);margin:0 0 10px}
.kms-footer address~a{display:block;font-weight:600;margin-top:6px;word-break:break-word}
.kms-foot-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid var(--kms-line);margin-top:clamp(40px,5vw,64px);padding-top:22px;font-size:13px;color:var(--kms-muted)}
.kms-foot-bottom a{color:#d8d4cb}
.kms-foot-bottom a:hover{color:var(--kms-o1)}
@media (max-width:1100px){.kms-foot-grid{grid-template-columns:1fr 1fr 1fr}.kms-foot-brand{grid-column:1/-1}}
@media (max-width:640px){.kms-foot-grid{grid-template-columns:1fr 1fr}.kms-foot-grid>div:nth-child(4),.kms-foot-grid>div:nth-child(5){grid-column:1/-1}}

/* Hello theme: keep old Elementor pages from adding their own top gap under the sticky header */
body .site-main,body .elementor-location-single{margin-top:0}
/* safety: never show Hello's fallback header/footer alongside ours */
body #site-header.site-header,body #site-footer.site-footer,body .site-header.dynamic-header,body .site-footer.dynamic-footer{display:none!important}