.hero,
.hero *,
.clients,
.clients *,
.why,
.why *,
.portfolio,
.portfolio *,
.services,
.services *,
.venues,
.venues *,
.process,
.process *,
.howfind,
.howfind *,
.testimonials,
.testimonials *,
.cta-banner,
.cta-banner *,
.shows,
.shows *,
.faq,
.faq *,
.hform,
.hform *,
.port-modal,
.port-modal * {
    box-sizing: border-box !important
}

:root {
    --red: #EA3535;
    --red-dark: #c42020;
    --black: #0a0a0a;
    --gray-dark: #1e1e1e;
    --gray-mid: #555;
    --gray-light: #888;
    --gray-bg: #f6f6f6;
    --white: #ffffff;
    --accent: #fff5f5;
    --border: #e4e4e4
}

html {
    scroll-behavior: smooth !important
}

body {
    font-family: 'DM Sans', sans-serif !important;
    color: var(--black) !important;
    background: var(--white) !important;
    overflow-x: hidden !important;
    line-height: 1.65 !important
}

::-webkit-scrollbar {
    width: 5px !important
}

::-webkit-scrollbar-track {
    background: #f1f1f1 !important
}

::-webkit-scrollbar-thumb {
    background: var(--red) !important;
    border-radius: 3px !important
}

h1,
h2,
h3,
h4 {
    font-family: 'Cormorant Garamond', serif !important;
    font-weight: 700 !important;
    line-height: 1.15 !important
}

.wrap {
    max-width: 1260px !important;
    margin: 0 auto !important;
    padding: 0 1.8rem !important
}

.sp {
    padding: 64px 0 !important
}

.sp-sm {
    padding: 44px 0 !important
}

.tag {
    display: inline-block !important;
    background: var(--accent) !important;
    color: var(--red) !important;
    font-size: .7rem !important;
    font-weight: 700 !important;
    letter-spacing: 2.5px !important;
    text-transform: uppercase !important;
    padding: .32rem 1rem !important;
    border-radius: 50px !important;
    border: 1px solid rgba(234, 53, 53, .2) !important;
    margin-bottom: .85rem !important
}

.sec-title {
    font-size: clamp(1.65rem, 3vw, 2.7rem) !important;
    color: var(--black) !important;
    margin-bottom: .7rem !important
}

.sec-sub {
    font-size: .85rem !important;
    color: var(--gray-mid) !important;
    line-height: 1.58 !important;
    max-width: 1140px !important
}

.center-hd {
    text-align: center !important;
    margin-bottom: 2.8rem !important
}

.center-hd .sec-sub {
    margin: 0 auto !important
}

.btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: .4rem !important;
    padding: .72rem 1.8rem !important;
    border-radius: 4px !important;
    font-family: 'DM Sans', sans-serif !important;
    font-weight: 600 !important;
    font-size: .88rem !important;
    text-decoration: none !important;
    transition: all .28s ease !important;
    cursor: pointer !important;
    border: 2px solid transparent !important;
    white-space: nowrap !important
}

.btn-red {
    background: var(--red) !important;
    color: var(--white) !important;
    border-color: var(--red) !important
}

.btn-red:hover {
    background: var(--red-dark) !important;
    border-color: var(--red-dark) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 20px rgba(234, 53, 53, .26) !important
}

.btn-ol {
    background: transparent !important;
    color: var(--red) !important;
    border-color: var(--red) !important
}

.btn-ol:hover {
    background: var(--red) !important;
    color: var(--white) !important;
    transform: translateY(-2px) !important
}

.btn-wh {
    background: var(--white) !important;
    color: var(--black) !important;
    border-color: var(--white) !important
}

.btn-wh:hover {
    background: transparent !important;
    color: var(--white) !important
}

.btn-wh-ol {
    background: transparent !important;
    color: var(--white) !important;
    border-color: rgba(255, 255, 255, .5) !important
}

.btn-wh-ol:hover {
    background: var(--white) !important;
    color: var(--black) !important
}

/* HERO */

.hero {
    position: relative !important;
    min-height: calc(100vh - 115px) !important;
    display: grid !important;
    grid-template-columns: 55% 45% !important;
    overflow: hidden !important;
    margin-top: 0 !important;
    padding-top: 0 !important
}

.hero-slider {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 1 !important;
    overflow: hidden !important
}

.hero-slide {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    opacity: 0 !important;
    transition: opacity 1.2s ease !important;
    z-index: 1 !important
}

.hero-slide.active {
    opacity: 1 !important;
    z-index: 2 !important
}

.hero-slider-overlay {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 3 !important;
    pointer-events: none !important;
    background: linear-gradient(90deg, rgba(255, 255, 255, .93) 0%, rgba(255, 255, 255, .82) 36%, rgba(255, 255, 255, .06) 58%, rgba(0, 0, 0, .02) 100%) !important
}

.hero-dots {
    position: absolute !important;
    bottom: 2rem !important;
    left: 3.8rem !important;
    display: flex !important;
    gap: .5rem !important;
    z-index: 10 !important
}

.hero-dot {
    width: 8px !important;
    height: 8px !important;
    border-radius: 50% !important;
    background: rgba(234, 53, 53, .3) !important;
    border: none !important;
    cursor: pointer !important;
    transition: all .3s !important;
    padding: 0 !important
}

.hero-dot.active {
    background: var(--red) !important;
    width: 24px !important;
    border-radius: 4px !important
}

.hero-left {
    padding: 3.2rem 3.2rem 3.2rem 3.8rem !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    position: relative !important;
    z-index: 5 !important;
    background: transparent !important
}

.hero-eyebrow {
    display: flex !important;
    align-items: center !important;
    gap: .7rem !important;
    font-size: .72rem !important;
    font-weight: 700 !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
    color: var(--red) !important;
    margin-bottom: 1rem !important
}

.hero-eyebrow::before {
    content: '' !important;
    width: 26px !important;
    height: 2px !important;
    background: var(--red) !important;
    display: block !important
}

.hero-left h1 {
    font-size: clamp(1.9rem, 3.6vw, 3.2rem) !important;
    color: var(--black) !important;
    margin-bottom: 1.1rem !important
}

.hero-left h1 span {
    color: var(--red) !important
}

.hero-left .para {
    font-size: 1.1rem !important;
    color: var(--red) !important;
    margin-bottom: 1.8rem !important;
    max-width: 490px !important;
    font-weight: 900;
    line-height: 1.8 !important
}

.hero-btns {
    display: flex !important;
    gap: .8rem !important;
    flex-wrap: wrap !important
}

.hero-stats {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 1rem !important;
    margin-top: 2.5rem !important;
    padding-top: 1.8rem !important;
    border-top: 1px solid var(--border) !important
}

.stat-num {
    font-family: 'Cormorant Garamond', serif !important;
    font-size: 2rem !important;
    font-weight: 700 !important;
    color: var(--red) !important;
    display: block !important;
    line-height: 1 !important;
    margin-bottom: .2rem !important
}

.stat-lbl {
    font-size: .75rem !important;
    color: var(--gray-mid) !important;
    font-weight: 500 !important
}

.hero-right {
    background: var(--red) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 2.8rem 2.2rem !important;
    position: relative !important;
    z-index: 5 !important;
    overflow: hidden !important
}

.hero-right::before {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    background: repeating-linear-gradient(-45deg, transparent, transparent 50px, rgba(255, 255, 255, .03) 50px, rgba(255, 255, 255, .03) 100px) !important;
    pointer-events: none !important
}

.hero-right h3 {
    font-family: 'Cormorant Garamond', serif !important;
    font-size: 1.65rem !important;
    color: var(--white) !important;
    text-align: center !important;
    margin-bottom: .25rem !important;
    position: relative !important;
    z-index: 1 !important
}

.hero-right>p {
    color: rgba(255, 255, 255, .8) !important;
    text-align: center !important;
    margin-bottom: 1.4rem !important;
    font-size: .86rem !important;
    position: relative !important;
    z-index: 1 !important
}

/* FORM */

.hform {
    background: var(--white) !important;
    border-radius: 10px !important;
    padding: 1.1rem 1.2rem !important;
    width: 100% !important;
    max-width: 410px !important;
    box-shadow: 0 20px 55px rgba(0, 0, 0, .2) !important;
    position: relative !important;
    z-index: 1 !important
}

.fg {
    margin-bottom: .5rem !important
}

.fg label {
    display: block !important;
    font-size: .78rem !important;
    font-weight: 600 !important;
    color: var(--gray-dark) !important;
    margin-bottom: .28rem !important
}

.fg input,
.fg textarea {
    width: 100% !important;
    padding: .7rem .9rem !important;
    border: 1.5px solid var(--border) !important;
    border-radius: 6px !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: .88rem !important;
    transition: border-color .3s, box-shadow .3s !important;
    color: var(--black) !important;
    background: var(--white) !important
}

.fg input:focus,
.fg textarea:focus {
    outline: none !important;
    border-color: var(--red) !important;
    box-shadow: 0 0 0 3px rgba(234, 53, 53, .1) !important
}

.fg input.error {
    border-color: #dc3545 !important
}

.fg input.success {
    border-color: #28a745 !important
}

.err-msg {
    color: #dc3545 !important;
    font-size: .74rem !important;
    margin-top: .22rem !important;
    display: none !important
}

.err-msg.show {
    display: block !important
}

.iti {
    width: 100% !important;
    display: block !important
}

.iti--separate-dial-code .iti__selected-flag {
    background-color: #f6f6f6 !important;
    border-right: 1px solid var(--border) !important;
    border-radius: 5px 0 0 5px !important;
    padding: 0 8px 0 10px !important
}

.iti--separate-dial-code input[type=tel],
.iti--separate-dial-code input[type=text] {
    padding-left: 90px !important;
    width: 100% !important
}

.iti__flag-container {
    position: absolute !important;
    top: 0 !important;
    bottom: 0 !important;
    left: 0 !important
}

.iti__selected-dial-code {
    font-size: .82rem !important;
    color: var(--gray-dark) !important
}

.btn-sub {
    width: 100% !important;
    padding: .85rem !important;
    background: var(--red) !important;
    color: var(--white) !important;
    border: none !important;
    border-radius: 6px !important;
    font-family: 'DM Sans', sans-serif !important;
    font-weight: 700 !important;
    font-size: .92rem !important;
    cursor: pointer !important;
    transition: all .28s !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: .5rem !important;
    margin-top: .4rem !important
}

.btn-sub:hover:not(:disabled) {
    background: var(--red-dark) !important;
    transform: translateY(-2px) !important
}

.btn-sub:disabled {
    opacity: .7 !important;
    cursor: not-allowed !important
}

.spinner {
    display: none !important;
    width: 15px !important;
    height: 15px !important;
    border: 2px solid rgba(255, 255, 255, .3) !important;
    border-top-color: #fff !important;
    border-radius: 50% !important;
    animation: spin .8s linear infinite !important
}

@keyframes spin {
    to {
        transform: rotate(360deg)
    }
}

.alert {
    padding: .7rem 1rem !important;
    border-radius: 6px !important;
    margin-bottom: .8rem !important;
    font-size: .83rem !important;
    display: none !important
}

.alert.show {
    display: block !important
}

.alert-success {
    background: #d4edda !important;
    color: #155724 !important;
    border: 1px solid #c3e6cb !important
}

.alert-error {
    background: #f8d7da !important;
    color: #721c24 !important;
    border: 1px solid #f5c6cb !important
}

.rc-note {
    font-size: .68rem !important;
    color: var(--gray-light) !important;
    text-align: center !important;
    margin-top: .65rem !important;
    line-height: 1.4 !important
}

.rc-note a {
    color: var(--red) !important;
    text-decoration: none !important
}

.fg-row {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: .5rem !important;
    margin-bottom: .5rem !important
}

.fg-row .fg {
    margin-bottom: 0 !important
}

.file-upload-trigger {
    display: flex !important;
    align-items: center !important;
    gap: .5rem !important;
    width: 100% !important;
    padding: .7rem .9rem !important;
    border: 1.5px dashed var(--border) !important;
    border-radius: 6px !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: .82rem !important;
    color: #aaa !important;
    cursor: pointer !important;
    background: #fafafa !important;
    transition: border-color .25s, color .25s, background .25s !important;
    line-height: 1.4 !important
}

.file-upload-trigger:hover {
    border-color: var(--red) !important;
    color: var(--red) !important;
    background: var(--accent) !important
}

.file-upload-trigger.has-file {
    border-color: #28a745 !important;
    border-style: solid !important;
    color: #28a745 !important;
    background: #f0fff4 !important
}

.file-upload-trigger svg {
    flex-shrink: 0 !important;
    color: inherit !important
}

/* CLIENTS */

.clients {
    padding: 32px 0 !important;
    background: var(--white) !important;
    border-top: 1px solid var(--border) !important;
    border-bottom: 1px solid var(--border) !important;
    overflow: hidden !important
}

.clients-lbl {
    text-align: center !important;
    font-size: .68rem !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
    color: var(--gray-light) !important;
    margin-bottom: 1.4rem !important;
    font-weight: 600 !important
}

.ticker-row {
    position: relative !important;
    height: 60px !important;
    overflow: hidden !important;
    -webkit-mask-image: linear-gradient(to right, transparent 0%, black 8%, black 92%, transparent 100%) !important;
    mask-image: linear-gradient(to right, transparent 0%, black 8%, black 92%, transparent 100%) !important
}

.ticker-track {
    display: flex !important;
    position: absolute !important;
    gap: 3rem !important;
    animation: tFwd 35s linear infinite !important
}

.ticker-track:hover {
    animation-play-state: paused !important
}

@keyframes tFwd {
    0% {
        transform: translateX(0)
    }

    100% {
        transform: translateX(calc(-50%))
    }
}

.logo-chip {
    flex-shrink: 0 !important;
    width: 155px !important;
    height: 60px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important
}

.logo-chip img {
    max-width: 125px !important;
    max-height: 48px !important;
    width: 125px !important;
    height: 48px !important;
    object-fit: contain !important;
    opacity: .55 !important;
    transition: opacity .3s, transform .3s !important
}

.logo-chip:hover img {
    opacity: 1 !important;
    transform: scale(1.08) !important
}

/* WHY */

.why {
    background: var(--white) !important
}

.why-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 3rem !important;
    align-items: start !important
}

.why-left-col {
    display: flex !important;
    flex-direction: column !important;
    gap: 1.2rem !important
}

.why-img-panel {
    position: relative !important;
    height: 300px !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    box-shadow: 0 6px 24px rgba(0, 0, 0, .1) !important
}

.why-img-panel img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    transition: transform .6s ease !important
}

.why-img-panel:hover img {
    transform: scale(1.04) !important
}

.why-col-heading {
    font-family: 'Cormorant Garamond', serif !important;
    font-size: clamp(1.4rem, 2.2vw, 1.9rem) !important;
    font-weight: 700 !important;
    color: var(--black) !important;
    line-height: 1.2 !important;
    margin: 0 !important
}

.why-col-para {
    font-size: .9rem !important;
    color: var(--gray-mid) !important;
    line-height: 1.8 !important;
    margin: 0 !important
}

.why-right-col {
    display: flex !important;
    flex-direction: column !important
}

.why-cards {
    display: flex !important;
    flex-direction: column !important;
    gap: .75rem !important
}

.why-card {
    background: var(--gray-bg) !important;
    border: 1.5px solid var(--border) !important;
    border-radius: 7px !important;
    padding: 1rem 1.3rem !important;
    display: grid !important;
    grid-template-columns: 3px 1fr !important;
    transition: all .28s !important
}

.why-card:hover {
    border-color: var(--red) !important;
    box-shadow: 0 5px 18px rgba(234, 53, 53, .07) !important;
    transform: translateY(-2px) !important;
    background: var(--accent) !important
}

.why-card-bar {
    background: var(--border) !important;
    border-radius: 3px !important;
    transition: background .28s !important
}

.why-card:hover .why-card-bar {
    background: var(--red) !important
}

.why-card-body {
    padding-left: 1rem !important
}

.why-card h4 {
    font-family: 'DM Sans', sans-serif !important;
    font-size: .88rem !important;
    font-weight: 700 !important;
    color: var(--black) !important;
    margin-bottom: .2rem !important
}

.why-card p {
    font-size: .8rem !important;
    color: var(--gray-mid) !important;
    line-height: 1.6 !important
}

/* PORTFOLIO */

.portfolio {
    background: var(--gray-bg) !important
}

.port-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    grid-auto-rows: 320px !important;
    gap: 1.1rem !important
}

.port-item {
    border-radius: 7px !important;
    overflow: hidden !important;
    cursor: pointer !important;
    position: relative !important;
    transition: transform .3s, box-shadow .3s !important
}

.port-item:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 14px 38px rgba(0, 0, 0, .22) !important
}

.port-item img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    transition: transform .55s ease !important
}

.port-item:hover img {
    transform: scale(1.06) !important
}

.port-overlay {
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(to top, rgba(0, 0, 0, .78) 0%, rgba(0, 0, 0, .25) 45%, transparent 100%) !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    padding: 1.2rem 1.1rem !important
}

.port-client {
    font-family: 'DM Sans', sans-serif !important;
    font-size: .95rem !important;
    font-weight: 700 !important;
    color: var(--white) !important;
    line-height: 1.25 !important;
    text-transform: uppercase !important;
    letter-spacing: .5px !important
}

.port-event {
    font-size: .8rem !important;
    font-weight: 500 !important;
    color: rgba(255, 255, 255, .88) !important;
    margin-top: .15rem !important;
    text-transform: uppercase !important;
    letter-spacing: .3px !important
}

.port-size {
    font-size: .78rem !important;
    font-weight: 600 !important;
    color: rgba(255, 255, 255, .75) !important;
    margin-top: .08rem !important;
    text-transform: uppercase !important;
    letter-spacing: .3px !important
}

.port-cta {
    text-align: center !important;
    margin-top: 2.2rem !important
}

/* SERVICES */

.services {
    background: var(--white) !important
}

.svc-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 1.3rem !important
}

.svc-card {
    border: 1.5px solid var(--border) !important;
    border-radius: 7px !important;
    padding: 1.8rem 1.6rem !important;
    transition: all .3s !important;
    position: relative !important;
    overflow: hidden !important
}

.svc-card::after {
    content: '' !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 0 !important;
    height: 3px !important;
    background: var(--red) !important;
    transition: width .35s ease !important
}

.svc-card:hover::after {
    width: 100% !important
}

.svc-card:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .08) !important;
    border-color: rgba(234, 53, 53, .22) !important
}

.svc-num {
    font-family: 'Cormorant Garamond', serif !important;
    font-size: 2.8rem !important;
    font-weight: 700 !important;
    color: rgba(234, 53, 53, .1) !important;
    line-height: 1 !important;
    margin-bottom: .7rem !important
}

.svc-card h3 {
    font-family: 'DM Sans', sans-serif !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    margin-bottom: .55rem !important;
    color: var(--black) !important
}

.svc-card p {
    font-size: .86rem !important;
    color: var(--gray-mid) !important;
    line-height: 1.72 !important
}

/* VENUES */

.venues {
    background: var(--black) !important;
    overflow: hidden !important
}

.venues .sec-title {
    color: var(--white) !important
}

.venues .tag {
    background: rgba(234, 53, 53, .18) !important;
    border-color: rgba(234, 53, 53, .35) !important
}

.venues .sec-sub {
    color: rgba(255, 255, 255, .6) !important
}

.venue-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 0 !important;
    height: 520px !important;
    border-radius: 14px !important;
    overflow: hidden !important
}

.venue-card {
    position: relative !important;
    overflow: hidden !important;
    cursor: default !important;
    background: #1a1a2e !important
}

.venue-card-bg {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    transition: transform .55s ease !important;
    z-index: 0 !important
}

.venue-card:hover .venue-card-bg {
    transform: scale(1.08) !important
}

.venue-card::before {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(to top, rgba(0, 0, 0, .92) 0%, rgba(0, 0, 0, .5) 55%, rgba(0, 0, 0, .18) 100%) !important;
    transition: background .45s ease !important;
    z-index: 1 !important
}

.venue-card:hover::before {
    background: linear-gradient(to top, rgba(180, 20, 20, .88) 0%, rgba(0, 0, 0, .72) 55%, rgba(0, 0, 0, .25) 100%) !important
}

.venue-card:not(:last-child) {
    border-right: 1px solid rgba(255, 255, 255, .08) !important
}

.venue-inner {
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    padding: 2rem 1.8rem !important;
    z-index: 2 !important;
    transition: transform .38s ease !important
}

.venue-card:hover .venue-inner {
    transform: translateY(-6px) !important
}

.venue-num {
    font-family: 'Cormorant Garamond', serif !important;
    font-size: 3.5rem !important;
    font-weight: 700 !important;
    color: rgba(255, 255, 255, .08) !important;
    line-height: 1 !important;
    display: block !important;
    margin-bottom: .4rem !important;
    transition: color .35s !important
}

.venue-card:hover .venue-num {
    color: rgba(255, 255, 255, .15) !important
}

.venue-lbl {
    display: inline-block !important;
    font-size: .62rem !important;
    font-weight: 700 !important;
    letter-spacing: 2.5px !important;
    text-transform: uppercase !important;
    color: var(--red) !important;
    background: rgba(234, 53, 53, .15) !important;
    border: 1px solid rgba(234, 53, 53, .5) !important;
    border-radius: 3px !important;
    padding: .18rem .6rem !important;
    margin-bottom: .65rem !important;
    transition: background .35s, border-color .35s, color .35s !important
}

.venue-card:hover .venue-lbl {
    background: rgba(255, 255, 255, .18) !important;
    border-color: rgba(255, 255, 255, .55) !important;
    color: var(--white) !important
}

.venue-card h3 {
    font-family: 'DM Sans', sans-serif !important;
    font-size: 1.08rem !important;
    font-weight: 700 !important;
    color: var(--white) !important;
    margin-bottom: 0 !important;
    line-height: 1.25 !important
}

.venue-desc {
    font-size: .82rem !important;
    color: rgba(255, 255, 255, .72) !important;
    line-height: 1.7 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    opacity: 0 !important;
    transition: max-height .5s ease, opacity .4s ease !important
}

.venue-card:hover .venue-desc {
    max-height: 220px !important;
    opacity: 1 !important;
    margin-top: .65rem !important
}

.venue-top-badge {
    position: absolute !important;
    top: 1.4rem !important;
    right: 1.4rem !important;
    z-index: 3 !important;
    width: 38px !important;
    height: 38px !important;
    border: 1.5px solid rgba(255, 255, 255, .22) !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all .35s !important
}

.venue-card:hover .venue-top-badge {
    background: var(--red) !important;
    border-color: var(--red) !important
}

.venue-top-badge svg {
    width: 15px !important;
    height: 15px !important;
    fill: rgba(255, 255, 255, .55) !important;
    transition: fill .35s !important
}

.venue-card:hover .venue-top-badge svg {
    fill: var(--white) !important
}

/* PROCESS */

.process {
    background: var(--gray-bg) !important
}

.proc-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 1.3rem !important
}

.proc-card {
    background: var(--white) !important;
    border: 1.5px solid var(--border) !important;
    border-radius: 7px !important;
    padding: 1.6rem 1.4rem !important;
    transition: all .28s !important
}

.proc-card:hover {
    border-color: var(--red) !important;
    box-shadow: 0 7px 24px rgba(234, 53, 53, .08) !important;
    transform: translateY(-4px) !important
}

.proc-num {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 38px !important;
    height: 38px !important;
    background: var(--red) !important;
    color: var(--white) !important;
    border-radius: 50% !important;
    font-family: 'Cormorant Garamond', serif !important;
    font-size: 1.15rem !important;
    font-weight: 700 !important;
    margin-bottom: 1.1rem !important
}

.proc-card h3 {
    font-family: 'DM Sans', sans-serif !important;
    font-size: .92rem !important;
    font-weight: 700 !important;
    color: var(--black) !important;
    margin-bottom: .45rem !important
}

.proc-card p {
    font-size: .84rem !important;
    color: var(--gray-mid) !important;
    line-height: 1.7 !important
}

.proc-cta {
    text-align: center !important;
    margin-top: 2.2rem !important
}

/* HOW TO FIND */

.howfind {
    background: var(--white) !important
}

.hf-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 3rem !important;
    align-items: start !important
}

.hf-left-col {
    display: flex !important;
    flex-direction: column !important;
    gap: 1.2rem !important
}

.hf-img-panel {
    position: relative !important;
    height: 400px !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    box-shadow: 0 6px 24px rgba(0, 0, 0, .1) !important
}

.hf-img-panel img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    transition: transform .6s ease !important
}

.hf-img-panel:hover img {
    transform: scale(1.04) !important
}

.hf-img-overlay {
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(to bottom, transparent 50%, rgba(0, 0, 0, .3) 100%) !important
}

.hf-col-para {
    font-size: .9rem !important;
    color: var(--gray-mid) !important;
    line-height: 1.8 !important;
    margin: 0 !important
}

.hf-right-col {
    display: flex !important;
    flex-direction: column !important
}

.crit-list {
    display: flex !important;
    flex-direction: column !important;
    gap: .75rem !important
}

.crit-item {
    display: grid !important;
    grid-template-columns: 32px 1fr !important;
    gap: .9rem !important;
    align-items: start !important;
    padding: 1rem 1.2rem !important;
    border: 1.5px solid var(--border) !important;
    border-radius: 7px !important;
    transition: all .28s !important
}

.crit-item:hover {
    border-color: var(--red) !important;
    box-shadow: 0 4px 16px rgba(234, 53, 53, .07) !important;
    background: var(--accent) !important
}

.crit-n {
    font-family: 'Cormorant Garamond', serif !important;
    font-size: 1.7rem !important;
    font-weight: 700 !important;
    color: var(--red) !important;
    line-height: 1 !important;
    text-align: center !important
}

.crit-item h4 {
    font-family: 'DM Sans', sans-serif !important;
    font-size: .87rem !important;
    font-weight: 700 !important;
    margin-bottom: .18rem !important;
    color: var(--black) !important
}

.crit-item p {
    font-size: .81rem !important;
    color: var(--gray-mid) !important;
    line-height: 1.62 !important
}

/* TESTIMONIALS */

.testimonials {
    background: var(--gray-bg) !important
}

.testi-header {
    margin-bottom: 3rem !important
}

.testi-header-left h2 {
    font-size: clamp(1.65rem, 3vw, 2.4rem) !important;
    margin-bottom: .85rem !important
}

.testi-header-left>p {
    color: var(--gray-mid) !important;
    line-height: 1.8 !important;
    font-size: .95rem !important;
    margin-bottom: 1.3rem !important
}

.testi-cards-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 1.3rem !important
}

.testi-card {
    background: var(--white) !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, .07) !important;
    border: 1.5px solid var(--border) !important;
    transition: all .35s ease !important;
    display: flex !important;
    flex-direction: column !important
}

.testi-card:hover {
    transform: translateY(-6px) !important;
    box-shadow: 0 14px 40px rgba(234, 53, 53, .12) !important;
    border-color: rgba(234, 53, 53, .25) !important
}

.testi-card-img {
    position: relative !important;
    height: 200px !important;
    overflow: hidden !important;
    background: linear-gradient(135deg, #f5f5f5, #e8e8e8) !important
}

.testi-card-img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    transition: transform .5s ease !important
}

.testi-card:hover .testi-card-img img {
    transform: scale(1.06) !important
}

.testi-card-img-badge {
    position: absolute !important;
    top: 1rem !important;
    right: 1rem !important;
    background: var(--white) !important;
    border-radius: 50px !important;
    padding: .3rem .75rem !important;
    display: flex !important;
    gap: 2px !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, .15) !important
}

.testi-card-img-badge span {
    color: var(--red) !important;
    font-size: .72rem !important
}

.testi-card-body {
    padding: 1.4rem 1.5rem 1.6rem !important;
    display: flex !important;
    flex-direction: column !important;
    flex: 1 !important;
    position: relative !important
}

.testi-card-body::before {
    content: '\201C' !important;
    position: absolute !important;
    top: .6rem !important;
    right: 1.3rem !important;
    font-family: 'Cormorant Garamond', serif !important;
    font-size: 4rem !important;
    color: rgba(234, 53, 53, .1) !important;
    line-height: 1 !important;
    font-weight: 700 !important
}

.testi-card-quote {
    font-size: .88rem !important;
    color: var(--gray-mid) !important;
    line-height: 1.78 !important;
    font-style: italic !important;
    flex: 1 !important;
    margin-bottom: 1.2rem !important
}

.testi-card-meta {
    display: flex !important;
    align-items: center !important;
    gap: .85rem !important;
    padding-top: 1rem !important;
    border-top: 1px solid var(--border) !important
}

.testi-card-av {
    width: 40px !important;
    height: 40px !important;
    border-radius: 50% !important;
    background: var(--accent) !important;
    border: 2px solid var(--red) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-weight: 700 !important;
    font-size: .78rem !important;
    color: var(--red) !important;
    flex-shrink: 0 !important
}

.testi-card-name {
    font-weight: 700 !important;
    font-size: .88rem !important;
    color: var(--black) !important;
    line-height: 1.2 !important
}

.testi-card-role {
    font-size: .73rem !important;
    color: var(--gray-light) !important;
    margin-top: .05rem !important
}

.testi-cta {
    text-align: center !important;
    margin-top: 2.5rem !important
}

/* CTA BANNER */

.cta-banner {
    background: var(--red) !important;
    padding: 56px 1.8rem !important;
    text-align: center !important;
    position: relative !important;
    overflow: hidden !important
}

.cta-banner::before {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    background: repeating-linear-gradient(-45deg, transparent, transparent 50px, rgba(255, 255, 255, .025) 50px, rgba(255, 255, 255, .025) 100px) !important;
    pointer-events: none !important
}

.cta-banner h2 {
    font-size: clamp(1.55rem, 3vw, 2.6rem) !important;
    color: var(--white) !important;
    margin-bottom: .7rem !important;
    position: relative !important
}

.cta-banner p {
    color: rgba(255, 255, 255, .85) !important;
    font-size: .97rem !important;
    margin-bottom: 1.8rem !important;
    position: relative !important
}

.cta-acts {
    display: flex !important;
    gap: .85rem !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    position: relative !important
}

/* SHOWS */

.shows {
    background: var(--white) !important;
    overflow: hidden !important
}

.shows-intro {
    text-align: center !important;
    max-width: 660px !important;
    margin: 0 auto 2.2rem !important
}

.shows-track-wrap {
    overflow: hidden !important
}

.shows-track {
    display: flex !important;
    gap: 1.1rem !important;
    animation: showSlide 28s linear infinite !important
}

.shows-track:hover {
    animation-play-state: paused !important
}

@keyframes showSlide {
    0% {
        transform: translateX(0)
    }

    100% {
        transform: translateX(calc(-205px * 8 - 1.1rem * 8))
    }
}

.show-chip {
    flex-shrink: 0 !important;
    width: 200px !important;
    background: var(--gray-bg) !important;
    border: 1.5px solid var(--border) !important;
    border-radius: 7px !important;
    padding: 1.1rem 1.2rem !important;
    transition: all .28s !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important
}

.show-chip:hover {
    border-color: var(--red) !important;
    background: var(--accent) !important
}

.show-chip-lbl {
    font-size: .62rem !important;
    font-weight: 700 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    color: var(--red) !important;
    margin-bottom: .35rem !important
}

.show-chip h4 {
    font-family: 'DM Sans', sans-serif !important;
    font-size: .86rem !important;
    font-weight: 700 !important;
    color: var(--black) !important;
    margin-bottom: .18rem !important
}

.show-chip p {
    font-size: .76rem !important;
    color: var(--gray-mid) !important;
    flex: 1 !important
}

.show-chip .btn-chip {
    align-self: flex-start !important;
    margin-top: auto !important;
    padding-top: .8rem !important
}

.btn-chip {
    font-size: .72rem !important;
    padding: .35rem .85rem !important;
    width: fit-content !important;
    margin-top: .8rem !important;
    display: inline-flex !important;
    border-radius: 4px !important
}

/* FAQ */

.faq {
    background: var(--gray-bg) !important
}

.faq-wrap {
    display: grid !important;
    grid-template-columns: .72fr 1.28fr !important;
    gap: 4rem !important;
    align-items: start !important
}

.faq-left h2 {
    font-size: clamp(1.65rem, 3vw, 2.4rem) !important;
    margin-bottom: .85rem !important
}

.faq-left>p {
    color: var(--gray-mid) !important;
    line-height: 1.8 !important;
    margin-bottom: 1.3rem !important;
    font-size: .95rem !important
}

.faq-list {
    display: flex !important;
    flex-direction: column !important;
    gap: .75rem !important
}

.faq-item {
    background: var(--white) !important;
    border: 1.5px solid var(--border) !important;
    border-radius: 7px !important;
    overflow: hidden !important;
    transition: border-color .28s !important
}

.faq-item.open {
    border-color: var(--red) !important
}

.faq-q {
    padding: 1.1rem 1.3rem !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    cursor: pointer !important;
    gap: 1rem !important
}

.faq-q span:first-child {
    font-weight: 600 !important;
    font-size: .88rem !important;
    color: var(--black) !important
}

.faq-icon {
    font-size: 1.25rem !important;
    color: var(--red) !important;
    transition: transform .3s !important;
    flex-shrink: 0 !important;
    line-height: 1 !important
}

.faq-item.open .faq-icon {
    transform: rotate(45deg) !important
}

.faq-a {
    max-height: 0 !important;
    overflow: hidden !important;
    transition: max-height .4s ease, padding .3s !important
}

.faq-item.open .faq-a {
    max-height: 300px !important;
    padding: 0 1.3rem 1.1rem !important
}

.faq-a p {
    font-size: .86rem !important;
    color: var(--gray-mid) !important;
    line-height: 1.75 !important
}

/* SCROLL REVEAL */

.rv {
    opacity: 0 !important;
    transform: translateY(28px) !important;
    transition: opacity .62s ease, transform .62s ease !important
}

.rv.in {
    opacity: 1 !important;
    transform: translateY(0) !important
}

.rvl {
    opacity: 0 !important;
    transform: translateX(-28px) !important;
    transition: opacity .62s ease, transform .62s ease !important
}

.rvl.in {
    opacity: 1 !important;
    transform: translateX(0) !important
}

.rvr {
    opacity: 0 !important;
    transform: translateX(28px) !important;
    transition: opacity .62s ease, transform .62s ease !important
}

.rvr.in {
    opacity: 1 !important;
    transform: translateX(0) !important
}

/* LIGHTBOX */

.port-modal {
    display: none !important;
    position: fixed !important;
    inset: 0 !important;
    background: rgba(0, 0, 0, .95) !important;
    z-index: 99999 !important;
    align-items: center !important;
    justify-content: center !important
}

.port-modal.active {
    display: flex !important
}

.modal-wrap {
    position: relative !important;
    max-width: 90vw !important;
    max-height: 90vh !important
}

.modal-img {
    width: 100% !important;
    max-height: 88vh !important;
    object-fit: contain !important;
    border-radius: 8px !important
}

.modal-x {
    position: fixed !important;
    top: 1.2rem !important;
    right: 1.2rem !important;
    background: #fff !important;
    border: none !important;
    border-radius: 50% !important;
    width: 42px !important;
    height: 42px !important;
    font-size: 1.35rem !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: transform .3s !important;
    z-index: 100000 !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, .3) !important
}

.modal-x:hover {
    transform: rotate(90deg) !important;
    background: #f6f6f6 !important
}

.modal-btn {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    background: rgba(255, 255, 255, .9) !important;
    border: none !important;
    border-radius: 50% !important;
    width: 46px !important;
    height: 46px !important;
    font-size: 1.5rem !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all .3s !important
}

.modal-btn:hover {
    background: #fff !important;
    transform: translateY(-50%) scale(1.1) !important
}

.modal-prev {
    left: -58px !important
}

.modal-next {
    right: -58px !important
}

/* FOOTER STRIP */

.foot-strip {
    background: #0a0a0a !important;
    padding: 48px 1.8rem !important
}

.foot-strip-inner {
    max-width: 1260px !important;
    margin: 0 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 2rem !important;
    flex-wrap: wrap !important
}

.foot-strip-inner h3 {
    font-family: 'Cormorant Garamond', serif !important;
    font-size: 1.55rem !important;
    color: #fff !important;
    margin-bottom: .28rem !important;
    font-weight: 700 !important
}

.foot-strip-inner p {
    color: rgba(255, 255, 255, .6) !important;
    font-size: .88rem !important
}

/* RESPONSIVE 1100px */

@media(max-width:1100px) {

    .hero {
        grid-template-columns: 1fr !important;
        min-height: auto !important
    }

    .hero-slider-overlay {
        background: linear-gradient(180deg, rgba(255, 255, 255, .94) 0%, rgba(255, 255, 255, .88) 45%, rgba(255, 255, 255, .12) 75%, rgba(0, 0, 0, .04) 100%) !important
    }

    .hero-left {
        padding: 3rem 2.5rem !important;
        min-height: auto !important
    }

    .hero-right {
        padding: 2.8rem 2rem !important;
        min-height: auto !important
    }

    .hero-dots {
        left: 2.5rem !important
    }

    .why-grid {
        grid-template-columns: 1fr !important;
        gap: 2rem !important
    }

    .why-img-panel {
        height: 260px !important
    }

    .hf-grid {
        grid-template-columns: 1fr !important;
        gap: 2rem !important
    }

    .hf-img-panel {
        height: 260px !important
    }

    .testi-cards-grid {
        grid-template-columns: repeat(2, 1fr) !important
    }

    .faq-wrap {
        grid-template-columns: 1fr !important;
        gap: 2.5rem !important
    }

    .venue-grid {
        grid-template-columns: 1fr !important;
        height: auto !important;
        display: flex !important;
        flex-direction: column !important;
        border-radius: 10px !important
    }

    .venue-card {
        width: 100% !important;
        min-height: auto !important;
        height: auto !important;
        flex-shrink: 0 !important;
        display: flex !important;
        flex-direction: column !important
    }

    .venue-card .venue-card-bg {
        position: relative !important;
        width: 100% !important;
        height: 180px !important;
        display: block !important;
        flex-shrink: 0 !important
    }

    .venue-card::before {
        height: 180px !important;
        background: linear-gradient(to bottom, rgba(0, 0, 0, .18) 0%, rgba(0, 0, 0, .55) 100%) !important
    }

    .venue-card .venue-inner {
        background: #111 !important;
        position: relative !important;
        z-index: 2 !important;
        bottom: auto !important;
        left: auto !important;
        right: auto !important;
        padding: 1.8rem !important;
        transform: none !important
    }

    .venue-desc {
        max-height: none !important;
        opacity: 1 !important;
        margin-top: .5rem !important;
        overflow: visible !important
    }

    .venue-card:not(:last-child) {
        border-right: none !important;
        border-bottom: 1px solid rgba(255, 255, 255, .08) !important
    }

    .proc-grid {
        grid-template-columns: repeat(2, 1fr) !important
    }

    .port-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        grid-auto-rows: 280px !important
    }

}

/* RESPONSIVE 768px */

@media(max-width:768px) {

    .hero {
        grid-template-columns: 1fr !important;
        min-height: auto !important
    }

    .hero-slider-overlay {
        background: linear-gradient(180deg, rgba(255, 255, 255, .95) 0%, rgba(255, 255, 255, .90) 50%, rgba(255, 255, 255, .14) 80%, rgba(0, 0, 0, .04) 100%) !important
    }

    .hero-left {
        padding: 2.5rem 1.5rem !important;
        min-height: auto !important
    }

    .hero-right {
        padding: 2.5rem 1.5rem !important;
        min-height: auto !important
    }

    .hform {
        padding: 1.5rem 1.3rem !important;
        max-width: 100% !important
    }

    .hero-stats {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: .75rem !important;
        margin-top: 1.8rem !important;
        padding-top: 1.4rem !important
    }

    .hero-dots {
        left: 1.5rem !important;
        bottom: 1.2rem !important
    }

    .sp {
        padding: 48px 0 !important
    }

    .sp-sm {
        padding: 34px 0 !important
    }

    .svc-grid {
        grid-template-columns: 1fr !important
    }

    .proc-grid {
        grid-template-columns: 1fr !important
    }

    .port-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        grid-auto-rows: 220px !important
    }

    .testi-cards-grid {
        grid-template-columns: 1fr !important
    }

    .testi-card-img {
        height: 160px !important
    }

    .venue-grid {
        grid-template-columns: 1fr !important;
        height: auto !important;
        display: flex !important;
        flex-direction: column !important
    }

    .venue-card {
        width: 100% !important;
        min-height: auto !important;
        height: auto !important;
        flex-shrink: 0 !important;
        display: flex !important;
        flex-direction: column !important
    }

    .venue-card .venue-card-bg {
        position: relative !important;
        width: 100% !important;
        height: 160px !important;
        display: block !important;
        flex-shrink: 0 !important
    }

    .venue-card::before {
        height: 160px !important;
        background: linear-gradient(to bottom, rgba(0, 0, 0, .18) 0%, rgba(0, 0, 0, .55) 100%) !important
    }

    .venue-card .venue-inner {
        position: relative !important;
        bottom: auto !important;
        left: auto !important;
        right: auto !important;
        padding: 1.4rem !important;
        background: #111 !important;
        z-index: 2 !important;
        transform: none !important
    }

    .venue-desc {
        max-height: none !important;
        opacity: 1 !important;
        margin-top: .5rem !important;
        overflow: visible !important
    }

    .venue-num {
        font-size: 2.2rem !important
    }

    .venue-card:not(:last-child) {
        border-right: none !important;
        border-bottom: 1px solid rgba(255, 255, 255, .08) !important
    }

    .cta-banner {
        padding: 40px 1.2rem !important
    }

    .cta-acts {
        flex-direction: column !important;
        align-items: center !important
    }

    .cta-acts .btn {
        width: 100% !important;
        max-width: 280px !important
    }

    .faq-wrap {
        grid-template-columns: 1fr !important;
        gap: 2rem !important
    }

    .foot-strip {
        padding: 36px 1.2rem !important
    }

    .foot-strip-inner {
        flex-direction: column !important;
        text-align: center !important;
        gap: 1.2rem !important
    }

}

/* RESPONSIVE 480px */

@media(max-width:480px) {

    .wrap {
        padding: 0 1rem !important
    }

    .hero {
        grid-template-columns: 1fr !important;
        min-height: auto !important
    }

    .hero-slider-overlay {
        background: linear-gradient(180deg, rgba(255, 255, 255, .96) 0%, rgba(255, 255, 255, .92) 55%, rgba(255, 255, 255, .18) 82%, rgba(0, 0, 0, .04) 100%) !important
    }

    .hero-left {
        padding: 2rem 1rem !important;
        min-height: auto !important
    }

    .hero-left h1 {
        font-size: 1.75rem !important
    }

    .hero-left .para {
        font-size: .9rem !important;
        margin-bottom: 1.4rem !important
    }

    .hero-btns {
        flex-direction: column !important;
        gap: .65rem !important
    }

    .hero-btns .btn {
        width: 100% !important;
        justify-content: center !important
    }

    .hero-stats {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: .65rem !important
    }

    .hero-right {
        padding: 1.8rem 1rem !important;
        min-height: auto !important
    }

    .hform {
        padding: 1.3rem 1rem !important
    }

    .hero-dots {
        left: 1rem !important
    }

    .fg-row {
        grid-template-columns: 1fr !important
    }

    .port-grid {
        grid-template-columns: 1fr !important;
        grid-auto-rows: auto !important
    }

    .port-item {
        height: 240px !important
    }

    .crit-item {
        grid-template-columns: 26px 1fr !important;
        gap: .7rem !important;
        padding: .85rem 1rem !important
    }

    .proc-grid {
        grid-template-columns: 1fr !important
    }

    .svc-grid {
        grid-template-columns: 1fr !important
    }

    .testi-cards-grid {
        grid-template-columns: 1fr !important
    }

    .testi-card-img {
        height: 140px !important
    }

    .faq-wrap {
        grid-template-columns: 1fr !important;
        gap: 1.8rem !important
    }

    .why-img-panel {
        height: 220px !important
    }

    .hf-img-panel {
        height: 220px !important
    }

    .venue-grid {
        grid-template-columns: 1fr !important;
        height: auto !important;
        display: flex !important;
        flex-direction: column !important
    }

    .venue-card {
        width: 100% !important;
        min-height: auto !important;
        height: auto !important;
        display: flex !important;
        flex-direction: column !important
    }

    .venue-card .venue-card-bg {
        position: relative !important;
        width: 100% !important;
        height: 140px !important;
        display: block !important;
        flex-shrink: 0 !important
    }

    .venue-card::before {
        height: 140px !important;
        background: linear-gradient(to bottom, rgba(0, 0, 0, .18) 0%, rgba(0, 0, 0, .55) 100%) !important
    }

    .venue-card .venue-inner {
        position: relative !important;
        bottom: auto !important;
        left: auto !important;
        right: auto !important;
        padding: 1rem 1.2rem !important;
        background: #111 !important;
        z-index: 2 !important;
        transform: none !important
    }

    .venue-num {
        font-size: 2rem !important
    }

    .venue-desc {
        max-height: none !important;
        opacity: 1 !important;
        font-size: .78rem !important;
        overflow: visible !important;
        margin-top: .4rem !important
    }

    .venue-card:not(:last-child) {
        border-right: none !important;
        border-bottom: 1px solid rgba(255, 255, 255, .08) !important
    }

    .cta-acts .btn {
        max-width: 100% !important
    }

    .center-hd {
        margin-bottom: 2rem !important
    }

    .foot-strip {
        padding: 28px 1rem !important
    }

    .foot-strip-inner h3 {
        font-size: 1.3rem !important
    }

    .modal-prev {
        left: .3rem !important
    }

    .modal-next {
        right: .3rem !important
    }

    .modal-wrap {
        max-width: 96vw !important
    }

}
