/* Shamlu Labs Helper - behaviour states only (design lives in Elementor) */
:root{--slh-ease:cubic-bezier(.22,.7,.3,1)}
/* header: solid on scroll, topbar collapses */
.sl-hdr{-webkit-backdrop-filter:saturate(150%) blur(14px);backdrop-filter:saturate(150%) blur(14px);transition:background .3s var(--slh-ease),box-shadow .3s var(--slh-ease)}
.sl-hdr.solid{background:rgba(1,60,64,.97)!important;box-shadow:0 8px 30px -12px rgba(1,47,53,.6)}
.sl-hdr .sl-topbar{overflow:hidden;max-height:44px;transition:max-height .3s var(--slh-ease),padding .3s var(--slh-ease)}
.sl-hdr.solid .sl-topbar{max-height:0;padding-top:0!important;padding-bottom:0!important}
button.e-con.sl-burger,button.e-con.sl-drawer-close,button.e-con.sl-ap-close{cursor:pointer;background-color:transparent;font:inherit;line-height:0}
button.e-con.sl-ap-close{background-color:#fff}
/* mobile drawer (off-canvas on the front end only) */
body:not(.elementor-editor-active) .sl-drawer{position:fixed!important;top:0;right:0;height:100%;width:min(86vw,350px)!important;max-width:none!important;z-index:151;transform:translateX(100%);visibility:hidden;overflow-y:auto;transition:transform .34s var(--slh-ease),visibility .34s;box-shadow:0 30px 60px -24px rgba(1,47,53,.28),0 8px 20px -12px rgba(1,47,53,.16)}
body.sl-drawer-open .sl-drawer{transform:none;visibility:visible}
.sl-scrim{position:fixed;inset:0;background:rgba(10,15,12,.4);z-index:150;opacity:0;visibility:hidden;transition:opacity .3s var(--slh-ease),visibility .3s}
body.sl-drawer-open .sl-scrim{opacity:1;visibility:visible}
.sl-drawer-links .elementor-icon-list-item:last-child{border-bottom:1px solid #E1EBEA;padding-bottom:16px}
.sl-drawer-links .elementor-icon-list-item:first-child{padding-top:16px}
/* portfolio coverflow */
.sl-pf-swiper.swiper{overflow:visible!important;display:block!important;position:relative}
.sl-pf-swiper .swiper-wrapper{display:flex;box-sizing:content-box;position:relative;width:100%;height:100%;z-index:1;transition-property:transform}
.sl-pf-swiper .swiper-slide{flex-shrink:0!important;position:relative;transition-property:transform;margin:0!important}
.sl-pf-swiper.swiper-3d{perspective:1200px}
.sl-pf-swiper.swiper-3d .swiper-wrapper,.sl-pf-swiper.swiper-3d .swiper-slide{transform-style:preserve-3d}
.sl-pf-swiper .swiper-pagination{position:absolute;left:0;right:0;bottom:0;text-align:center;z-index:10;line-height:0}
.sl-pf-swiper .swiper-pagination-bullet{display:inline-block;width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.4);margin:0 4px;cursor:pointer;transition:background .25s,width .25s}
.sl-pf-swiper .swiper-pagination-bullet-active{background:#00D5CB;width:26px;border-radius:100px}
.sl-pf-swiper .swiper-notification{position:absolute;left:0;top:0;opacity:0;pointer-events:none;z-index:-1000}
.swiper-grab{cursor:grab}
/* audit popup */
body:not(.elementor-editor-active) .sl-audit-pop{position:fixed!important;left:18px;bottom:18px;z-index:140;max-width:88vw;transform:translateY(24px);opacity:0;visibility:hidden;transition:transform .4s var(--slh-ease),opacity .4s var(--slh-ease),visibility .4s}
body:not(.elementor-editor-active) .sl-audit-pop.show{transform:none;opacity:1;visibility:visible}
@media (max-width:560px){body:not(.elementor-editor-active) .sl-audit-pop{left:12px;bottom:12px;width:min(78vw,300px)!important}}
/* chat assistant */
.sl-chat{font-family:'Plus Jakarta Sans',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;--deep:#014C50;--em:#00D5CB;--ink:#012F35;--line:#E1EBEA;--paper:#F2F6F6;--mint:#E2F4F2}
.sl-chat *{box-sizing:border-box;margin:0;padding:0}
.sl-chat button{font:inherit;cursor:pointer;border:none;background:none;color:inherit;text-transform:none;box-shadow:none;letter-spacing:normal}
.sl-chat .chat-fab{position:fixed;right:18px;bottom:18px;z-index:145;width:60px;height:60px;border-radius:50%;background:var(--deep);color:#fff;display:grid;place-items:center;box-shadow:0 24px 50px -22px rgba(1,76,80,.5);transition:transform .25s var(--slh-ease)}
.sl-chat .chat-fab:hover{transform:scale(1.07)}
.sl-chat .chat-fab svg{width:28px;height:28px}
.sl-chat .cf-dot{position:absolute;top:2px;right:2px;width:14px;height:14px;border-radius:50%;background:var(--em);border:2.5px solid #fff}
.sl-chat .chat-win{position:fixed;right:18px;bottom:90px;z-index:146;width:min(92vw,370px);background:#fff;border-radius:24px;box-shadow:0 30px 60px -24px rgba(1,47,53,.28),0 8px 20px -12px rgba(1,47,53,.16);border:1px solid var(--line);overflow:hidden;display:flex;flex-direction:column;max-height:min(70vh,560px);transform:translateY(16px) scale(.98);opacity:0;visibility:hidden;transition:transform .3s var(--slh-ease),opacity .3s var(--slh-ease),visibility .3s}
.sl-chat .chat-win.open{transform:none;opacity:1;visibility:visible}
.sl-chat .chat-head{background:var(--deep);color:#fff;padding:1rem 1.2rem;display:flex;align-items:center;gap:.8rem}
.sl-chat .ch-av{width:38px;height:38px;border-radius:50%;background:var(--em);color:var(--ink);display:grid;place-items:center;font-weight:800;flex:none}
.sl-chat .chat-head b{display:block;font-size:.98rem}
.sl-chat .ch-status{font-size:.75rem;color:#7FB2AF;display:flex;align-items:center;gap:.35rem}
.sl-chat .ch-status::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--em)}
.sl-chat .ch-close{margin-left:auto;color:#fff;opacity:.8;width:32px;height:32px;display:grid;place-items:center}
.sl-chat .ch-close svg{width:16px;height:16px}
.sl-chat .chat-body{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.7rem;background:var(--paper)}
.sl-chat .msg{max-width:82%;padding:.65rem .9rem;border-radius:14px;font-size:.9rem;line-height:1.45}
.sl-chat .msg-bot{background:#fff;border:1px solid var(--line);color:#0E2B2F;align-self:flex-start;border-bottom-left-radius:4px}
.sl-chat .msg-user{background:var(--deep);color:#fff;align-self:flex-end;border-bottom-right-radius:4px}
.sl-chat .msg-typing{display:inline-flex;gap:4px;align-self:flex-start;background:#fff;border:1px solid var(--line);padding:.7rem .9rem;border-radius:14px;border-bottom-left-radius:4px}
.sl-chat .msg-typing span{width:7px;height:7px;border-radius:50%;background:#75898A;animation:slcbounce 1.2s infinite}
.sl-chat .msg-typing span:nth-child(2){animation-delay:.15s}
.sl-chat .msg-typing span:nth-child(3){animation-delay:.3s}
@keyframes slcbounce{0%,60%,100%{transform:none;opacity:.5}30%{transform:translateY(-4px);opacity:1}}
.sl-chat .chat-chips{display:flex;flex-wrap:wrap;gap:.45rem;padding:.6rem 1rem;background:var(--paper);border-top:1px solid var(--line)}
.sl-chat .chat-chips button{font-size:.78rem;font-weight:700;color:var(--deep);background:var(--mint);border-radius:100px;padding:.4rem .8rem;transition:background .2s}
.sl-chat .chat-chips button:hover{background:#C9EFEC}
.sl-chat .chat-input{display:flex;gap:.5rem;padding:.7rem;background:#fff;border-top:1px solid var(--line)}
.sl-chat .chat-input input{flex:1;font:inherit;font-size:.9rem;border:1.5px solid #CFDEDD;border-radius:100px;padding:.55rem 1rem;background:var(--paper);color:#0E2B2F;outline:none;box-shadow:none;height:auto;margin:0}
.sl-chat .chat-input input:focus{border-color:var(--em)}
.sl-chat .chat-input button{flex:none;width:42px;height:42px;border-radius:50%;background:var(--em);color:var(--ink);display:grid;place-items:center}
.sl-chat .chat-input button svg{width:18px;height:18px}
@media (max-width:560px){.sl-chat .chat-fab{right:12px;bottom:12px;width:54px;height:54px}.sl-chat .chat-win{right:12px;bottom:76px}}
@media (prefers-reduced-motion:reduce){.sl-chat *,.sl-drawer,.sl-audit-pop{transition:none!important;animation:none!important}}
