/* Shared type hierarchy; preserve the theme's display/body font pairing. */
:root{--section-title-size:45px;--section-title-mobile:32px;--card-title-size:18px}
main h1{font-family:var(--font-display,"Bebas Neue",Impact,sans-serif)!important;font-size:clamp(56px,8.5vw,96px)!important;line-height:1.02!important;letter-spacing:0!important;text-wrap:balance;overflow-wrap:normal;max-width:20ch!important;margin-inline:auto!important}
:is(main>section>h2,main .section-heading h2,main .founder-copy h2,#contact>h2){font-family:var(--font-display,"Bebas Neue",Impact,sans-serif)!important;font-size:var(--section-title-size)!important;line-height:1.08!important;letter-spacing:0!important;text-wrap:balance;overflow-wrap:normal}
:is(main>section>h2,main .founder-copy h2,#contact>h2){max-width:26ch;margin-inline:auto}
:is(main .service-card h3,main .work-card h3){font:400 18px/1.45 var(--font-body,Inter,Arial,sans-serif)!important;text-wrap:balance}
.ka-page>section p,.ka-page .ka-company-copy p{font-size:16px!important;line-height:1.7!important}.ka-page .ka-hero .ka-lead,.service-detail-intro>p,.project-intro>p{font-size:18px!important;line-height:1.65!important;max-width:65ch;text-wrap:pretty}
.kll-project-dock[hidden],.kll-project-dock [hidden]{display:none!important}.kll-project-dock{display:none}
@media(max-width:767px){
:root{--section-title-size:32px;--card-title-size:16px}
main h1{font-size:clamp(42px,12vw,56px)!important;line-height:1.04!important;max-width:20ch!important}
:is(main>section>h2,main .section-heading h2,main .founder-copy h2,#contact>h2){font-size:32px!important;line-height:1.12!important}
:is(main .service-card h3,main .work-card h3){font-size:16px!important}
.ka-page>section p,.ka-page .ka-company-copy p{font-size:15px!important;line-height:1.7!important}.ka-page .ka-hero .ka-lead,.service-detail-intro>p,.project-intro>p{font-size:16px!important;line-height:1.65!important}
.kll-project-dock{display:block;position:fixed;z-index:90;left:16px;right:16px;bottom:calc(12px + env(safe-area-inset-bottom));max-width:360px;margin-inline:auto;font:500 14px/1.4 var(--font-body,Inter,Arial,sans-serif)}
.kll-project-tray{display:flex;align-items:stretch;background:#181018;border:1px solid #55304f;border-radius:8px;box-shadow:0 4px 20px #0006;overflow:hidden}
.kll-project-tray>a{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;flex:1;padding:12px 18px;color:#eee;text-decoration:none}
.kll-project-dock button{display:grid;place-items:center;min-width:44px;min-height:44px;border:0;background:transparent;color:#c8b5c5;cursor:pointer}
.kll-project-tray>button{border-left:1px solid #55304f}.kll-project-dock svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5}
.kll-project-restore{margin-left:auto;background:#181018!important;border:1px solid #55304f!important;border-radius:50%;box-shadow:0 2px 10px #0004}
.kll-project-dock :is(a,button):focus-visible{outline:2px solid var(--pink);outline-offset:-3px}
}

@media(max-width:767px){body .sticky-footer[aria-label="Quick actions"]{display:none!important}}

@media(max-width:767px){body>.kll-project-dock{position:fixed!important;z-index:90!important}}

/* Theme-aligned glass CTA, with directional entrance and dismissal. */
@media(max-width:767px){
.kll-project-tray{background:rgba(16,16,18,.74);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(18px) saturate(130%);-webkit-backdrop-filter:blur(18px) saturate(130%);box-shadow:0 8px 28px #0005,inset 0 1px 0 #ffffff0a;animation:kll-project-in .3s cubic-bezier(.22,1,.36,1) both}
.kll-project-tray>a{font-weight:500;color:#e8e8e8}.kll-project-tray>a svg{color:var(--pink,#fc0bf1)}.kll-project-tray>button{border-left:1px solid #ffffff16;color:#bbb}.kll-project-tray.is-closing{animation:kll-project-out .22s ease-in both;pointer-events:none}
.kll-project-dock .kll-project-restore{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:8px;background:rgba(16,16,18,.74)!important;border-color:#ffffff29!important;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);font:500 12px/1.4 var(--font-body,Inter,Arial,sans-serif);color:#d3d3d3;animation:kll-project-in .22s ease-out both}.kll-project-restore svg{width:14px;height:14px;color:var(--pink,#fc0bf1)}
}
@keyframes kll-project-in{from{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}
@keyframes kll-project-out{from{transform:translateY(0);opacity:1}to{transform:translateY(24px);opacity:0}}
@media(prefers-reduced-motion:reduce){.kll-project-tray,.kll-project-tray.is-closing,.kll-project-dock .kll-project-restore{animation:none!important}}

/* Compact desktop dock and reference-style pink button inside the glass shell. */
body>.kll-project-dock{display:block;position:fixed!important;z-index:90!important;left:auto;right:24px;bottom:calc(20px + env(safe-area-inset-bottom));width:360px;max-width:calc(100vw - 32px);margin:0;font:500 14px/1.4 var(--font-body,Inter,Arial,sans-serif)}
.kll-project-tray{display:flex;align-items:stretch;gap:4px;padding:5px;background:rgba(16,16,18,.74);border:1px solid #ffffff29;border-radius:12px;backdrop-filter:blur(18px) saturate(130%);-webkit-backdrop-filter:blur(18px) saturate(130%);box-shadow:0 8px 28px #0005,inset 0 1px 0 #ffffff0a;overflow:hidden;animation:kll-project-in .3s cubic-bezier(.22,1,.36,1) both}
.kll-project-tray>a{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;flex:1;padding:12px 16px;background:var(--pink,#fc0bf1);border-radius:8px;color:#080808;font-weight:500;text-decoration:none}.kll-project-tray>a svg{color:#080808}
.kll-project-dock button{display:grid;place-items:center;min-width:44px;min-height:44px;border:0;background:transparent;color:#c8b5c5;cursor:pointer}.kll-project-tray>button{border-left:0;color:#bbb;border-radius:8px}.kll-project-tray>button:hover{background:#ffffff0a}
.kll-project-dock svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5}.kll-project-tray.is-closing{animation:kll-project-out .22s ease-in both;pointer-events:none}
.kll-project-dock .kll-project-restore{display:flex;align-items:center;gap:10px;padding:10px 14px;margin-left:auto;border-radius:8px;background:rgba(16,16,18,.74)!important;border:1px solid #ffffff29!important;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);font:500 12px/1.4 var(--font-body,Inter,Arial,sans-serif);color:#d3d3d3;animation:kll-project-in .22s ease-out both}.kll-project-restore svg{width:14px;height:14px;color:var(--pink,#fc0bf1)}
.kll-project-dock :is(a,button):focus-visible{outline:2px solid #fff;outline-offset:-3px}
@media(max-width:767px){body>.kll-project-dock{left:16px;right:16px;bottom:calc(12px + env(safe-area-inset-bottom));width:auto;max-width:360px;margin-inline:auto}}
@media(prefers-reduced-motion:reduce){.kll-project-tray,.kll-project-tray.is-closing,.kll-project-dock .kll-project-restore{animation:none!important}}
@media(min-width:768px){body>.kll-project-dock{left:50%;right:auto;transform:translateX(-50%)}}

/* Right-aligned compact menu-scale control; icons only on phones. */
body>.kll-project-dock{left:auto;right:24px;bottom:calc(20px + env(safe-area-inset-bottom));width:230px;max-width:calc(100vw - 32px);margin:0;transform:none}
.kll-project-tray>a{font-size:13px;min-height:48px;padding:0 14px;gap:18px}.kll-project-tray{border-radius:12px}.kll-project-tray>button{min-width:36px}
@media(max-width:600px){body>.kll-project-dock{left:auto;right:16px;bottom:calc(12px + env(safe-area-inset-bottom));width:102px;max-width:102px;margin:0;transform:none}.kll-project-tray>a{justify-content:center;flex:0 0 44px;min-width:44px;min-height:44px;padding:0;gap:0}.kll-project-tray>a>span,.kll-project-restore>span{display:none}.kll-project-tray>button{min-width:40px;min-height:44px}.kll-project-dock .kll-project-restore{padding:10px;min-width:44px;min-height:44px}.kll-project-restore svg{width:18px;height:18px}}
@media(max-width:600px){body>.kll-project-dock{left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));width:auto;max-width:none;margin:0}.kll-project-tray>a{flex:1;min-width:0;min-height:48px;justify-content:space-between;padding:0 16px;gap:16px}.kll-project-tray>a>span{display:inline}.kll-project-tray>button{min-width:44px}.kll-project-dock .kll-project-restore{margin-left:auto;min-width:44px;min-height:44px}}
@media(max-width:600px){body>.kll-project-dock{left:0;right:0;bottom:0;width:100%;max-width:none;margin:0}.kll-project-tray{border:0;border-top:1px solid #ffffff1a;border-radius:0;background:rgba(13,13,15,.94);box-shadow:none;padding:6px 12px calc(6px + env(safe-area-inset-bottom));gap:12px;align-items:center;justify-content:space-between;animation:none}.kll-project-tray>a{flex:0 1 auto;width:180px;min-height:40px;padding:0 14px;border-radius:6px;font-size:13px}.kll-project-tray>button{min-width:44px;min-height:44px;border:0;border-radius:0}.kll-project-tray.is-closing{animation:kll-project-out .22s ease-in both}.kll-project-dock .kll-project-restore{width:44px;min-height:32px;margin:0 8px 0 auto;padding:6px 12px calc(6px + env(safe-area-inset-bottom));border-radius:5px 5px 0 0;background:#151515!important;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;animation:none}body:has(>.kll-project-dock:not([hidden])){padding-bottom:calc(60px + env(safe-area-inset-bottom))}}
@media(max-width:600px){body>.kll-project-dock{background:#101010;min-height:8px}.kll-project-tray{display:block;position:relative;overflow:visible;padding:16px 20px calc(12px + env(safe-area-inset-bottom));border:0;background:#101010;min-height:80px}.kll-project-tray>a{width:100%;min-height:48px;justify-content:center;flex:none;border-radius:8px;font-size:14px}.kll-project-tray>a>svg{display:none}.kll-project-tray>button{position:absolute;right:0;top:-20px;width:44px;min-height:36px;height:36px;padding:0;background:#101010;border:0;border-radius:0;transform:none}.kll-project-dock .kll-project-restore{position:absolute;right:0;bottom:0;width:44px;min-height:32px;height:32px;margin:0;padding:0;border:0!important;border-radius:0;background:#101010!important;box-shadow:none}.kll-project-restore svg{color:#d3d3d3;width:18px;height:18px}}
@media(max-width:600px){body:has(>.kll-project-dock:not([hidden]) [data-project-tray]:not([hidden])){padding-bottom:calc(80px + env(safe-area-inset-bottom))}body:has(>.kll-project-dock:not([hidden]) [data-project-tray][hidden]){padding-bottom:8px}}
@media(max-width:600px){body>.kll-project-dock{border-top:1px solid rgba(255,255,255,.16);box-shadow:0 -6px 20px rgba(0,0,0,.3)}.kll-project-tray{border-top:0}}
/* Match the raised toggle tab and center both directional icons. */
.kll-project-dock [data-project-close],.kll-project-dock [data-project-restore]{display:grid;place-items:center;line-height:1;box-sizing:border-box}
.kll-project-dock [data-project-close] svg,.kll-project-dock [data-project-restore] svg{display:block;width:18px;height:18px;flex:none;margin:0;color:#d3d3d3}
@media(max-width:600px){
.kll-project-dock [data-project-close],.kll-project-dock [data-project-restore]{position:absolute;right:0;top:-24px;bottom:auto;width:44px;height:32px;min-width:44px;min-height:32px;margin:0;padding:0;gap:0;border:0!important;border-top:1px solid rgba(255,255,255,.16)!important;border-left:1px solid rgba(255,255,255,.16)!important;border-radius:0;background:#101010!important;transform:none;box-shadow:0 -4px 12px #0003}
}
/* Quiet edge dock: identical toggle hierarchy, compact on larger screens. */
.kll-project-dock [data-project-restore]>span{display:none}
.kll-project-dock [data-project-close] svg,.kll-project-dock [data-project-restore] svg{width:16px;height:16px;stroke-width:1.5;color:#bdbdbd}
@media(min-width:601px){
body>.kll-project-dock{right:24px;left:auto;bottom:0;width:230px;min-height:8px;background:rgba(16,16,18,.9);border-top:1px solid #ffffff20;box-shadow:0 -4px 16px #0003;backdrop-filter:blur(18px);border-radius:4px 0 0 0}
.kll-project-tray{display:block;position:relative;overflow:visible;min-height:68px;padding:12px;border:0;border-radius:4px 0 0 0;background:transparent;box-shadow:none;animation:none}
.kll-project-tray>a{width:100%;min-height:44px;padding:0 14px;font-size:13px;border-radius:6px;box-sizing:border-box}
.kll-project-dock [data-project-close],.kll-project-dock [data-project-restore]{position:absolute;right:0;top:-24px;bottom:auto;display:grid;place-items:center;width:44px;height:32px;min-width:44px;min-height:32px;margin:0;padding:0;gap:0;border:0!important;border-top:1px solid #ffffff20!important;border-left:1px solid #ffffff20!important;border-radius:4px 4px 0 0;background:#101012!important;box-shadow:0 -4px 12px #0002;animation:none;transform:none}
.kll-project-tray.is-closing{animation:kll-project-out .22s ease-in both}
}
@media(max-width:600px){.kll-project-tray>a{font-size:13px}.kll-project-dock [data-project-close],.kll-project-dock [data-project-restore]{border-radius:4px 0 0 0}}
/* Shared dark frosted glass: retain the theme's dimensions and accent hierarchy. */
:root{--kll-glass-bg:linear-gradient(135deg,rgba(255,255,255,.065),rgba(255,255,255,.015)),rgba(16,16,20,.76);--kll-glass-line:rgba(255,255,255,.14);--kll-glass-shadow:inset 0 1px 0 rgba(255,255,255,.055),0 6px 20px rgba(0,0,0,.16)}
body .menu-shell,body .review-card,body .t-card,body .ka-icon-box,body .socials i,body .faq-item{background:var(--kll-glass-bg)!important;border-color:var(--kll-glass-line)!important;backdrop-filter:blur(16px) saturate(115%);-webkit-backdrop-filter:blur(16px) saturate(115%);box-shadow:var(--kll-glass-shadow)!important}
body .menu-shell{backdrop-filter:blur(24px) saturate(115%);-webkit-backdrop-filter:blur(24px) saturate(115%)}
body .faq-item.active,body .faq-item:hover,body .t-card:hover,body .review-card:hover{border-color:rgba(255,255,255,.24)!important}
body>.kll-project-dock,body .kll-project-tray{background:var(--kll-glass-bg)!important;backdrop-filter:blur(18px) saturate(115%);-webkit-backdrop-filter:blur(18px) saturate(115%)}
body .kll-project-tray{background:transparent!important}
body .kll-project-dock [data-project-close],body .kll-project-dock [data-project-restore]{background:rgba(23,23,27,.87)!important;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){body .menu-shell,body .review-card,body .t-card,body .ka-icon-box,body .socials i,body .faq-item,body>.kll-project-dock{background:#17171b!important}}
html body .site-menu .menu-shell,html body #reviews .t-card,html body .faq .faq-item{background:var(--kll-glass-bg)!important}
html body main#top section.faq .faq-list button.faq-item{background-color:rgba(16,16,20,.76)!important;background-image:linear-gradient(135deg,rgba(255,255,255,.065),rgba(255,255,255,.015))!important}
/* Strong background frost, while foreground text/icons stay crisp. */
:root{--kll-glass-bg:linear-gradient(135deg,rgba(255,255,255,.085),rgba(255,255,255,.025)),rgba(16,16,20,.58)}
html body .menu-shell,html body .review-card,html body .t-card,html body .ka-icon-box,html body .socials i,html body .faq-item,html body>.kll-project-dock{backdrop-filter:blur(40px) saturate(120%)!important;-webkit-backdrop-filter:blur(40px) saturate(120%)!important}
html body .site-menu .menu-shell{backdrop-filter:blur(48px) saturate(120%)!important;-webkit-backdrop-filter:blur(48px) saturate(120%)!important}
html body main#top section.faq .faq-list button.faq-item{background-color:rgba(16,16,20,.58)!important}
html body .kll-project-dock [data-project-close],html body .kll-project-dock [data-project-restore]{background:rgba(23,23,27,.72)!important;backdrop-filter:blur(40px)!important;-webkit-backdrop-filter:blur(40px)!important}
.kll-project-tray>a{position:relative}
.kll-project-countdown{font-size:10px;font-weight:500;line-height:1;font-variant-numeric:tabular-nums;opacity:.65;margin-left:auto;min-width:20px;text-align:right;flex-shrink:0}
@media(max-width:600px){.kll-project-tray>a{gap:12px}.kll-project-countdown{position:absolute;right:14px;top:50%;transform:translateY(-50%);margin:0}}
