@font-face{font-family:Inter;src:url('/assets/3100e775e8616cd2.woff2') format('woff2');font-weight:100 900;font-display:swap}:root{--kw-hero-image:url('/assets/hero.webp')}

.kw-header-phone{color:#075c88;font-size:14px;font-weight:850;white-space:nowrap;margin-left:14px;padding:12px 5px;line-height:1.3}
.kw-short-phone{display:none}.kw-contact-actions{display:flex;flex-wrap:wrap;gap:12px;margin:23px 0}
.kw-contact-actions .btn{min-height:48px;white-space:normal;text-align:center;line-height:1.45;font-size:15px}
.kw-wa{background:#106848!important;color:#fff!important;box-shadow:none!important}
.kw-email{background:#eaf5fc!important;color:#075c88!important;border:1px solid #a5cde4;box-shadow:none!important}
.kw-phone-text,.kw-footer-contact a{overflow-wrap:anywhere}
.kw-contact-card{border-radius:28px;max-width:880px;padding:32px;background:#fff;border:1px solid #bad8eb;color:#12364f}
.kw-contact-card h2{font-size:clamp(28px,4vw,44px);line-height:1.15;margin:18px 0}
.kw-contact-card h3{font-size:22px;line-height:1.35;margin:26px 0 14px}
.kw-contact-card p,.kw-contact-card li{font-size:16px;line-height:1.8;color:#36586d}
.kw-contact-card ul{padding-left:22px;margin:14px 0 24px}.kw-contact-note{font-size:14px!important}
.kw-phone-text{text-decoration:underline;font-weight:800}.kw-quick-contact{display:block!important}
.kw-quick-contact .kw-contact-actions{display:grid;margin:0;gap:10px}.kw-quick-contact p{font-size:13px;line-height:1.6;margin:12px 0 0}
.kw-footer-contact{display:grid;gap:12px;margin-top:22px}.kw-footer-contact a{display:block;color:inherit;text-decoration:underline;font-weight:750;min-height:30px}
.kw-mobile-contact .btn{font-size:13px;padding:12px 9px;line-height:1.4;min-width:0;white-space:nowrap}
@media(min-width:1271px){.header .logo-word{font-size:27px!important}.header .nav{gap:2px;padding:5px}.header .nav a{font-size:13px;padding:10px 9px;white-space:nowrap}.kw-header-phone{font-size:13px;margin-left:10px}}
@media(max-width:600px){.kw-long-phone{display:none}.kw-short-phone{display:inline}.kw-header-phone{margin-left:auto;font-size:13px;padding:12px 8px}.kw-contact-card{padding:23px}.kw-contact-actions{display:grid;grid-template-columns:minmax(0,1fr)}.kw-contact-actions .btn{width:100%;padding:15px 18px}}

.kw-extra{padding-block:64px}.kw-wide{max-width:1000px;margin:auto}.kw-wide>h2{margin-top:36px}.kw-wide p,.kw-wide li{line-height:1.8}.kw-wide a:not(.btn){color:#075c88;text-decoration:underline;text-underline-offset:3px}.kw-home-hub h2,.kw-extra h2{font-size:clamp(27px,3vw,39px);line-height:1.2;letter-spacing:-.035em}.kw-home-hub{display:grid;grid-template-columns:1fr 2fr;gap:40px;align-items:center}.kw-home-hub p{max-width:36ch;line-height:1.7}.kw-hub-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.kw-hub-links a{display:flex;flex-direction:column;gap:16px;background:#eaf5fc;border:1px solid #b6d7eb;border-radius:20px;padding:24px 20px;color:#103b53;transition:transform .15s,background .15s}.kw-hub-links a:hover{background:#d9edfa;transform:translateY(-3px)}.kw-hub-links strong{font-size:21px;line-height:1.3}.kw-hub-links span{font-size:13px;line-height:1.5}.kw-hub-links span:last-child{margin-top:auto}.kw-check,.kw-inquiry,.kw-calculator{border:1px solid #aacfe4;border-radius:26px;background:#f0f8fd;padding:clamp(22px,4vw,40px)}.kw-tool-heading h2{margin:12px 0}.kw-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:24px}.kw-choice-grid button{text-align:left;border:1px solid #a8cde3;border-radius:16px;background:#fff;padding:22px;color:#12384e;cursor:pointer;font:inherit;min-height:110px}.kw-choice-grid button strong,.kw-choice-grid button span{display:block}.kw-choice-grid button strong{font-size:19px;margin-bottom:8px}.kw-choice-grid button span{font-size:14px;line-height:1.5}.kw-choice-grid button[aria-pressed=true]{background:#073f60;color:white;border-color:#073f60}.kw-extra :focus-visible{outline:3px solid #e48217;outline-offset:4px}.kw-result{margin-top:24px;padding:24px;background:#fff;border:1px solid #7aaecb;border-radius:18px;scroll-margin-top:120px}.kw-result h3{font-size:25px;line-height:1.3;margin:0 0 14px}.kw-result p{line-height:1.75}.kw-result .kw-result-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.kw-link-list{padding-left:22px}.kw-link-list li{margin:10px 0}.kw-note{background:#edf6fb;border-left:4px solid #197caf;padding:25px;border-radius:0 16px 16px 0;margin:24px 0}.kw-note h2,.kw-note h3{margin-top:0}.kw-two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px}.kw-table-scroll{overflow:auto;border:1px solid #b6d3e4;border-radius:16px;margin:28px 0}.kw-table-scroll table{width:100%;min-width:700px;border-collapse:collapse;text-align:left}.kw-table-scroll th,.kw-table-scroll td{padding:20px 18px;vertical-align:top;border-bottom:1px solid #d9e8f2;line-height:1.65;font-size:15px}.kw-table-scroll thead{background:#0b4260;color:white}.kw-table-scroll tbody tr:nth-child(even){background:#f3f9fd}.kw-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:24px 0}.kw-field-grid label,.kw-preview-label{display:flex;flex-direction:column;gap:10px;font-weight:750;line-height:1.5;font-size:16px}.kw-field-grid input,.kw-field-grid textarea,.kw-field-grid select,[data-message-preview]{box-sizing:border-box;min-width:0;width:100%;padding:14px;background:#fff;border:1px solid #8eb9d1;border-radius:10px;color:#14394d;font-weight:400;font-family:inherit;font-size:16px;line-height:1.5}.kw-three-fields{grid-template-columns:repeat(3,1fr)}.kw-inquiry .btn,.kw-calculator .btn{border:0;cursor:pointer;min-height:48px}.kw-preview-label{margin-top:28px}.kw-small{font-size:14px!important;line-height:1.7}.kw-checklist{list-style:none;padding:0}.kw-checklist li{margin:16px 0}.kw-checklist label{display:flex;gap:12px;align-items:start;cursor:pointer}.kw-checklist input{width:20px;height:20px;flex-shrink:0;margin-top:4px;accent-color:#075c88}.kw-area-values{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.kw-area-values div{display:flex;flex-direction:column;gap:8px}.kw-area-values strong{font-size:28px;color:#075c88}.kw-extra [hidden]{display:none!important}@media(max-width:1000px){.kw-home-hub{grid-template-columns:1fr;gap:20px}.kw-home-hub p{max-width:none}}@media(max-width:640px){.kw-extra{padding-block:40px}.kw-hub-links,.kw-choice-grid,.kw-two-col,.kw-field-grid,.kw-three-fields{grid-template-columns:1fr}.kw-hub-links a{padding:22px;gap:9px}.kw-choice-grid button{min-height:95px}.kw-area-values{grid-template-columns:1fr}.kw-result{padding:20px}.kw-field-grid{gap:16px}}@media(prefers-reduced-motion:reduce){.kw-hub-links a{transition:none;transform:none!important}}@media print{.kw-checklist input{appearance:auto}.kw-extra{padding:12px 0}}

.kw-calculator,.kw-inquiry{scroll-margin-top:120px}

/* Keep the complete brand visible at every width, including the mobile header. */
.header .logo{align-items:center;min-width:0}
.header .logo .logo-sub,.footer-logo .footer-logo-sub{display:inline-flex!important;align-items:center;justify-content:center;flex-shrink:0;background:#126da6;color:#fff!important;border:0!important;border-radius:7px;font-size:16px!important;line-height:1.1;font-weight:900;letter-spacing:0;margin-left:8px!important;padding:5px 7px!important;text-shadow:none}
@media(max-width:600px){.header .logo .logo-word{font-size:clamp(16px,4.65vw,21px)!important;letter-spacing:-1.1px}.header .logo .logo-sub{font-size:12px!important;margin-left:5px!important;padding:5px!important;border-radius:5px}.header .kw-header-phone{font-size:12px;padding:10px 4px}.header .menu-toggle{flex-shrink:0}}

/* Photo explanations use the native dialog: focus containment and Escape work without a library. */
.kw-photo-trigger{display:block;cursor:zoom-in;text-decoration:none}
.kw-photo-trigger:focus-visible{outline:4px solid #e48217;outline-offset:5px}
.kw-photo-trigger .kw-photo-hint{display:inline-flex;align-items:center;gap:8px;margin-top:14px;padding:10px 14px;border:1px solid #ffffff80;border-radius:30px;background:#ffffffed;color:#075c88!important;font-size:13px!important;line-height:1.4;font-weight:800;text-transform:none!important;letter-spacing:0}
.kw-photo-trigger .project-content h3{margin:0;line-height:1.2}
.kw-photo-trigger.intro-media:after{pointer-events:none}
.kw-photo-trigger .media-badge{z-index:2;max-width:calc(100% - 40px);line-height:1.5}
.kw-photo-figure-link{position:relative;border-radius:30px;overflow:hidden}
.kw-photo-figure-link img{display:block}
.kw-photo-figure-link .kw-photo-hint{position:absolute;left:18px;bottom:18px;margin:0;box-shadow:0 3px 16px #12364f24}
html.kw-photo-is-open{overflow:hidden}
dialog.kw-photo-dialog{box-sizing:border-box;position:fixed;inset:0;width:min(1060px,calc(100% - 40px));max-width:none;height:fit-content;max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px);margin:auto;padding:0;border:1px solid #bfd9e8;border-radius:24px;background:#fff;color:#173d53;box-shadow:0 28px 100px #061e3c66;overflow:auto;overscroll-behavior:contain;text-align:left}
.kw-photo-dialog::backdrop{background:#07273cbb;backdrop-filter:blur(5px)}
.kw-photo-dialog-head{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 22px;background:#f0f8fd;border-bottom:1px solid #d4e5f0}
.kw-photo-dialog-head>span{font-size:14px;font-weight:800;color:#075c88}
.kw-photo-dialog-head button{display:flex;align-items:center;gap:12px;min-height:44px;padding:8px 14px;font:inherit;font-size:14px;font-weight:800;color:#075c88;background:#fff;border:1px solid #a7cadf;border-radius:12px;cursor:pointer}
.kw-photo-dialog-head button span{font-size:26px;line-height:1}
.kw-photo-dialog :focus-visible{outline:3px solid #e48217;outline-offset:3px}
.kw-photo-dialog-body{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
.kw-photo-full{display:flex;align-items:center;background:#e6f1f7;padding:20px}
.kw-photo-full img{width:100%;height:auto;max-height:620px;object-fit:contain;border-radius:14px}
.kw-photo-explanation{padding:30px;min-width:0}
.kw-photo-explanation h2{font-size:clamp(26px,3vw,36px);line-height:1.15;letter-spacing:-.035em;color:#0b496c;margin:0 0 16px}
.kw-photo-explanation>p,.kw-photo-explanation li p{font-size:15px;line-height:1.65;margin:0 0 18px;color:#36586d}
.kw-photo-explanation h3{font-size:20px;line-height:1.35;margin:26px 0 18px;color:#123c55}
.kw-photo-explanation ol{padding-left:24px;margin:0 0 20px}
.kw-photo-explanation li{padding-left:5px;margin:0 0 16px}
.kw-photo-explanation li::marker{font-weight:850;color:#0874a9}
.kw-photo-explanation li strong{display:block;font-size:16px;line-height:1.4;margin-bottom:5px;color:#123c55}
.kw-photo-explanation li p{margin:0}
.kw-photo-explanation .kw-photo-note{font-size:13px;background:#eff7fc;border-radius:12px;padding:14px;margin-top:22px}
.kw-photo-explanation .btn{white-space:normal;text-align:center;line-height:1.45;font-size:14px;min-height:46px;max-width:100%}
@media(max-width:700px){dialog.kw-photo-dialog{width:calc(100% - 20px);max-height:calc(100vh - 20px);max-height:calc(100dvh - 20px);border-radius:18px}.kw-photo-dialog-head{padding:9px 14px}.kw-photo-dialog-body{grid-template-columns:minmax(0,1fr)}.kw-photo-full{padding:14px}.kw-photo-full img{height:190px;object-fit:contain}.kw-photo-explanation{padding:22px}.kw-photo-explanation h3{margin-top:22px}.kw-photo-explanation>p,.kw-photo-explanation li p{font-size:15px}.kw-photo-explanation .btn{width:100%}}
