/* ============================================
   CONVENTION ONLINE — LANDING PAGE
   DA: Architectural Noir
   Dark-first · Warm Copper · Editorial
   ============================================ */

:root {
    --co-ivory: #f4f1ec;
    --co-ivory-deep: #e8e3db;
    --co-charcoal: #111113;
    --co-charcoal-soft: #1e1e21;
    --co-gold: #c4855c;
    --co-gold-light: #daa882;
    --co-gold-dark: #a66d48;
    --co-text: #2b2b2d;
    --co-text-muted: #7a7678;
    --co-border: #ddd8d0;
    --co-serif: 'Playfair Display', Georgia, serif;
    --co-sans: 'Outfit', 'DM Sans', sans-serif;
    --co-ease: cubic-bezier(0.25, 0.46, 0.45, 0.94);
    --co-ease-out: cubic-bezier(0.16, 1, 0.3, 1);
}

/* =========================================
   HERO
   ========================================= */
.co-hero {
    position: relative;
    min-height: calc(100vh - 68px);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: var(--co-charcoal);
}

/* Background image */
.co-hero__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
}
.co-hero__bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 40%;
    opacity: 0.18;
    filter: saturate(0) contrast(1.1);
    transform: scale(1.05);
    animation: co-bgZoom 30s ease-in-out infinite alternate;
}
@keyframes co-bgZoom {
    0%   { transform: scale(1.05); }
    100% { transform: scale(1.12); }
}

/* Vignette over image */
.co-hero__bg::after {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse 80% 70% at 50% 50%, transparent 20%, var(--co-charcoal) 85%),
        linear-gradient(to bottom, var(--co-charcoal) 0%, transparent 15%, transparent 80%, var(--co-charcoal) 100%);
    pointer-events: none;
}

/* Grain texture */
.co-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: url("data:image/svg+xml,%3Csvg width='200' height='200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.7' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
    pointer-events: none;
    z-index: 0;
}

/* Warm gradient mesh */
.co-hero__gradient {
    position: absolute;
    inset: 0;
    z-index: 0;
    background:
        radial-gradient(ellipse 50% 45% at 15% 20%, rgba(196,133,92,0.12) 0%, transparent 65%),
        radial-gradient(ellipse 45% 55% at 80% 75%, rgba(196,133,92,0.08) 0%, transparent 55%),
        radial-gradient(ellipse 70% 60% at 50% 50%, rgba(255,255,255,0.02) 0%, transparent 70%);
    pointer-events: none;
    animation: co-gradientShift 25s ease-in-out infinite alternate;
}

@keyframes co-gradientShift {
    0% { opacity: 1; transform: scale(1); }
    100% { opacity: 0.7; transform: scale(1.08); }
}

/* Dot grid */
.co-hero__grid {
    position: absolute;
    inset: 0;
    z-index: 0;
    background-image: radial-gradient(circle, rgba(255,255,255,0.15) 0.5px, transparent 0.5px);
    background-size: 48px 48px;
    opacity: 0.08;
    mask-image: radial-gradient(ellipse 60% 55% at 50% 45%, black 20%, transparent 70%);
    -webkit-mask-image: radial-gradient(ellipse 60% 55% at 50% 45%, black 20%, transparent 70%);
    pointer-events: none;
    animation: co-gridPulse 10s ease-in-out infinite alternate;
}

@keyframes co-gridPulse {
    0% { opacity: 0.05; }
    100% { opacity: 0.1; }
}

/* Corner marks */
.co-hero__corner {
    position: absolute;
    width: 52px;
    height: 52px;
    z-index: 1;
    pointer-events: none;
    opacity: 0;
    animation: co-cornerIn 1s 0.8s var(--co-ease-out) forwards;
}
.co-hero__corner::before,
.co-hero__corner::after { content: ''; position: absolute; background: var(--co-gold); }
.co-hero__corner--tl { top: 2rem; left: 2rem; }
.co-hero__corner--tl::before { top: 0; left: 0; width: 1px; height: 100%; }
.co-hero__corner--tl::after  { top: 0; left: 0; width: 100%; height: 1px; }
.co-hero__corner--tr { top: 2rem; right: 2rem; }
.co-hero__corner--tr::before { top: 0; right: 0; width: 1px; height: 100%; }
.co-hero__corner--tr::after  { top: 0; right: 0; width: 100%; height: 1px; }
.co-hero__corner--bl { bottom: 2rem; left: 2rem; }
.co-hero__corner--bl::before { bottom: 0; left: 0; width: 1px; height: 100%; }
.co-hero__corner--bl::after  { bottom: 0; left: 0; width: 100%; height: 1px; }
.co-hero__corner--br { bottom: 2rem; right: 2rem; }
.co-hero__corner--br::before { bottom: 0; right: 0; width: 1px; height: 100%; }
.co-hero__corner--br::after  { bottom: 0; right: 0; width: 100%; height: 1px; }

@keyframes co-cornerIn {
    from { opacity: 0; transform: scale(0.5); }
    to { opacity: 0.2; transform: scale(1); }
}

/* Orbs */
.co-hero__orb {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
    z-index: 0;
    filter: blur(100px);
}
.co-hero__orb--1 {
    width: 500px; height: 500px;
    background: rgba(196,133,92,0.15);
    top: -8%; right: -10%;
    animation: co-orbFloat1 22s ease-in-out infinite;
}
.co-hero__orb--2 {
    width: 350px; height: 350px;
    background: rgba(166,109,72,0.08);
    bottom: -8%; left: -12%;
    animation: co-orbFloat2 18s ease-in-out infinite;
}
.co-hero__orb--3 {
    width: 250px; height: 250px;
    background: rgba(218,168,130,0.06);
    top: 50%; left: 30%;
    animation: co-orbFloat3 20s ease-in-out infinite;
}

@keyframes co-orbFloat1 {
    0%, 100% { transform: translate(0, 0) scale(1); }
    25% { transform: translate(30px, -40px) scale(1.05); }
    50% { transform: translate(-20px, 20px) scale(0.95); }
    75% { transform: translate(15px, -15px) scale(1.02); }
}
@keyframes co-orbFloat2 {
    0%, 100% { transform: translate(0, 0) scale(1); }
    33% { transform: translate(25px, 20px) scale(1.08); }
    66% { transform: translate(-18px, -25px) scale(0.96); }
}
@keyframes co-orbFloat3 {
    0%, 100% { transform: translate(0, 0); }
    30% { transform: translate(-22px, 30px); }
    60% { transform: translate(25px, -20px); }
}

/* Rings */
.co-hero__ring {
    position: absolute;
    border-radius: 50%;
    border: 1px solid var(--co-gold);
    pointer-events: none;
    z-index: 0;
}
.co-hero__ring--1 {
    width: 550px; height: 550px;
    top: -15%; right: -12%;
    opacity: 0.06;
    animation: co-ringSpin 80s linear infinite, co-ringPulse 9s ease-in-out infinite alternate;
}
.co-hero__ring--2 {
    width: 400px; height: 400px;
    bottom: -10%; left: -8%;
    opacity: 0.04;
    animation: co-ringSpin 65s linear infinite reverse, co-ringPulse 7s ease-in-out 2s infinite alternate;
}

@keyframes co-ringSpin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
@keyframes co-ringPulse { 0% { opacity: 0.03; } 100% { opacity: 0.07; } }

/* Diagonal lines */
.co-hero__diag {
    position: absolute;
    z-index: 0;
    pointer-events: none;
    width: 1px;
    height: 200%;
    background: linear-gradient(to bottom, transparent 0%, rgba(196,133,92,0.2) 30%, rgba(196,133,92,0.2) 70%, transparent 100%);
    opacity: 0.15;
    transform-origin: center;
}
.co-hero__diag--1 { top: -50%; left: 20%; transform: rotate(25deg); }
.co-hero__diag--2 { top: -50%; right: 25%; transform: rotate(-18deg); }
.co-hero__diag--3 { top: -50%; left: 55%; transform: rotate(32deg); opacity: 0.08; }

/* Diamonds */
.co-hero__diamond {
    position: absolute;
    z-index: 1;
    pointer-events: none;
    border: 1px solid var(--co-gold);
    transform: rotate(45deg);
    background: rgba(196,133,92,0.05);
}
.co-hero__diamond--1 { width: 24px; height: 24px; top: 18%; left: 12%; animation: co-diamondFloat 13s ease-in-out infinite; }
.co-hero__diamond--2 { width: 18px; height: 18px; top: 70%; right: 16%; animation: co-diamondFloat 11s ease-in-out 2s infinite reverse; }
.co-hero__diamond--3 { width: 12px; height: 12px; bottom: 25%; left: 20%; animation: co-diamondFloat 15s ease-in-out 4s infinite; }
.co-hero__diamond--4 { width: 20px; height: 20px; top: 30%; right: 20%; animation: co-diamondFloat 10s ease-in-out 1s infinite reverse; }

@keyframes co-diamondFloat {
    0%, 100% { transform: rotate(45deg) translate(0, 0); opacity: 0.2; }
    50% { transform: rotate(45deg) translate(10px, -15px); opacity: 0.45; }
}

/* Horizontal accent */
.co-hero__hline {
    position: absolute;
    z-index: 0;
    pointer-events: none;
    top: 72%;
    left: 10%;
    right: 10%;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, var(--co-gold) 25%, var(--co-gold) 75%, transparent 100%);
    opacity: 0.08;
}

/* Side text */
.co-hero__sidetext {
    position: absolute;
    z-index: 1;
    font-family: var(--co-sans);
    font-size: 0.55rem;
    font-weight: 500;
    letter-spacing: 0.4em;
    text-transform: uppercase;
    color: var(--co-gold);
    opacity: 0;
    writing-mode: vertical-rl;
    pointer-events: none;
    animation: co-sideTextIn 1s 1.2s var(--co-ease) forwards;
}
.co-hero__sidetext--left { left: 2.5rem; top: 50%; transform: translateY(-50%) rotate(180deg); }
.co-hero__sidetext--right { right: 2.5rem; top: 50%; transform: translateY(-50%); }

@keyframes co-sideTextIn {
    from { opacity: 0; }
    to { opacity: 0.2; }
}

/* Content */
.co-hero__content {
    position: relative;
    z-index: 2;
    text-align: center;
    padding: 8rem 0 5rem;
}

.co-hero__overline {
    display: inline-flex;
    align-items: center;
    gap: 1rem;
    font-family: var(--co-sans);
    font-size: 0.65rem;
    font-weight: 600;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--co-gold);
    margin-bottom: 2.5rem;
    animation: co-fadeIn 1s 0.2s var(--co-ease) both;
}
.co-hero__overline::before,
.co-hero__overline::after { content: ''; width: 36px; height: 1px; background: var(--co-gold); opacity: 0.5; }

.co-hero__title {
    font-family: var(--co-serif);
    font-weight: 700;
    font-size: clamp(3rem, 7vw, 6rem);
    line-height: 1.05;
    color: #fff;
    letter-spacing: -0.02em;
    margin-bottom: 1.5rem;
    animation: co-fadeUp 1s 0.35s var(--co-ease-out) both;
}
.co-hero__title em { font-style: italic; color: var(--co-gold); font-weight: 500; }

.co-hero__subtitle {
    font-family: var(--co-sans);
    font-size: 1rem;
    font-weight: 300;
    color: rgba(255,255,255,0.45);
    max-width: 460px;
    margin: 0 auto 3.5rem;
    line-height: 1.7;
    animation: co-fadeIn 1s 0.5s var(--co-ease) both;
}

/* =========================================
   SEARCH BAR
   ========================================= */
.co-search {
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 4px;
    padding: 0.35rem;
    animation: co-fadeUp 1s 0.6s var(--co-ease-out) both;
    transition: border-color 0.4s, box-shadow 0.4s;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}
.co-search:focus-within {
    border-color: var(--co-gold-dark);
    box-shadow: 0 0 0 3px rgba(196,133,92,0.1), 0 16px 48px rgba(0,0,0,0.2);
}
.co-search__field { position: relative; flex: 1; }
.co-search__field input {
    width: 100%; background: transparent; border: none;
    color: #fff; font-size: 0.92rem;
    font-family: var(--co-sans); font-weight: 400;
    padding: 1rem 1rem 1rem 3rem; outline: none;
}
.co-search__field input::placeholder { color: rgba(255,255,255,0.3); }
.co-search__field .field-icon { position: absolute; left: 1rem; top: 50%; transform: translateY(-50%); color: var(--co-gold); font-size: 1rem; pointer-events: none; }
.co-search__divider { width: 1px; align-self: stretch; margin: 0.6rem 0; background: rgba(255,255,255,0.08); }
.co-search__btn {
    display: inline-flex; align-items: center; gap: 0.6rem;
    padding: 0.85rem 2.2rem; border: none; border-radius: 3px;
    background: var(--co-gold); color: var(--co-charcoal);
    font-family: var(--co-sans); font-weight: 600; font-size: 0.85rem;
    letter-spacing: 0.04em; cursor: pointer;
    transition: background 0.3s, transform 0.25s; white-space: nowrap;
}
.co-search__btn:hover { background: var(--co-gold-light); transform: translateY(-1px); }
.co-search__btn:active { transform: translateY(0); }
.co-search .alert { margin: 0.5rem; font-size: 0.85rem; border-radius: 3px; }

/* =========================================
   SCROLL INDICATOR
   ========================================= */
.co-scroll-hint {
    position: absolute; bottom: 2.5rem; left: 50%;
    transform: translateX(-50%); z-index: 3;
    display: flex; flex-direction: column; align-items: center; gap: 0.6rem;
    color: rgba(255,255,255,0.3); font-family: var(--co-sans);
    font-size: 0.55rem; font-weight: 500; letter-spacing: 0.25em;
    text-transform: uppercase; animation: co-fadeIn 1s 1s var(--co-ease) both;
}
.co-scroll-hint__line {
    width: 1px; height: 44px;
    background: linear-gradient(to bottom, var(--co-gold), transparent);
    animation: co-scrollLine 2.5s ease-in-out infinite;
}

/* =========================================
   STATS
   ========================================= */
.co-stats {
    position: relative;
    padding: 5rem 0;
    background: var(--co-ivory);
}
.co-stat { text-align: center; padding: 0 1.5rem; }
.co-stat__number {
    font-family: var(--co-serif);
    font-weight: 700;
    font-size: clamp(2.2rem, 3.5vw, 3.2rem);
    letter-spacing: -0.02em;
    color: var(--co-charcoal);
    line-height: 1;
    margin-bottom: 0.5rem;
}
.co-stat__label {
    font-family: var(--co-sans);
    font-size: 0.68rem;
    color: var(--co-gold-dark);
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}
.co-stat-col { position: relative; }
.co-stat-col + .co-stat-col::before {
    content: ''; position: absolute;
    left: 0; top: 15%; height: 70%; width: 1px;
    background: var(--co-border);
}

/* =========================================
   SECTIONS
   ========================================= */
.co-section { padding: 6rem 0; position: relative; }
.co-section__header { margin-bottom: 3.5rem; }
.co-section__label {
    display: inline-flex; align-items: center; gap: 0.75rem;
    font-family: var(--co-sans);
    font-size: 0.62rem; font-weight: 600;
    letter-spacing: 0.22em; text-transform: uppercase;
    color: var(--co-gold-dark); margin-bottom: 0.75rem;
}
.co-section__label::before { content: ''; display: block; width: 24px; height: 1px; background: var(--co-gold); }
.co-section__title {
    font-family: var(--co-serif);
    font-weight: 700;
    font-size: clamp(2rem, 4vw, 3rem);
    letter-spacing: -0.015em;
    line-height: 1.1;
    color: var(--co-charcoal);
}

.co-events { overflow: hidden; background: var(--co-ivory); }
.co-events .tiny-slider-inner { padding-bottom: 1rem; }

/* =========================================
   DESTINATION CARDS
   ========================================= */
.co-dest-card {
    position: relative; overflow: hidden;
    aspect-ratio: 3 / 4; cursor: pointer;
    transition: transform 0.5s var(--co-ease-out), box-shadow 0.5s var(--co-ease);
    border-radius: 3px;
}
.co-dest-card:hover { transform: translateY(-4px); box-shadow: 0 20px 50px rgba(17,17,19,0.2); }
.co-dest-card__img {
    position: absolute; inset: 0;
    width: 100%; height: 100%; object-fit: cover;
    transition: transform 0.8s var(--co-ease);
    filter: saturate(0.8) contrast(1.08);
}
.co-dest-card:hover .co-dest-card__img { transform: scale(1.06); }
.co-dest-card__overlay {
    position: absolute; inset: 0;
    background: linear-gradient(to top, rgba(17,17,19,0.75) 0%, rgba(17,17,19,0.2) 40%, transparent 100%);
    z-index: 1;
}
.co-dest-card__body { position: absolute; bottom: 0; left: 0; right: 0; padding: 1.5rem; z-index: 2; }
.co-dest-card__name {
    font-family: var(--co-serif);
    font-weight: 600; font-size: 1.25rem;
    color: #fff; margin: 0;
    display: flex; align-items: center; gap: 0.6rem;
}
.co-dest-card__name i {
    font-size: 0.6rem; opacity: 0;
    transform: translate(-4px, 4px);
    transition: opacity 0.4s, transform 0.4s var(--co-ease-out);
    color: var(--co-gold-light);
}
.co-dest-card:hover .co-dest-card__name i { opacity: 1; transform: translate(0, 0); }
.co-dest-card a.stretched-link { z-index: 3; }

/* =========================================
   THEME CARDS
   ========================================= */
.co-theme-card {
    position: relative; padding: 2.5rem 1.5rem 2rem;
    text-align: center;
    border: 1px solid var(--co-border);
    background: #fff;
    transition: transform 0.4s var(--co-ease-out), box-shadow 0.4s var(--co-ease), border-color 0.4s;
    overflow: hidden; cursor: pointer; border-radius: 3px;
}
.co-theme-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 36px rgba(17,17,19,0.1);
    border-color: var(--co-gold);
}
.co-theme-card__icon {
    width: 52px; height: 52px; border-radius: 50%;
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 1.2rem; color: var(--co-gold-dark);
    background: var(--co-ivory-deep);
    margin-bottom: 1.25rem;
    transition: transform 0.4s var(--co-ease-out), background 0.4s, color 0.4s;
    position: relative; z-index: 1;
    border: 1px solid var(--co-border);
}
.co-theme-card:hover .co-theme-card__icon {
    transform: scale(1.08);
    background: var(--co-charcoal);
    color: var(--co-gold-light);
    border-color: var(--co-charcoal);
}
.co-theme-card__label {
    font-family: var(--co-sans); font-weight: 500;
    font-size: 0.82rem; letter-spacing: 0.04em;
    color: var(--co-text); margin: 0; position: relative; z-index: 1;
}
.co-theme-card--cta { border-color: var(--co-gold); background: var(--co-ivory); }
.co-theme-card--cta .co-theme-card__icon { background: var(--co-charcoal); color: var(--co-gold-light); border-color: var(--co-charcoal); }
.co-theme-card--cta:hover { background: var(--co-charcoal); }
.co-theme-card--cta:hover .co-theme-card__label, .co-theme-card--cta:hover .co-theme-card__label a { color: var(--co-ivory) !important; }
.co-theme-card--cta:hover .co-theme-card__icon { background: var(--co-gold); color: var(--co-charcoal); border-color: var(--co-gold); }

/* =========================================
   SCROLL REVEAL
   ========================================= */
.co-reveal { opacity: 0; transform: translateY(24px); transition: opacity 0.8s var(--co-ease), transform 0.8s var(--co-ease); }
.co-reveal.is-visible { opacity: 1; transform: translateY(0); }
.co-reveal-delay-1 { transition-delay: 0.08s; }
.co-reveal-delay-2 { transition-delay: 0.16s; }
.co-reveal-delay-3 { transition-delay: 0.24s; }
.co-reveal-delay-4 { transition-delay: 0.32s; }
.co-reveal-delay-5 { transition-delay: 0.4s; }

@keyframes co-fadeUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
@keyframes co-fadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes co-scrollLine { 0% { transform: scaleY(0); transform-origin: top; } 50% { transform: scaleY(1); transform-origin: top; } 50.01% { transform-origin: bottom; } 100% { transform: scaleY(0); transform-origin: bottom; } }

/* =========================================
   AUTOCOMPLETE
   ========================================= */
.co-hero .suggestions-container { background: #1c1c1e !important; border: 1px solid rgba(255,255,255,0.08); border-top: none; border-radius: 0 0 4px 4px; overflow: hidden; box-shadow: 0 8px 24px rgba(0,0,0,0.3); }
.co-hero .suggestions-container .dropdown-menu { background: transparent; border: none; margin: 0; padding: 0.25rem 0; }
.co-hero .suggestions-container .dropdown-item { color: rgba(255,255,255,0.7); padding: 0.65rem 1.2rem; font-size: 0.88rem; font-family: var(--co-sans); transition: background 0.2s; }
.co-hero .suggestions-container .dropdown-item:hover { background: rgba(255,255,255,0.06); color: #fff; }
.co-hero #searchResults { background: #1c1c1e !important; border: 1px solid rgba(255,255,255,0.08) !important; border-top: none !important; box-shadow: 0 8px 24px rgba(0,0,0,0.3); }
.co-hero #searchResults .dropdown-item { color: rgba(255,255,255,0.7); font-family: var(--co-sans); }
.co-hero #searchResults .dropdown-item:hover { background: rgba(255,255,255,0.06); color: #fff; }

/* =========================================
   RESPONSIVE
   ========================================= */
@media (max-width: 991.98px) {
    .co-hero { min-height: auto; padding: 2rem 0; }
    .co-hero__content { padding: 7rem 0 3rem; }
    .co-hero__corner, .co-hero__sidetext, .co-hero__ring, .co-hero__diag, .co-hero__diamond, .co-hero__hline { display: none; }
    .co-hero__bg img { opacity: 0.1; }
    .co-hero__orb--1 { width: 250px; height: 250px; }
    .co-hero__orb--2 { width: 200px; height: 200px; }
    .co-hero__orb--3 { display: none; }
    .co-search { flex-direction: column !important; }
    .co-search__divider { width: 100%; height: 1px; margin: 0; }
    .co-search__btn { width: 100%; justify-content: center; padding: 1rem; }
    .co-scroll-hint { display: none; }
    .co-dest-card { aspect-ratio: 4 / 3; }
    .co-section { padding: 4rem 0; }
}
@media (max-width: 575.98px) {
    .co-hero__title { font-size: 2.5rem; }
    .co-hero__content { padding: 6rem 0 2rem; }
    .co-hero__overline::before, .co-hero__overline::after { width: 18px; }
    .co-section { padding: 3rem 0; }
    .co-section__header { margin-bottom: 2rem; }
    .co-dest-card { aspect-ratio: 1 / 1; }
    .co-theme-card { padding: 1.75rem 1rem 1.5rem; }
    .co-theme-card__icon { width: 44px; height: 44px; font-size: 1rem; }
    .co-stats { padding: 3rem 0; }
    .co-stat-col + .co-stat-col::before { display: none; }
}

/* =========================================
   DARK THEME
   ========================================= */
[data-bs-theme="dark"] .co-hero { background: #0a090c; }
[data-bs-theme="dark"] .co-hero__bg img { opacity: 0.12; }
[data-bs-theme="dark"] .co-stats { background: var(--co-charcoal); }
[data-bs-theme="dark"] .co-stat__number { color: #fff; }
[data-bs-theme="dark"] .co-stat__label { color: var(--co-gold-light); }
[data-bs-theme="dark"] .co-stat-col + .co-stat-col::before { background: rgba(255,255,255,0.06); }
[data-bs-theme="dark"] .co-section__title { color: #fff; }
[data-bs-theme="dark"] .co-events { background: #0e0d10; }
[data-bs-theme="dark"] .co-theme-card { background: rgba(255,255,255,0.03); border-color: rgba(255,255,255,0.06); }
[data-bs-theme="dark"] .co-theme-card:hover { border-color: var(--co-gold-dark); box-shadow: 0 12px 36px rgba(0,0,0,0.3); }
[data-bs-theme="dark"] .co-theme-card__icon { background: rgba(255,255,255,0.05); border-color: rgba(255,255,255,0.07); color: var(--co-gold-light); }
[data-bs-theme="dark"] .co-theme-card:hover .co-theme-card__icon { background: var(--co-gold-dark); color: var(--co-charcoal); border-color: var(--co-gold-dark); }
[data-bs-theme="dark"] .co-theme-card__label, [data-bs-theme="dark"] .co-theme-card__label a { color: rgba(255,255,255,0.85); }
[data-bs-theme="dark"] .co-theme-card--cta { border-color: rgba(196,133,92,0.3); background: rgba(255,255,255,0.02); }
[data-bs-theme="dark"] .co-theme-card--cta:hover { background: var(--co-gold-dark); }
[data-bs-theme="dark"] .co-theme-card--cta:hover .co-theme-card__label a { color: var(--co-charcoal) !important; }
[data-bs-theme="dark"] .co-dest-card { box-shadow: 0 4px 16px rgba(0,0,0,0.35); }

/* Light mode overrides — hero stays dark always */
[data-bs-theme="light"] .co-hero { background: var(--co-charcoal); }
[data-bs-theme="light"] .co-hero__title { color: #fff; }
