/* =========================================================
   CHUNARA CUSTOM WIDGETS — scoped CSS
   All rules prefixed .cw- to avoid conflicts.
   ========================================================= */

.cw-marquee, .cw-partners-carousel, .cw-partners-grid, .cw-brands-grid,
.cw-news-grid, .cw-timeline, .cw-brand-detail, .cw-locator-preview,
.cw-grid-wrapper {
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
    color: #1c1b1b;
    box-sizing: border-box;
}
.cw-marquee *, .cw-partners-carousel *, .cw-partners-grid *, .cw-brands-grid *,
.cw-news-grid *, .cw-timeline *, .cw-brand-detail *, .cw-locator-preview *,
.cw-grid-wrapper * { box-sizing: border-box; }

.cw-eyebrow {
    display: inline-block;
    font-size: 12px; font-weight: 600;
    text-transform: uppercase; letter-spacing: 0.15em;
    color: #B01621; margin-bottom: 12px;
}

/* Buttons shared across widgets */
.cw-btn {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 14px 28px; font-size: 12px; font-weight: 600;
    text-transform: uppercase; letter-spacing: 0.1em;
    text-decoration: none; border: 2px solid transparent;
    cursor: pointer; transition: all 200ms ease;
}
.cw-btn--primary { background: #B01621; color: #FFF !important; border-color: #B01621; }
.cw-btn--primary:hover { background: #7A0F17; border-color: #7A0F17; }
.cw-btn--primary-inverted { background: #FFF; color: #B01621 !important; border-color: #FFF; }
.cw-btn--primary-inverted:hover { background: transparent; color: #FFF !important; border-color: #FFF; }
.cw-btn--ghost-light { background: transparent; color: #FFF !important; border-color: #FFF; }
.cw-btn--ghost-light:hover { background: #FFF; color: #1c1b1b !important; }

/* =========================================================
   1. MARQUEE — image-only, truly edge-to-edge full width
   Uses 100vw + negative margin to escape any parent container
   ========================================================= */
.cw-marquee {
    background: #F6F3F2;
    overflow: hidden;
    padding: 40px 0;
    border-top: 1px solid #E3BEBB;
    border-bottom: 1px solid #E3BEBB;
    position: relative;
    /* Break out of any parent width constraint — TRUE full-width */
    width: 100vw !important;
    max-width: 100vw !important;
    left: 50%;
    right: 50%;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
    box-sizing: border-box;
}
.cw-marquee::before, .cw-marquee::after {
    content: ''; position: absolute; top: 0; bottom: 0; width: 140px;
    z-index: 2; pointer-events: none;
}
.cw-marquee::before { left: 0; background: linear-gradient(to right, #F6F3F2, transparent); }
.cw-marquee::after  { right: 0; background: linear-gradient(to left, #F6F3F2, transparent); }
.cw-marquee__track {
    display: flex; align-items: center; gap: 48px;
    white-space: nowrap; width: max-content;
    animation: cw-marquee-scroll var(--cw-marquee-duration, 45s) linear infinite;
    padding: 0 24px;
}
.cw-marquee--right .cw-marquee__track { animation-direction: reverse; }
.cw-marquee:hover .cw-marquee__track { animation-play-state: paused; }
.cw-marquee__item {
    display: block;
    flex-shrink: 0;
    text-decoration: none;
    transition: transform 200ms ease, opacity 200ms ease;
    width: 160px;
    height: 120px;
    overflow: hidden;
    border: 1px solid #E3BEBB;
    background: #FFF;
}
.cw-marquee__item:hover {
    opacity: 0.85;
    transform: scale(1.03);
}
.cw-marquee__item img {
    width: 100%; height: 100%; object-fit: cover;
    display: block;
}
/* Logo tiles render the mark contained (not cropped) with padding on white,
   which is the correct treatment for brand logos of varying aspect ratio. */
.cw-marquee__item--logo img {
    object-fit: contain;
    padding: 14px;
    background: #FFF;
}
.cw-marquee__fallback {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%; height: 100%;
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 18px; font-weight: 700;
    color: #1c1b1b;
    text-align: center;
    padding: 8px;
    line-height: 1.2;
}
@keyframes cw-marquee-scroll {
    from { transform: translateX(0); }
    to   { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
    .cw-marquee__track { animation: none; }
}
@media (max-width: 640px) {
    .cw-marquee__item { width: 120px; height: 90px; }
    .cw-marquee__track { gap: 24px; }
    .cw-marquee { padding: 24px 0; }
    .cw-marquee::before, .cw-marquee::after { width: 60px; }
}

/* =========================================================
   2. PARTNERS CAROUSEL & 3. PARTNERS GRID (shared card)
   ========================================================= */
.cw-partners-carousel {
    padding: 0;
    position: relative;
}

/* Fallback: if Splide fails to init, render slides as a horizontal grid */
.cw-partners-carousel:not(.is-initialized) .splide__list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    list-style: none;
    padding: 0; margin: 0;
}
.cw-partners-carousel:not(.is-initialized) .splide__slide { width: 100% !important; }
@media (max-width: 1024px) {
    .cw-partners-carousel:not(.is-initialized) .splide__list { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
    .cw-partners-carousel:not(.is-initialized) .splide__list { grid-template-columns: 1fr; }
}

/* ============================================================
   ARROWS BELOW THE CAROUSEL (not overlapping the cards)
   Override Splide's default absolute positioning and stack them
   in a centered row underneath the slides.
   ============================================================ */
.cw-partners-carousel .splide__arrows {
    position: relative !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 16px !important;
    margin-top: 40px !important;
    width: 100% !important;
}
.cw-partners-carousel .splide__arrow {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
    width: 48px !important;
    height: 48px !important;
    background: #B01621 !important;
    border-radius: 0 !important;
    opacity: 1 !important;
    transition: background 200ms;
}
.cw-partners-carousel .splide__arrow svg {
    fill: #FFF !important;
    width: 18px; height: 18px;
    transform: none !important;
}
.cw-partners-carousel .splide__arrow--prev svg { transform: scaleX(-1) !important; }
.cw-partners-carousel .splide__arrow:hover:not(:disabled) { background: #7A0F17 !important; }
.cw-partners-carousel .splide__arrow:disabled {
    background: #d3d3d3 !important;
    opacity: 0.6 !important;
    cursor: not-allowed;
}
@media (max-width: 640px) {
    .cw-partners-carousel .splide__arrow { width: 40px !important; height: 40px !important; }
}

/* PARTNER CARD — rectangular avatar */
.cw-partner-card {
    background: #FFF;
    border: 1px solid #E3BEBB;
    text-align: left;
    height: 100%;
    display: flex; flex-direction: column;
    transition: border-color 200ms, transform 200ms, box-shadow 200ms;
    overflow: hidden;
}
.cw-partner-card:hover {
    border-color: #B01621;
    transform: translateY(-4px);
    box-shadow: 0 20px 40px -20px rgba(176,22,33,0.25);
}
.cw-partner-card__avatar {
    width: 100%;
    aspect-ratio: 4 / 3;
    border-radius: 0;
    display: flex; align-items: center; justify-content: center;
    overflow: hidden;
    color: #FFF;
    font-family: 'Playfair Display', serif;
    font-size: 64px; font-weight: 700;
    letter-spacing: -2px;
    background: #B01621;
    position: relative;
}
.cw-partner-card__avatar img {
    width: 100%; height: 100%; object-fit: cover;
    display: block;
}
.cw-partner-card__name {
    font-family: 'Playfair Display', serif;
    font-size: 22px; font-weight: 600;
    margin: 20px 24px 6px; line-height: 1.3; color: #1c1b1b;
}
.cw-partner-card__llc {
    font-size: 11px; font-weight: 600;
    text-transform: uppercase; letter-spacing: 0.1em;
    color: #B01621; margin: 0 24px 12px;
}
.cw-partner-card__role {
    font-size: 13px; color: #5b403e;
    margin: 0 24px 12px; line-height: 1.5;
}
.cw-partner-card__bio {
    font-size: 13px; color: #666;
    margin: 0 24px 16px; line-height: 1.6;
    flex: 1;
}
.cw-partner-card__joined {
    font-size: 11px; font-weight: 600;
    text-transform: uppercase; letter-spacing: 0.1em;
    color: #8f706d; margin: 12px 24px 20px;
    padding-top: 12px; border-top: 1px solid #E3BEBB;
}

/* =========================================================
   FILTER TABS (shared by partners/brands grid)
   ========================================================= */
.cw-filter-tabs {
    display: flex; flex-wrap: wrap; gap: 8px;
    margin-bottom: 32px; padding-bottom: 20px;
    border-bottom: 1px solid #E3BEBB;
}
.cw-filter-tab {
    background: transparent; border: 1px solid #E3BEBB;
    padding: 10px 20px; font-size: 12px; font-weight: 600;
    text-transform: uppercase; letter-spacing: 0.1em;
    color: #5b403e; cursor: pointer;
    transition: all 200ms;
    font-family: inherit;
}
.cw-filter-tab:hover { color: #B01621; border-color: #B01621; }
.cw-filter-tab--active {
    background: #B01621; border-color: #B01621; color: #FFF;
}
.cw-filter-tab span {
    opacity: 0.6; margin-left: 4px; font-weight: 400;
}

/* Grid layouts */
.cw-grid { display: grid; gap: 24px; }
.cw-grid--2 { grid-template-columns: repeat(2, 1fr); }
.cw-grid--3 { grid-template-columns: repeat(3, 1fr); }
.cw-grid--4 { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 1024px) {
    .cw-grid--4 { grid-template-columns: repeat(2, 1fr); }
    .cw-grid--3 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
    .cw-grid--4, .cw-grid--3, .cw-grid--2 { grid-template-columns: 1fr; }
}

/* =========================================================
   4. BRANDS GRID
   ========================================================= */
.cw-brand-card {
    display: flex; flex-direction: column;
    background: #FFF; border: 1px solid #E3BEBB;
    text-decoration: none; color: inherit;
    overflow: hidden;
    transition: border-color 200ms, transform 200ms, box-shadow 200ms;
}
.cw-brand-card:hover {
    border-color: #B01621;
    transform: translateY(-4px);
    box-shadow: 0 20px 40px -20px rgba(176,22,33,0.25);
}
.cw-brand-card__image {
    aspect-ratio: 4/3; overflow: hidden;
    background: #F6F3F2;
}
.cw-brand-card__image img {
    width: 100%; height: 100%; object-fit: cover;
    display: block;
    transition: transform 400ms ease;
}
.cw-brand-card:hover .cw-brand-card__image img { transform: scale(1.05); }
.cw-brand-card__body { padding: 24px; }
.cw-brand-card__units {
    display: inline-block; font-size: 11px; font-weight: 600;
    text-transform: uppercase; letter-spacing: 0.1em;
    color: #B01621; margin-bottom: 8px;
}
.cw-brand-card__name {
    font-family: 'Playfair Display', serif;
    font-size: 24px; font-weight: 600;
    margin: 0 0 8px; line-height: 1.2; color: #1c1b1b;
}
.cw-brand-card__tagline {
    font-size: 14px; color: #5b403e;
    margin: 0 0 16px; line-height: 1.5;
}
.cw-brand-card__entered {
    font-size: 11px; font-weight: 600;
    text-transform: uppercase; letter-spacing: 0.1em;
    color: #8f706d; margin: 0 0 16px;
}
.cw-brand-card__cta {
    display: inline-flex; align-items: center; gap: 6px;
    font-size: 12px; font-weight: 600;
    text-transform: uppercase; letter-spacing: 0.1em;
    color: #B01621;
    padding-top: 12px; border-top: 1px solid #E3BEBB;
}

/* =========================================================
   5. NEWS GRID
   ========================================================= */
.cw-news-grid { display: flex; flex-direction: column; gap: 32px; }
.cw-news-card {
    display: flex; flex-direction: column;
    background: #FFF; border: 1px solid #E3BEBB;
    padding: 32px; text-decoration: none; color: inherit;
    transition: border-color 200ms, transform 200ms;
}
.cw-news-card:hover {
    border-color: #B01621;
    transform: translateY(-4px);
}
.cw-news-card__source {
    font-size: 11px; font-weight: 600;
    text-transform: uppercase; letter-spacing: 0.15em;
    color: #B01621; margin-bottom: 12px;
}
.cw-news-card__title {
    font-family: 'Playfair Display', serif;
    font-size: 22px; font-weight: 600; line-height: 1.3;
    margin: 0 0 12px; color: #1c1b1b;
}
.cw-news-card__excerpt {
    font-size: 14px; color: #5b403e;
    line-height: 1.6; margin: 0 0 16px;
    flex: 1;
}
.cw-news-card__date {
    font-size: 12px; color: #8f706d;
    margin-top: auto;
}
.cw-news-card__cta {
    display: inline-flex; align-items: center; gap: 6px;
    font-size: 12px; font-weight: 600;
    text-transform: uppercase; letter-spacing: 0.1em;
    color: #B01621; margin-top: 16px;
}
.cw-news-card--featured {
    background: linear-gradient(135deg, #F6F3F2 0%, #FFF 100%);
    padding: 48px;
    border-left: 4px solid #B01621;
}
.cw-news-card--featured .cw-news-card__title { font-size: 32px; }
@media (max-width: 768px) {
    .cw-news-card--featured { padding: 32px; }
    .cw-news-card--featured .cw-news-card__title { font-size: 24px; }
}

/* =========================================================
   6. RECOGNITION TIMELINE
   ========================================================= */
.cw-timeline {
    list-style: none; padding: 0; margin: 0;
    position: relative;
    max-width: 900px; margin: 0 auto;
}
.cw-timeline::before {
    content: ''; position: absolute;
    left: 120px; top: 0; bottom: 0; width: 2px;
    background: #E3BEBB;
}
.cw-timeline__item {
    display: flex; gap: 40px;
    padding: 32px 0;
    position: relative;
}
.cw-timeline__item::before {
    content: ''; position: absolute;
    left: 116px; top: 44px;
    width: 10px; height: 10px;
    background: #B01621; border-radius: 50%;
    box-shadow: 0 0 0 4px #FFF, 0 0 0 5px #B01621;
}
.cw-timeline__year {
    font-family: 'Playfair Display', serif;
    font-size: 36px; font-weight: 700;
    color: #B01621;
    width: 100px; flex-shrink: 0;
    text-align: right;
    line-height: 1;
    padding-top: 6px;
}
.cw-timeline__content { padding-left: 40px; flex: 1; }
.cw-timeline__title {
    font-family: 'Playfair Display', serif;
    font-size: 22px; font-weight: 600;
    margin: 0 0 8px; line-height: 1.3;
    color: #1c1b1b;
}
.cw-timeline__desc {
    font-size: 15px; color: #5b403e;
    line-height: 1.6; margin: 0 0 8px;
}
.cw-timeline__source {
    font-size: 11px; font-weight: 600;
    text-transform: uppercase; letter-spacing: 0.15em;
    color: #8f706d; margin: 0;
}
@media (max-width: 768px) {
    .cw-timeline::before { left: 40px; }
    .cw-timeline__item::before { left: 36px; }
    .cw-timeline__year {
        width: 30px; font-size: 20px;
        writing-mode: vertical-rl; transform: rotate(180deg);
    }
    .cw-timeline__content { padding-left: 32px; }
}

/* =========================================================
   7. BRAND DETAIL PAGE
   ========================================================= */
.cw-brand-detail__hero {
    padding: 96px 60px 80px;
    color: #FFF;
    background-size: cover;
    background-position: center;
}
.cw-brand-detail__hero-inner { max-width: 1280px; margin: 0 auto; }
.cw-crumbs {
    font-size: 12px; font-weight: 600;
    text-transform: uppercase; letter-spacing: 0.1em;
    margin-bottom: 24px;
}
.cw-crumbs a { color: rgba(255,255,255,0.7); text-decoration: none; }
.cw-crumbs a:hover { color: #FFF; }
.cw-crumbs span[aria-hidden] { margin: 0 8px; color: rgba(255,255,255,0.5); }
.cw-brand-detail__title {
    font-family: 'Playfair Display', serif;
    font-size: 72px; font-weight: 700; line-height: 1.05;
    margin: 0 0 24px; letter-spacing: -1px;
    color: #FFF;
}
.cw-brand-detail__tagline {
    font-size: 20px; line-height: 1.5;
    margin: 0 0 32px; max-width: 640px;
    color: rgba(255,255,255,0.9);
}
.cw-brand-detail__hero-cta {
    display: flex; flex-wrap: wrap; gap: 12px;
}
.cw-brand-detail__body {
    padding: 96px 60px;
    background: #FCF9F8;
}
.cw-brand-detail__grid {
    max-width: 1280px; margin: 0 auto;
    display: grid; grid-template-columns: 2fr 1fr; gap: 64px;
    align-items: start;
}
.cw-brand-detail__story h2 {
    font-family: 'Playfair Display', serif;
    font-size: 40px; font-weight: 700; line-height: 1.2;
    margin: 0 0 24px; color: #1c1b1b;
}
.cw-brand-detail__content {
    font-size: 16px; line-height: 1.75; color: #3a3a3a;
}
.cw-brand-detail__content p { margin: 0 0 20px; }
.cw-brand-detail__sidebar {
    display: flex; flex-direction: column; gap: 24px;
    position: sticky; top: 120px;
}
.cw-brand-detail__stat-card {
    background: #FFF; border: 1px solid #E3BEBB;
    padding: 32px;
}
.cw-stat-list { list-style: none; padding: 0; margin: 0; }
.cw-stat-list li {
    padding: 16px 0;
    border-bottom: 1px solid #E3BEBB;
    display: flex; flex-direction: column; gap: 4px;
}
.cw-stat-list li:last-child { border-bottom: none; padding-bottom: 0; }
.cw-stat-list li:first-child { padding-top: 8px; }
.cw-stat-list strong {
    font-family: 'Playfair Display', serif;
    font-size: 32px; font-weight: 700;
    color: #B01621; line-height: 1;
}
.cw-stat-list span {
    font-size: 12px; font-weight: 600;
    text-transform: uppercase; letter-spacing: 0.1em;
    color: #5b403e;
}
.cw-partner-list { list-style: none; padding: 0; margin: 0; }
.cw-partner-list li {
    padding: 12px 0;
    border-bottom: 1px solid #E3BEBB;
    display: flex; flex-direction: column;
}
.cw-partner-list li:last-child { border-bottom: none; padding-bottom: 0; }
.cw-partner-list strong {
    font-family: 'Playfair Display', serif;
    font-size: 15px; color: #1c1b1b;
}
.cw-partner-list span {
    font-size: 11px; font-weight: 600;
    text-transform: uppercase; letter-spacing: 0.1em;
    color: #8f706d; margin-top: 4px;
}
.cw-brand-detail__ctas {
    padding: 0 60px 96px;
    background: #FCF9F8;
}
.cw-brand-detail__ctas {
    display: grid; grid-template-columns: 1fr 1fr; gap: 24px;
    max-width: 1280px; margin: 0 auto;
    padding: 0 60px 96px;
}
.cw-brand-detail__cta-card {
    background: #FFF; border: 1px solid #E3BEBB;
    padding: 48px;
}
.cw-brand-detail__cta-card--dark {
    background: #1c1b1b; border-color: #1c1b1b; color: #FFF;
}
.cw-brand-detail__cta-card h3 {
    font-family: 'Playfair Display', serif;
    font-size: 28px; font-weight: 600;
    margin: 0 0 12px; line-height: 1.3;
    color: inherit;
}
.cw-brand-detail__cta-card p {
    font-size: 15px; line-height: 1.6;
    margin: 0 0 24px; opacity: 0.85;
}
@media (max-width: 1024px) {
    .cw-brand-detail__grid { grid-template-columns: 1fr; }
    .cw-brand-detail__sidebar { position: static; }
    .cw-brand-detail__ctas { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
    .cw-brand-detail__hero { padding: 64px 20px 48px; }
    .cw-brand-detail__title { font-size: 42px; }
    .cw-brand-detail__body { padding: 64px 20px; }
    .cw-brand-detail__ctas { padding: 0 20px 64px; }
    .cw-brand-detail__cta-card { padding: 32px; }
}

/* =========================================================
   8. LOCATOR PREVIEW
   ========================================================= */
.cw-locator-preview {
    max-width: 1280px; margin: 0 auto;
    display: grid; grid-template-columns: 5fr 4fr; gap: 48px;
    align-items: center;
    padding: 0 60px;
}
.cw-locator-preview__left h2 {
    font-family: 'Playfair Display', serif;
    font-size: 48px; font-weight: 700; line-height: 1.1;
    margin: 0 0 16px; color: #1c1b1b;
}
.cw-locator-preview__left p {
    font-size: 16px; color: #5b403e;
    margin: 0 0 24px; line-height: 1.6;
}
.cw-locator-preview__form {
    display: flex; gap: 12px;
    margin-bottom: 20px;
}
.cw-locator-preview__form input {
    flex: 1; padding: 16px 20px;
    border: 2px solid #E3BEBB; background: #FFF;
    font-size: 15px; font-family: inherit;
    color: #1c1b1b;
}
.cw-locator-preview__form input:focus {
    outline: 3px solid #B01621; outline-offset: 2px;
    border-color: #B01621;
}
.cw-locator-preview__cities {
    display: flex; flex-wrap: wrap; gap: 12px;
    align-items: center;
    font-size: 13px;
}
.cw-locator-preview__cities span {
    font-weight: 600; text-transform: uppercase;
    letter-spacing: 0.1em; color: #8f706d; font-size: 11px;
}
.cw-locator-preview__cities a {
    padding: 6px 14px;
    border: 1px solid #E3BEBB;
    color: #5b403e; text-decoration: none;
    font-size: 13px;
    transition: all 200ms;
}
.cw-locator-preview__cities a:hover {
    background: #B01621; color: #FFF; border-color: #B01621;
}
.cw-locator-preview__right img {
    width: 100%; height: 100%;
    object-fit: cover;
    max-height: 400px;
    display: block;
}
@media (max-width: 1024px) {
    .cw-locator-preview {
        grid-template-columns: 1fr; gap: 32px;
        padding: 0 20px;
    }
    .cw-locator-preview__left h2 { font-size: 36px; }
}
@media (max-width: 640px) {
    .cw-locator-preview__form { flex-direction: column; }
    .cw-locator-preview__form input, .cw-locator-preview__form button { width: 100%; }
}

/* Focus visibility */
.cw-btn:focus-visible,
.cw-filter-tab:focus-visible,
.cw-brand-card:focus-visible,
.cw-news-card:focus-visible,
.cw-locator-preview__cities a:focus-visible {
    outline: 3px solid #B01621; outline-offset: 3px;
}

/* =========================================================
   ELEMENTOR CASCADE OVERRIDES
   The Elementor Global Kit sets a site-wide heading/text color
   (#1c1b1b for legibility on the light theme background). That
   rule wins over our block-level `color: #FFF` on light backgrounds
   like the brand hero and dark CTA card, forcing us to override
   with !important. Same pattern as the stats-centering and pillar
   image fixes in chunara-site-setup/includes/render.php.
   ========================================================= */

/* Brand detail hero — light text on a dark-tinted photo background */
.cw-brand-detail__hero,
.cw-brand-detail__hero h1,
.cw-brand-detail__hero h2,
.cw-brand-detail__hero h3,
.cw-brand-detail__hero p,
.cw-brand-detail__hero .cw-crumbs,
.cw-brand-detail__hero .cw-crumbs span {
    color: #FFF !important;
}
.cw-brand-detail__hero .cw-crumbs a {
    color: rgba(255,255,255,0.75) !important;
}
.cw-brand-detail__hero .cw-crumbs a:hover {
    color: #FFF !important;
}
.cw-brand-detail__hero .cw-brand-detail__tagline {
    color: rgba(255,255,255,0.9) !important;
}

/* Brand detail dark CTA card — light text on #1c1b1b */
.cw-brand-detail__cta-card--dark,
.cw-brand-detail__cta-card--dark h3,
.cw-brand-detail__cta-card--dark p {
    color: #FFF !important;
}
