/* Graphik Web, Commercial Type. Client supplied web licence 1606-BWFRYW. */
@font-face{font-family:'Graphik Web';src:url('fonts/Graphik-Light-Web.woff2') format('woff2'),url('fonts/Graphik-Light-Web.woff') format('woff');font-weight:300;font-style:normal;font-display:swap}
:root{--ke-paper:#f8f6f4;--ke-ink:#0a0908;--ke-muted:#545250;--ke-line:rgba(185,183,180,.55);--ke-font:'Graphik Web',Arial,sans-serif}
html{scroll-behavior:smooth;scroll-padding-top:32px}
body{margin:0;background:var(--ke-paper);color:var(--ke-ink);font-family:var(--ke-font);font-weight:300;-webkit-font-smoothing:antialiased}
body .elementor-widget-heading .elementor-heading-title,body .elementor-widget-text-editor,body .elementor-button,body .elementor-form,body .elementor-toggle{font-family:var(--ke-font);font-weight:300;color:inherit}
body .elementor-heading-title{line-height:1.2}
a{color:inherit}a:hover{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #766b58;outline-offset:5px}
body .elementor .e-con{--container-default-padding-top:0;--container-default-padding-right:0;--container-default-padding-bottom:0;--container-default-padding-left:0;--widgets-spacing:0px;min-width:0}
body .elementor-widget{min-width:0}body .elementor-widget-text-editor p:last-child{margin-bottom:0}
.ke-header.e-con{max-width:none;align-items:center;padding:34px 24px 0;gap:34px}
.ke-logo{width:184px!important;max-width:184px!important}.ke-logo img{display:block;width:184px;height:auto}
.ke-logo a,.ke-footer-logo a{display:block;line-height:0}
.ke-contact-form .ke-form-information{font-size:14px;line-height:1.65}
.ke-nav.e-con{width:auto;flex-direction:row;align-items:center;gap:52px;min-height:28.5px}
.ke-nav>.elementor-widget:not(:last-child){position:relative}.ke-nav>.elementor-widget:not(:last-child):after{content:'';position:absolute;width:1px;height:10px;right:-26px;top:50%;transform:translateY(-50%);background:var(--ke-ink);opacity:.6}
.ke-link .elementor-button{padding:0;border:0;border-radius:0;background:transparent!important;color:var(--ke-ink);font-size:13px;line-height:1.5;letter-spacing:1.4px;text-transform:uppercase;box-shadow:none}
.ke-link .elementor-button-text{position:relative}.ke-link .elementor-button-text:after{content:'';position:absolute;left:0;right:0;bottom:-4px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .4s ease}
.ke-link a:hover .elementor-button-text:after,.ke-link a:focus-visible .elementor-button-text:after{transform:scaleX(1);transform-origin:left}
.ke-nav .elementor-button{letter-spacing:1.98px;font-size:13px}
.ke-projects.e-con{width:100%;max-width:1160px;margin:0 auto;padding:0 32px}
.ke-filters.e-con{flex-direction:row;align-items:center;justify-content:center;flex-wrap:wrap;gap:13px 28px;padding:66px 0 42px;min-height:150px}
.ke-filter .elementor-button{font-size:12px;letter-spacing:1px;color:#78746e;padding:6px 0}
.ke-filter.is-active .elementor-button{color:var(--ke-ink)}.ke-filter.is-active .elementor-button-text:after{transform:scaleX(1)}
.ke-project-grid.e-con{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));column-gap:16px;row-gap:88px;align-items:start}
.ke-card.e-con{grid-column:span 2;gap:0;width:100%;min-width:0}.ke-card-large.e-con{grid-column:span 3}.ke-card-offset{margin-top:64px}
.ke-card-image{width:100%}.ke-card-image .elementor-widget-container,.ke-card-image a{display:block;overflow:hidden;aspect-ratio:1/1}
.ke-card-image img{display:block;width:100%;height:100%;aspect-ratio:1/1;object-fit:cover;transition:transform 1.1s cubic-bezier(.2,.65,.25,1);will-change:auto}
@media(hover:hover){.ke-card:hover .ke-card-image img{transform:scale(1.045)}}
.ke-card-caption.e-con{display:flex;flex-direction:row;justify-content:space-between;align-items:start;gap:14px;padding-top:12px}
.ke-card-title{max-width:77%;width:auto}.ke-card-title .elementor-heading-title{font-size:13px!important;line-height:1.4;letter-spacing:.66px;text-transform:uppercase}
.ke-card-category{width:auto;font-size:12px;line-height:1.5;letter-spacing:.65px;text-transform:uppercase;color:var(--ke-muted)!important;white-space:nowrap}
.ke-card[hidden]{display:none!important}.ke-project-grid.ke-filtered .ke-card{grid-column:span 2;margin-top:0}
.ke-home-about.e-con{max-width:680px;margin:0 auto;padding:176px 20px 0;text-align:center;align-items:center;gap:36px}
.ke-eyebrow .elementor-heading-title{font-size:12px!important;line-height:1.5;letter-spacing:1.6px;text-transform:uppercase}
.ke-about-text{color:var(--ke-muted)!important;font-size:17px;line-height:1.75}.ke-about-text p{margin-bottom:12px}.ke-home-about .ke-link .elementor-button{font-size:12px}
.ke-footer.e-con{width:calc(100% - 96px);max-width:none;margin:128px 48px 0;border-top:1px solid var(--ke-line);padding:32px 0 24px}
.ke-footer-top.e-con{flex-direction:row;align-items:center;justify-content:space-between;gap:30px}.ke-footer-logo{width:196px!important}.ke-footer-logo img{width:196px;height:auto}
.ke-footer-contact.e-con{width:auto;align-items:flex-end;gap:12px}.ke-footer-contact .elementor-widget-text-editor{font-size:13px;color:var(--ke-muted)}
.ke-footer-bottom.e-con{flex-direction:row;align-items:center;justify-content:space-between;border-top:1px solid var(--ke-line);margin-top:30px;padding-top:20px;gap:20px}
.ke-footer-bottom .elementor-widget-text-editor{font-size:12px;color:var(--ke-muted)}.ke-legal-links.e-con{width:auto;flex-direction:row;gap:22px}.ke-legal-links .elementor-button{font-size:11px;letter-spacing:.8px}
.ke-whatsapp{position:fixed!important;right:22px;bottom:20px;z-index:50;width:auto!important}.ke-whatsapp .elementor-button{background:var(--ke-paper)!important;border:1px solid var(--ke-line);padding:12px 17px;font-size:12px;letter-spacing:.7px;box-shadow:0 4px 18px #00000008}
.ke-section.e-con{max-width:1160px;margin:0 auto;padding:88px 32px;gap:44px}
.ke-two-col.e-con{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.ke-studio-intro.e-con,.ke-contact-intro.e-con{padding-top:110px;align-items:start}
.ke-copy.e-con{gap:24px}.ke-copy .elementor-widget-text-editor,.ke-section .elementor-widget-text-editor{font-size:17px;line-height:1.8;color:var(--ke-muted)}
.ke-section-title .elementor-heading-title{font-size:clamp(28px,2.8vw,42px);line-height:1.18;letter-spacing:-1px}
.ke-statement .elementor-heading-title{font-size:clamp(36px,4vw,62px);line-height:1.12;letter-spacing:-1.8px}
.ke-office-pending.e-con{min-height:390px;padding:50px 38px;background:#efede9;justify-content:center}
.ke-band.e-con{background:#f0eeea;padding:70px 48px;margin:28px auto}
.ke-band>.ke-copy{max-width:760px}.ke-stats.e-con{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:32px;margin-top:20px}.ke-stat.e-con{border-top:1px solid var(--ke-line);padding-top:26px;gap:16px}.ke-number .elementor-heading-title{font-size:clamp(30px,3.6vw,54px);letter-spacing:-1.5px;line-height:1.15}
.ke-editorial-image img{width:100%;aspect-ratio:4/5;object-fit:cover}.ke-services.e-con{display:grid;grid-template-columns:1fr 1fr;gap:64px 32px}.ke-service.e-con{gap:20px}.ke-service h3{font-size:24px;line-height:1.3}.ke-service-image img{width:100%;aspect-ratio:4/3;object-fit:cover}
.ke-steps.e-con{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}.ke-step.e-con{gap:20px;padding-top:24px;border-top:1px solid var(--ke-line)}.ke-step h3{font-size:23px}
.ke-languages .elementor-heading-title{font-size:clamp(20px,2.5vw,34px);letter-spacing:1px;line-height:1.5}
.ke-faq.e-con{max-width:900px}.ke-accordion .elementor-toggle-item{border:0;border-bottom:1px solid var(--ke-line)}.ke-accordion .elementor-toggle .elementor-tab-title{border:0;padding:22px 0;font-size:17px;font-weight:300;line-height:1.5}.ke-accordion .elementor-toggle-title{font-weight:300}.ke-accordion .elementor-toggle .elementor-tab-content{border:0;padding:0 26px 24px 0;color:var(--ke-muted);font-size:16px;line-height:1.8}.ke-accordion .elementor-tab-title.elementor-active a,.ke-accordion .elementor-toggle-icon{color:var(--ke-ink)!important}.ke-accordion .elementor-toggle-icon{font-size:14px;padding-top:4px}
.ke-cta.e-con{max-width:900px;align-items:center;text-align:center;gap:32px;padding-bottom:50px}.ke-cta .elementor-widget-text-editor{max-width:640px}
.ke-contact-copy.e-con,.ke-contact-form.e-con{gap:28px}.ke-contact-copy h2,.ke-contact-form h2{font-size:26px;line-height:1.3}.ke-contact-details.e-con{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px}.ke-contact-details>.e-con{gap:18px}.ke-contact-details h3{font-size:16px}.ke-contact-details .elementor-widget-text-editor{font-size:15px;line-height:1.6}.ke-contact-details .elementor-button{font-size:12px;letter-spacing:.3px}
.ke-form .elementor-form-fields-wrapper{column-gap:0;row-gap:22px}.ke-form .elementor-field-group{padding-right:10px;padding-left:10px;margin-bottom:0!important;align-content:start}.ke-form .elementor-form-fields-wrapper{margin:0 -10px}.ke-form .elementor-field-label{font-size:14px;padding-bottom:10px!important;font-weight:300!important;letter-spacing:.2px}.ke-form .elementor-field{border:0!important;border-bottom:1px solid #b9b7b4!important;border-radius:0!important;background:transparent!important;padding:8px 0!important;min-height:42px;font-size:16px!important;color:var(--ke-ink)!important;font-family:var(--ke-font)!important}.ke-form textarea.elementor-field{resize:vertical}.ke-form .elementor-field-type-acceptance label{font-size:14px;line-height:1.7}.ke-form .elementor-field-type-acceptance input{accent-color:#1b1916;margin-right:8px}.ke-form .elementor-button{background:var(--ke-ink);color:var(--ke-paper);padding:18px;border-radius:0;font-size:14px;letter-spacing:1px;text-transform:uppercase}.ke-form .elementor-button:hover{background:#3c3934}
.ke-project-page.e-con{max-width:1160px;margin:0 auto;padding:80px 32px 0;gap:28px}.ke-project-title .elementor-heading-title{font-size:clamp(34px,4.5vw,64px);letter-spacing:-1px;line-height:1.14}
.ke-project-hero{width:100%;margin-top:18px}.ke-project-hero .elementor-widget-container{overflow:hidden}.ke-project-hero img{width:100%;max-height:780px;aspect-ratio:4/3;object-fit:cover;display:block}
.ke-project-story.e-con{display:grid;grid-template-columns:1fr 2fr;gap:90px;padding:52px 0 64px}.ke-project-meta.e-con{gap:30px}.ke-project-meta-item.e-con{gap:10px}.ke-project-meta-item .elementor-widget-text-editor{font-size:16px;line-height:1.5;color:var(--ke-muted)}.ke-project-description{font-size:19px;line-height:1.8;color:var(--ke-muted)!important}
.ke-project-gallery .gallery{display:grid;grid-template-columns:1fr 1fr;gap:24px!important;margin:0!important}.ke-project-gallery .gallery-item{width:100%!important;max-width:100%!important;padding:0!important;margin:0!important}.ke-project-gallery .gallery-icon a{display:block;overflow:hidden}.ke-project-gallery .gallery-icon img{width:100%;height:auto;border:0!important;display:block;transition:transform 1s ease}.ke-project-gallery .gallery-icon a:hover img{transform:scale(1.025)}.ke-project-gallery br{display:none}.ke-project-end.e-con{flex-direction:row;justify-content:space-between;padding-top:32px;gap:20px}
.ke-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important}
.ke-legal.e-con{max-width:880px;margin:0 auto;padding:90px 32px;gap:28px}.ke-legal .elementor-widget-text-editor{font-size:17px;line-height:1.8}
@media(max-width:1024px){.ke-section.e-con{padding:64px 32px}.ke-two-col.e-con{gap:36px}.ke-project-grid.e-con{row-gap:60px}.ke-card-title .elementor-heading-title{font-size:12px!important}.ke-card-caption.e-con{flex-direction:column;gap:5px}.ke-card-title{max-width:100%}.ke-steps.e-con,.ke-contact-details.e-con{grid-template-columns:1fr 1fr}.ke-project-story.e-con{gap:40px}.ke-number .elementor-heading-title{font-size:32px}}
@media(max-width:767px){.ke-header.e-con{padding:28px 20px 0;gap:25px}.ke-logo,.ke-logo img{width:158px!important}.ke-nav.e-con{gap:38px}.ke-nav .elementor-button{font-size:12px;letter-spacing:1.3px}.ke-nav>.elementor-widget:not(:last-child):after{right:-19px}.ke-projects.e-con{padding:0 20px}.ke-filters.e-con{padding:42px 0 30px;min-height:0;gap:9px 17px}.ke-filter .elementor-button{font-size:11px;letter-spacing:.5px}.ke-project-grid.e-con{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 14px}.ke-card.e-con,.ke-card-large.e-con,.ke-project-grid.ke-filtered .ke-card{grid-column:span 1;margin-top:0}.ke-card-large.e-con{grid-column:span 2}.ke-card-caption.e-con{padding-top:10px}.ke-card-title .elementor-heading-title{font-size:12px!important;letter-spacing:.3px}.ke-card-category{font-size:11px;letter-spacing:.4px}.ke-home-about.e-con{padding:90px 28px 0;gap:26px}.ke-about-text{font-size:16px}.ke-footer.e-con{width:calc(100% - 40px);margin:76px 20px 0;padding:28px 0 78px}.ke-footer-top.e-con{align-items:flex-start;flex-direction:column;gap:28px}.ke-footer-logo,.ke-footer-logo img{width:158px!important}.ke-footer-contact.e-con{align-items:flex-start}.ke-footer-bottom.e-con{align-items:flex-start;flex-direction:column;gap:18px}.ke-legal-links.e-con{flex-wrap:wrap;gap:16px}.ke-whatsapp{right:14px;bottom:14px}.ke-whatsapp .elementor-button{font-size:11px;padding:10px 13px}.ke-section.e-con{padding:52px 20px;gap:30px}.ke-two-col.e-con{grid-template-columns:1fr;gap:32px}.ke-studio-intro.e-con,.ke-contact-intro.e-con{padding-top:62px}.ke-office-pending.e-con{min-height:220px;padding:35px 26px}.ke-copy .elementor-widget-text-editor,.ke-section .elementor-widget-text-editor{font-size:16px;line-height:1.75}.ke-band.e-con{margin:12px 0;padding:48px 24px}.ke-stats.e-con{grid-template-columns:1fr;gap:28px}.ke-stat.e-con{gap:10px}.ke-number .elementor-heading-title{font-size:42px}.ke-services.e-con{grid-template-columns:1fr;gap:44px}.ke-steps.e-con{grid-template-columns:1fr;gap:26px}.ke-contact-details.e-con{grid-template-columns:1fr;gap:30px}.ke-contact-details>.e-con{gap:12px}.ke-project-page.e-con{padding:58px 20px 0;gap:22px}.ke-project-story.e-con{grid-template-columns:1fr;gap:32px;padding:24px 0}.ke-project-meta.e-con{display:grid;grid-template-columns:1fr 1fr;gap:22px}.ke-project-description{font-size:17px;line-height:1.8}.ke-project-hero img{aspect-ratio:1/1}.ke-project-gallery .gallery{grid-template-columns:1fr;gap:18px!important}.ke-project-end.e-con{flex-wrap:wrap;gap:26px}.ke-legal.e-con{padding:60px 20px}.ke-accordion .elementor-toggle .elementor-tab-title{font-size:16px}.ke-accordion .elementor-toggle .elementor-tab-content{font-size:16px}}
@media(max-width:359px){.ke-project-grid.e-con{grid-template-columns:1fr}.ke-card.e-con,.ke-card-large.e-con{grid-column:span 1}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;animation-iteration-count:1!important}}
.elementor .ke-contact-form .ke-form-information{font-size:14px;line-height:1.65}
.ke-form .elementor-field-type-acceptance .elementor-field-option{display:flex;align-items:flex-start;gap:8px}
.ke-form .elementor-field-type-acceptance input.elementor-field{min-height:0;width:14px;height:14px;flex:0 0 14px;margin:3px 0 0;padding:0!important}
.ke-form .elementor-field-type-acceptance .elementor-field-option label{display:block;flex:1}
.ke-form .elementor-select-wrapper.elementor-field{padding:0!important}
.ke-form select.elementor-field-textual{border:0!important;border-radius:0;background:transparent;padding:8px 24px 8px 0;min-height:42px;font-family:var(--ke-font);font-size:16px;font-weight:300;color:var(--ke-ink)}

/* Project detail: native Elementor image, heading, text and gallery widgets. */
.single-ke_project{--ke-project-gutter:clamp(24px,4vw,80px);--ke-admin-offset:0px}
 .single-ke_project .elementor-location-header{position:relative;z-index:12}
.single-ke_project .ke-header.e-con{flex-direction:row;justify-content:space-between;padding:32px var(--ke-project-gutter);gap:28px}
.single-ke_project .ke-project-page.e-con{display:grid;grid-template-columns:var(--ke-project-gutter) minmax(0,1fr) var(--ke-project-gutter);max-width:none;width:100%;padding:0;gap:0}
.single-ke_project .ke-project-page> *{grid-column:2;min-width:0}
.single-ke_project .ke-project-page>.ke-link:first-child{grid-row:1;justify-self:start;padding:36px 0 32px}
.single-ke_project .ke-project-page>.ke-link:first-child .elementor-button{font-size:12px;letter-spacing:1px}
.single-ke_project .ke-project-title{grid-row:2;padding:0;max-width:1200px!important}
.single-ke_project .ke-project-title .elementor-heading-title{font-size:clamp(48px,6.8vw,96px);line-height:1.08;letter-spacing:-.045em;color:var(--ke-ink);text-wrap:balance;overflow-wrap:normal}
.single-ke_project .ke-project-page>.ke-eyebrow{grid-row:3;justify-self:start;width:auto;padding:24px 0 64px}
.single-ke_project .ke-project-page>.ke-eyebrow .elementor-heading-title{display:inline-block;color:var(--ke-muted);font-size:12px!important;letter-spacing:1.4px;border:1px solid var(--ke-line);border-radius:30px;padding:8px 16px}
.single-ke_project .ke-project-page>.ke-project-hero{grid-column:1/-1;grid-row:4;width:100%;height:clamp(420px,72svh,900px);margin:0;overflow:hidden;background:#e9e5df}
.single-ke_project .ke-project-hero .elementor-widget-container{height:100%}
.single-ke_project .ke-project-hero img{width:100%;height:100%;max-height:none;aspect-ratio:auto;object-fit:cover;object-position:50% 62%}
.single-ke_project .ke-project-story.e-con{grid-column:2;display:grid;grid-template-columns:minmax(200px,1fr) minmax(0,2.2fr);align-items:start;gap:clamp(48px,7vw,140px);width:100%;max-width:1440px;justify-self:center;padding:112px 0 120px}
.single-ke_project .ke-project-meta.e-con{gap:0;position:sticky;top:56px}
.single-ke_project .ke-project-meta-item.e-con{gap:12px;padding:22px 0;border-top:1px solid var(--ke-line)}
.single-ke_project .ke-project-meta-item .ke-eyebrow .elementor-heading-title{font-size:11px!important;letter-spacing:1.6px}
.single-ke_project .ke-project-meta-item .elementor-widget-text-editor{font-size:18px;line-height:1.5;color:var(--ke-ink)}
.single-ke_project .ke-project-description{font-size:clamp(20px,2.1vw,30px);line-height:1.55;letter-spacing:-.025em;color:var(--ke-ink)!important}
.single-ke_project .ke-project-description p{margin-bottom:1.2em}
.single-ke_project .ke-project-gallery{grid-column:2;width:100%;max-width:1600px;justify-self:center}
.single-ke_project .ke-project-gallery .gallery{grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(22px,3vw,56px)!important;align-items:start}
.single-ke_project .ke-project-gallery .gallery-item{grid-column:span 6;float:none}
.single-ke_project .ke-project-gallery .gallery-item:nth-child(6n+1){grid-column:1/-1}
.single-ke_project .ke-project-gallery .gallery-item:nth-child(6n+2){grid-column:1/span 7}
.single-ke_project .ke-project-gallery .gallery-item:nth-child(6n+3){grid-column:9/span 4;align-self:center}
.single-ke_project .ke-project-gallery .gallery-item:nth-child(6n+4){grid-column:1/span 4;align-self:center}
.single-ke_project .ke-project-gallery .gallery-item:nth-child(6n+5){grid-column:6/span 7}
.single-ke_project .ke-project-gallery .gallery-item:nth-child(6n){grid-column:3/span 8;margin:clamp(16px,3vw,56px) 0!important}
.single-ke_project .ke-project-gallery .gallery-item:last-child:nth-child(6n+2),.single-ke_project .ke-project-gallery .gallery-item:last-child:nth-child(6n+4){grid-column:2/span 10}
.single-ke_project .ke-project-gallery .gallery-icon img{height:auto;max-height:none;object-fit:contain}
.single-ke_project .ke-project-end.e-con{grid-column:2;max-width:1440px;width:100%;justify-self:center;align-items:center;margin:120px 0 0;padding:40px 0 0;border-top:1px solid var(--ke-line);gap:36px}
.single-ke_project .ke-project-end>.ke-link:last-child{max-width:66%;text-align:right}
.single-ke_project .ke-project-end>.ke-link:last-child .elementor-button{font-size:clamp(22px,3.2vw,48px);line-height:1.25;letter-spacing:-.04em;text-transform:none;text-align:right}
.single-ke_project .ke-footer.e-con{margin-top:88px}
@media(min-width:1025px){.single-ke_project .ke-project-gallery .gallery-item:nth-child(6n+1){margin-bottom:40px!important}.single-ke_project .ke-project-gallery .gallery-item:nth-child(6n){margin-block:60px!important}}
@media(max-width:1024px){
 .single-ke_project .ke-project-story.e-con{grid-template-columns:1fr 2fr;gap:44px;padding:80px 0}
 .single-ke_project .ke-project-title .elementor-heading-title{font-size:clamp(44px,7vw,76px)}
 .single-ke_project .ke-project-meta-item .elementor-widget-text-editor{font-size:16px}
}
@media(max-width:767px){
 .single-ke_project{--ke-project-gutter:20px}
 .single-ke_project .ke-header.e-con{flex-direction:column;align-items:flex-start;padding:24px 20px;gap:24px}
 .single-ke_project .ke-header .ke-logo,.single-ke_project .ke-header .ke-logo img{width:148px!important;max-width:148px!important}
 .single-ke_project .ke-nav.e-con{gap:32px}
 .single-ke_project .ke-header .ke-nav>.elementor-widget:after{right:-16px}
 .single-ke_project .ke-project-page>.ke-link:first-child{padding:24px 0 28px}
 .single-ke_project .ke-project-page>.ke-link:first-child .elementor-button{font-size:11px}
 .single-ke_project .ke-project-page>.ke-eyebrow{padding:22px 0 38px}
 .single-ke_project .ke-project-title{padding:0}
 .single-ke_project .ke-project-title .elementor-heading-title{font-size:clamp(34px,8.8vw,64px);line-height:1.06;letter-spacing:-.035em;overflow-wrap:anywhere}
 .single-ke_project .ke-project-page>.ke-project-hero{height:clamp(360px,58svh,560px)}
 .single-ke_project .ke-project-hero img{object-position:50% 50%}
 .single-ke_project .ke-project-story.e-con{grid-template-columns:1fr;gap:36px;padding:56px 0 64px}
 .single-ke_project .ke-project-meta.e-con{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;position:static}
 .single-ke_project .ke-project-meta-item.e-con{padding:18px 0;gap:9px}
 .single-ke_project .ke-project-description{font-size:20px;line-height:1.6;letter-spacing:-.015em}
 .single-ke_project .ke-project-gallery .gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px!important}
 .single-ke_project .ke-project-gallery .gallery-item:nth-child(n){grid-column:1/-1;align-self:start;margin:0!important}
 .single-ke_project .ke-project-gallery .gallery-item:nth-child(6n+3),.single-ke_project .ke-project-gallery .gallery-item:nth-child(6n+4){grid-column:span 1;align-self:center}
 .single-ke_project .ke-project-gallery .gallery-item:last-child:nth-child(6n+3){grid-column:1/-1}
 .single-ke_project .ke-project-end.e-con{align-items:flex-start;flex-direction:column;margin-top:64px;padding-top:28px;gap:28px}
 .single-ke_project .ke-project-end>.ke-link:last-child{max-width:100%;text-align:left}
 .single-ke_project .ke-project-end>.ke-link:last-child .elementor-button{font-size:30px;text-align:left}
 .single-ke_project .ke-footer.e-con{margin-top:64px}
}
@media(max-width:359px){.single-ke_project .ke-project-gallery .gallery-item:nth-child(n){grid-column:1/-1}}

/* Sorra-inspired visual direction, using KoirEnsu's own native widgets and assets. */
body:not(.home){--ke-paper:#fff;--ke-ink:#171915;--ke-muted:#54574f;--ke-line:#dadcd5;--ke-site-gutter:clamp(24px,6vw,110px)}
html:has(body:not(.home)){scroll-padding-top:120px}
body:not(.home) .elementor-location-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);backdrop-filter:blur(12px)}
body.admin-bar:not(.home) .elementor-location-header{top:32px}
body:not(.home) .ke-header.e-con,body.single-ke_project .ke-header.e-con{flex-direction:row;justify-content:space-between;align-items:center;padding:26px 3.5vw;gap:30px}
body:not(.home) .ke-logo,body:not(.home) .ke-logo img{width:184px!important;max-width:184px!important}
body:not(.home) .ke-nav.e-con{gap:38px}
body:not(.home) .ke-nav>.elementor-widget:after{display:none}
body:not(.home) .ke-nav .elementor-button{font-size:14px;letter-spacing:1.2px}
body:not(.home) .ke-nav>.ke-link:last-child .elementor-button{border:1px solid var(--ke-ink);border-radius:50px;padding:8px 22px}
body:not(.home) .ke-nav>.ke-link:last-child .elementor-button-text:after{display:none}
body:not(.home) .ke-nav>.ke-link:last-child .elementor-button:hover{background:var(--ke-ink)!important;color:#fff}
body:not(.home) .ke-projects.e-con{max-width:1600px;padding:96px var(--ke-site-gutter) 0;gap:0}
body:not(.home) .ke-projects>.ke-sr-only{position:static!important;width:auto!important;height:auto!important;clip:auto!important;overflow:visible!important;white-space:normal!important;margin:0;padding:0!important;max-width:940px}
body:not(.home) .ke-projects>.ke-sr-only .elementor-heading-title{font-size:clamp(36px,4.2vw,64px);line-height:1.15;letter-spacing:-1.7px;text-wrap:balance}
body:not(.home) .ke-filters.e-con{justify-content:flex-start;min-height:0;padding:40px 0 76px;gap:12px}
body:not(.home) .ke-filter .elementor-button{font-size:13px;letter-spacing:.4px;padding:8px 19px;border:1px solid #92978c;border-radius:40px;transition:background-color .3s,color .3s}
body:not(.home) .ke-filter .elementor-button-text:after{display:none}
body:not(.home) .ke-filter.is-active .elementor-button,body:not(.home) .ke-filter .elementor-button:hover{background:#555e50!important;color:#fff;border-color:#555e50}
body:not(.home) .ke-project-grid.e-con{grid-template-columns:repeat(3,minmax(0,1fr));gap:72px 36px}
body:not(.home) .ke-card.e-con,body:not(.home) .ke-card-large.e-con,body:not(.home) .ke-project-grid.ke-filtered .ke-card{grid-column:span 1;margin-top:0}
body:not(.home) .ke-card-image .elementor-widget-container,body:not(.home) .ke-card-image a,body:not(.home) .ke-card-image img{aspect-ratio:8/5}
body:not(.home) .ke-card-caption.e-con{flex-direction:column-reverse;align-items:flex-start;padding-top:22px;gap:14px}
body:not(.home) .ke-card-title{width:100%;max-width:100%}
body:not(.home) .ke-card-title .elementor-heading-title{font-size:19px!important;line-height:1.45;letter-spacing:.1px;text-transform:none}
body:not(.home) .ke-card-category{font-size:11px;letter-spacing:.5px;border:1px solid #a4aa9f;padding:3px 10px;border-radius:30px;line-height:1.4}
body:not(.home) .ke-home-about.e-con{max-width:1100px;padding:160px 40px 40px;gap:38px}
body:not(.home) .ke-home-about .ke-eyebrow .elementor-heading-title{font-size:32px!important;letter-spacing:5px}
body:not(.home) .ke-about-text{font-size:23px;line-height:1.8;color:var(--ke-ink)!important}
body:not(.home) .ke-home-about>.ke-link .elementor-button,body:not(.home) .ke-cta>.ke-link .elementor-button,body:not(.home) .ke-studio-intro .ke-copy>.ke-link .elementor-button{border:1px solid var(--ke-ink);border-radius:50px;padding:17px 32px;font-size:13px;line-height:1.4;letter-spacing:.5px}
body:not(.home) .ke-home-about>.ke-link .elementor-button-text:after,body:not(.home) .ke-cta>.ke-link .elementor-button-text:after,body:not(.home) .ke-studio-intro .ke-copy>.ke-link .elementor-button-text:after{display:none}
body:not(.home) .ke-home-about>.ke-link a:hover,body:not(.home) .ke-cta>.ke-link a:hover,body:not(.home) .ke-studio-intro .ke-copy>.ke-link a:hover{background:var(--ke-ink)!important;color:#fff}
body:not(.home) .ke-section.e-con{max-width:1440px;padding:110px var(--ke-site-gutter);gap:56px}
body:not(.home) .ke-copy.e-con{gap:28px}
body:not(.home) .ke-copy .elementor-widget-text-editor,body:not(.home) .ke-section .elementor-widget-text-editor{font-size:17px;line-height:1.95}
body:not(.home) .ke-section-title .elementor-heading-title{font-size:clamp(30px,3.1vw,46px);line-height:1.35;letter-spacing:-.025em}
body:not(.home) .ke-eyebrow .elementor-heading-title{font-size:14px!important;letter-spacing:2px;line-height:1.5}
body:not(.home) .ke-studio-intro.e-con{padding-top:100px;grid-template-columns:1fr 1fr;gap:80px;align-items:stretch}
body:not(.home) .ke-studio-intro .ke-copy>.ke-eyebrow .elementor-heading-title{font-size:clamp(36px,4vw,60px)!important;letter-spacing:4px}
body:not(.home) .ke-studio-intro h1.elementor-heading-title{font-size:28px;line-height:1.45;letter-spacing:0}
body:not(.home) .ke-office-pending.e-con{min-height:620px;padding:56px 40px;background:linear-gradient(135deg,#f1f3ee,#e7ebe2 45%,#f6f7f4);position:relative;overflow:hidden}
body:not(.home) .ke-office-pending:before{content:"";position:absolute;inset:-20%;background:repeating-linear-gradient(112deg,transparent 0 90px,#c6cebc35 90px 130px,transparent 130px 190px);filter:blur(16px);pointer-events:none}
body:not(.home) .ke-office-pending .ke-statement .elementor-heading-title{font-size:clamp(36px,3.8vw,56px);line-height:1.25;letter-spacing:-1px}
body:not(.home) .ke-band.e-con{background:#f6f7f3;margin:0 auto;padding-block:100px}
body:not(.home) .ke-stats.e-con{gap:48px;margin-top:24px}
body:not(.home) .ke-stat.e-con{padding-top:28px;gap:16px}
body:not(.home) .ke-number .elementor-heading-title{font-size:clamp(30px,3.4vw,50px);letter-spacing:-1px}
body:not(.home) .elementor-170>.ke-section:has(>.ke-editorial-image){display:flex;flex-direction:column;max-width:none;padding:0;gap:0;background:#f8faf6;align-items:center;overflow:hidden}
body:not(.home) .elementor-170>.ke-section:has(>.ke-editorial-image)>.ke-editorial-image{width:100%;max-width:none}
body:not(.home) .elementor-170>.ke-section:has(>.ke-editorial-image)>.ke-editorial-image img{width:100%;height:clamp(420px,66svh,780px);object-fit:cover;aspect-ratio:auto}
body:not(.home) .elementor-170>.ke-section:has(>.ke-editorial-image)>.ke-copy{max-width:860px;width:100%;text-align:center;padding:120px 40px;gap:42px;position:relative;isolation:isolate}
body:not(.home) .elementor-170>.ke-section:has(>.ke-editorial-image)>.ke-copy:before{content:"";position:absolute;inset:0 -40vw;z-index:-1;background:linear-gradient(118deg,transparent 15%,#e4eade66 24%,transparent 38%,#e4eade55 65%,transparent 79%);filter:blur(26px);pointer-events:none}
body:not(.home) .elementor-170>.ke-section:has(>.ke-editorial-image)>.ke-copy>.ke-copy{align-items:center;gap:38px}
body:not(.home) .elementor-170>.ke-section:has(>.ke-editorial-image) .elementor-widget-text-editor{line-height:2.2}
body:not(.home) .elementor-170>.ke-section:has(>.ke-editorial-image) .ke-accordion{text-align:left}
body:not(.home) .ke-services.e-con{grid-template-columns:1fr;gap:110px}
body:not(.home) .ke-service.e-con{display:grid;grid-template-columns:1.1fr 1fr;grid-template-rows:auto auto 1fr;column-gap:64px;row-gap:26px;align-items:start}
body:not(.home) .ke-service>.ke-service-image{grid-column:1;grid-row:1/4}
body:not(.home) .ke-service>.ke-service-image img{aspect-ratio:4/5;object-fit:cover}
body:not(.home) .ke-service>.elementor-widget-heading{grid-column:2;grid-row:1}
body:not(.home) .ke-service>.elementor-widget-text-editor{grid-column:2;grid-row:2}
body:not(.home) .ke-service>.ke-accordion{grid-column:2;grid-row:3}
body:not(.home) .ke-service h3{font-size:30px;line-height:1.35;letter-spacing:-.5px}
body:not(.home) .ke-steps.e-con{grid-template-columns:1fr;gap:0}
body:not(.home) .ke-step.e-con{display:grid;grid-template-columns:1fr 1.4fr;padding:30px 0;gap:48px;border-top:1px solid var(--ke-line)}
body:not(.home) .ke-step h3{font-size:25px;line-height:1.4}
body:not(.home) .ke-faq.e-con{display:grid;grid-template-columns:1fr 1.5fr;gap:80px;max-width:1440px}
body:not(.home) .ke-accordion .elementor-toggle .elementor-tab-title{padding:26px 0;font-size:17px;line-height:1.7}
body:not(.home) .ke-accordion .elementor-toggle .elementor-tab-content{font-size:16px;line-height:1.9}
body:not(.home) .ke-cta.e-con{max-width:none;background:#f4f6ef;padding:110px 24px;gap:38px}
body:not(.home) .ke-cta .ke-statement{max-width:900px}
body:not(.home) .ke-cta .ke-statement .elementor-heading-title{font-size:clamp(34px,4.8vw,70px);line-height:1.2;letter-spacing:-1.5px}
body:not(.home) .ke-contact-intro.e-con{padding-top:100px;gap:90px}
body:not(.home) .ke-contact-copy>.ke-eyebrow .elementor-heading-title{font-size:clamp(34px,3.6vw,54px)!important;letter-spacing:3px}
body:not(.home) .ke-contact-copy h1.elementor-heading-title{font-size:32px;line-height:1.35}
body:not(.home) .ke-contact-form.e-con{padding-top:12px}
body:not(.home) .ke-form .elementor-button{border-radius:50px;padding:18px 24px;background:#555e50}
body:not(.home) .ke-footer.e-con{width:100%;max-width:none;margin:0;padding:80px var(--ke-site-gutter) 36px;border-top:1px solid var(--ke-line)}
body:not(.home) .ke-footer-top.e-con{align-items:flex-start;gap:50px}
body:not(.home) .ke-footer-logo,body:not(.home) .ke-footer-logo img{width:220px!important}
body:not(.home) .ke-footer-contact.e-con{gap:18px;align-items:flex-start}
body:not(.home) .ke-footer-contact .elementor-button{font-size:15px;letter-spacing:.6px;text-transform:none}
body:not(.home) .ke-footer-contact .elementor-widget-text-editor{font-size:14px}
body:not(.home) .ke-footer-bottom.e-con{margin-top:70px;padding-top:28px;border-top:0}
body:not(.home) .ke-whatsapp .elementor-button{border-radius:50px;background:#fff!important;font-size:12px;padding:12px 20px}
/* Project sheets: broad images and balanced pairs, following Sorra's quieter rhythm. */
body.single-ke_project{--ke-project-gutter:var(--ke-site-gutter)}
body.single-ke_project .elementor-location-header{position:sticky;top:0}
body.single-ke_project.admin-bar .elementor-location-header{top:32px}
body.single-ke_project .ke-project-title .elementor-heading-title{font-size:clamp(42px,4.5vw,68px);line-height:1.2;letter-spacing:-.03em}
body.single-ke_project .ke-project-page>.ke-link:first-child{padding-top:60px}
body.single-ke_project .ke-project-description{font-size:20px;line-height:1.9;letter-spacing:0}
body.single-ke_project .ke-project-story.e-con{max-width:1200px;grid-template-columns:1fr 1.8fr;padding:100px 0;gap:90px}
body.single-ke_project .ke-project-gallery{max-width:1360px}
body.single-ke_project .ke-project-gallery .gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 32px!important}
body.single-ke_project .ke-project-gallery .gallery-item:nth-child(n){grid-column:span 1;margin:0!important;align-self:start}
body.single-ke_project .ke-project-gallery .gallery-item:nth-child(3n+1){grid-column:1/-1}
body.single-ke_project .ke-project-gallery .gallery-item:last-child:nth-child(3n+2){grid-column:1/-1;max-width:880px!important;justify-self:center}
body.single-ke_project .ke-project-end.e-con{margin-top:100px;padding:40px 0 80px;max-width:1360px}
body.single-ke_project .ke-project-end>.ke-link:last-child .elementor-button{font-size:clamp(22px,2.8vw,40px);letter-spacing:-.02em}
body.single-ke_project .ke-footer.e-con{margin-top:0}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}
.lenis.lenis-stopped{overflow:hidden}
@view-transition{navigation:auto}
::view-transition-old(root){animation:ke-page-out .2s ease both}
::view-transition-new(root){animation:ke-page-in .4s ease both}
@keyframes ke-page-out{to{opacity:0}}
@keyframes ke-page-in{from{opacity:0}to{opacity:1}}
@media(max-width:1024px){
body:not(.home) .ke-header.e-con,body.single-ke_project .ke-header.e-con{padding:24px 28px}
body:not(.home) .ke-nav.e-con{gap:28px}
body:not(.home) .ke-project-grid.e-con{grid-template-columns:repeat(2,minmax(0,1fr));gap:64px 28px}
body:not(.home) .ke-section.e-con{padding:80px 40px}
body:not(.home) .ke-studio-intro.e-con{gap:40px}
body:not(.home) .ke-office-pending.e-con{min-height:540px;padding:36px 28px}
body:not(.home) .ke-service.e-con{column-gap:36px}
body:not(.home) .ke-service h3{font-size:26px}
body:not(.home) .ke-faq.e-con{gap:40px}
body.single-ke_project .ke-project-story.e-con{gap:44px}
}
@media(max-width:767px){
body:not(.home){--ke-site-gutter:24px}
body:not(.home) .elementor-location-header,body.single-ke_project .elementor-location-header{position:relative;top:0}
body.admin-bar:not(.home) .elementor-location-header,body.single-ke_project.admin-bar .elementor-location-header{top:0}
body:not(.home) .ke-header.e-con,body.single-ke_project .ke-header.e-con{padding:24px 20px 20px;flex-direction:column;align-items:flex-start;gap:25px}
body:not(.home) .ke-logo,body:not(.home) .ke-logo img,body.single-ke_project .ke-header .ke-logo,body.single-ke_project .ke-header .ke-logo img{width:154px!important;max-width:154px!important}
body:not(.home) .ke-nav.e-con,body.single-ke_project .ke-nav.e-con{gap:23px;flex-wrap:wrap}
body:not(.home) .ke-nav .elementor-button{font-size:12px;letter-spacing:.65px}
body:not(.home) .ke-nav>.ke-link:last-child .elementor-button{padding:6px 14px}
body:not(.home) .ke-projects.e-con{padding:48px 24px 0}
body:not(.home) .ke-projects>.ke-sr-only .elementor-heading-title{font-size:34px;letter-spacing:-1px;line-height:1.2}
body:not(.home) .ke-filters.e-con{padding:28px 0 50px;gap:10px 8px}
body:not(.home) .ke-filter .elementor-button{font-size:12px;padding:7px 14px;letter-spacing:.2px}
body:not(.home) .ke-project-grid.e-con{grid-template-columns:1fr;gap:58px}
body:not(.home) .ke-card.e-con,body:not(.home) .ke-card-large.e-con,body:not(.home) .ke-project-grid.ke-filtered .ke-card{grid-column:1}
body:not(.home) .ke-card-title .elementor-heading-title{font-size:19px!important;letter-spacing:0}
body:not(.home) .ke-card-caption.e-con{gap:12px;padding-top:18px}
body:not(.home) .ke-card-category{font-size:11px}
body:not(.home) .ke-home-about.e-con{padding:100px 28px 70px;gap:28px}
body:not(.home) .ke-home-about .ke-eyebrow .elementor-heading-title{font-size:28px!important}
body:not(.home) .ke-about-text{font-size:19px;line-height:1.8}
body:not(.home) .ke-section.e-con{padding:65px 24px;gap:36px}
body:not(.home) .ke-copy .elementor-widget-text-editor,body:not(.home) .ke-section .elementor-widget-text-editor{font-size:16px;line-height:1.9}
body:not(.home) .ke-section-title .elementor-heading-title{font-size:30px;line-height:1.3}
body:not(.home) .ke-studio-intro.e-con{grid-template-columns:1fr;gap:46px;padding-top:48px}
body:not(.home) .ke-studio-intro .ke-copy>.ke-eyebrow .elementor-heading-title{font-size:36px!important;letter-spacing:2px}
body:not(.home) .ke-studio-intro h1.elementor-heading-title{font-size:25px}
body:not(.home) .ke-office-pending.e-con{min-height:340px;padding:40px 30px}
body:not(.home) .ke-office-pending .ke-statement .elementor-heading-title{font-size:38px;line-height:1.3}
body:not(.home) .ke-band.e-con{padding-block:64px;margin:0}
body:not(.home) .ke-stats.e-con{grid-template-columns:1fr;gap:28px}
body:not(.home) .ke-number .elementor-heading-title{font-size:36px}
body:not(.home) .elementor-170>.ke-section:has(>.ke-editorial-image)>.ke-editorial-image img{height:420px}
body:not(.home) .elementor-170>.ke-section:has(>.ke-editorial-image)>.ke-copy{padding:70px 24px;gap:32px}
body:not(.home) .ke-services.e-con{gap:70px}
body:not(.home) .ke-service.e-con{grid-template-columns:1fr;grid-template-rows:auto;gap:24px}
body:not(.home) .ke-service>.ke-service-image,body:not(.home) .ke-service>.elementor-widget-heading,body:not(.home) .ke-service>.elementor-widget-text-editor,body:not(.home) .ke-service>.ke-accordion{grid-column:1;grid-row:auto}
body:not(.home) .ke-service>.ke-service-image img{aspect-ratio:4/3}
body:not(.home) .ke-service h3{font-size:27px}
body:not(.home) .ke-step.e-con{grid-template-columns:1fr;gap:18px;padding:26px 0}
body:not(.home) .ke-step h3{font-size:23px}
body:not(.home) .ke-faq.e-con{grid-template-columns:1fr;gap:30px}
body:not(.home) .ke-accordion .elementor-toggle .elementor-tab-title{font-size:16px;padding:22px 0}
body:not(.home) .ke-cta.e-con{padding:72px 24px;gap:30px}
body:not(.home) .ke-cta .ke-statement .elementor-heading-title{font-size:36px;letter-spacing:-1px}
body:not(.home) .ke-contact-intro.e-con{gap:55px;padding-top:48px}
body:not(.home) .ke-contact-copy h1.elementor-heading-title{font-size:28px}
body:not(.home) .ke-footer.e-con{padding:55px 24px 86px;margin:0;width:100%}
body:not(.home) .ke-footer-top.e-con{gap:36px}
body:not(.home) .ke-footer-logo,body:not(.home) .ke-footer-logo img{width:184px!important}
body:not(.home) .ke-footer-bottom.e-con{margin-top:40px;padding-top:0}
body:not(.home) .ke-whatsapp .elementor-button{font-size:11px;padding:10px 16px}
body.single-ke_project .ke-project-page>.ke-link:first-child{padding:30px 0 24px}
body.single-ke_project .ke-project-title .elementor-heading-title{font-size:34px;line-height:1.18;letter-spacing:-1px}
body.single-ke_project .ke-project-page>.ke-eyebrow{padding:22px 0 36px}
body.single-ke_project .ke-project-story.e-con{grid-template-columns:1fr;gap:32px;padding:54px 0}
body.single-ke_project .ke-project-description{font-size:18px;line-height:1.9}
body.single-ke_project .ke-project-gallery .gallery{grid-template-columns:1fr;gap:24px!important}
body.single-ke_project .ke-project-gallery .gallery-item:nth-child(n){grid-column:1;max-width:100%!important}
body.single-ke_project .ke-project-end.e-con{margin-top:64px;padding:30px 0 60px}
body.single-ke_project .ke-project-end>.ke-link:last-child .elementor-button{font-size:28px}
body.single-ke_project .ke-footer.e-con{margin:0}
}
@media(prefers-reduced-motion:reduce){
::view-transition-old(root),::view-transition-new(root){animation:none!important}}

/* Native Elementor header controls and WhatsApp button. */
body .ke-header .ke-nav.e-con{align-items:center}
body .ke-header .ke-nav>.elementor-widget{margin:0!important;align-self:center;line-height:1}
body .ke-header .ke-nav .elementor-button{display:inline-flex;align-items:center;justify-content:center;line-height:1.2;vertical-align:middle}
body .ke-header .ke-nav .elementor-button-content-wrapper{align-items:center}
body .ke-header .ke-nav>.ke-menu-toggle,body .ke-header .ke-nav>.ke-mobile-contact,body .ke-header .ke-nav>.ke-mobile-home{display:none}
body .ke-header .ke-nav>.elementor-widget:after{display:none}
@media(min-width:768px){
 body.home .ke-header .ke-nav>.elementor-widget:nth-child(-n+2):after{display:block;content:'';position:absolute;width:1px;height:10px;right:-26px;top:50%;transform:translateY(-50%);background:var(--ke-ink);opacity:.6}
 body:not(.home) .ke-header .ke-nav>.elementor-widget:nth-child(3) .elementor-button{border:1px solid #171915;border-radius:50px;padding:8px 22px}
 body:not(.home) .ke-header .ke-nav>.elementor-widget:nth-child(3) .elementor-button-text:after{display:none}
}
body .ke-footer .ke-whatsapp .elementor-button{background:#000!important;color:#fff!important;border:1px solid #000!important;border-radius:999px!important;min-height:52px;padding:14px 22px!important;font-size:13px!important;letter-spacing:.5px;box-shadow:0 5px 22px #0003;transition:background .25s,box-shadow .25s,transform .25s}
body .ke-footer .ke-whatsapp .elementor-button:hover{background:#242424!important;transform:translateY(-2px);box-shadow:0 7px 26px #0004}
body .ke-footer .ke-whatsapp .elementor-button-content-wrapper{align-items:center;gap:10px}
body .ke-footer .ke-whatsapp .elementor-button-icon{display:flex;align-items:center;font-size:23px;color:#fff}
body .ke-footer .ke-whatsapp .elementor-button-icon svg{width:23px;height:23px;fill:currentColor}
body .ke-footer .ke-whatsapp .elementor-button-text:after{display:none!important}
body .ke-footer .ke-whatsapp .elementor-button:focus-visible,body .ke-header .elementor-button:focus-visible{outline:2px solid #555;outline-offset:5px}
@media(max-width:767px){
 body{--ke-menu-top:0px;--ke-menu-gutter:20px}
 body.admin-bar{--ke-menu-top:46px}
 body .ke-header.e-con,body:not(.home) .ke-header.e-con,body.single-ke_project .ke-header.e-con{flex-direction:row!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding:18px var(--ke-menu-gutter)!important;min-height:80px}
 body .elementor-location-header .ke-header .ke-logo,body .elementor-location-header .ke-header .ke-logo img{width:132px!important;max-width:132px!important;margin:0!important;flex-shrink:0}
 body .ke-header .ke-nav.e-con{flex-direction:row;flex-wrap:nowrap;gap:12px!important;margin:0!important;padding:0;min-height:44px;width:auto}
 body.ke-menu-ready .ke-header .ke-nav>.elementor-widget:nth-child(-n+3){display:none}
 body.ke-menu-ready .ke-header .ke-nav>.ke-mobile-contact,body.ke-menu-ready .ke-header .ke-nav>.ke-menu-toggle{display:block}
 body .ke-header .ke-nav>.ke-mobile-contact .elementor-button{border:1px solid #171915!important;border-radius:50px!important;padding:6px 11px!important;font-size:11px!important;letter-spacing:.6px!important;line-height:1!important;min-height:28px;color:#171915!important;background:transparent!important}
 body .ke-header .ke-nav>.ke-menu-toggle .elementor-button{position:relative;width:44px;height:44px;padding:0!important;border:0!important;background:transparent!important;color:#171915!important}
 body .ke-header .ke-menu-toggle .elementor-button-text{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 body .ke-header .ke-menu-toggle .elementor-button:before,body .ke-header .ke-menu-toggle .elementor-button:after{content:'';position:absolute;left:2px;top:18px;width:40px;height:1px;background:currentColor;transition:transform .35s,top .35s}
 body .ke-header .ke-menu-toggle .elementor-button:after{top:25px}
 body .ke-header .ke-mobile-contact .elementor-button-text:after{display:none!important}
 body.ke-menu-open{overflow:hidden}
 html:has(body.ke-menu-open){overflow:hidden}
 body.ke-menu-open .elementor-location-header{position:relative;z-index:1000}
 body.ke-menu-open .elementor-location-header .ke-header .ke-logo{position:fixed;left:var(--ke-menu-gutter);top:calc(var(--ke-menu-top) + 22px);z-index:1003;transform:none!important;opacity:1!important}
 body.ke-menu-open .ke-header .ke-nav.e-con{position:fixed!important;inset:var(--ke-menu-top) 0 0!important;width:100%!important;max-width:none!important;height:calc(100dvh - var(--ke-menu-top));z-index:1002;background:#fff!important;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:32px!important;padding:128px 24px 90px;overflow-y:auto;overscroll-behavior:contain;animation:ke-menu-surface .3s ease both}
 body.ke-menu-open .ke-header .ke-nav>.elementor-widget:nth-child(-n+3),body.ke-menu-open .ke-header .ke-nav>.ke-mobile-home{display:block;flex-shrink:0}
 body.ke-menu-open .ke-header .ke-nav>.ke-mobile-home{order:-1}
 body.ke-menu-open .ke-header .ke-nav>.elementor-widget:not(.ke-menu-toggle):not(.ke-mobile-contact) .elementor-button{min-height:32px;padding:5px 14px!important;border:0!important;border-radius:0!important;font-size:19px!important;letter-spacing:3px!important;color:#171915!important;background:transparent!important}
 body.ke-menu-open .ke-header .ke-nav>.ke-menu-toggle{position:fixed!important;top:calc(var(--ke-menu-top) + 18px);right:var(--ke-menu-gutter);z-index:1004;transform:none!important;opacity:1!important}
 body.ke-menu-open .ke-header .ke-nav>.ke-mobile-contact{position:fixed!important;top:calc(var(--ke-menu-top) + 26px);right:calc(var(--ke-menu-gutter) + 56px);z-index:1004;transform:none!important;opacity:1!important}
 body.ke-menu-open .ke-header .ke-menu-toggle .elementor-button:before{top:21px;transform:rotate(16deg)}
 body.ke-menu-open .ke-header .ke-menu-toggle .elementor-button:after{top:21px;transform:rotate(-16deg)}
 body.ke-menu-open .ke-whatsapp{visibility:hidden}
 body .ke-footer .ke-whatsapp{right:16px;bottom:calc(16px + env(safe-area-inset-bottom))}
 body .ke-footer .ke-whatsapp .elementor-button{min-height:48px;padding:11px 18px!important;font-size:12px!important}
 body .ke-footer .ke-whatsapp .elementor-button-icon{font-size:22px}
 @media(max-width:359px){body{--ke-menu-gutter:14px}body .elementor-location-header .ke-header .ke-logo,body .elementor-location-header .ke-header .ke-logo img{width:112px!important;max-width:112px!important}body .ke-header .ke-nav.e-con{gap:8px!important}body .ke-header .ke-nav>.ke-mobile-contact .elementor-button{font-size:10px!important;padding:6px 9px!important}}
}
@keyframes ke-menu-surface{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){body.ke-menu-open .ke-header .ke-nav.e-con{animation:none}body .ke-header .ke-menu-toggle .elementor-button:before,body .ke-header .ke-menu-toggle .elementor-button:after{transition:none}}

@media(max-width:767px){body .elementor-location-header{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;transform:none!important}}
@media(max-width:767px){body .elementor-location-header .ke-header .ke-nav>.ke-menu-toggle .elementor-button:is(:hover,:focus,:active){background:transparent!important;color:#171915!important;border-radius:0!important}}

/* Contact content remains native Elementor buttons and text. */
body .ke-header .ke-nav>.ke-menu-details{display:none}
@media(max-width:767px){
 body.ke-menu-open .ke-header .ke-nav.e-con{padding-bottom:max(36px,env(safe-area-inset-bottom))}
 body.ke-menu-open .ke-header .ke-nav>.ke-menu-details{display:flex;flex-direction:column;align-items:center;flex-shrink:0;width:100%;max-width:320px;gap:14px;margin: auto 0 0!important;padding:40px 0 0;text-align:center}
 body.ke-menu-open .ke-header .ke-menu-details>.elementor-widget{width:100%;margin:0;text-align:center}
 body.ke-menu-open .ke-header .ke-menu-details .elementor-button{font-size:13px!important;line-height:1.5!important;letter-spacing:1px!important;padding:0!important;border:0!important;background:transparent!important;color:#444!important;min-height:24px}
 body.ke-menu-open .ke-header .ke-menu-details .elementor-button-text:after{display:none!important}
 body.ke-menu-open .ke-header .ke-menu-details .elementor-widget-text-editor{font-size:13px!important;line-height:1.6!important;color:#777!important;letter-spacing:0}
 body.ke-menu-open .ke-header .ke-menu-details p{margin:0}
 @media(max-height:650px){body.ke-menu-open .ke-header .ke-nav.e-con{padding-top:100px;gap:20px!important;padding-bottom:24px}body.ke-menu-open .ke-header .ke-nav>.ke-menu-details{padding-top:20px;gap:10px}}
 body.elementor-editor-active .ke-header .ke-nav>.ke-menu-details{display:flex;flex-direction:column;align-items:center;text-align:center}
}
/* Make interactive targets recognizable, including linked images. */
body:not(.elementor-editor-active) :is(a[href],button,[role="button"],summary,input[type="submit"],input[type="button"],input[type="reset"],.elementor-tab-title){cursor:pointer}
body:not(.elementor-editor-active) :is(a[href],button,[role="button"],summary) :is(img,svg,i,span){cursor:inherit}
body:not(.elementor-editor-active) :is(button:disabled,input:disabled,[aria-disabled="true"]){cursor:default}
