/* Contact panel uses the top layer, independently of the navigation. */
.kei-contact-dialog{box-sizing:border-box;width:min(480px,calc(100vw - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:32px;border:1px solid #2d465c;border-radius:20px;background:#102438;color:#eaf3fa;box-shadow:0 24px 90px #0006;overflow:auto;font-family:inherit;overscroll-behavior:contain}
.kei-contact-dialog::backdrop{background:#03111cb3;backdrop-filter:blur(4px)}
body.kei-contacts-open{overflow:hidden}
.kei-contact-dialog .kei-contact-close{position:absolute;right:14px;top:12px;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #466076;border-radius:50%;background:transparent;color:inherit;font:28px/1 Arial;cursor:pointer}
.kei-contact-dialog .kei-contact-kicker{margin:0 0 14px;color:#75c5ff;font-size:12px;font-weight:800;letter-spacing:.16em}
.kei-contact-dialog h2{margin:0;padding-right:36px;font-size:30px;line-height:1.2;color:inherit}
.kei-contact-dialog .kei-contact-intro{margin:12px 0 24px;font-size:15px;line-height:1.5;color:#a9c0d2}
.kei-contact-rows{display:grid;gap:10px}
.kei-contact-dialog .kei-contact-row{display:grid;gap:5px;padding:16px 18px;border:1px solid #36516a;border-radius:12px;background:#173049;color:inherit;text-decoration:none;transition:background .18s,border-color .18s;overflow-wrap:anywhere}
.kei-contact-dialog .kei-contact-row span{font-size:12px;color:#aac3d6}
.kei-contact-dialog .kei-contact-row strong{font-size:18px;line-height:1.45;font-weight:650}
.kei-contact-dialog .kei-contact-row small{font-size:13px;color:#75c5ff}
.kei-contact-dialog .kei-contact-row:hover{border-color:#75c5ff;background:#203e58}
.kei-contact-actions{display:grid;gap:12px;margin-top:22px}
.kei-contact-dialog .kei-contact-project{display:flex;min-height:48px;align-items:center;justify-content:center;padding:10px 18px;border-radius:10px;background:#75c5ff;color:#092238;font-size:15px;font-weight:750;text-decoration:none;text-align:center}
.kei-contact-dialog .kei-contact-page{display:block;padding:10px;color:#bbd7eb;font-size:14px;text-align:center;text-decoration:underline;text-underline-offset:4px}
.kei-contact-dialog :is(a,button):focus-visible{outline:3px solid #75c5ff;outline-offset:3px}
.kei-contact-menu-link{display:none!important}
@media(max-width:1100px){html body .main-nav .kei-contact-menu-link{display:flex!important}body.kei-contacts-open :is(.corporate-mobile-contact,.kei-scroll-top){visibility:hidden!important}}
html[data-theme=light] .kei-contact-dialog{background:#fff;color:#142b40;border-color:#cedce7;box-shadow:0 24px 90px #112b4040}
html[data-theme=light] .kei-contact-dialog :is(.kei-contact-kicker,.kei-contact-row small){color:#176eb5}
html[data-theme=light] .kei-contact-dialog .kei-contact-intro,html[data-theme=light] .kei-contact-dialog .kei-contact-row span{color:#536c80}
html[data-theme=light] .kei-contact-dialog .kei-contact-row{background:#f3f7fa;border-color:#d4e0e9}
html[data-theme=light] .kei-contact-dialog .kei-contact-row:hover{background:#e7f1f8;border-color:#176eb5}
html[data-theme=light] .kei-contact-dialog .kei-contact-project{background:var(--kei-light-accent,#176eb5);color:#fff}
html[data-theme=light] .kei-contact-dialog .kei-contact-page{color:#176eb5}
html[data-theme=light] .kei-contact-dialog .kei-contact-close{border-color:#cedce7}
@media(max-width:520px){.kei-contact-dialog{padding:26px 20px;border-radius:18px}.kei-contact-dialog h2{font-size:26px}.kei-contact-dialog .kei-contact-row strong{font-size:17px}}
@media(prefers-reduced-motion:reduce){.kei-contact-dialog .kei-contact-row{transition:none}}

.kei-contact-dialog .kei-contact-channels{margin-top:22px}
.kei-contact-dialog .kei-contact-channels h3{margin:0 0 12px;font-size:14px;line-height:1.4;color:inherit}
.kei-contact-channel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.kei-contact-dialog .kei-contact-channel{display:flex;align-items:center;gap:10px;min-height:48px;padding:10px 12px;border:1px solid #36516a;border-radius:12px;background:#173049;color:inherit;text-decoration:none;font-size:14px;font-weight:650}
.kei-contact-dialog .kei-contact-icon{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:8px;background:#284b67;color:#a8dcff;font-size:12px;font-weight:800}
.kei-contact-dialog .kei-contact-channel:hover{border-color:#75c5ff;background:#203e58}
html[data-theme=light] .kei-contact-dialog .kei-contact-channel{background:#f3f7fa;border-color:#d4e0e9}
html[data-theme=light] .kei-contact-dialog .kei-contact-channel:hover{background:#e7f1f8;border-color:#176eb5}
html[data-theme=light] .kei-contact-dialog .kei-contact-icon{background:#dfeef8;color:#176eb5}

/* 17.8: complete contact directory above the enquiry form. */
.kei-contact-directory{padding:48px 0 56px;background:#102438;color:#eaf3fa;border-bottom:1px solid #29465e}
.kei-contact-directory-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:48px;align-items:start}
.kei-contact-directory h2{margin:0 0 18px;font-size:clamp(26px,3vw,38px);line-height:1.25;color:inherit}
.kei-contact-directory-copy p{margin:0 0 24px;max-width:380px;font-size:17px;line-height:1.65;color:#a9c0d2}
.kei-contact-directory .kei-contact-project{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;background:#75c5ff;color:#092238;border-radius:10px;font-size:15px;font-weight:750;text-decoration:none}
.kei-contact-directory .kei-contact-row{display:grid;gap:5px;padding:18px 22px;border:1px solid #36516a;border-radius:12px;background:#173049;color:inherit;text-decoration:none;overflow-wrap:anywhere}
.kei-contact-directory .kei-contact-row span{font-size:13px;color:#aac3d6}
.kei-contact-directory .kei-contact-row strong{font-size:20px;line-height:1.5;font-weight:650}
.kei-contact-directory .kei-contact-row small{font-size:13px;color:#75c5ff}
.kei-contact-directory .kei-contact-row:hover,.kei-contact-directory .kei-contact-channel:hover{border-color:#75c5ff;background:#203e58}
.kei-contact-directory .kei-contact-channels{margin-top:26px}
.kei-contact-directory .kei-contact-channels h3{margin:0 0 12px;font-size:16px;color:inherit}
.kei-contact-directory .kei-contact-channel{display:flex;align-items:center;gap:12px;min-height:52px;padding:12px 16px;border:1px solid #36516a;border-radius:12px;background:#173049;color:inherit;text-decoration:none;font-size:15px;font-weight:650}
.kei-contact-directory .kei-contact-icon{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border-radius:8px;background:#284b67;color:#a8dcff;font-size:13px;font-weight:800}
.kei-contact-directory :is(a,button):focus-visible{outline:3px solid #75c5ff;outline-offset:3px}
html[data-theme=light] .kei-contact-directory{background:#fff;color:#142b40;border-color:#d4e0e9}
html[data-theme=light] .kei-contact-directory-copy p,html[data-theme=light] .kei-contact-directory .kei-contact-row span{color:#536c80}
html[data-theme=light] .kei-contact-directory :is(.kei-contact-row,.kei-contact-channel){background:#f3f7fa;border-color:#d4e0e9}
html[data-theme=light] .kei-contact-directory :is(.kei-contact-row,.kei-contact-channel):hover{background:#e7f1f8;border-color:#176eb5}
html[data-theme=light] .kei-contact-directory .kei-contact-row small{color:#176eb5}
html[data-theme=light] .kei-contact-directory .kei-contact-icon{background:#dfeef8;color:#176eb5}
html[data-theme=light] .kei-contact-directory .kei-contact-project{background:#176eb5;color:white}
@media(max-width:760px){.kei-contact-directory{padding:32px 0 40px}.kei-contact-directory-layout{grid-template-columns:minmax(0,1fr);gap:28px}.kei-contact-directory-copy p{max-width:none}.kei-contact-directory .kei-contact-row{padding:16px}.kei-contact-directory .kei-contact-row strong{font-size:18px}}
/* Desktop contact shortcut in dark mode. */
@media(min-width:1101px){
 html:not([data-theme=light]) body .site-header .nav-wrap .main-nav a.nav-cta{box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;align-self:center!important;flex:0 0 auto!important;width:auto!important;height:auto!important;min-height:44px!important;max-height:52px!important;margin:0!important;padding:11px 18px!important;border:1px solid #8bcfff!important;border-radius:11px!important;background:#75c5ff!important;color:#082235!important;font-size:14px!important;line-height:1.3!important;font-weight:800!important;letter-spacing:.01em!important;text-decoration:none!important;white-space:nowrap!important;box-shadow:0 5px 18px #47aaf526!important;transition:background .18s,box-shadow .18s!important}
 html:not([data-theme=light]) body .site-header .nav-wrap .main-nav a.nav-cta:hover{background:#9bd6ff!important;color:#082235!important;border-color:#b9e4ff!important;box-shadow:0 7px 22px #47aaf540!important}
 html:not([data-theme=light]) body .site-header .nav-wrap .main-nav a.nav-cta:active{background:#5bb7f5!important;color:#082235!important}
 html:not([data-theme=light]) body .site-header .nav-wrap .main-nav a.nav-cta:focus-visible{outline:3px solid #b9e4ff!important;outline-offset:4px!important}
 html:not([data-theme=light]) body .site-header .nav-wrap .main-nav a.nav-cta::after{display:none!important;content:none!important}
}
@media(prefers-reduced-motion:reduce){html body .site-header .nav-wrap .main-nav a.nav-cta{transition:none!important}}

/* 18.2: slightly smaller mobile contact window, same touch targets. */
@media(max-width:760px){
 html body .kei-contact-dialog[open]{width:min(420px,calc(100% - 40px))!important;max-height:min(82dvh,calc(var(--kei-mobile-viewport,100dvh) - 40px))!important;padding:24px 18px!important;border-radius:16px!important}
 html body .kei-contact-dialog[open] h2{font-size:24px!important;line-height:1.25!important}
 html body .kei-contact-dialog[open] .kei-contact-kicker{font-size:11px!important;margin-bottom:10px!important}
 html body .kei-contact-dialog[open] .kei-contact-intro{font-size:14px!important;line-height:1.5!important;margin:10px 0 18px!important}
 html body .kei-contact-dialog[open] .kei-contact-close{width:44px!important;height:44px!important;top:8px!important;right:8px!important;font-size:26px!important}
 html body .kei-contact-dialog[open] .kei-contact-rows{gap:8px!important}
 html body .kei-contact-dialog[open] .kei-contact-row{box-sizing:border-box!important;min-height:48px!important;padding:12px 14px!important;gap:4px!important}
 html body .kei-contact-dialog[open] .kei-contact-row strong{font-size:16px!important;line-height:1.5!important}
 html body .kei-contact-dialog[open] .kei-contact-row span{font-size:11px!important;line-height:1.4!important}
 html body .kei-contact-dialog[open] .kei-contact-channels{margin-top:18px!important}
 html body .kei-contact-dialog[open] .kei-contact-channel-grid{gap:8px!important}
 html body .kei-contact-dialog[open] .kei-contact-channel{box-sizing:border-box!important;min-height:44px!important;padding:8px 10px!important;gap:8px!important;font-size:13px!important}
 html body .kei-contact-dialog[open] .kei-contact-icon{flex-basis:26px!important;width:26px!important;height:26px!important;font-size:11px!important}
 html body .kei-contact-dialog[open] .kei-contact-actions{gap:8px!important;margin-top:18px!important}
 html body .kei-contact-dialog[open] .kei-contact-project{min-height:44px!important;padding:9px 14px!important;font-size:14px!important}
 html body .kei-contact-dialog[open] .kei-contact-page{min-height:44px!important;box-sizing:border-box!important;font-size:13px!important;padding:12px 8px!important}
}
