:root {
    --kw-green:#125428;
    --kw-deep:#0b3b1c;
    --kw-lime:#8fbb2d;
    --kw-yellow:#f3b51b;
    --kw-soft:#f5f8f3;
    --kw-ink:#17251c;
    --kw-copy:#4c5a51;
    --kw-line:rgba(18,84,40,.14);
    --kw-shadow:0 18px 52px rgba(14,45,25,.13);
    --kw-radius:34px;
}

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

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

body.kajoni-native-wind img,
body.kajoni-native-wind svg { display:block; max-width:100%; }
body.kajoni-native-wind a { color:inherit; text-decoration:none; }
body.kajoni-native-wind h1,
body.kajoni-native-wind h2,
body.kajoni-native-wind h3,
body.kajoni-native-wind p { margin-top:0; }
body.kajoni-native-wind h1,
body.kajoni-native-wind h2,
body.kajoni-native-wind h3 { color:var(--kw-green); font-weight:700; letter-spacing:-.035em; }

.kw-shell { width:min(1180px,calc(100% - 64px)); margin-inline:auto; }
.kw-section { padding:132px 0; }
.kw-eyebrow { margin-bottom:12px; color:var(--kw-lime); font-size:12px; font-weight:750; letter-spacing:.14em; text-transform:uppercase; }
.kw-heading { max-width:780px; margin:0 auto 64px; text-align:center; }
.kw-heading--left { max-width:820px; margin:0 0 58px; text-align:left; }
.kw-heading h2 { margin-bottom:18px; font-size:clamp(40px,4.2vw,62px); line-height:1.05; }
.kw-heading > p:last-child { margin-bottom:0; font-size:17px; }

.kw-hero {
    min-height:760px;
    height:94svh;
    display:grid;
    align-items:center;
    isolation:isolate;
    position:relative;
    overflow:hidden;
    background:#294c34 var(--kw-hero-image) center/cover no-repeat;
}
.kw-hero::before { content:''; position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,rgba(5,25,12,.84) 0%,rgba(5,25,12,.62) 40%,rgba(5,25,12,.14) 74%); }
.kw-hero__content { padding-top:94px; }
.kw-hero__content > * { max-width:720px; }
.kw-hero h1 { margin-bottom:24px; color:#fff !important; font-size:clamp(52px,6vw,86px); line-height:.98; }
.kw-hero__content > p:not(.kw-eyebrow) { margin-bottom:30px; color:rgba(255,255,255,.9); font-size:clamp(17px,1.5vw,21px); }
.kw-actions { display:flex; gap:14px; flex-wrap:wrap; }
.kw-actions--left { align-items:center; }
.kw-button { min-height:46px; display:inline-flex; align-items:center; justify-content:center; padding:11px 24px; border:1px solid var(--kw-green); border-radius:999px; background:var(--kw-green); color:#fff !important; font-size:13px; font-weight:700; transition:.2s ease; }
.kw-button:hover { transform:translateY(-2px); box-shadow:0 10px 24px rgba(0,0,0,.18); }
.kw-button--accent { border-color:var(--kw-lime); background:var(--kw-lime); }
.kw-button--ghost { border-color:rgba(255,255,255,.8); background:rgba(8,45,22,.46); backdrop-filter:blur(8px); }

.kw-intro { background:var(--kw-soft); }
.kw-intro__grid { display:grid; grid-template-columns:.9fr 1.1fr; align-items:stretch; gap:70px; }
.kw-values { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.kw-value { min-height:190px; display:grid; align-content:center; gap:16px; padding:28px; border:1px solid var(--kw-line); border-radius:26px; background:#fff; box-shadow:var(--kw-shadow); }
.kw-value span { color:var(--kw-green); }
.kw-value svg { width:48px; height:48px; fill:none; stroke:currentColor; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; }
.kw-value h3 { margin-bottom:6px; font-size:20px; }
.kw-value p { margin-bottom:0; font-size:13px; line-height:1.55; }
.kw-media { min-height:520px; overflow:hidden; margin:0; border-radius:var(--kw-radius); box-shadow:var(--kw-shadow); }
.kw-media img { width:100%; height:100% !important; object-fit:cover; }

.kw-services { background:#fff; }
.kw-service-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
.kw-card { border:1px solid var(--kw-line); border-radius:var(--kw-radius); background:#fff; box-shadow:var(--kw-shadow); }
.kw-service-card { min-height:320px; display:grid; align-content:center; justify-items:start; padding:46px; }
.kw-service-card span,
.kw-why-grid span { width:76px; height:76px; display:grid; place-items:center; margin-bottom:22px; border-radius:22px; background:rgba(143,187,45,.13); color:var(--kw-green); }
.kw-service-card svg,
.kw-why-grid svg { width:46px; height:46px; fill:none; stroke:currentColor; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; }
.kw-service-card h3 { max-width:430px; margin-bottom:12px; font-size:25px; line-height:1.14; }
.kw-service-card p { margin-bottom:0; }

.kw-audiences { background:var(--kw-soft); }
.kw-audience-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.kw-audience-card { min-height:590px; overflow:hidden; display:flex; flex-direction:column; }
.kw-audience-card > img { width:100%; height:245px !important; object-fit:cover; }
.kw-audience-card > div { flex:1; display:flex; flex-direction:column; align-items:flex-start; padding:32px; }
.kw-audience-card h3 { margin-bottom:12px; font-size:24px; }
.kw-audience-card p { margin-bottom:22px; font-size:14px; }
.kw-audience-card a { margin-top:auto; display:inline-flex; padding-bottom:4px; border-bottom:2px solid var(--kw-lime); color:var(--kw-green); font-size:13px; font-weight:700; }

.kw-process { overflow:hidden; background:var(--kw-green); color:#fff; }
.kw-heading--light h2 { color:#fff !important; }
.kw-heading--light > p:last-child { color:rgba(255,255,255,.8); }
.kw-process-grid { position:relative; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:16px; }
.kw-process-grid::before { content:''; position:absolute; top:53px; right:8%; left:8%; height:2px; background:rgba(255,255,255,.24); }
.kw-process-grid article { position:relative; min-width:0; min-height:300px; padding:26px 22px 30px; border:1px solid rgba(255,255,255,.24); border-radius:26px; background:rgba(255,255,255,.07); backdrop-filter:blur(8px); }
.kw-process-grid b { position:absolute; top:18px; right:18px; color:var(--kw-lime); font-size:12px; letter-spacing:.12em; }
.kw-process-grid span { position:relative; width:56px; height:56px; display:grid; place-items:center; margin-bottom:36px; border-radius:50%; background:#fff; color:var(--kw-green); }
.kw-process-grid svg { width:32px; height:32px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.kw-process-grid h3 { margin-bottom:12px; color:#fff !important; font-size:20px; line-height:1.15; hyphens:auto; overflow-wrap:anywhere; }
.kw-process-grid p { margin-bottom:0; color:rgba(255,255,255,.78); font-size:13px; }

.kw-why { background:#fff; }
.kw-why-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.kw-why-grid article { min-height:330px; display:grid; align-content:center; justify-items:center; padding:42px; text-align:center; }
.kw-why-grid h3 { margin-bottom:10px; font-size:25px; }
.kw-why-grid p { margin-bottom:0; }

.kw-cta { padding:126px 0; background:var(--kw-deep); color:#fff; }
.kw-cta__grid { display:grid; grid-template-columns:1fr .85fr; align-items:stretch; gap:70px; }
.kw-cta__copy { align-self:center; }
.kw-cta h2 { margin-bottom:20px; color:#fff !important; font-size:clamp(38px,4vw,58px); line-height:1.04; }
.kw-cta__copy > p:not(.kw-eyebrow) { color:rgba(255,255,255,.82); }
.kw-cta__facts { display:flex; gap:12px; flex-wrap:wrap; margin:28px 0; }
.kw-cta__facts span { padding:8px 13px; border:1px solid rgba(255,255,255,.26); border-radius:999px; font-size:12px; font-weight:650; }
.kw-phone { display:inline-flex; align-items:center; gap:10px; color:#fff; font-size:14px; font-weight:700; }
.kw-phone svg { width:32px; height:32px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.kw-cta figure { min-height:560px; overflow:hidden; margin:0; border-radius:var(--kw-radius); }
.kw-cta figure img { width:100%; height:100% !important; object-fit:cover; }

body.kajoni-native-wind .kn-footer { padding-top:74px; }
body.kajoni-native-wind .kn-footer h2 { color:#fff !important; }

@media (max-width:1024px) {
    .kw-section { padding:108px 0; }
    .kw-intro__grid { grid-template-columns:1fr; }
    .kw-media { min-height:480px; }
    .kw-process-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .kw-process-grid::before { display:none; }
    .kw-cta__grid { gap:42px; }
}

@media (max-width:767px) {
    .kw-shell { width:calc(100% - 32px); }
    .kw-section { padding:86px 0; }
    .kw-heading { margin-bottom:42px; text-align:left; }
    .kw-heading h2 { font-size:38px; }
    .kw-heading > p:last-child { font-size:15px; }

    .kw-hero { min-height:720px; height:100svh; max-height:880px; background-position:68% center; }
    .kw-hero::before { background:linear-gradient(180deg,rgba(5,25,12,.28),rgba(5,25,12,.7) 54%,rgba(5,25,12,.9)); }
    .kw-hero__content { align-self:end; padding-top:140px; padding-bottom:68px; }
    .kw-hero h1 { font-size:clamp(42px,12vw,56px); }
    .kw-hero__content > p:not(.kw-eyebrow) { font-size:15px; }
    .kw-actions { flex-direction:column; align-items:stretch; }
    .kw-button { width:100%; }

    .kw-intro__grid,
    .kw-service-grid,
    .kw-audience-grid,
    .kw-process-grid,
    .kw-why-grid,
    .kw-cta__grid { grid-template-columns:minmax(0,1fr); }
    .kw-values { grid-template-columns:minmax(0,1fr); }
    .kw-value { min-height:170px; }
    .kw-media { width:calc(100% + 32px); min-height:340px; margin-left:-16px; border-radius:0; }

    .kw-service-grid { gap:22px; }
    .kw-service-card { min-width:0; min-height:280px; padding:36px 28px; border-radius:26px; }
    .kw-service-card h3 { font-size:23px; overflow-wrap:anywhere; }

    .kw-audience-grid { gap:24px; }
    .kw-audience-card { min-height:0; border-radius:26px; }
    .kw-audience-card > img { height:230px !important; }
    .kw-audience-card > div { min-height:300px; padding:28px 24px; }

    .kw-process-grid { gap:18px; }
    .kw-process-grid article { min-height:230px; padding:28px; }
    .kw-process-grid span { margin-bottom:24px; }

    .kw-why-grid article { min-height:280px; border-radius:26px; }

    .kw-cta { padding:92px 0 0; }
    .kw-cta h2 { font-size:38px; }
    .kw-actions--left { align-items:stretch; }
    .kw-phone { justify-content:center; padding:10px; }
    .kw-cta figure { width:calc(100% + 32px); min-height:420px; margin-left:-16px; border-radius:0; }
}

@media (max-width:380px) {
    .kw-hero h1,
    .kw-heading h2,
    .kw-cta h2 { font-size:35px; }
}

/* Consistent card rhythm and restrained depth across the wind service page. */
.kw-values { grid-auto-rows:1fr; }
.kw-value { min-width:0; }
.kw-value,.kw-service-card,.kw-audience-card,.kw-why-grid article {
    border-color:rgba(18,84,40,.12);
    box-shadow:0 8px 26px rgba(14,45,25,.06),0 2px 5px rgba(14,45,25,.025);
    transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;
}
.kw-value > span,.kw-service-card > span,.kw-why-grid article > span { transition:background .28s ease,transform .28s ease; }
.kw-audience-card > img { transition:transform .5s ease; }
.kw-why-grid article > span {
    width:112px;height:112px;border:1px solid rgba(18,84,40,.16);
    border-radius:30px;background:linear-gradient(145deg,#f1f6e7,#e4efcc);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 8px 22px rgba(18,84,40,.06);
}
.kw-why-grid article > span svg { width:64px;height:64px; }
/* Keep the complete process in one continuous row at every viewport size. */
body.kajoni-native-wind .kw-process > .kw-shell { width:min(1600px,calc(100% - 48px))!important; }
.kw-process-grid {
    grid-template-columns:repeat(5,minmax(230px,1fr));gap:16px;
    overflow-x:auto;padding-block:8px 24px;
    scroll-snap-type:x proximity;scrollbar-width:thin;
    scrollbar-color:rgba(255,255,255,.5) rgba(255,255,255,.1);
}
.kw-process-grid::before { display:none; }
.kw-process-grid article {
    grid-column:auto;min-height:0;aspect-ratio:1;scroll-snap-align:start;
    display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;
    padding:clamp(18px,1.5vw,28px);border-radius:28px;
    background:linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,.035));
    box-shadow:0 12px 32px rgba(0,20,8,.12),inset 0 1px 0 rgba(255,255,255,.08);
    transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease,background .28s ease;
}
.kw-process-grid article > * { flex-shrink:0; }
.kw-process-grid article > span { width:40px;height:40px;margin-bottom:14px; }
.kw-process-grid article > span svg { width:25px;height:25px; }
.kw-process-grid article > b { top:20px;right:20px;font-size:13px; }
.kw-process-grid article h3 { min-height:2.5em;margin-bottom:10px;font-size:clamp(15px,1.1vw,18px);line-height:1.25; }
.kw-process-grid article p { font-size:clamp(12px,.85vw,13px);line-height:1.55; }
.kw-audience-card:focus-within { border-color:rgba(18,84,40,.35);box-shadow:0 18px 42px rgba(14,45,25,.14); }
@media (hover:hover) and (pointer:fine) {
    .kw-value:hover,.kw-service-card:hover,.kw-audience-card:hover,.kw-why-grid article:hover {
        transform:translateY(-5px);border-color:rgba(18,84,40,.27);
        box-shadow:0 20px 46px rgba(14,45,25,.13),0 4px 10px rgba(14,45,25,.04);
    }
    .kw-value:hover > span,.kw-service-card:hover > span,.kw-why-grid article:hover > span { transform:translateY(-2px); }
    .kw-audience-card:hover > img { transform:scale(1.025); }
    .kw-process-grid article:hover {
        transform:translateY(-5px);border-color:rgba(255,255,255,.5);
        box-shadow:0 22px 44px rgba(0,20,8,.23),inset 0 1px 0 rgba(255,255,255,.14);
        background:linear-gradient(145deg,rgba(255,255,255,.18),rgba(255,255,255,.07));
    }
}
@media (max-width:767px) {
    body.kajoni-native-wind .kw-process > .kw-shell { width:calc(100% - 32px)!important; }
    .kw-process-grid { grid-template-columns:repeat(5,min(82vw,320px));gap:16px; }
    .kw-process-grid article { padding:22px; }
    .kw-process-grid article > span { width:48px;height:48px;margin-bottom:18px; }
    .kw-why-grid article > span { width:104px;height:104px;border-radius:28px; }
    .kw-why-grid article > span svg { width:60px;height:60px; }
}
@media (prefers-reduced-motion:reduce) {
    .kw-value,.kw-service-card,.kw-audience-card,.kw-audience-card > img,
    .kw-why-grid article,.kw-process-grid article,.kw-value > span,
    .kw-service-card > span,.kw-why-grid article > span { transition:none;transform:none!important; }
}

/* Match the mobile closing sections of the other service pages. */
@media(max-width:767px){
    .kw-cta{padding:0 0 72px}
    .kw-cta .kw-cta__grid{width:100%;gap:32px}
    .kw-cta .kw-cta__copy{padding-inline:20px}
    .kw-cta figure{order:-1;width:100%;min-height:0;margin:0;border-radius:0}
    .kw-cta figure img{display:block;width:100%;height:auto!important;aspect-ratio:16/10;object-fit:cover}
}
