:root {
    --kn-green: #125428;
    --kn-green-deep: #0d4120;
    --kn-green-dark: #0a3218;
    --kn-lime: #8fbb2d;
    --kn-ink: #15251c;
    --kn-copy: #445149;
    --kn-soft: #f7f8f7;
    --kn-grey: #d9dcda;
    --kn-white: #fff;
    --kn-line: rgba(18, 84, 40, .14);
    --kn-shadow: 0 16px 48px rgba(14, 45, 25, .12);
    --kn-radius: 36px;
}

html {
    scroll-behavior: smooth;
    overflow-x: hidden;
}

body.kajoni-native-home {
    overflow-x: hidden;
    margin: 0;
    background: var(--kn-white);
    color: var(--kn-copy);
    font-family: 'Poppins', Arial, sans-serif;
    font-size: 16px;
    line-height: 1.68;
    -webkit-font-smoothing: antialiased;
}

body.kajoni-native-home *,
body.kajoni-native-home *::before,
body.kajoni-native-home *::after {
    box-sizing: border-box;
}

body.kajoni-native-home img,
body.kajoni-native-home video,
body.kajoni-native-home svg {
    display: block;
    max-width: 100%;
}

body.kajoni-native-home a {
    color: inherit;
    text-decoration: none;
}

body.kajoni-native-home h1,
body.kajoni-native-home h2,
body.kajoni-native-home h3,
body.kajoni-native-home p {
    margin-top: 0;
}

body.kajoni-native-home h1,
body.kajoni-native-home h2,
body.kajoni-native-home h3 {
    color: var(--kn-green);
    font-weight: 700;
    letter-spacing: -.035em;
}

.kn-shell {
    width: min(1180px, calc(100% - 64px));
    margin-inline: auto;
}

.kn-skip {
    position: fixed;
    z-index: 99999;
    top: 10px;
    left: 10px;
    padding: 10px 16px;
    border-radius: 8px;
    background: #fff;
    color: var(--kn-green);
    transform: translateY(-160%);
}

.kn-skip:focus { transform: none; }

.kn-header {
    --kn-header-accent: var(--kn-green);
    --kn-header-accent-hover: var(--kn-green-deep);
    --kn-header-button-text: #fff;
    position: absolute;
    z-index: 1000;
    inset: 0 0 auto;
    height: 94px;
    color: #fff;
    transition: background .25s ease, box-shadow .25s ease, color .25s ease;
}

.admin-bar .kn-header { top: 32px; }

.kn-header.is-scrolled {
    position: fixed;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 8px 30px rgba(12, 43, 23, .12);
    color: var(--kn-green);
    backdrop-filter: blur(16px);
}

.kn-header__inner {
    width: min(1380px, calc(100% - 56px));
    height: 100%;
    margin-inline: auto;
    display: grid;
    grid-template-columns: 190px 1fr 130px;
    align-items: center;
    gap: 36px;
}

.kn-header__brand {
    width: 148px;
    align-self: center;
}

.kn-header__brand img {
    width: 100%;
    height: auto;
}

.kn-nav {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: clamp(24px, 2.6vw, 48px);
    font-size: 14px;
    font-weight: 600;
}

.kn-nav > a,
.kn-nav__item > a {
    position: relative;
    padding: 34px 0;
    color: inherit !important;
}

.kn-nav > a::after,
.kn-nav__item > a::after {
    content: '';
    position: absolute;
    right: 0;
    bottom: 25px;
    left: 0;
    height: 2px;
    background: currentColor;
    transform: scaleX(0);
    transform-origin: right;
    transition: transform .22s ease;
}

.kn-nav > a:hover::after,
.kn-nav__item:hover > a::after { transform: scaleX(1); transform-origin: left; }

.kn-nav__item { position: relative; }

.kn-subnav {
    position: absolute;
    top: 75px;
    left: -24px;
    width: 220px;
    display: grid;
    gap: 4px;
    padding: 14px;
    border: 1px solid rgba(18, 84, 40, .1);
    border-radius: 18px;
    background: #fff;
    color: var(--kn-green);
    box-shadow: var(--kn-shadow);
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: .2s ease;
}

.kn-subnav a { padding: 9px 12px; border-radius: 10px; }
.kn-subnav a:hover { background: var(--kn-soft); }
.kn-nav__item:hover .kn-subnav,
.kn-nav__item:focus-within .kn-subnav { opacity: 1; visibility: visible; transform: none; }

.kn-header__contact,
.kn-button {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    width: max-content;
    padding: 10px 23px;
    border: 1px solid var(--kn-header-accent, var(--kn-green));
    border-radius: 999px;
    background: var(--kn-header-accent, var(--kn-green));
    color: var(--kn-header-button-text, #fff) !important;
    font-size: 13px;
    font-weight: 650;
    line-height: 1.2;
    transition: transform .2s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.kn-header__contact:hover,
.kn-button:hover {
    border-color: var(--kn-header-accent-hover, var(--kn-green-deep));
    background: var(--kn-header-accent-hover, var(--kn-green-deep));
    box-shadow: 0 9px 22px rgba(18, 84, 40, .18);
    transform: translateY(-2px);
}

.kn-menu-toggle { display: none; }

.kn-hero {
    position: relative;
    isolation: isolate;
    min-height: 720px;
    height: 100svh;
    overflow: hidden;
    display: grid;
    place-items: center;
    background: #9aa99d;
}

.kn-hero__video,
.kn-hero__overlay {
    position: absolute;
    z-index: -2;
    inset: 0;
    width: 100%;
    height: 100%;
}

.kn-hero__video { object-fit: cover; object-position: center; }

.kn-hero__overlay {
    z-index: -1;
    background: linear-gradient(180deg, rgba(7, 34, 17, .18), rgba(7, 34, 17, .02) 42%, rgba(7, 34, 17, .42));
}

.kn-hero__content {
    padding-top: 92px;
    text-align: center;
    color: #fff;
}

.kn-hero__logo {
    width: clamp(280px, 30vw, 470px);
    height: auto;
    margin: 0 auto 24px;
    filter: drop-shadow(0 4px 12px rgba(255,255,255,.2));
}

.kn-hero h1 {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0 .18em;
    margin-bottom: 14px;
    color: #fff !important;
    font-size: clamp(34px, 3.7vw, 64px);
    line-height: 1.08;
    text-shadow: 0 3px 20px rgba(0,0,0,.25);
}

.kn-hero p {
    margin-bottom: 28px;
    color: rgba(255,255,255,.94);
    font-size: clamp(15px, 1.5vw, 20px);
    font-weight: 500;
}

.kn-actions { display: flex; justify-content: center; gap: 14px; flex-wrap: wrap; }
.kn-button--outline { border-color: rgba(255,255,255,.8); background: rgba(18,84,40,.8); backdrop-filter: blur(6px); }

.kn-hero__scroll {
    position: absolute;
    bottom: 28px;
    left: 50%;
    width: 32px;
    height: 48px;
    border: 1px solid rgba(255,255,255,.7);
    border-radius: 22px;
    transform: translateX(-50%);
}

.kn-hero__scroll span {
    position: absolute;
    top: 9px;
    left: 50%;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #fff;
    transform: translateX(-50%);
    animation: kn-scroll 1.8s ease infinite;
}

@keyframes kn-scroll { 0% { transform: translate(-50%,0); opacity:0; } 25% {opacity:1;} 100% {transform:translate(-50%,20px);opacity:0;} }

.kn-section { position: relative; padding: 132px 0; }
.kn-section--soft { background: var(--kn-soft); }

.kn-eyebrow {
    margin-bottom: 12px;
    color: var(--kn-lime);
    font-size: 12px;
    font-weight: 750;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.kn-section-heading {
    max-width: 740px;
    margin: 0 auto 62px;
    text-align: center;
}

.kn-section-heading h2,
.kn-value-copy h2 {
    margin-bottom: 15px;
    font-size: clamp(42px, 4vw, 62px);
    line-height: 1.06;
}

.kn-section-heading > p:last-child {
    margin-bottom: 0;
    color: var(--kn-green);
    font-size: 18px;
    font-weight: 600;
}

.kn-value-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
    gap: 40px 80px;
}

.kn-value-copy {
    align-self: center;
    padding: 20px 30px 20px 0;
}

.kn-value-copy > p:last-child { max-width: 520px; margin-bottom: 0; }

.kn-card {
    border: 1px solid var(--kn-line);
    border-radius: var(--kn-radius);
    background: #fff;
    box-shadow: var(--kn-shadow);
    transition: transform .25s ease, box-shadow .25s ease;
}

.kn-card:hover { transform: translateY(-5px); box-shadow: 0 24px 62px rgba(14,45,25,.17); }

.kn-value-card {
    height: 320px;
    min-height: 320px;
    display: grid;
    align-content: center;
    justify-items: center;
    padding: 48px 52px;
    text-align: center;
}

.kn-icon,
.kn-feature-icon,
.kn-contact-card span {
    color: var(--kn-green);
}

.kn-icon svg { width: 72px; height: 72px; margin-bottom: 20px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.kn-value-card h3,
.kn-owner-card h3 { margin-bottom: 9px; font-size: 23px; line-height: 1.15; }
.kn-value-card p,
.kn-owner-card p { max-width: 430px; margin-bottom: 0; font-size: 14px; line-height: 1.62; }

.kn-services { background: #fff; }
.kn-service-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 42px 70px; }
.kn-service-card { overflow: hidden; display: flex; flex-direction: column; min-height: 540px; }
.kn-service-card > img { width: 100%; height: auto !important; aspect-ratio: 16/9; object-fit: cover; }
.kn-service-card__body { flex: 1; display: flex; flex-direction: column; align-items: center; padding: 34px 44px 38px; text-align: center; }
.kn-service-card h3 { margin-bottom: 10px; font-size: 32px; line-height: 1.15; }
.kn-service-card p { max-width: 440px; margin-bottom: 25px; }
.kn-service-card .kn-button { margin-top: auto; }

.kn-projects { overflow: hidden; background: var(--kn-green); color: #fff; }
.kn-projects h2,
.kn-projects h3,
.kn-contact h2,
.kn-contact h3,
.kn-footer h2 { color: #fff !important; }

body.kajoni-global-header .elementor-location-header,
body.kajoni-global-header header[data-elementor-type="header"],
body.kajoni-global-header #site-header { display:none !important; }

/* Remove the empty Elementor spacer that otherwise sits above many heroes. */
body.kajoni-global-header .page-content > .elementor > .e-con:first-child:empty,
body.kajoni-global-header .page-content > .elementor > .elementor-element:first-child:empty,
body.kajoni-global-header .page-content > .elementor > .e-con:first-child:not(:has(*)),
body.kajoni-global-header .page-content > .elementor > .elementor-element:first-child:not(:has(*)) {
    display:none !important;
}

/* One footer structure across the complete website. */
body.kajoni-global-header .elementor-location-footer,
body.kajoni-global-header footer[data-elementor-type="footer"] {
    display:none !important;
}

/* Technology-specific header accents. */
body.page-id-531 .kn-header {
    --kn-header-accent:#bd5317;
    --kn-header-accent-hover:#8f350d;
}
body.page-id-533 .kn-header {
    --kn-header-accent:#0f6f78;
    --kn-header-accent-hover:#163a4a;
}
body.page-id-535 .kn-header {
    --kn-header-accent:#d3a84f;
    --kn-header-accent-hover:#b78b34;
    --kn-header-button-text:#1c2f4a;
}
body.page-id-519 .kn-header,
body.kajoni-project-detail .kn-header {
    --kn-header-accent:#1f7f78;
    --kn-header-accent-hover:#17324c;
}

/* Footer structure stays identical; only the technology palette changes. */
body.page-id-531 { --kn-footer-bg:linear-gradient(135deg,#74290b 0%,#8f350d 52%,#bd5317 100%); }
body.page-id-533 { --kn-footer-bg:linear-gradient(135deg,#102f3c 0%,#0f6f78 58%,#18a3a8 100%); }
body.page-id-535 { --kn-footer-bg:linear-gradient(135deg,#17283f 0%,#1c2f4a 58%,#2f4d73 100%); }
body.page-id-519,
body.kajoni-project-detail { --kn-footer-bg:linear-gradient(135deg,#102b40 0%,#1e5b5e 58%,#1f7f78 100%); }

/* Services overview: replace stale Local staging URLs with portable paths. */
body.page-id-517 .elementor-element-8922504 {
    background-image:url('/wp-content/uploads/2026/05/ChatGPT-Image-21.-Mai-2026-14_47_55.png') !important;
}
body.page-id-517 .elementor-element-ba3c0d8 {
    background-image:url('/wp-content/uploads/2026/05/ChatGPT-Image-21.-Mai-2026-14_49_24.png') !important;
}
body.page-id-517 .elementor-element-62e248d {
    background-image:url('/wp-content/uploads/2026/05/ChatGPT-Image-21.-Mai-2026-14_49_28.png') !important;
}
body.page-id-517 .elementor-element-b97255a {
    background-image:url('/wp-content/uploads/2026/05/ChatGPT-Image-21.-Mai-2026-14_50_21.png') !important;
}

/* The legacy line limiter must not hide the BESS approval copy. */
body.page-id-533 .wind-icon-text.too-many-lines {
    height:auto !important;
    max-height:none !important;
    margin-top:10px !important;
    overflow:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
}
body.page-id-533 .wind-icon-box.text-hidden { text-align:left !important; }
.kn-section-heading--light h2,
.kn-section-heading--light > p:last-child { color: #fff; }
.kn-project-row { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: center; gap: 80px; margin-top: 88px; }
.kn-project-row--reverse .kn-project-copy { order: 2; }
.kn-project-row--reverse .kn-project-slider { order: 1; }
.kn-project-copy > span { display:block; margin-bottom:18px; color:rgba(255,255,255,.45); font-size:13px; font-weight:700; letter-spacing:.16em; }
.kn-project-copy h3 { margin-bottom: 14px; color:#fff; font-size: 36px; line-height:1.1; }
.kn-project-copy p { margin-bottom:0; color:rgba(255,255,255,.78); }
.kn-project-slider { position:relative; height:520px; min-height:520px; overflow:hidden; display:flex; flex-direction:column; border:2px solid rgba(255,255,255,.88); border-radius:var(--kn-radius); background:rgba(255,255,255,.025); box-shadow:0 22px 54px rgba(0,0,0,.16); }
.kn-project-slider article { height:100%; display:grid; grid-template-rows:230px 1fr; text-align:center; }
.kn-project-slider article[hidden] { display:none; }
.kn-project-slider article:not([hidden]) { animation:kn-project-slide-in .55s cubic-bezier(.2,.7,.2,1) both; }
.kn-project-image { width:100%; height:230px !important; object-fit:cover; border-bottom:1px solid rgba(255,255,255,.2); }
.kn-project-slider__body { display:flex; flex-direction:column; align-items:center; justify-content:center; padding:24px 62px 72px; }
.kn-project-tag { margin-bottom:14px; color:var(--kn-lime); font-size:12px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; }
.kn-project-slider h3 { margin-bottom:13px; color:#fff; font-size:30px; }
.kn-project-slider__body > p:not(.kn-project-tag) { max-width:470px; margin:0 auto 22px; color:rgba(255,255,255,.78); }
.kn-project-slider__body > a { display:inline-flex; padding:9px 18px; border:1px solid rgba(255,255,255,.76); border-radius:999px; color:#fff; font-size:12px; font-weight:650; }
.kn-slider-controls { position:absolute; right:34px; bottom:22px; left:34px; display:flex; justify-content:space-between; align-items:center; }
.kn-slider-controls button { width:38px; height:38px; border:0; border-radius:50%; background:rgba(255,255,255,.1); color:#fff; cursor:pointer; }
.kn-slider-dots { display:flex; gap:7px; }
.kn-slider-dots i { width:6px; height:6px; border-radius:50%; background:rgba(255,255,255,.35); }
.kn-slider-dots i.is-active { background:#fff; transform:scale(1.35); }
@keyframes kn-project-slide-in { from { opacity:0; transform:translateX(24px); } to { opacity:1; transform:none; } }
.kn-projects__action { margin-top:72px; text-align:center; }
.kn-button--light { border-color:#fff; background:#fff; color:var(--kn-green)!important; }

.kn-partnerships { background:var(--kn-soft); }
.kn-partner-intro { max-width:720px; margin:0 auto 80px; text-align:center; }
.kn-partner-intro h3 { margin-bottom:16px; font-size:30px; line-height:1.15; }
.kn-partner-intro .kn-button { margin:22px auto 0; }
.kn-feature-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:center; gap:80px; margin-top:64px; }
.kn-feature-row--reverse > div:first-child { order:2; }
.kn-feature-row--reverse > div:last-child { order:1; }
.kn-feature-row h3 { margin-bottom:14px; font-size:31px; line-height:1.15; }
.kn-feature-row p { margin-bottom:22px; }
.kn-feature-icon { height:300px; min-height:300px; display:grid; place-items:center; border:1px solid var(--kn-line); border-radius:var(--kn-radius); background:#fff; box-shadow:var(--kn-shadow); }
.kn-feature-icon svg { width:92px; height:92px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }

.kn-owners {
    z-index:1;
    margin:-42px 0;
    padding:182px 0;
    background-color:var(--kn-green-deep);
    background-image:linear-gradient(90deg,rgba(7,34,17,.72),rgba(7,34,17,.48)),var(--kn-owners-image);
    background-position:center;
    background-size:cover;
    clip-path:polygon(0 4%,100% 0,100% 96%,0 100%);
}
.kn-owners .kn-section-heading h2,
.kn-owner-copy h3 { color:#fff !important; }
.kn-owners .kn-section-heading > p:last-child,
.kn-owner-copy p { color:rgba(255,255,255,.88); }
.kn-owner-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:stretch; gap:42px 80px; }
.kn-owner-card { height:300px; min-height:300px; display:grid; place-content:center; justify-items:center; padding:48px; text-align:center; }
.kn-owner-copy { align-self:center; padding:38px 24px; }
.kn-owner-copy h3 { margin-bottom:12px; font-size:42px; }
.kn-owner-copy .kn-button { margin-top:18px; }

.kn-contact { padding-top:172px; padding-bottom:118px; background:var(--kn-green); color:#fff; }
.kn-contact-grid { display:grid; grid-template-columns:1fr 1fr; align-items:stretch; gap:54px 100px; }
.kn-contact-copy { align-self:center; }
.kn-contact-copy h3 { margin-bottom:13px; color:#fff; font-size:30px; }
.kn-contact-copy p { color:rgba(255,255,255,.82); }
.kn-button--accent { border-color:var(--kn-lime); background:var(--kn-lime); color:#fff!important; }
.kn-contact-card { min-height:270px; display:grid; place-content:center; justify-items:center; gap:22px; padding:40px; border-radius:var(--kn-radius); background:#fff; color:var(--kn-green)!important; box-shadow:var(--kn-shadow); }
.kn-contact-card span svg { width:82px; height:82px; fill:none; stroke:currentColor; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; }
.kn-contact-card strong { font-size:22px; }

.kn-footer { margin:0; padding:80px 0 28px; background:var(--kn-footer-bg, var(--kn-green)); color:#fff; }
.kn-footer__grid { display:grid; grid-template-columns:minmax(220px,1.05fr) minmax(120px,.58fr) minmax(190px,.85fr) minmax(280px,1.35fr); gap:48px; align-items:start; }
.kn-footer__brand { width:230px; }
.kn-footer__brand img { width:100%; height:auto; filter:grayscale(1) brightness(0) invert(1); }
.kn-footer h2 { margin-bottom:16px; color:#fff; font-size:18px; letter-spacing:0; }
.kn-footer__grid > div { display:grid; align-content:start; gap:8px; font-size:13px; }
.kn-footer,
.kn-footer h2,
.kn-footer a,
.kn-footer p { color:#fff !important; }
.kn-footer__map { min-width:0; }
.kn-footer__map iframe { display:block; width:100%; height:190px; margin-top:2px; border:0; border-radius:20px; background:rgba(255,255,255,.12); filter:saturate(.82) contrast(.96); }
.kn-footer a:hover { color:var(--kn-lime); }
.kn-footer__legal { display:grid; gap:7px; margin-top:14px; }
.kn-footer__copyright { margin:58px 0 0; color:rgba(255,255,255,.66); font-size:12px; text-align:center; }

.kn-reveal { opacity:1; transform:none; }
.kn-js .kn-reveal { opacity:0; transform:translateY(26px); transition:opacity .6s ease, transform .6s ease; }
.kn-js .kn-reveal.is-visible { opacity:1; transform:none; }

@media (max-width: 1024px) {
    .admin-bar .kn-header { top:32px; }
    .kn-header__inner { grid-template-columns:150px 1fr 110px; gap:18px; }
    .kn-nav { gap:18px; font-size:12px; }
    .kn-header__brand { width:125px; }
    .kn-section { padding:110px 0; }
    .kn-value-grid,
    .kn-service-grid,
    .kn-owner-grid { gap:36px; }
    .kn-project-row { gap:60px; }
    .kn-feature-row { gap:60px; }
    .kn-contact-grid { gap:48px; }
    .kn-footer__grid { grid-template-columns:1fr .65fr .9fr 1.25fr; gap:32px; }
}

@media (max-width: 767px) {
    .admin-bar .kn-header { top:46px; }
    .kn-shell { width:calc(100% - 32px); }
    .kn-header { position:fixed; height:76px; background:#fff; color:var(--kn-green); box-shadow:0 5px 22px rgba(12,43,23,.1); }
    .kn-header__inner { width:calc(100% - 24px); grid-template-columns:1fr auto 42px; gap:10px; }
    .kn-header__brand { width:96px; }
    .kn-header__contact { min-height:36px; padding:8px 14px; font-size:11px; }
    .kn-menu-toggle { display:grid; width:40px; height:40px; place-content:center; gap:5px; border:0; border-radius:50%; background:rgba(18,84,40,.08); cursor:pointer; }
    .kn-menu-toggle span { width:20px; height:2px; border-radius:4px; background:var(--kn-green); transition:.2s ease; }
    .kn-menu-toggle[aria-expanded="true"] span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
    .kn-menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity:0; }
    .kn-menu-toggle[aria-expanded="true"] span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
    .kn-nav { position:fixed; top:86px; right:12px; left:12px; display:none; max-height:calc(100svh - 100px); overflow:auto; padding:18px; border:1px solid var(--kn-line); border-radius:22px; background:#fff; box-shadow:var(--kn-shadow); color:var(--kn-green); }
    .admin-bar .kn-nav { top:132px; }
    .kn-nav.is-open { display:grid; gap:3px; }
    .kn-nav > a,
    .kn-nav__item > a { display:block; padding:12px 10px; font-size:15px; }
    .kn-nav > a::after,
    .kn-nav__item > a::after { display:none; }
    .kn-subnav { position:static; width:auto; display:grid; margin:0 0 8px 10px; padding:0 0 0 12px; border:0; border-left:2px solid var(--kn-line); border-radius:0; box-shadow:none; opacity:1; visibility:visible; transform:none; }
    .kn-subnav a { padding:8px 10px; font-size:13px; }

    /* Elementor desktop widths must not squeeze copy into narrow mobile columns. */
    body.kajoni-global-header main .elementor-widget-heading,
    body.kajoni-global-header main .elementor-widget-text-editor {
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        align-self:stretch !important;
        --container-widget-width:100% !important;
    }
    body.kajoni-global-header main .elementor-widget-heading > .elementor-widget-container,
    body.kajoni-global-header main .elementor-widget-text-editor > .elementor-widget-container,
    body.kajoni-global-header main .elementor-widget-text-editor p {
        width:100% !important;
        max-width:100% !important;
    }
    body.kajoni-global-header main .elementor-heading-title,
    body.kajoni-global-header main .elementor-widget-text-editor p {
        hyphens:none !important;
        overflow-wrap:break-word !important;
        word-break:normal !important;
    }
    html body.kajoni-global-header main#content .page-content > .elementor .elementor-widget-heading .elementor-heading-title,
    html body.kajoni-global-header main#content .page-content > .elementor .elementor-widget-text-editor p {
        hyphens:none !important;
        overflow-wrap:break-word !important;
        word-break:normal !important;
    }

    .kn-hero { min-height:700px; height:100svh; max-height:880px; }
    .kn-hero__video { object-position:42% center; }
    .kn-hero__overlay { background:linear-gradient(180deg,rgba(7,34,17,.18),rgba(7,34,17,.1) 43%,rgba(7,34,17,.58)); }
    .kn-hero__content { padding-top:104px; }
    .kn-hero__logo { width:min(270px,78vw); margin-bottom:30px; }
    .kn-hero h1 { display:grid; gap:2px; margin-bottom:16px; font-size:clamp(32px,10vw,44px); }
    .kn-hero p { max-width:320px; margin:0 auto 26px; font-size:14px; }
    .kn-actions { flex-direction:column; align-items:center; gap:10px; }
    .kn-actions .kn-button { width:min(270px,100%); }
    .kn-hero__scroll { display:none; }

    .kn-section { padding:86px 0; }
    .kn-section-heading { margin-bottom:40px; }
    .kn-section-heading h2,
    .kn-value-copy h2 { font-size:38px; line-height:1.08; }
    .kn-section-heading > p:last-child { font-size:15px; }
    .kn-eyebrow { font-size:10px; }

    .kn-value-grid,
    .kn-service-grid,
    .kn-owner-grid,
    .kn-contact-grid { grid-template-columns:1fr; gap:22px; }
    .kn-value-copy { padding:0 0 18px; }
    .kn-value-copy h2 br { display:none; }
    .kn-value-card { height:230px; min-height:230px; padding:34px 24px; border-radius:26px; }
    .kn-icon svg { width:58px; height:58px; margin-bottom:14px; }
    .kn-value-card h3,
    .kn-owner-card h3 { font-size:21px; }

    .kn-service-grid { gap:26px; }
    .kn-service-card { min-height:0; border-radius:26px; }
    .kn-service-card__body { min-height:250px; padding:26px 24px 30px; }
    .kn-service-card h3 { font-size:28px; }
    .kn-service-card p { font-size:14px; }

    .kn-project-row,
    .kn-project-row--reverse { grid-template-columns:1fr; gap:28px; margin-top:64px; }
    .kn-project-row--reverse .kn-project-copy,
    .kn-project-row--reverse .kn-project-slider { order:initial; }
    .kn-project-copy h3 { font-size:31px; }
    .kn-project-slider { height:480px; min-height:480px; padding:0; border-radius:28px; }
    .kn-project-slider article { grid-template-rows:190px 1fr; }
    .kn-project-image { height:190px !important; }
    .kn-project-slider__body { padding:22px 24px 70px; }
    .kn-project-slider h3 { font-size:26px; }
    .kn-slider-controls { right:20px; left:20px; }
    .kn-projects__action { margin-top:52px; }

    .kn-partner-intro { margin-bottom:58px; text-align:left; }
    .kn-partner-intro h3 { font-size:27px; }
    .kn-partner-intro .kn-button { margin-left:0; }
    .kn-feature-row,
    .kn-feature-row--reverse { grid-template-columns:1fr; gap:24px; margin-top:48px; }
    .kn-feature-row--reverse > div:first-child,
    .kn-feature-row--reverse > div:last-child { order:initial; }
    .kn-feature-row h3 { font-size:27px; }
    .kn-feature-icon { height:230px; min-height:230px; border-radius:26px; }
    .kn-feature-icon svg { width:76px; height:76px; }

    .kn-owners { margin:-24px 0; padding:128px 0; background-position:65% center; clip-path:polygon(0 2%,100% 0,100% 98%,0 100%); }
    .kn-owner-grid { gap:24px; }
    .kn-owner-copy { padding:24px 4px; }
    .kn-owner-copy h3 { font-size:36px; }
    .kn-owner-card { height:235px; min-height:235px; padding:36px 24px; border-radius:26px; }

    .kn-contact { padding-top:124px; padding-bottom:78px; }
    .kn-contact-grid { gap:28px; }
    .kn-contact-copy { padding:12px 0; }
    .kn-contact-copy h3 { font-size:27px; }
    .kn-contact-card { min-height:220px; padding:30px 18px; border-radius:26px; }
    .kn-contact-card span svg { width:68px; height:68px; }
    .kn-contact-card strong { font-size:18px; }

    .kn-footer { padding:54px 0 22px; }
    .kn-footer__grid { grid-template-columns:1fr 1fr; gap:38px 22px; }
    .kn-footer__brand { grid-column:1/-1; width:210px; margin:0 auto 10px; }
    .kn-footer__map { grid-column:1/-1; }
    .kn-footer__map iframe { height:230px; }
    .kn-footer h2 { font-size:16px; }
    .kn-footer__grid > div { font-size:11px; }
    .kn-footer__copyright { margin-top:42px; }
}

@media (max-width: 380px) {
    .kn-header__brand { width:86px; }
    .kn-header__contact { padding-inline:11px; }
    .kn-hero h1 { font-size:31px; }
    .kn-footer__grid { grid-template-columns:1fr; }
    .kn-footer__brand { grid-column:auto; }
    .kn-footer__map { grid-column:auto; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior:auto; }
    *, *::before, *::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
    .kn-js .kn-reveal { opacity:1; transform:none; }
}
