/* Scoped contact widget, explicitly included only on selected pages. */
.ki-contact{position:fixed;right:max(24px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));z-index:90;width:360px;max-width:calc(100vw - 32px);font-family:var(--font-body),sans-serif;color:#12311c}
.ki-contact[hidden],.ki-contact [hidden]{display:none!important}
.ki-contact-card{background:#fff;border:1px solid #dce6da;border-radius:22px;box-shadow:0 20px 70px #001b1933,0 3px 12px #001b1914;overflow:hidden;margin-bottom:12px;max-height:calc(100dvh - 108px);overflow-y:auto;animation:ki-contact-in .4s cubic-bezier(.2,.8,.2,1) both}
.ki-contact-person{position:relative;display:flex;align-items:center;gap:12px;padding:20px 48px 18px 22px;background:#f1f6ef;border-bottom:1px solid #e0e9dd}
.ki-contact-person img{width:56px;height:56px;flex-shrink:0;border-radius:50%;object-fit:cover;object-position:48% 26%;border:2px solid #fff;box-shadow:0 0 0 1px #c6dbc0}
.ki-contact-person strong{display:block;font-size:16px;line-height:1.35;font-weight:700}
.ki-contact-person span{display:block;font-size:11px;line-height:1.5;margin-top:3px;color:#4e6451}
.ki-contact-close{position:absolute;right:6px;top:7px;width:44px;height:44px;display:grid;place-items:center;border:0;background:transparent;color:#526756;cursor:pointer;border-radius:50%}
.ki-contact svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.ki-contact-copy{padding:22px}
.ki-contact-copy .ki-contact-eyebrow{font-size:10px;letter-spacing:.13em;font-weight:800;color:#37732a;margin:0 0 10px;line-height:1.4}
.ki-contact-copy h2{font-family:var(--font-display),sans-serif;font-size:25px;line-height:1.12;letter-spacing:-.035em;text-transform:none;color:#12311c;margin:0 0 14px}
.ki-contact-copy>p{font-size:13px;line-height:1.65;color:#526456;margin:0 0 20px}
.ki-contact-cta{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 17px;background:#40cb0c;color:#092707;text-decoration:none;border-radius:12px;font-weight:750;font-size:13px;line-height:1.4;min-height:48px}
.ki-contact-cta:hover{background:#36ba06}
.ki-contact-copy .ki-contact-note{font-size:10px;line-height:1.5;text-align:center;margin:12px 0 0;color:#637265}
.ki-contact-launcher{display:flex;align-items:center;gap:10px;margin-left:auto;padding:14px 18px;border-radius:30px;background:#12331b;border:1px solid #7dc76a;color:#fff;font:600 13px var(--font-body),sans-serif;box-shadow:0 5px 22px #001b1929;min-height:48px;cursor:pointer}
.ki-contact-launcher:hover{background:#214929}
.ki-contact-close:hover{background:#e1ebdd}
.ki-contact :is(button,a):focus-visible{outline:3px solid #207508;outline-offset:3px}
@keyframes ki-contact-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:480px){.ki-contact{right:12px;bottom:max(12px,env(safe-area-inset-bottom));width:330px;max-width:calc(100vw - 24px)}.ki-contact-person{padding:14px 45px 14px 18px}.ki-contact-copy{padding:18px}.ki-contact-copy h2{font-size:23px}.ki-contact-copy>p{font-size:12px;margin-bottom:16px}.ki-contact-card{margin-bottom:8px}.ki-contact-copy .ki-contact-note{font-size:10px;margin:10px 0 0}}
@media(prefers-reduced-motion:reduce){.ki-contact-card{animation:none}}

.ki-contact-avatar{position:relative;width:56px;height:56px;flex-shrink:0;border-radius:50%;overflow:hidden;border:2px solid #fff;box-shadow:0 0 0 1px #c6dbc0}
.ki-contact-person .ki-contact-avatar img{position:absolute;width:140px;height:210px;max-width:none;left:-42px;top:-25px;border:0;border-radius:0;box-shadow:none;object-fit:cover}
