/* Project-specific styling overlays. Tailwind is loaded via CDN in base.html. */
:root { --lh-accent: #6F0C19; }
html, body { -webkit-font-smoothing: antialiased; }
/* No page-level horizontal panning: wide blocks (tables, tab strips)
   scroll inside their own overflow-x-auto containers. */
html, body { overflow-x: hidden; }
@supports (overflow: clip) {
    html, body { overflow-x: clip; }
}
[x-cloak] { display: none !important; }

/* Stack table rows into labeled cards on narrow screens. */
@media (max-width: 767px) {
    table.stack-table thead {
        display: none;
    }
    table.stack-table,
    table.stack-table tbody,
    table.stack-table tr,
    table.stack-table td {
        display: block;
        width: 100%;
    }
    table.stack-table tr {
        padding: 0.875rem 1rem;
        border-bottom: 1px solid #f5f5f4;
    }
    table.stack-table tbody tr:last-child {
        border-bottom: 0;
    }
    table.stack-table td {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        gap: 0.75rem;
        padding: 0.15rem 0;
    }
    table.stack-table td::before {
        content: attr(data-label);
        color: #78716c;
        font-size: 0.75rem;
        line-height: 1.25rem;
        flex: 0 0 38%;
        max-width: 7.5rem;
    }
    table.stack-table td:only-child {
        display: block;
    }
    table.stack-table td:only-child::before,
    table.stack-table td:not([data-label])::before {
        content: none;
        display: none;
    }
}

.lh-scroll-snap {
    scrollbar-width: none;
    -ms-overflow-style: none;
}
.lh-scroll-snap::-webkit-scrollbar { display: none; }

.lh-map-pulse {
    transform-origin: center;
    transform-box: fill-box;
    animation: lh-pulse 2.4s ease-out infinite;
}
@keyframes lh-pulse {
    0% { transform: scale(1); opacity: 0.55; }
    100% { transform: scale(2.6); opacity: 0; }
}

/* ---------- Brand: Wix Madefor Display ---------- */
@font-face {
    font-family: "Wix Madefor Display";
    src: url("../fonts/wixmadefor-display-variablefont_wght.cab86c06fcb5.ttf") format("truetype-variations");
    font-weight: 400 800;
    font-style: normal;
    font-display: swap;
}

body {
    font-family: "Wix Madefor Display", system-ui, -apple-system, "Segoe UI", sans-serif;
}

:root {
    --lh-brand: #6F0C19;
    --lh-paper: #EFEEEB;
    --lh-ink: #313131;
}

/* ---------- Home: hero ---------- */
.lh-hero-badge {
    width: clamp(190px, 17vw, 310px);
    height: clamp(190px, 17vw, 310px);
    border: 1.5px solid var(--lh-brand);
    border-radius: 9999px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: var(--lh-brand);
    font-weight: 700;
    text-transform: uppercase;
    line-height: 1.35;
    letter-spacing: 0.04em;
}

/* ---------- Home: steps arrows between cards ---------- */
@media (min-width: 1280px) {
    .lh-step { position: relative; }
}
