/* Homepage only: preserve the original responsive hero and five independent cards. */
.ll-v2 .ll-v2-component:has(> .ll-v2-home) {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}
.ll-v2 .ll-v2-home {
    margin: 0;
    padding: 0 0 16rem;
    color: #000;
    overflow-wrap: normal;
}
.ll-v2 .ll-v2-home__hero {
    display: grid;
    align-items: center;
    width: 100%;
    height: 34rem;
    padding: 0 0 40px;
    grid-template-columns: auto auto 1060px auto auto;
    grid-template-rows: 3fr 1fr 3fr 3fr;
    grid-template-areas: ". . . . ." ". . label . ." ". . title . ." ". . . . .";
    background: url("../images/home-hero.jpg") center / cover;
}
.ll-v2 .ll-v2-home__label {
    grid-area: label;
    width: fit-content;
    margin: 0;
    font: 700 12px/18px "ZonaPro-Bold", Helvetica, Arial, serif;
    color: #e83446;
    letter-spacing: 2px;
}
.ll-v2 .ll-v2-home__title {
    grid-area: title;
    justify-self: center;
    align-self: normal;
    width: 40rem;
    max-width: 100%;
    box-sizing: content-box;
    margin: 0;
    padding: 0;
    font: 400 3.5rem/3.8rem "CynthoSlabPro-Regular", Helvetica, Arial, serif;
    color: #000;
    letter-spacing: normal;
    text-align: left;
}
.ll-v2 .ll-v2-home__areas {
    position: relative;
    z-index: 1;
    width: fit-content;
    max-width: 100%;
    margin: -40px auto 0;
}
.ll-v2 .ll-v2-home__grid {
    display: grid;
    grid-template-columns: repeat(5, 210px);
    grid-template-rows: 216px;
    align-items: center;
    justify-items: center;
    margin: 0;
    padding: 0;
    list-style: none;
    box-shadow: 4px 15px 35px rgba(85, 55, 69, 0.33);
}
.ll-v2 .ll-v2-home__grid > li { display: contents; }
.ll-v2 .ll-v2-home__card {
    display: grid;
    height: 100%;
    min-width: 0;
    justify-content: center;
    align-content: center;
    justify-self: normal;
    grid-template-areas: "." "icon" "text" ".";
    grid-template-rows: 0.5fr 1fr 1fr 0.5fr;
    border: 1px solid #553745;
    background: #fff;
    color: #553745;
    font: 400 24px/normal "CynthoSlabPro-Regular", sans-serif;
    letter-spacing: normal;
    text-decoration: none;
}
.ll-v2 .ll-v2-home__card:hover { color: #553745; text-decoration: none; }
.ll-v2 .ll-v2-home__card:focus-visible { outline: 3px solid #b92236; outline-offset: -5px; }
.ll-v2 .ll-v2-home__icon {
    display: grid;
    grid-area: icon;
    justify-items: center;
    justify-self: center;
    align-self: end;
}
.ll-v2 .ll-v2-home__icon img { display: block; width: auto; height: var(--ll-home-icon-height, 65px); max-width: none; }
.ll-v2 .ll-v2-home__grid > li:nth-child(2) { --ll-home-icon-height: 51px; }
.ll-v2 .ll-v2-home__grid > li:nth-child(3) { --ll-home-icon-height: 59px; }
.ll-v2 .ll-v2-home__grid > li:nth-child(4) { --ll-home-icon-height: 64px; }
.ll-v2 .ll-v2-home__grid > li:nth-child(5) { --ll-home-icon-height: 50px; }
.ll-v2 .ll-v2-home__card-label {
    display: grid;
    grid-area: text;
    justify-self: center;
    justify-items: center;
    align-items: center;
    align-self: normal;
    padding: 0.3rem 0.7rem;
    text-align: center;
    line-height: 2rem;
}
.ll-v2 .ll-v2-home__notice { padding: 2rem; }
@media (max-width: 1124px) {
    .ll-v2 .ll-v2-home__label,
    .ll-v2 .ll-v2-home__title { padding-inline: 1rem; }
}
@media (max-width: 1080px) {
    .ll-v2 .ll-v2-home__hero {
        height: 24rem;
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas: "." "label" "title" ".";
        background-image: url("../images/home-hero-1080.jpg");
    }
    .ll-v2 .ll-v2-home__title { width: 35rem; font-size: 3rem; line-height: 3.3rem; }
    .ll-v2 .ll-v2-home__areas { margin-top: 0; }
    .ll-v2 .ll-v2-home__grid { grid-template-columns: repeat(5, minmax(0, 1fr)); grid-template-rows: 19vw; }
    .ll-v2 .ll-v2-home__card { font-size: 2vw; }
    .ll-v2 .ll-v2-home__icon { width: 14vw; }
    .ll-v2 .ll-v2-home__icon img { width: 8vw; padding: 0.3rem; }
    .ll-v2 .ll-v2-home__card-label { line-height: 1.4rem; }
}
@media (max-width: 720px) {
    .ll-v2 .ll-v2-home { padding-bottom: 0; }
    .ll-v2 .ll-v2-home__hero { height: 12rem; grid-template-rows: 1fr 1fr 3fr 0; background-image: url("../images/home-hero-768.jpg"); }
    .ll-v2 .ll-v2-home__title { width: 23rem; font-size: 2rem; line-height: 2.3rem; }
    .ll-v2 .ll-v2-home__grid { grid-template-columns: repeat(2, 1fr); grid-template-rows: repeat(3, 1fr); }
    .ll-v2 .ll-v2-home__card { grid-template-columns: 35% 65%; grid-template-areas: none; grid-template-rows: none; font-size: 4vw; }
    .ll-v2 .ll-v2-home__card--more { grid-column: 1 / span 2; padding-inline: 16%; }
    .ll-v2 .ll-v2-home__icon { grid-area: auto; align-self: auto; }
    .ll-v2 .ll-v2-home__icon img { width: 10vw; height: 4rem; padding: 0; align-self: center; justify-self: center; }
    .ll-v2 .ll-v2-home__card-label { grid-area: auto; align-self: auto; font-size: 3.5vw; line-height: 1.8rem; }
}
@media (max-width: 480px) {
    .ll-v2 .ll-v2-home__card-label { line-height: 1.4rem; }
}
@media (max-width: 25rem) {
    .ll-v2 .ll-v2-home__hero { background-image: url("../images/home-hero-384.jpg"); }
    .ll-v2 .ll-v2-home__title { width: 18rem; font-size: 1.6rem; line-height: 1.9rem; }
}
@media (max-width: 320px) {
    .ll-v2 .ll-v2-home { padding-bottom: 16rem; }
    .ll-v2 .ll-v2-home__hero { padding: 0.5rem 0.5rem 40px; }
    .ll-v2 .ll-v2-home__title { width: 15rem; font-size: 1.4rem; line-height: 1.8rem; }
    .ll-v2 .ll-v2-home__grid { grid-template-columns: 1fr; grid-template-rows: repeat(10, 1fr); }
    .ll-v2 .ll-v2-home__card { grid-template-columns: 20% 80%; }
    .ll-v2 .ll-v2-home__card--more { grid-column: auto; padding: 0; }
    .ll-v2 .ll-v2-home__icon img { width: 12vw; }
    .ll-v2 .ll-v2-home__card-label { justify-self: left; justify-items: left; text-align: left; font-size: 5vw; }
}
