:root {
    --home-cream: #f1ede3;
    --home-dark: #0b0d0c;
    --home-panel: #121512;
    --home-line: rgba(208, 164, 94, 0.23);
}

.melidoni-home-page { background: var(--home-dark); }

.home-hub-hero {
    position: relative;
    min-height: 100vh;
    min-height: 100svh;
    height: auto;
    max-height: none;
    display: flex;
    align-items: flex-end;
    overflow: hidden;
    isolation: isolate;
    padding: 170px clamp(24px, 8vw, 150px) 82px;
}

.home-hub-background,
.home-hub-overlay { position: absolute; inset: 0; }

.home-hub-background {
    z-index: -3;
    background-image: url("../images/melidoni-village-hero.jpg");
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    transform: scale(1.02);
}

.home-hub-overlay {
    z-index: -2;
    background:
        linear-gradient(90deg, rgba(3,4,3,.91), rgba(3,4,3,.48) 58%, rgba(3,4,3,.16)),
        linear-gradient(180deg, rgba(3,4,3,.18), rgba(3,4,3,.88));
}

.home-hub-content { width: min(720px, 100%); }

.home-hub-content h1 {
    max-width: 700px;
    margin: 16px 0 21px;
    color: #fffaf0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2.5rem, 4vw, 4.4rem);
    font-weight: 400;
    line-height: 1;
    letter-spacing: -.035em;
}

.home-hub-content > p:not(.section-eyebrow) {
    max-width: 600px;
    margin: 0;
    color: rgba(255,255,255,.73);
    font-size: clamp(.95rem, 1.2vw, 1.08rem);
    line-height: 1.75;
}

.home-hub-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 28px;
}

.home-hub-location {
    position: absolute;
    right: clamp(24px, 6vw, 100px);
    bottom: 45px;
    display: flex;
    align-items: center;
    gap: 10px;
    color: rgba(255,255,255,.48);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.6px;
}

.home-hub-location i { color: var(--site-gold); font-size: 15px; }

.village-introduction {
    display: grid;
    grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr);
    gap: clamp(40px, 8vw, 135px);
    padding: clamp(90px, 11vw, 170px) clamp(24px, 8vw, 150px);
    background: var(--home-cream);
    color: #171916;
}

.village-introduction h2,
.business-preview h2 {
    margin: 17px 0 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2.7rem, 5vw, 5.5rem);
    font-weight: 400;
    line-height: 1.02;
}

.village-introduction-copy { padding-top: 29px; }
.village-introduction-copy p {
    margin: 0 0 22px;
    color: rgba(23,25,22,.68);
    line-height: 1.9;
}

.discover-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }

.discover-card {
    min-height: 570px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: clamp(38px,5vw,72px);
    border-right: 1px solid var(--home-line);
    background: radial-gradient(circle at 85% 10%,rgba(208,164,94,.09),transparent 38%),var(--home-panel);
}

.discover-card:last-child { border-right: 0; }
.discover-card-number { color: rgba(208,164,94,.54); font: .8rem Georgia,serif; }
.discover-card-icon { margin: auto 0 28px; color: var(--site-gold); font-size: 46px; }
.discover-card h2 {
    margin: 12px 0 18px;
    font: 400 clamp(2rem,3vw,3.35rem)/1.05 Georgia,serif;
}
.discover-card > p:not(.section-eyebrow) { margin: 0 0 27px; color: rgba(255,255,255,.58); line-height: 1.75; }
.discover-card > a,
.discover-card-status { margin-top: auto; color: var(--site-gold-light); font-size: .67rem; font-weight: 800; letter-spacing: 1.15px; text-decoration: none; }
.discover-card > a { display: inline-flex; align-items: center; gap: 12px; }
.discover-card-status { color: rgba(255,255,255,.35); }
.business-preview { padding: clamp(90px,11vw,165px) clamp(24px,8vw,150px); background: var(--home-cream); color: #171916; }
.business-preview-heading { max-width: 950px; }
.business-preview-heading > p:last-child { max-width: 720px; margin: 25px 0 0; color: rgba(23,25,22,.65); line-height: 1.85; }
.business-categories { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin-top: 60px; border: 1px solid rgba(23,25,22,.16); border-right: 0; border-bottom: 0; }
.business-categories > span,
.business-categories > a {
    min-height: 150px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 25px;
    padding: 25px;
    border-right: 1px solid rgba(23,25,22,.16);
    border-bottom: 1px solid rgba(23,25,22,.16);
    color: #171916;
    font: 1.1rem Georgia, serif;
    text-decoration: none;
}
.business-categories i { color: #a8762e; font-size: 26px; }
.business-categories > a {
    transition:
        color 0.2s ease,
        background-color 0.2s ease;
}

.business-categories > a:hover {
    color: #ffffff;
    background: #171916;
}

.business-categories > a:hover i {
    color: var(--site-gold-light);
}

.business-category-arrow {
    align-self: flex-end;
    font-size: 16px !important;
}

.home-footer { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: 45px clamp(24px,6vw,100px); border-top: 1px solid rgba(255,255,255,.1); background: #070807; }
.home-footer > div:first-child > p { margin: 18px 0 0; color: rgba(255,255,255,.43); font-size: .76rem; }
.home-footer-contact { display: flex; flex-wrap: wrap; gap: 18px 28px; }
.home-footer-contact a { color: rgba(255,255,255,.66); font-size: .78rem; text-decoration: none; }
.home-footer-contact i { margin-right: 7px; color: var(--site-gold); }

@media (max-width:1050px) {
    .discover-grid { grid-template-columns: 1fr; }
    .discover-card { min-height: 430px; border-right: 0; border-bottom: 1px solid var(--home-line); }
    .business-categories { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width:767.98px) {
    .home-hub-hero { min-height: 100vh; min-height: 100svh; min-height: 100dvh; height: auto; max-height: none; padding: 176px 20px 62px; }
    .home-hub-background { background-position: 58% center; }
    .home-hub-overlay { background: linear-gradient(180deg,rgba(3,4,3,.3),rgba(3,4,3,.96) 80%); }
    .home-hub-content h1 { font-size: clamp(2.65rem,12vw,3.7rem); }
    .home-hub-actions { flex-direction: column; align-items: stretch; }
    .home-hub-actions .button { width: 100%; justify-content: center; }
    .home-hub-location { display: none; }
    .village-introduction { grid-template-columns: 1fr; gap: 25px; padding: 80px 20px; }
    .village-introduction-copy { padding-top: 0; }
    .discover-card { min-height: 410px; padding: 35px 20px; }
    .business-preview { padding: 80px 20px; }
    .business-preview h2,.village-introduction h2 {
    font-size: clamp(2.4rem,11vw,3.4rem);
}
    .business-categories { grid-template-columns: 1fr 1fr; margin-top: 38px; }
    .business-categories span { min-height: 125px; padding: 18px; font-size: .95rem; }
    .home-footer { align-items: flex-start; flex-direction: column; padding: 40px 20px; }
    .home-footer-contact { flex-direction: column; }
}
@media (min-width: 768px) {
    .home-hub-content h1,
    .village-introduction h2,
    .business-preview h2 {
        font-size: clamp(2.3rem, 3vw, 3.4rem);
    }
}
