/* ===========================================================================
   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: #FBF3E7;
    --bm-paper: #FFFFFF;
    --bm-ink:   #221A15;
    --bm-orange:#CB5A33;
    --bm-wine:  #7C1E2A;
    --bm-gold:  #E8A33D;
}

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; }
/* Buttons that lead with a brand mark: align the glyph to the label. The
   svg inherits the button's colour via fill="currentColor". */
.home-v2 .bm-btn--icon { display: inline-flex; align-items: center; gap: 9px; }
.home-v2 .bm-btn--icon svg { flex: none; }

/* ── Hero (full-bleed photo) ──────────────────────────────────────────────── */
.home-v2 .bm-hero {
    /* Corner-circle geometry. The seal sits in the top-right corner on an equal
       inset from both edges; the date badge hangs directly beneath it, centred
       on the seal's axis. Only --seal-size changes on short screens — every
       other number below is derived, so the pair can never drift apart. */
    --seal-inset: 40px;
    --seal-size: 300px;
    --badge-size: 168px;
    --badge-gap: 44px;
    --badge-shift: 28px;
    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;
}
html[lang="ru"] .home-v2 .bm-title,
html[lang="ka"] .home-v2 .bm-title {
    font-size: clamp(2.6rem, 7.2vw, 5.8rem);
    max-width: 500px;
}
.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);
    pointer-events: none;
}
/* Hero caption naming the performers in the photo */
.home-v2 .bm-hero-credit { position: absolute; left: 0; right: 0; bottom: 5%; z-index: 3; pointer-events: none; }
.home-v2 .bm-hero-credit .container { display: flex; flex-direction: column; align-items: flex-end; text-align: right; width: 100%; max-width: 100%; padding-right: 5%; padding-left: 5%; }
.home-v2 .bm-hero-credit-name {
    font-family: 'Anton', sans-serif; text-transform: uppercase; line-height: .9;
    font-size: clamp(2.6rem, 14vw, 13rem); letter-spacing: .005em; white-space: nowrap;
    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: .08em; font-size: .78rem; margin-top: 10px;
    color: var(--bm-cream); background: rgba(124, 30, 42, 0.88);
    padding: 5px 12px; border-radius: 6px; display: inline-block;
    border: 1px solid rgba(255, 255, 255, 0.15); text-shadow: none;
}
.home-v2 .bm-hero-credit-btn { margin-top: 14px; pointer-events: auto; }
@media (max-width: 760px) {
    .home-v2 .bm-hero {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        min-height: auto;
        padding: 90px 0 40px;
    }
    .home-v2 .bm-hero-credit {
        position: relative;
        left: auto;
        right: auto;
        bottom: auto;
        margin-top: 40px;
        width: 100%;
    }
    .home-v2 .bm-hero-credit .container {
        align-items: flex-start;
        text-align: left;
        padding-left: 0;
        padding-right: 0;
    }
    .home-v2 .bm-hero-credit-name {
        font-size: clamp(2.2rem, 10vw, 4.5rem);
        white-space: normal;
    }
}

/* Logo seal: top-right corner, equal inset from the top and right edges. */
.home-v2 .bm-sticker--b {
    top: var(--seal-inset);
    right: var(--seal-inset);
    bottom: auto;
    left: auto;
    width: var(--seal-size);
    height: var(--seal-size);
    background: transparent;
    border: none;
    box-shadow: none;
    padding: 0;
    transform: rotate(-5deg);
}
/* Date badge: hangs under the seal, on the seal's axis and then nudged
   --badge-shift to the right of it. Padding, type and border are scaled up
   from the base .bm-sticker to suit the larger circle. */
.home-v2 .bm-sticker--a {
    top: calc(var(--seal-inset) + var(--seal-size) + var(--badge-gap));
    right: calc(var(--seal-inset) + (var(--seal-size) - var(--badge-size)) / 2 - var(--badge-shift));
    bottom: auto;
    left: auto;
    width: var(--badge-size);
    height: var(--badge-size);
    padding: 14px;
    font-size: 1.35rem;
    border-width: 4px;
    box-shadow: 6px 6px 0 rgba(0, 0, 0, .25);
    background: var(--bm-orange);
    color: #fff;
    transform: rotate(12deg);
}
/* Shorter screens: the full-size seal runs into the "Trio Mandili" caption.
   The badge follows on its own, because its offsets are derived from this. */
@media (max-height: 920px) {
    .home-v2 .bm-hero { --seal-size: 240px; }
}
@media (max-width: 760px) { .home-v2 .bm-sticker { display: none; } }

/* ── Hero focal entrance — "poster stamp" ─────────────────────────────────
   The hero is the one moment on this site that earns authored motion: the
   headline sets like bold poster type, then the two circular badges stamp
   themselves onto the page last, each settling into its printed rotation.
   Pure CSS, fires once on load. Elements carry no static opacity:0 — only
   the keyframe's 0% does — so a browser that can't run @keyframes (or has
   scripting/CSS partially fail) still renders the hero fully visible. ───── */
@media (prefers-reduced-motion: no-preference) {
    @keyframes bm-rise {
        from { opacity: 0; transform: translateY(22px); }
        to   { opacity: 1; transform: translateY(0); }
    }
    @keyframes bm-stamp-a {
        0%   { opacity: 0; transform: scale(.4) rotate(-32deg); }
        60%  { opacity: 1; transform: scale(1.14) rotate(18deg); }
        100% { opacity: 1; transform: scale(1) rotate(12deg); }
    }
    @keyframes bm-stamp-b {
        0%   { opacity: 0; transform: scale(.4) rotate(24deg); }
        60%  { opacity: 1; transform: scale(1.14) rotate(-12deg); }
        100% { opacity: 1; transform: scale(1) rotate(-5deg); }
    }

    .home-v2 .bm-eyebrow { animation: bm-rise .5s cubic-bezier(.16,1,.3,1) both; }
    .home-v2 .bm-title span { display: block; animation: bm-rise .6s cubic-bezier(.16,1,.3,1) both; }
    .home-v2 .bm-title span:nth-child(1) { animation-delay: .07s; }
    .home-v2 .bm-title span:nth-child(2) { animation-delay: .15s; }
    .home-v2 .bm-title span:nth-child(3) { animation-delay: .23s; }
    .home-v2 .bm-hero-meta { animation: bm-rise .55s cubic-bezier(.16,1,.3,1) .4s both; }
    .home-v2 .bm-hero-actions { animation: bm-rise .55s cubic-bezier(.16,1,.3,1) .48s both; }
    .home-v2 .bm-hero-credit-name { animation: bm-rise .6s cubic-bezier(.16,1,.3,1) .3s both; }
    .home-v2 .bm-hero-credit-meta { animation: bm-rise .5s cubic-bezier(.16,1,.3,1) .42s both; }
    .home-v2 .bm-hero-credit-btn { animation: bm-rise .5s cubic-bezier(.16,1,.3,1) .5s both; }
    .home-v2 .bm-sticker--b { animation: bm-stamp-b .55s cubic-bezier(.16,1,.3,1) .68s both; }
    .home-v2 .bm-sticker--a { animation: bm-stamp-a .55s cubic-bezier(.16,1,.3,1) .8s both; }
}

/* ── 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: #4a3f37; 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-price--text {
    width: auto;
    height: auto;
    padding: 6px 14px;
    border-radius: 100px;
    font-size: 0.85rem;
    letter-spacing: .04em;
    text-transform: uppercase;
    white-space: nowrap;
}
.home-v2 .bm-food h3 { font-family: 'Oswald', 'Lato', sans-serif; font-weight: 700; text-transform: uppercase; font-size: 1.6rem; margin: 18px 0 10px; color: var(--bm-ink); line-height: 1.1; letter-spacing: 0.04em; }
.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; }

/* ── Nino Singing Videos ─────────────────────────────────────────────────── */
.home-v2 .bm-nino-videos {
    background: var(--bm-wine);
    padding: 0 0 68px;
}
.home-v2 .bm-nino-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
}
.home-v2 .bm-video-card {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    background: #000;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35);
    border: 3px solid rgba(251, 243, 231, 0.15);
}
.home-v2 .bm-video-card video {
    width: 100%;
    height: auto;
    max-height: 480px;
    display: block;
    object-fit: cover;
}
@media (max-width: 760px) {
    .home-v2 .bm-nino-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
}

/* ── 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); white-space: nowrap; }
.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); } }

/* Countdown tick — a small acknowledgment when a digit actually changes,
   not a continuous loop. JS toggles .cd-tick once per real value change. */
@media (prefers-reduced-motion: no-preference) {
    @keyframes cd-pulse {
        0%   { transform: scale(1); color: var(--bm-gold); }
        40%  { transform: scale(1.16); color: #fff; }
        100% { transform: scale(1); color: var(--bm-gold); }
    }
    .home-v2 .cd-num.cd-tick { animation: cd-pulse .5s cubic-bezier(.16,1,.3,1); }
}

/* ── 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); }
