:root { --kp-page-top-space:24px; --kp-section-space:32px; }
@media (max-width:768px) { :root { --kp-section-space:24px; } }

body.home .kp-home-hero p,
body.home .kp-home-impact p,
body.home .kp-home-animals p { font-size:17px; font-weight:400; color:#333333; }

.kp-home-hero {
    width: 100%;
    padding: var(--kp-page-top-space) 24px var(--kp-section-space);
    background: #ffffff;
}

.kp-home-hero__container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 32px;

    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
}

.kp-home-hero__image {
    width: 60%;
    max-width: 360px;
    flex-shrink: 0;
}

.kp-home-hero__img {
    display: block;
    width: 100%;
    height: auto;

    border-radius: 12px;

    box-shadow:
        0 10px 28px rgba(0, 0, 0, 0.10);
}

.kp-home-hero__content {
    width: 100%;
    max-width: 700px;
    text-align: center;
}

.kp-home-hero__title {
    margin: 0 0 22px;

    font-size: clamp(1.8rem, 4vw, 2.35rem);
    font-weight: 400;
    line-height: 1.12;

    color: #222222;
}

.kp-home-hero__text {
    max-width: 700px;
    margin: 0 auto 28px;

    font-size: 17px;
    font-weight: 400;
    line-height: 1.6;

    color: #333333;
}

.kp-home-hero__actions {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 16px;
}

.kp-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 210px;
    min-height: 56px;
    padding: 14px 26px;

    border-radius: 8px;

    font-size: 1.1rem;
    font-weight: 700;
    line-height: 1.2;

    text-decoration: none;

    transition:
        transform 0.15s ease,
        box-shadow 0.15s ease,
        background-color 0.15s ease;
}

.kp-button--primary {
    color: #ffffff;
    background: var(--kp-primary-color, #f58220);
}

.kp-button--secondary {
    color: var(--kp-primary-color, #f58220);
    background: #ffffff;

    border: 2px solid var(--kp-primary-color, #f58220);
}

.kp-button:hover,
.kp-button:focus {
    text-decoration: none;
    transform: translateY(-1px);
}

@media (min-width: 992px) {

    .kp-home-hero {
        padding-top: var(--kp-page-top-space);
        padding-bottom: 64px;
    }

    .kp-home-hero__container {
        flex-direction: row;
        align-items: flex-start;
        justify-content: center;
        gap: 40px;
    }

    .kp-home-hero__image {
        width: 34%;
        max-width: 360px;
    }

    .kp-home-hero__content {
        flex: 1;
        text-align: left;
    }

    .kp-home-hero__text {
        margin-left: 0;
        margin-right: 0;
    }

    .kp-home-hero__actions {
        justify-content: flex-start;
    }
}

@media (max-width: 991px) {

    .kp-home-hero__text {
        font-size: 17px;
    }
}

@media (max-width: 768px) {

    .kp-home-hero {
        padding: var(--kp-page-top-space) 18px var(--kp-section-space);
    }

    .kp-home-hero__container {
        gap: 28px;
    }

    .kp-home-hero__image {
        width: 68%;
        max-width: 280px;
    }

    .kp-home-hero__title {
        margin-bottom: 18px;
    }

    .kp-home-hero__text {
        margin-bottom: 24px;
        font-size: 17px;
    }

    .kp-home-hero__actions {
        width: 100%;
        flex-direction: column;
        gap: 12px;
    }

    .kp-button {
        width: 100%;
        min-height: 56px;
    }
}

/* Compact homepage introduction; the fuller rescue story lives on About. */
body.home .kp-home-hero--compact .kp-home-hero__container{flex-direction:row-reverse;align-items:center;gap:40px}
body.home .kp-home-hero--compact .kp-home-hero__image{width:30%;max-width:300px;flex:none}
body.home .kp-home-hero--compact .kp-home-hero__img{height:280px;object-fit:cover}
body.home .kp-home-hero--compact .kp-home-hero__content{max-width:none;text-align:left}
body.home .kp-home-hero--compact .kp-home-hero__actions{justify-content:flex-start}
.kp-home-hero__story{display:inline-flex;align-items:center;min-height:44px;padding:8px;font-weight:700}
.kp-about__history .kp-home-hero__text{max-width:780px;margin-left:auto;margin-right:auto}
.kp-about__history h2{text-align:center}
@media(max-width:768px){body.home .kp-home-hero--compact .kp-home-hero__image{display:none}body.home .kp-home-hero--compact .kp-home-hero__content{text-align:center}body.home .kp-home-hero--compact .kp-home-hero__actions{align-items:center}}

body .kp-home-hero__story,body .kp-home-hero__story:visited{color:#96501f}

/* WordPress can retain empty paragraphs around shortcode blocks. Their collapsed
   margins otherwise leave a cream strip between the final section and footer. */
body.home .entry-content > p:empty{display:none}
