.kw26-contact-page .kw26-header{height:101px;background:#f6f6ff;border-bottom:1px solid #e7e4ee}
.kw26-contact{position:relative;min-height:1250px;padding:68px 0 180px;overflow:visible;background:linear-gradient(90deg,rgba(223,214,241,.6) 0%,#fff 100%);color:#000}
.kw26-contact h1{margin:0;text-align:center;font-size:48px;font-weight:600;line-height:58px;letter-spacing:0}
.kw26-contact h1 em{font-weight:600}
.kw26-contact-intro{width:calc(100% - clamp(40px,15.14vw,218px));max-width:none!important;margin:31px auto 0;font-size:20px;line-height:30px;text-align:center;white-space:nowrap}
/* Keep the intro on one line; contact.js reduces only its font size when the available width is narrower. */
.kw26-contact-form{width:918px;margin:62px auto 0}
.kw26-contact-row{display:grid;grid-template-columns:repeat(2,407.5px);column-gap:103px}
.kw26-contact-row+.kw26-contact-row{margin-top:98px}
.kw26-contact-field{position:relative;min-width:0}
.kw26-contact-label{display:block;height:30px;font-size:20px;font-weight:700;line-height:30px}
.kw26-contact-field input[type=text],.kw26-contact-field input[type=email]{display:block;width:100%;height:64px;padding:17px 0 8px;border:0;border-bottom:1px solid #8d8d8d;border-radius:0;outline:0;background:transparent;color:#000;font:400 20px/30px Inter}
.kw26-contact-field input:focus,.kw26-contact-select-trigger:focus-visible{border-bottom-color:#19007c;box-shadow:0 1px 0 #19007c}
.kw26-contact-signup{width:max-content;margin-top:11px;display:flex;align-items:center;gap:10px;cursor:pointer;font-size:18px;font-weight:400;line-height:30px;color:#666}
.kw26-contact-signup input{position:absolute;opacity:0;pointer-events:none}.kw26-contact-signup i{width:20px;height:20px;border:1px solid #8d8d8d;border-radius:4px;background:transparent;position:relative}.kw26-contact-signup input:focus-visible+i{outline:2px solid #19007c;outline-offset:2px}.kw26-contact-signup input:checked+i{border-color:#19007c;background:#19007c}.kw26-contact-signup input:checked+i:after{content:"";position:absolute;left:6px;top:2px;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.kw26-contact-service{margin-top:57px}.kw26-contact-project{margin-top:90px}
.kw26-contact-select-trigger{width:100%;height:64px;padding:17px 48px 8px 0;display:flex;align-items:center;border:0;border-bottom:1px solid #8d8d8d;background:transparent;color:#000;font:400 20px/30px Inter;cursor:pointer;text-align:left}
/* Figma draws this chevron 18x9 with its baseline 17px above the field rule. */
.kw26-contact-select-trigger i{position:absolute;right:20px;bottom:17px;width:18px;height:9px;background:url("../images/icon-chevron-wide.svg") center/18px 9px no-repeat;transition:transform .2s}.kw26-contact-select.is-open .kw26-contact-select-trigger i{transform:rotate(180deg)}
/* Figma 353:3394: panel (261,861) 917x438 for eight rows, so 17 top + 8x50 + 21 bottom. */
.kw26-contact-select-menu{display:none;position:absolute;z-index:20;top:97px;left:0;width:100%;box-sizing:border-box;padding:17px 0 19px;background:#fff;border:1px solid rgba(0,0,0,.4);border-radius:8px;overflow:hidden}.kw26-contact-select.is-open .kw26-contact-select-menu{display:block}
.kw26-contact-select-menu button{display:block;width:100%;height:50px;padding:0 23px;border:0;background:#fff;color:#000;font:600 18px/50px Inter;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.kw26-contact-select-menu button:hover,.kw26-contact-select-menu button:focus-visible{background:#f3effb;outline:0}
.kw26-contact-submit{width:148px;height:57px;margin-top:72px;border:2px solid #19007c;border-radius:12px;background:#dfd6f1;color:#19007c;font:700 20px/24px Inter;cursor:pointer;transition:.2s}.kw26-contact-submit:hover,.kw26-contact-submit:focus-visible{background:#19007c;color:#fff;outline:0}.kw26-contact-submit:disabled{opacity:.55;cursor:wait}
.kw26-contact-status{min-height:24px;margin:12px 0 0;color:#9d2333;font-size:15px}
/* Figma 511:294: panel (452,594) 537x227, the two lines start 54px down, not vertically centred. */
.kw26-contact-success{display:none;position:absolute;z-index:25;left:50%;top:493px;width:537px;height:227px;transform:translateX(-50%);align-items:center;justify-content:flex-start;flex-direction:column;padding:54px 24px 0;background:#dfd6f1;color:#000;text-align:center;font-size:36px;font-weight:700;line-height:30px;cursor:pointer}.kw26-contact-success.is-visible{display:flex}.kw26-contact-success span{display:block;margin-top:30px}
.kw26-contact-page .kw26-footer{height:499px;min-height:499px}.kw26-contact-page .kw26-legal{gap:0}.kw26-contact-page .kw26-legal a{line-height:40px}
@media(max-width:760px){.kw26-contact-page .kw26-header{height:72px}.kw26-contact{min-height:0;padding:48px 20px 80px;background:linear-gradient(90deg,rgba(223,214,241,.6),#fff)}.kw26-contact h1{font-size:38px;line-height:46px}.kw26-contact-intro{margin-top:24px;font-size:16px;line-height:26px}.kw26-contact-form{width:100%;margin-top:58px}.kw26-contact-row{display:block}.kw26-contact-row+.kw26-contact-row{margin-top:52px}.kw26-contact-row .kw26-contact-field+.kw26-contact-field{margin-top:52px}.kw26-contact-service{margin-top:52px}.kw26-contact-project{margin-top:62px}.kw26-contact-label{font-size:18px}.kw26-contact-field input[type=text],.kw26-contact-field input[type=email],.kw26-contact-select-trigger{height:56px;font-size:17px}.kw26-contact-signup{font-size:15px}.kw26-contact-select-menu{top:86px}.kw26-contact-select-menu button{font-size:16px}.kw26-contact-submit{width:148px;margin-top:56px}.kw26-contact-success{position:fixed;top:50%;width:calc(100% - 40px);height:210px;transform:translate(-50%,-50%);font-size:28px}.kw26-contact-page .kw26-footer{height:auto;min-height:0}}

/* Contact fold: the section always consumes the current viewport below the header. The form
   distributes spare vertical room between field groups, so short screens stay compact while
   taller screens expand naturally instead of leaving an empty block below Submit. */
@media(min-width:761px){
 .kw26-contact{height:calc(var(--kw-contact-screen-height,900px) - 101px);min-height:799px;padding:68px 0 8px;display:flex;flex-direction:column}
 .kw26-contact h1{font-size:48px;line-height:58px}
 .kw26-contact-intro{max-width:1054px;margin-top:31px;font-size:20px;line-height:30px}
 .kw26-contact-form{position:relative;width:918px;margin-top:62px;flex:1;min-height:0;display:flex;flex-direction:column;justify-content:space-between}
 .kw26-contact-row+.kw26-contact-row{margin-top:0}
 .kw26-contact-label{height:24px;font-size:18px;line-height:24px}
 .kw26-contact-field input[type=text],.kw26-contact-field input[type=email]{height:48px;padding:10px 0 6px;font-size:18px;line-height:26px}
 .kw26-contact-signup{margin-top:6px;gap:8px;font-size:15px;line-height:22px}
 .kw26-contact-signup i{width:18px;height:18px}
 .kw26-contact-service,.kw26-contact-project{margin-top:0}
 .kw26-contact-select-trigger{height:48px;padding:10px 44px 6px 0;font-size:18px;line-height:26px}
 .kw26-contact-select-trigger i{right:20px;bottom:13px;width:16px;height:8px;background-size:16px 8px}
 .kw26-contact-select-menu{position:fixed;left:50%;top:50%;width:918px;max-width:calc(100% - 80px);max-height:calc(100vh - 40px);padding:6px 0;overflow-y:auto;transform:translate(-50%,-50%)}
 .kw26-contact-select-menu button{height:35px;padding:0 20px;font-size:15px;line-height:35px}
 .kw26-contact-submit{height:48px;margin-top:0;font-size:18px;line-height:22px}
 .kw26-contact-status{position:absolute;left:170px;right:0;bottom:14px;min-height:18px;margin:0;font-size:13px}
 .kw26-contact-success{position:fixed;top:50%;width:480px;height:180px;padding:40px 20px 0;transform:translate(-50%,-50%);font-size:30px;line-height:28px}
 .kw26-contact-success span{margin-top:20px}
}
/* Mobile keeps a readable single column and uses the same elastic vertical distribution. */
@media(max-width:760px){
 .kw26-contact{height:calc(var(--kw-contact-screen-height,704px) - 72px);min-height:632px;padding:16px 20px 6px;display:flex;flex-direction:column}
 .kw26-contact h1{font-size:32px;line-height:38px}
 .kw26-contact-intro{width:100%;margin-top:8px;font-size:14px;line-height:20px}
 .kw26-contact-form{position:relative;margin-top:12px;flex:1;min-height:0;display:flex;flex-direction:column;justify-content:space-between}
 .kw26-contact-row+.kw26-contact-row{margin-top:0}
 .kw26-contact-row .kw26-contact-field+.kw26-contact-field{margin-top:10px}
 .kw26-contact-label{height:18px;font-size:14px;line-height:18px}
 .kw26-contact-field input[type=text],.kw26-contact-field input[type=email],.kw26-contact-select-trigger{height:38px;padding:7px 36px 4px 0;font-size:14px;line-height:20px}
 .kw26-contact-signup{margin-top:4px;gap:6px;font-size:12px;line-height:18px}
 .kw26-contact-signup i{width:16px;height:16px}
 .kw26-contact-service,.kw26-contact-project{margin-top:0}
 .kw26-contact-select-trigger i{right:12px;bottom:11px;width:14px;height:7px;background-size:14px 7px}
 .kw26-contact-select-menu{position:fixed;left:20px;right:20px;top:50%;width:auto;max-height:calc(100vh - 40px);padding:6px 0;overflow-y:auto;transform:translateY(-50%)}
 .kw26-contact-select-menu button{height:32px;padding:0 14px;font-size:13px;line-height:32px}
 .kw26-contact-submit{height:40px;margin-top:0;font-size:16px;line-height:20px}
 .kw26-contact-status{position:absolute;left:160px;right:0;bottom:11px;min-height:14px;margin:0;font-size:12px}
 .kw26-contact-success{height:170px;padding-top:36px;font-size:26px;line-height:28px}
 .kw26-contact-success span{margin-top:18px}
}
/* Type spec (2026-08-07): title 48, intro 20, field labels 20, Sign up 18, Submit 20.
   The fold block above had compressed the form to 18/15/18 so it would fit a short viewport. The
   spec sizes still fit the normal case - at 1440x900 the content needs ~631px of the 799px the
   section gets - so they are restored here and the compact set is kept only for viewports too
   short to hold them. Field box heights are untouched so the fold maths stays valid. */
@media(min-width:761px){
 .kw26-contact-label{height:26px;font-size:20px;line-height:26px}
 .kw26-contact-field input[type=text],.kw26-contact-field input[type=email],.kw26-contact-select-trigger{font-size:20px;line-height:28px}
 .kw26-contact-signup{font-size:18px;line-height:24px}
 .kw26-contact-submit{font-size:20px;line-height:24px}
}
/* Not enough vertical room for the spec sizes: fall back to the compact set so the whole form
   still lands inside the first screen. */
@media(min-width:761px) and (max-height:780px){
 .kw26-contact-label{height:24px;font-size:18px;line-height:24px}
 .kw26-contact-field input[type=text],.kw26-contact-field input[type=email],.kw26-contact-select-trigger{font-size:18px;line-height:26px}
 .kw26-contact-signup{font-size:15px;line-height:22px}
 .kw26-contact-submit{font-size:18px;line-height:22px}
}