/* Adopted forest TOP. Other page worlds retain their own materials and layout. */
body.kh-world-home .kh-home-hero {
    position: relative;
    isolation: isolate;
    box-sizing: border-box;
    width: 100%;
    height: clamp(330px, 28vw, 400px);
    border: 1px solid #a9b69b;
    border-radius: 12px 12px 0 0;
    overflow: hidden;
    background: #6d8255 url('../images/home-forest/forest.webp') center / cover no-repeat;
}
body.kh-world-home .kh-home-hero-stage {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 34fr) minmax(0, 42fr) minmax(0, 29fr);
    grid-template-rows: minmax(0, 1fr);
    align-items: center;
    justify-content: center;
    gap: clamp(12px, 1.8vw, 26px);
    width: 100%;
    max-width: 1280px;
    height: 100%;
    margin: auto;
    padding: 28px 24px 14px;
    box-sizing: border-box;
}
body.kh-world-home .kh-home-hero-cat {
    grid-column: 1;
    grid-row: 1;
    align-self: end;
    min-width: 0;
    min-height: 0;
    width: 100%;
    height: 100%;
    max-height: 300px;
    object-fit: contain;
    object-position: center bottom;
    z-index: 2;
    transform: scale(.5);
    transform-origin: center bottom;
}
body.kh-world-home .kh-home-hero-title {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    min-width: 0;
    min-height: 0;
    width: 100%;
    height: 100%;
    max-height: 240px;
    z-index: 3;
}
body.kh-world-home .kh-home-hero-title img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}
body.kh-world-home .kh-home-hero-hut {
    grid-column: 3;
    grid-row: 1;
    align-self: end;
    min-width: 0;
    min-height: 0;
    width: 100%;
    height: 100%;
    max-height: 270px;
    object-fit: contain;
    object-position: center bottom;
    margin-bottom: 14px;
    z-index: 1;
}
body.kh-world-home .kh-home-hero-since {
    position: absolute;
    top: 18px;
    right: 22px;
    margin: 0;
    padding: 7px 12px;
    background: #fffdf0de;
    border-radius: 10px;
    color: #295239;
    font-size: 11px;
    line-height: 1.55;
}
body.kh-world-home .kh-home-hero-since strong { display: block; }

body.kh-world-home .kh-welcome-body {
    background: linear-gradient(105deg, #fffef1ed, #f5f9e8c9), url('../images/home-forest/forest.webp') center 62% / cover no-repeat;
}
body.kh-world-home .kh-welcome-body::after { display: none; }
body.kh-world-home .kh-thanks { gap: 10px; margin: 16px 0; }
body.kh-world-home .kh-thanks img { width: 64px; height: 64px; flex: 0 0 64px; object-fit: contain; }
body.kh-world-home .kh-thanks p { color: #36523c; }

body.kh-world-home .kh-footer { --kh-footer-ink: #fff8e5; }
body.kh-world-home .kh-footer-scene {
    height: 190px;
    background: #61754f url('../images/home-forest/forest.webp') center 70% / cover no-repeat;
    border-top: 1px solid #87966f;
}
body.kh-world-home .kh-footer-scene > .kh-content-width {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 430px) minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr);
    align-items: center;
    gap: 16px;
}
body.kh-world-home .kh-footer-note {
    grid-column: 2;
    margin: 0;
    padding: 0;
    background: transparent;
    border-radius: 0;
    min-width: 0;
    color: #fff8e5;
    text-shadow: 0 1px 3px #183719;
    overflow-wrap: anywhere;
}
body.kh-world-home .kh-footer-note img {
    position: static;
    width: 100%;
    height: auto;
    max-height: 160px;
    object-fit: contain;
}
body.kh-world-home .kh-footer-scene img.kh-home-footer-mascot {
    position: static;
    grid-column: 3;
    justify-self: end;
    align-self: end;
    width: 160px;
    max-width: 100%;
    height: 170px;
    object-fit: contain;
    object-position: center bottom;
    margin: 0 0 6px;
}
body.kh-world-home .kh-footer-base { background: #294b35; border-top: 1px solid #60754d; }
body.kh-world-home .kh-footer-menu a,
body.kh-world-home .kh-footer-menu .kh-menu-pending { background: #fff8e50b; border-color: #d9e0bd70; }
body.kh-world-home .kh-footer-menu a:hover,
body.kh-world-home .kh-footer-menu .current-menu-item > a { background: #fff8e51c; }

/* General Settings can replace the illustrated name without clipping live text. */
body.kh-world-home .kh-home-hero--text { height: auto; min-height: clamp(330px, 28vw, 400px); }
body.kh-world-home .kh-home-hero--text .kh-home-hero-stage { height: auto; min-height: inherit; }
body.kh-world-home .kh-home-hero--text .kh-home-hero-title {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: auto;
    max-height: none;
    text-align: center;
    text-decoration: none;
    color: #fff8e5;
    text-shadow: 0 2px 3px #183719, 0 0 5px #183719;
    overflow-wrap: anywhere;
}
body.kh-world-home .kh-home-hero-title strong { font-size: clamp(24px, 3vw, 38px); line-height: 1.4; }
body.kh-world-home .kh-home-hero-title span { font-size: 15px; line-height: 1.7; margin-top: 8px; }

@media (max-width: 840px) {
    body.kh-world-home .kh-home-hero { height: clamp(310px, 52vw, 420px); }
    body.kh-world-home .kh-home-hero-stage {
        grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
        grid-template-rows: clamp(112px, 20vw, 170px) minmax(0, 1fr) 14px;
        gap: 8px;
        padding: 18px 16px 12px;
    }
    body.kh-world-home .kh-home-hero-title { grid-column: 1 / -1; grid-row: 1; justify-self: center; max-width: 480px; max-height: 170px; }
    body.kh-world-home .kh-home-hero-cat { grid-column: 1; grid-row: 2; max-height: 220px; }
    body.kh-world-home .kh-home-hero-hut { grid-column: 2; grid-row: 2; margin-bottom: 8px; }
    body.kh-world-home .kh-home-hero-since {
        position: static;
        grid-column: 1 / -1;
        grid-row: 3;
        justify-self: center;
        display: flex;
        gap: 12px;
        padding: 0;
        background: transparent;
        color: #fdf9e9;
        font-size: 10px;
        text-shadow: 0 1px 3px #183719, 0 0 5px #183719;
    }
    body.kh-world-home .kh-home-hero--text { height: auto; min-height: 310px; }
    body.kh-world-home .kh-home-hero--text .kh-home-hero-stage { grid-template-rows: auto minmax(140px, 1fr) 14px; }
}
@media (max-width: 799px) {
    body.kh-world-home .kh-footer-scene { height: 160px; }
    body.kh-world-home .kh-footer-scene > .kh-content-width { grid-template-columns: minmax(0, 1fr) 88px; gap: 12px; }
    body.kh-world-home .kh-footer-note { grid-column: 1; }
    body.kh-world-home .kh-footer-note img { max-height: 138px; }
    body.kh-world-home .kh-footer-scene img.kh-home-footer-mascot { grid-column: 2; width: 88px; height: 120px; }
}
@media (max-width: 600px) {
    body.kh-world-home .kh-home-hero-stage { padding: 18px 12px 12px; column-gap: 4px; }
}
@media print { body.kh-world-home .kh-home-hero { display: none; } }
