/* ===========================================================================
   Home redesign — "Banh Mi World"-inspired bold food-poster layout.
   Scoped entirely under body.home-v2 so other pages are untouched.
   Palette: vibrant orange + deep wine + warm cream + charcoal ink.
   Type: Anton (poster display) + Manrope (body).
   =========================================================================== */
:root {
    --bm-cream: #fff6e6;
    --bm-paper: #FFFFFF;
    --bm-ink:   #2a1410;
    --bm-orange:#d62828;
    --bm-wine:  #7e1517;
    --bm-gold:  #f4b731;
}

body.home-v2 {
    background: var(--bm-cream);
    color: var(--bm-ink);
    font-family: 'Manrope', system-ui, sans-serif;
}
body.home-v2 main { overflow: hidden; }
.home-v2 .bm-eyebrow {
    font-family: 'Manrope', sans-serif;
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase;
    font-size: .72rem;
    color: var(--bm-orange);
    margin: 0 0 18px;
}
.home-v2 .bm-label {
    display: inline-block;
    font-family: 'Manrope', sans-serif;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
    font-size: .7rem;
    color: var(--bm-wine);
    background: rgba(124, 30, 42, .08);
    border-radius: 100px;
    padding: 7px 14px;
    margin-bottom: 18px;
}
.home-v2 .bm-label--light { color: var(--bm-cream); background: rgba(255, 255, 255, .16); }

/* Buttons */
.home-v2 .bm-btn {
    display: inline-block;
    font-family: 'Manrope', sans-serif;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;
    font-size: .92rem;
    padding: 16px 30px;
    border-radius: 100px;
    border: 2.5px solid var(--bm-ink);
    transition: transform .15s ease, box-shadow .15s ease, background .2s ease, color .2s ease;
    box-shadow: 4px 4px 0 var(--bm-ink);
}
.home-v2 .bm-btn:hover { transform: translate(-2px, -2px); box-shadow: 6px 6px 0 var(--bm-ink); }
.home-v2 .bm-btn:active { transform: translate(2px, 2px); box-shadow: 1px 1px 0 var(--bm-ink); }
.home-v2 .bm-btn--primary { background: var(--bm-orange); color: #fff; }
.home-v2 .bm-btn--ghost { background: transparent; color: var(--bm-ink); }
.home-v2 .bm-btn--light { background: var(--bm-gold); color: var(--bm-ink); }
.home-v2 .bm-btn--lg { font-size: 1.05rem; padding: 20px 40px; }

/* ── Hero (full-bleed photo) ──────────────────────────────────────────────── */
.home-v2 .bm-hero {
    position: relative;
    min-height: 90vh;
    display: flex;
    align-items: center;
    padding: 90px 0;
    background: var(--hero-photo) center 30% / cover no-repeat;
    border-bottom: 4px solid var(--bm-ink);
}
.home-v2 .bm-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(98deg, rgba(28, 18, 14, .88) 0%, rgba(28, 18, 14, .62) 34%, rgba(28, 18, 14, .2) 58%, rgba(28, 18, 14, 0) 78%),
        linear-gradient(0deg, rgba(124, 30, 42, .35) 0%, rgba(28, 18, 14, 0) 40%);
}
.home-v2 .bm-hero-inner { position: relative; z-index: 2; width: 100%; }
.home-v2 .bm-hero-copy { max-width: 640px; }
.home-v2 .bm-eyebrow { color: var(--bm-gold); }
.home-v2 .bm-title {
    font-family: 'Anton', sans-serif;
    font-weight: 400;
    text-transform: uppercase;
    line-height: .9;
    letter-spacing: .005em;
    font-size: clamp(3.4rem, 9vw, 7.6rem);
    color: var(--bm-cream);
    margin: 0 0 26px;
    text-shadow: 3px 4px 0 rgba(0, 0, 0, .25);
}
.home-v2 .bm-title .is-white { color: #fff; display: block; }
.home-v2 .bm-title .is-outline {
    display: block;
    color: transparent;
    -webkit-text-stroke: 2px var(--bm-cream);
    text-shadow: none;
}
.home-v2 .bm-hero-meta { font-size: 1.08rem; line-height: 1.6; margin: 0 0 30px; max-width: 460px; color: var(--bm-cream); }
.home-v2 .bm-hero-meta strong { color: var(--bm-gold); }
.home-v2 .bm-hero-actions { display: flex; gap: 14px; flex-wrap: wrap; }
.home-v2 .bm-hero .bm-btn--ghost { color: var(--bm-cream); border-color: var(--bm-cream); background: rgba(0, 0, 0, .14); }
.home-v2 .bm-hero .bm-btn--ghost:hover { background: rgba(0, 0, 0, .28); }

.home-v2 .bm-sticker {
    position: absolute;
    z-index: 3;
    font-family: 'Anton', sans-serif;
    text-transform: uppercase;
    text-align: center;
    line-height: 1;
    color: var(--bm-ink);
    background: var(--bm-gold);
    border: 3px solid var(--bm-ink);
    border-radius: 50%;
    width: 122px; height: 122px;
    display: grid;
    place-items: center;
    padding: 10px;
    font-size: 1rem;
    box-shadow: 4px 4px 0 rgba(0, 0, 0, .25);
}
/* Hero caption naming the performers in the photo */
.home-v2 .bm-hero-credit {
    position: absolute;
    right: 3%;
    bottom: 5%;
    z-index: 3;
    pointer-events: none;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    text-align: right;
    max-width: 45%;
}
/* The giant credit text is decorative and overlaps the hero buttons; let clicks
   pass through to the buttons beneath, but keep its own button clickable. */
.home-v2 .bm-hero-credit a { pointer-events: auto; }
.home-v2 .bm-hero-credit-name {
    font-family: 'Anton', sans-serif; text-transform: uppercase; line-height: .9;
    font-size: clamp(2rem, 7vw, 6rem); letter-spacing: .005em; white-space: normal; word-break: break-word;
    color: var(--bm-cream); text-shadow: 2px 4px 0 rgba(0, 0, 0, .5);
}
.home-v2 .bm-hero-credit-meta {
    font-family: 'Manrope', sans-serif; font-weight: 800; text-transform: uppercase;
    letter-spacing: .12em; font-size: .75rem; margin-top: 10px;
    color: #fff;
    background: var(--bm-orange, #e85d04);
    padding: 5px 14px;
    border-radius: 999px;
    display: inline-block;
    text-shadow: none;
}
.home-v2 .bm-hero-credit-btn { margin-top: 14px; font-size: .82rem; padding: 11px 22px; }
@media (max-width: 900px) {
    .home-v2 .bm-hero-credit { bottom: 2%; max-width: 50%; }
    .home-v2 .bm-hero-credit-name { font-size: clamp(1.6rem, 5vw, 3.5rem); }
}
@media (max-width: 600px) {
    /* Stack Kalinka credit below the festival copy on mobile */
    .home-v2 .bm-hero {
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        padding-bottom: 32px;
    }
    .home-v2 .bm-hero-credit {
        position: static;
        max-width: 100%;
        right: auto;
        bottom: auto;
        align-items: flex-start;
        text-align: left;
        padding: 24px 20px 0;
    }
    .home-v2 .bm-hero-credit-name { font-size: clamp(2rem, 10vw, 3.2rem); }
}

.home-v2 .bm-sticker--a { top: 8%; right: 6%; background: var(--bm-orange); color: #fff; transform: rotate(12deg); }
.home-v2 .bm-sticker--b { bottom: 48%; right: 7%; transform: rotate(-10deg); }
@media (max-width: 760px) { .home-v2 .bm-sticker { display: none; } }

/* ── Marquee ──────────────────────────────────────────────────────────────── */
.home-v2 .bm-marquee {
    background: var(--bm-wine);
    border-top: 4px solid var(--bm-ink);
    border-bottom: 4px solid var(--bm-ink);
    overflow: hidden;
    padding: 16px 0;
}
.home-v2 .bm-marquee-track {
    display: flex;
    align-items: center;
    width: max-content;
    white-space: nowrap;
    animation: bm-scroll 32s linear infinite;
}
.home-v2 .bm-marquee:hover .bm-marquee-track { animation-play-state: paused; }
.home-v2 .bm-marquee-track span {
    font-family: 'Anton', sans-serif;
    text-transform: uppercase;
    font-size: 1.55rem;
    letter-spacing: .03em;
    color: var(--bm-cream);
    padding: 0 26px;
}
.home-v2 .bm-marquee-track .dot { color: var(--bm-orange); padding: 0 4px; }
@keyframes bm-scroll { to { transform: translateX(-50%); } }

/* ── Statement ────────────────────────────────────────────────────────────── */
.home-v2 .bm-statement { text-align: center; padding: 58px 0 22px; max-width: 920px; }
.home-v2 .bm-statement h2 {
    font-family: 'Anton', sans-serif;
    text-transform: uppercase;
    font-size: clamp(2rem, 5vw, 3.4rem);
    line-height: 1;
    margin: 0 0 26px;
    color: var(--bm-ink);
}
.home-v2 .bm-statement p { font-size: 1.12rem; line-height: 1.85; color: #6b5a4a; max-width: 740px; margin: 0 auto 1.2em; }

/* ── Foods ────────────────────────────────────────────────────────────────── */
.home-v2 .bm-foods { padding: 46px 0 54px; }
.home-v2 .bm-foods-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 34px; flex-wrap: wrap; }
.home-v2 .bm-foods-head h2 {
    font-family: 'Anton', sans-serif;
    text-transform: uppercase;
    font-size: clamp(2rem, 5vw, 3.2rem);
    line-height: 1; margin: 0; color: var(--bm-ink);
}
.home-v2 .bm-link { font-weight: 800; text-transform: uppercase; letter-spacing: .04em; font-size: .85rem; color: var(--bm-wine); border-bottom: 3px solid var(--bm-orange); padding-bottom: 3px; }
.home-v2 .bm-foods-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 26px; }
.home-v2 .bm-food {
    display: block;
    color: var(--bm-ink);
    text-decoration: none;
    background: var(--bm-paper);
    border: 3px solid var(--bm-ink);
    border-radius: 22px;
    padding: 14px 14px 22px;
    transition: transform .2s ease, box-shadow .2s ease;
}
.home-v2 .bm-food:hover { transform: translateY(-6px); box-shadow: 8px 12px 0 var(--bm-wine); text-decoration: none; }
.home-v2 .bm-food-img { position: relative; border-radius: 16px; overflow: hidden; }
.home-v2 .bm-food-img img { width: 100%; aspect-ratio: 1/1; object-fit: cover; display: block; transition: transform .5s ease; }
.home-v2 .bm-food:hover .bm-food-img img { transform: scale(1.07); }
.home-v2 .bm-food:hover h3 { color: var(--bm-orange); }
.home-v2 .bm-food h3 { transition: color .2s ease; }
.home-v2 .bm-price {
    position: absolute; z-index: 2; bottom: 12px; right: 12px;
    font-family: 'Anton', sans-serif; font-size: 1.25rem;
    background: var(--bm-orange); color: #fff;
    border: 3px solid var(--bm-ink); border-radius: 50%;
    width: 58px; height: 58px; display: grid; place-items: center;
    transform: rotate(-8deg);
}
.home-v2 .bm-food h3 { font-family: 'Anton', sans-serif; text-transform: uppercase; font-size: 1.4rem; margin: 22px 0 12px; color: var(--bm-ink); }
.home-v2 .bm-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.home-v2 .bm-tags span {
    font-size: .68rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em;
    color: var(--bm-wine); border: 2px solid var(--bm-wine); border-radius: 100px; padding: 4px 10px;
}

/* ── Music band ───────────────────────────────────────────────────────────── */
.home-v2 .bm-music { background: var(--bm-wine); color: var(--bm-cream); padding: 60px 0; }
.home-v2 .bm-music-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 48px; align-items: center; }
.home-v2 .bm-music-art img {
    width: 100%; aspect-ratio: 1/1; object-fit: cover;
    border-radius: 28px; border: 4px solid var(--bm-ink); box-shadow: 12px 12px 0 var(--bm-orange);
}
.home-v2 .bm-music-copy h2 {
    font-family: 'Anton', sans-serif; text-transform: uppercase;
    font-size: clamp(2.2rem, 5.5vw, 3.8rem); line-height: .95; color: var(--bm-cream); margin: 0 0 20px;
}
.home-v2 .bm-music-copy p { font-size: 1.12rem; line-height: 1.8; opacity: .92; max-width: 540px; margin: 0 0 28px; }
.home-v2 .bm-music-actions { display: flex; gap: 14px; flex-wrap: wrap; }
.home-v2 .bm-music .bm-btn--ghost { color: var(--bm-cream); border-color: var(--bm-cream); background: rgba(0, 0, 0, .12); }
.home-v2 .bm-music .bm-btn--ghost:hover { background: rgba(0, 0, 0, .26); }
.home-v2 .bm-statement-link { margin-top: .4em; }

/* ── Stats ────────────────────────────────────────────────────────────────── */
.home-v2 .bm-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; padding: 52px 0; text-align: center; }
.home-v2 .bm-stats > div { border-right: 2px dashed rgba(124, 30, 42, .25); }
.home-v2 .bm-stats > div:last-child { border-right: none; }
.home-v2 .bm-stat-num { display: block; font-family: 'Anton', sans-serif; font-size: clamp(3rem, 8vw, 5.5rem); line-height: 1; color: var(--bm-orange); }
.home-v2 .bm-stat-label { display: block; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; font-size: .8rem; color: var(--bm-ink); margin-top: 8px; }

/* ── Quotes ───────────────────────────────────────────────────────────────── */
.home-v2 .bm-quotes { background: var(--bm-ink); color: var(--bm-cream); padding: 58px 0; }
.home-v2 .bm-quotes h2 { font-family: 'Anton', sans-serif; text-transform: uppercase; text-align: center; font-size: clamp(2rem, 5vw, 3.2rem); color: var(--bm-cream); margin: 0 0 40px; }
.home-v2 .bm-quotes-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 22px; }
.home-v2 .bm-quote { background: rgba(255, 255, 255, .05); border: 1px solid rgba(255, 255, 255, .12); border-radius: 18px; padding: 26px; }
.home-v2 .bm-quote p { font-size: 1.02rem; line-height: 1.6; margin: 0 0 16px; }
.home-v2 .bm-quote cite { font-family: 'Anton', sans-serif; font-style: normal; text-transform: uppercase; font-size: .95rem; color: var(--bm-gold); letter-spacing: .04em; }

/* ── Final CTA ────────────────────────────────────────────────────────────── */
.home-v2 .bm-final { background: var(--bm-cream); color: var(--bm-ink); text-align: center; padding: 62px 0; border-top: 4px solid var(--bm-ink); }
.home-v2 .bm-final h2 { font-family: 'Anton', sans-serif; text-transform: uppercase; font-size: clamp(2.6rem, 8vw, 5.5rem); line-height: .95; margin: 0 0 18px; color: var(--bm-ink); }
.home-v2 .bm-final p { font-size: 1.1rem; max-width: 620px; margin: 0 auto 32px; line-height: 1.7; }

/* ── Call for performers ──────────────────────────────────────────────────── */
.home-v2 .bm-perform {
    background: var(--bm-gold); color: var(--bm-ink); text-align: center;
    padding: 62px 0; border-top: 4px solid var(--bm-ink); border-bottom: 4px solid var(--bm-ink);
}
.home-v2 .bm-perform-inner { max-width: 680px; margin: 0 auto; }
.home-v2 .bm-perform h2 {
    font-family: 'Anton', sans-serif; text-transform: uppercase;
    font-size: clamp(2.2rem, 6vw, 4rem); line-height: .98; margin: 0 0 18px; color: var(--bm-ink);
}
.home-v2 .bm-perform p { font-size: 1.12rem; max-width: 600px; margin: 0 auto 28px; line-height: 1.7; }

/* ── Responsive ───────────────────────────────────────────────────────────── */
@media (max-width: 820px) {
    .home-v2 .bm-hero-grid { grid-template-columns: 1fr; }
    .home-v2 .bm-hero-art { max-width: 380px; margin: 30px auto 0; }
    .home-v2 .bm-music-grid { grid-template-columns: 1fr; }
    .home-v2 .bm-music-art { max-width: 420px; }
    .home-v2 .bm-stats { grid-template-columns: 1fr; }
    .home-v2 .bm-stats > div { border-right: none; border-bottom: 2px dashed rgba(124, 30, 42, .25); padding-bottom: 18px; }
    .home-v2 .bm-stats > div:last-child { border-bottom: none; }
}
@media (prefers-reduced-motion: reduce) {
    .home-v2 .bm-marquee-track { animation: none; }
}

/* ── Countdown ────────────────────────────────────────────────────────────── */
.home-v2 .bm-countdown {
    background: var(--bm-wine);
    color: var(--bm-cream);
    text-align: center;
    padding: 56px 0;
    border-top: 4px solid var(--bm-ink);
}
.home-v2 .bm-countdown h2 {
    font-family: 'Anton', sans-serif; text-transform: uppercase; color: var(--bm-cream);
    font-size: clamp(1.8rem, 4.5vw, 3rem); line-height: 1; margin: 0 0 30px;
}
.home-v2 .bm-countdown-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; max-width: 720px; margin: 0 auto; }
.home-v2 .cd-cell {
    background: rgba(255, 255, 255, .06);
    border: 2px solid rgba(255, 255, 255, .16);
    border-radius: 16px; padding: 22px 8px;
}
.home-v2 .cd-num {
    display: block; font-family: 'Anton', sans-serif;
    font-size: clamp(2.4rem, 7vw, 4rem); line-height: 1; color: var(--bm-gold);
    font-variant-numeric: tabular-nums;
}
.home-v2 .cd-label { display: block; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; font-size: .72rem; margin-top: 10px; color: var(--bm-cream); }
@media (max-width: 520px) { .home-v2 .bm-countdown-grid { grid-template-columns: repeat(2, 1fr); } }

/* ── Add to calendar ──────────────────────────────────────────────────────── */
.home-v2 .bm-addcal { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 10px; margin-top: 28px; }
.home-v2 .bm-addcal-label { font-weight: 800; text-transform: uppercase; letter-spacing: .08em; font-size: .72rem; color: var(--bm-cream); opacity: .85; }
.home-v2 .bm-cal-btn {
    font-family: 'Manrope', sans-serif; font-weight: 800; text-transform: uppercase; letter-spacing: .03em;
    font-size: .8rem; padding: 9px 16px; border-radius: 100px;
    border: 2px solid var(--bm-cream); color: var(--bm-cream); background: rgba(255, 255, 255, .06);
    transition: background .2s ease, color .2s ease, transform .12s ease;
}
.home-v2 .bm-cal-btn:hover { background: var(--bm-gold); color: var(--bm-ink); border-color: var(--bm-gold); text-decoration: none; transform: translateY(-1px); }
