/* =====================================================
   CatchON TV — refined v2
   Palette: #E7412F, black, white, and transparent black/white.
   This file intentionally loads last and normalizes contrast.
   ===================================================== */

:root {
    --brand: #E7412F;
    --black: #000000;
    --white: #FFFFFF;
    --ink: #000000;
    --muted: rgba(0, 0, 0, .68);
    --muted-strong: rgba(0, 0, 0, .78);
    --line: rgba(0, 0, 0, .12);
    --soft: rgba(0, 0, 0, .035);
    --soft-2: rgba(0, 0, 0, .055);
    --shadow-sm: 0 10px 28px rgba(0, 0, 0, .07);
    --shadow-md: 0 22px 55px rgba(0, 0, 0, .10);
    --radius: 18px;
    --radius-sm: 12px;
}

/* =====================================================
   CatchON TV homepage v5 — Apollo-inspired editorial layout
   Scoped to .catchon-home-v5 so internal pages remain unchanged.
   ===================================================== */

.catchon-home-v5 {
    --v5-red: #E7412F;
    --v5-black: #080808;
    --v5-paper: #f6f5f2;
    overflow: hidden;
}

.catchon-home-v5 .v5-section { padding: 112px 0; }
.catchon-home-v5 h1,
.catchon-home-v5 h2,
.catchon-home-v5 h3 { letter-spacing: -.042em; }
.catchon-home-v5 .catchon-icon-svg { width: 24px; height: 24px; }

/* Hero */
.catchon-home-v5 .v5-hero {
    position: relative;
    padding: 88px 0 96px;
    background:
        radial-gradient(circle at 82% 18%, rgba(231,65,47,.16), transparent 29%),
        linear-gradient(135deg, #fff 0%, #fff 55%, #f7f3f1 100%) !important;
}
.catchon-home-v5 .v5-hero::before {
    content: "";
    position: absolute;
    right: -11vw;
    bottom: -24vw;
    width: 48vw;
    aspect-ratio: 1;
    border: 1px solid rgba(231,65,47,.12);
    border-radius: 50%;
}
.v5-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, .93fr) minmax(480px, 1.07fr);
    align-items: center;
    gap: clamp(45px, 7vw, 100px);
}
.v5-hero-copy { position: relative; z-index: 2; }
.v5-offer-pill {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 25px;
    padding: 9px 14px;
    border: 1px solid rgba(231,65,47,.24);
    border-radius: 999px;
    background: rgba(231,65,47,.06);
    color: #151515;
    font-size: 13px;
    font-weight: 750;
}
.v5-live-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--v5-red);
    box-shadow: 0 0 0 5px rgba(231,65,47,.12);
}
.catchon-home-v5 .v5-hero h1 {
    max-width: 720px;
    margin: 0 0 26px;
    color: var(--v5-black) !important;
    font-size: clamp(3.15rem, 5.3vw, 5.5rem) !important;
    line-height: .98;
}
.catchon-home-v5 .v5-hero h1 span { color: var(--v5-red); }
.v5-hero-copy > p {
    max-width: 620px;
    margin: 0 0 34px;
    color: rgba(0,0,0,.68);
    font-size: clamp(17px, 1.6vw, 20px);
    line-height: 1.65;
}
.v5-hero-actions { display: flex; align-items: center; gap: 25px; flex-wrap: wrap; }
.v5-button-arrow { gap: 16px; min-height: 56px !important; padding-inline: 27px !important; }
.v5-button-arrow span { font-size: 21px; }
.v5-text-button {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #111 !important;
    font-size: 15px;
    font-weight: 750;
}
.v5-text-button .catchon-icon-svg {
    width: 40px;
    height: 40px;
    padding: 10px;
    border: 1px solid rgba(0,0,0,.16);
    border-radius: 50%;
}
.v5-trust-list {
    display: flex;
    gap: 22px;
    flex-wrap: wrap;
    margin: 36px 0 0;
    padding: 23px 0 0;
    border-top: 1px solid rgba(0,0,0,.1);
    list-style: none;
}
.v5-trust-list li { display: flex; align-items: center; gap: 7px; color: rgba(0,0,0,.68); font-size: 13px; font-weight: 650; }
.v5-trust-list .catchon-icon-svg { width: 17px; height: 17px; color: var(--v5-red); }

.v5-hero-stage { position: relative; min-height: 540px; }
.v5-hero-glow {
    position: absolute;
    inset: 5% 0 8% 7%;
    border-radius: 48% 52% 40% 60%;
    background: var(--v5-red);
    opacity: .94;
    transform: rotate(-5deg);
}
.v5-tv-frame {
    position: absolute;
    z-index: 2;
    top: 42px;
    right: 0;
    width: 92%;
    min-height: 360px;
    padding: 23px;
    border: 9px solid #111;
    border-radius: 22px;
    background: linear-gradient(135deg, #050505 0%, #24100e 58%, #7d2017 100%);
    box-shadow: 0 35px 75px rgba(0,0,0,.28);
    color: #fff;
    transform: perspective(1100px) rotateY(-6deg) rotateZ(1deg);
}
.v5-tv-topbar { display: flex; justify-content: space-between; align-items: center; color: #fff; font-size: 15px; font-weight: 800; }
.v5-tv-topbar b { color: var(--v5-red); }
.v5-live-label { padding: 5px 8px; border-radius: 4px; background: var(--v5-red); font-size: 10px; letter-spacing: .08em; }
.v5-featured-show { display: flex; flex-direction: column; justify-content: flex-end; min-height: 215px; padding: 28px; border-radius: 14px; background: linear-gradient(120deg, rgba(0,0,0,.22), rgba(231,65,47,.38)); }
.v5-featured-show span { margin-bottom: 7px; color: #ff8b7e; font-size: 10px; font-weight: 850; letter-spacing: .14em; }
.v5-featured-show strong { color: #fff; font-size: clamp(22px, 3vw, 35px); letter-spacing: -.04em; }
.v5-featured-show small { margin-top: 8px; color: rgba(255,255,255,.7); }
.v5-content-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; margin-top: 12px; }
.v5-content-row span { min-height: 55px; padding: 17px 9px; border: 1px solid rgba(255,255,255,.11); border-radius: 9px; background: rgba(255,255,255,.07); color: #fff; text-align: center; font-size: 10px; font-weight: 800; letter-spacing: .08em; }
.v5-device-image { position: absolute; z-index: 4; right: -25px; bottom: -12px; width: 62%; max-height: 225px; object-fit: contain; filter: drop-shadow(0 28px 27px rgba(0,0,0,.28)); }
.v5-rating-card { position: absolute; z-index: 5; left: -22px; bottom: 6px; display: flex; flex-direction: column; min-width: 190px; padding: 17px 20px; border: 1px solid rgba(0,0,0,.08); border-radius: 14px; background: #fff; box-shadow: 0 18px 42px rgba(0,0,0,.16); }
.v5-stars { color: var(--v5-red); letter-spacing: 2px; }
.v5-rating-card strong { margin-top: 4px; color: #111; font-size: 14px; }
.v5-rating-card small { color: rgba(0,0,0,.54); font-size: 11px; }

/* Proof */
.v5-proof { position: relative; z-index: 4; background: #090909 !important; }
.v5-proof-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.v5-proof-grid > div { display: flex; align-items: center; gap: 14px; min-height: 112px; padding: 25px 33px; border-right: 1px solid rgba(255,255,255,.12); }
.v5-proof-grid > div:last-child { border-right: 0; }
.v5-proof-grid strong { color: #fff; font-size: clamp(28px, 3vw, 42px); line-height: 1; letter-spacing: -.05em; }
.v5-proof-grid span { max-width: 90px; color: rgba(255,255,255,.58); font-size: 12px; line-height: 1.4; }

/* Intro */
.v5-split-grid { display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: clamp(60px, 8vw, 115px); }
.v5-photo-panel { position: relative; min-height: 570px; }
.v5-photo-panel::before { content: ""; position: absolute; inset: 40px 0 0 45px; border-radius: 0 100px 0 100px; background: var(--v5-red); }
.v5-photo-panel img { position: absolute; inset: 0 35px 40px 0; width: calc(100% - 35px); height: calc(100% - 40px); border-radius: 0 90px 0 90px; object-fit: cover; background: #fff; box-shadow: 0 22px 50px rgba(0,0,0,.12); }
.v5-photo-stat { position: absolute; right: -15px; bottom: 0; display: flex; flex-direction: column; padding: 22px 28px; border-radius: 13px; background: #080808; box-shadow: 0 18px 40px rgba(0,0,0,.22); }
.v5-photo-stat strong { color: #fff; font-size: 18px; }
.v5-photo-stat span { color: rgba(255,255,255,.6); font-size: 12px; }
.v5-section-copy > p, .v5-app-copy > p, .v5-compare-copy > p, .v5-sports-copy > p { margin: 0 0 34px; font-size: 18px; line-height: 1.7; }
.v5-mini-features { display: grid; grid-template-columns: 1fr 1fr; gap: 26px 24px; margin-top: 36px; }
.v5-mini-features article { display: flex; gap: 15px; }
.v5-mini-features article > span { display: grid; flex: 0 0 45px; width: 45px; height: 45px; place-items: center; border-radius: 11px; background: rgba(231,65,47,.1); color: var(--v5-red); }
.v5-mini-features h3 { margin: 0 0 6px; font-size: 16px !important; }
.v5-mini-features p { margin: 0; font-size: 13px; line-height: 1.55; }

/* Dark shared */
.catchon-home-v5 .v5-dark-section { position: relative; background: #090909 !important; color: #fff; }
.catchon-home-v5 .v5-dark-section h2,
.catchon-home-v5 .v5-dark-section h3 { color: #fff !important; }
.v5-heading-light { max-width: 720px; margin-bottom: 50px; }
.v5-heading-light > p { max-width: 620px; margin: 12px 0 0; color: rgba(255,255,255,.62); font-size: 18px; }
.v5-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; counter-reset: steps; }
.v5-steps article { position: relative; min-height: 315px; padding: 38px; overflow: hidden; border: 1px solid rgba(255,255,255,.12); border-radius: 18px; background: linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.025)); }
.v5-steps article::after { content: ""; position: absolute; right: -45px; bottom: -60px; width: 150px; height: 150px; border: 1px solid rgba(231,65,47,.25); border-radius: 50%; }
.v5-step-number { position: absolute; top: 25px; right: 28px; color: rgba(255,255,255,.22); font-size: 34px; font-weight: 850; }
.v5-step-icon { display: grid; width: 55px; height: 55px; margin-bottom: 55px; place-items: center; border-radius: 14px; background: var(--v5-red); color: #fff; }
.v5-steps h3 { margin-bottom: 12px; font-size: 23px !important; }
.v5-steps p { margin: 0; color: rgba(255,255,255,.58); font-size: 14px; line-height: 1.65; }

/* App */
.v5-app { background: var(--v5-paper) !important; }
.v5-app-grid { display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: clamp(55px, 8vw, 120px); }
.v5-check-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 20px; margin: 0 0 35px; padding: 0; list-style: none; }
.v5-check-columns li { display: flex; align-items: center; gap: 9px; color: #171717; font-size: 14px; font-weight: 650; }
.v5-check-columns .catchon-icon-svg { width: 18px; height: 18px; color: var(--v5-red); }
.v5-app-showcase { position: relative; min-height: 520px; }
.v5-app-showcase::before { content: ""; position: absolute; inset: 50px 5% 0 13%; border-radius: 42px; background: var(--v5-red); transform: rotate(4deg); }
.v5-app-screen { position: absolute; z-index: 2; inset: 0 8% 55px 0; padding: 26px; border: 10px solid #121212; border-radius: 28px; background: linear-gradient(145deg, #111, #37100d); box-shadow: 0 30px 60px rgba(0,0,0,.25); transform: rotate(-2deg); }
.v5-app-screen-head { display: flex; justify-content: space-between; color: #fff; font-size: 13px; font-weight: 750; }
.v5-app-screen-head span:last-child { color: rgba(255,255,255,.5); }
.v5-app-screen-feature { display: flex; flex-direction: column; justify-content: flex-end; min-height: 285px; margin-top: 20px; padding: 35px; border-radius: 17px; background: radial-gradient(circle at 70% 30%, rgba(231,65,47,.72), transparent 35%), linear-gradient(120deg,#151515,#46110c); }
.v5-app-screen-feature small { color: #ff8e82; font-size: 10px; font-weight: 800; letter-spacing: .12em; }
.v5-app-screen-feature strong { max-width: 390px; color: #fff; font-size: clamp(25px, 3vw, 40px); line-height: 1.04; }
.v5-app-screen-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 12px; }
.v5-app-screen-cards span { height: 50px; border-radius: 8px; background: rgba(255,255,255,.09); }
.v5-player-icons { position: absolute; z-index: 4; right: 0; bottom: 0; display: flex; gap: 11px; padding: 14px; border-radius: 18px; background: #fff; box-shadow: 0 18px 45px rgba(0,0,0,.18); }
.v5-player-icons img { width: 54px; height: 54px; padding: 4px; border-radius: 12px; object-fit: contain; background: #fff; }

/* Channels */
.v5-channels { padding: 48px 0 52px; border-block: 1px solid rgba(0,0,0,.1); background: #fff !important; text-align: center; }
.v5-channels p { margin: 0 0 28px; color: rgba(0,0,0,.5); font-size: 12px; font-weight: 750; text-transform: uppercase; letter-spacing: .1em; }
.v5-channel-strip { display: grid; grid-template-columns: repeat(6, 1fr); align-items: center; gap: 18px; }
.v5-channel-strip div { display: grid; height: 70px; padding: 12px 18px; place-items: center; border: 1px solid rgba(0,0,0,.08); border-radius: 12px; background: #fff; }
.v5-channel-strip img { width: auto; max-width: 100%; height: 40px; object-fit: contain; filter: grayscale(1); opacity: .72; transition: filter .2s, opacity .2s; }
.v5-channel-strip div:hover img { filter: none; opacity: 1; }
.v5-channels a { display: inline-flex; gap: 8px; margin-top: 27px; color: #111 !important; font-size: 13px; font-weight: 750; }

/* Pricing refinement */
.catchon-home-v5 .v5-pricing { background: #fff !important; }
.v5-pricing .pricing-device-tabs { max-width: 720px; padding: 5px; border-radius: 999px; background: #f2f1ee; }
.v5-pricing .pricing-device-tab { border-radius: 999px !important; font-size: 13px; }
.v5-pricing .pricing-device-tab strong { margin-right: 2px; font-size: 16px; }
.v5-pricing .pricing-grid { align-items: stretch; gap: 16px; }
.v5-pricing .pricing-card { padding: 34px 25px 28px; border-radius: 16px; box-shadow: 0 12px 30px rgba(0,0,0,.055); }
.v5-pricing .pricing-card-featured { transform: translateY(-10px); box-shadow: 0 25px 55px rgba(231,65,47,.17) !important; }
.v5-pricing .pricing-plan-label { display: block; margin-bottom: 7px; color: var(--v5-red) !important; font-size: 11px; font-weight: 800; text-transform: uppercase !important; letter-spacing: .08em; }
.v5-pricing .pricing-card-header h3 { font-size: 24px !important; }
.v5-pricing-note { display: flex; justify-content: center; align-items: center; gap: 8px; margin: 36px 0 0; color: rgba(0,0,0,.52); font-size: 13px; }
.v5-pricing-note .catchon-icon-svg { width: 17px; color: var(--v5-red); }

/* Comparison */
.v5-compare { background: var(--v5-paper) !important; }
.v5-compare-grid { display: grid; grid-template-columns: .7fr 1.3fr; align-items: center; gap: clamp(50px, 7vw, 95px); }
.v5-comparison-table-wrap { overflow: hidden; border: 1px solid rgba(0,0,0,.1); border-radius: 18px; background: #fff; box-shadow: 0 22px 55px rgba(0,0,0,.08); }
.v5-comparison-table { width: 100%; border-collapse: collapse; }
.v5-comparison-table th, .v5-comparison-table td { padding: 19px 22px; border-bottom: 1px solid rgba(0,0,0,.08); color: rgba(0,0,0,.62); text-align: left; font-size: 13px; }
.v5-comparison-table th { background: #0a0a0a; color: #fff; font-weight: 750; }
.v5-comparison-table th:nth-child(2) { background: var(--v5-red); }
.v5-comparison-table td:first-child { color: #111; font-weight: 700; }
.v5-comparison-table tr:last-child td { border-bottom: 0; }
.v5-yes { display: inline-block; padding: 6px 9px; border-radius: 6px; background: rgba(231,65,47,.09); color: var(--v5-red); font-weight: 800; }

/* Sports */
.v5-sports::before { content: ""; position: absolute; inset: 0; opacity: .32; background: radial-gradient(circle at 78% 45%, rgba(231,65,47,.9), transparent 25%); }
.v5-sports-grid { position: relative; display: grid; grid-template-columns: .88fr 1.12fr; align-items: center; gap: 80px; }
.v5-sports-copy > p { color: rgba(255,255,255,.63); }
.v5-sports-tags { display: flex; flex-wrap: wrap; gap: 9px; margin: 0 0 35px; }
.v5-sports-tags span { padding: 8px 12px; border: 1px solid rgba(255,255,255,.16); border-radius: 999px; color: #fff; font-size: 11px; font-weight: 750; }
.v5-sports-art { position: relative; min-height: 430px; }
.v5-score-card { position: absolute; inset: 35px 0 0 55px; display: flex; flex-direction: column; justify-content: flex-end; padding: 48px; overflow: hidden; border: 1px solid rgba(255,255,255,.15); border-radius: 30px; background: linear-gradient(140deg, rgba(255,255,255,.1), rgba(231,65,47,.2)); transform: rotate(3deg); }
.v5-score-card::before { content: ""; position: absolute; top: -100px; right: -80px; width: 310px; height: 310px; border: 40px solid rgba(255,255,255,.055); border-radius: 50%; }
.v5-score-card > span { align-self: flex-start; margin-bottom: 16px; padding: 5px 9px; border-radius: 4px; background: var(--v5-red); color: #fff; font-size: 10px; font-weight: 850; letter-spacing: .08em; }
.v5-score-card strong { position: relative; color: #fff; font-size: clamp(38px, 5vw, 66px); line-height: .95; letter-spacing: -.055em; }
.v5-score-card small { position: relative; margin-top: 18px; color: rgba(255,255,255,.6); }
.v5-ball-mark { position: absolute; top: 0; left: 0; display: grid; width: 115px; height: 115px; place-items: center; border-radius: 50%; background: var(--v5-red); color: #fff; box-shadow: 0 18px 35px rgba(0,0,0,.35); }
.v5-ball-mark .catchon-icon-svg { width: 58px; height: 58px; }

/* Reviews */
.v5-reviews { background: #fff !important; }
.v5-review-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.v5-review-grid article { display: flex; flex-direction: column; min-height: 285px; padding: 33px; border: 1px solid rgba(0,0,0,.1); border-radius: 17px; background: #fff; }
.v5-review-grid article > p { flex: 1; margin: 25px 0; color: rgba(0,0,0,.73); font-size: 17px; line-height: 1.65; }
.v5-review-grid article > div:last-child { display: flex; flex-direction: column; }
.v5-review-grid article strong { color: #111; font-size: 14px; }
.v5-review-grid article span { color: rgba(0,0,0,.48); font-size: 11px; }
.v5-review-grid .v5-review-featured { border-color: var(--v5-red); background: var(--v5-red); transform: translateY(-12px); box-shadow: 0 25px 50px rgba(231,65,47,.2); }
.v5-review-featured .v5-stars, .v5-review-featured > p, .v5-review-featured strong, .v5-review-featured span { color: #fff !important; }

/* Support */
.v5-support { padding-top: 30px !important; background: #fff !important; }
.v5-support-box { display: grid; grid-template-columns: .8fr 1.2fr; align-items: center; gap: 70px; padding: 60px !important; border-radius: 25px; background: var(--v5-paper); }
.v5-support-box > div:first-child > p { max-width: 490px; margin-bottom: 0; }
.v5-support-options { display: grid; gap: 10px; }
.v5-support-options a { display: grid; grid-template-columns: 48px 1fr auto; align-items: center; gap: 14px; padding: 16px; border: 1px solid rgba(0,0,0,.09); border-radius: 12px; background: #fff; color: #111 !important; transition: transform .18s, border-color .18s; }
.v5-support-options a:hover { border-color: var(--v5-red); transform: translateX(3px); }
.v5-support-options a > span { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 10px; background: rgba(231,65,47,.1); color: var(--v5-red); }
.v5-support-options div { display: flex; flex-direction: column; }
.v5-support-options strong { font-size: 14px; }
.v5-support-options small { color: rgba(0,0,0,.5); font-size: 11px; }
.v5-support-options b { color: var(--v5-red); font-size: 20px; }

/* FAQ */
.v5-faq { background: var(--v5-paper) !important; }
.v5-faq-grid { display: grid; grid-template-columns: .62fr 1.38fr; gap: 80px; }
.v5-faq-heading { position: sticky; top: 115px; align-self: start; }
.v5-faq-heading > p { margin-bottom: 25px; }
.v5-faq-heading > a { color: #111 !important; font-size: 14px; font-weight: 750; }
.v5-faq-list { border-top: 1px solid rgba(0,0,0,.13); }
.v5-faq-list details { border-bottom: 1px solid rgba(0,0,0,.13); }
.v5-faq-list summary { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 24px 0; color: #111; font-size: 17px; font-weight: 750; cursor: pointer; list-style: none; }
.v5-faq-list summary::-webkit-details-marker { display: none; }
.v5-faq-list summary span { display: grid; flex: 0 0 32px; width: 32px; height: 32px; place-items: center; border-radius: 50%; background: #fff; color: var(--v5-red); font-size: 21px; transition: transform .2s; }
.v5-faq-list details[open] summary span { transform: rotate(45deg); }
.v5-faq-list details p { margin: -5px 55px 24px 0; font-size: 14px; line-height: 1.7; }

/* Blog + final CTA */
.catchon-home-v5 .v5-blog { background: #fff !important; }
.v5-blog-heading { display: flex; justify-content: space-between; align-items: end; gap: 30px; margin-bottom: 45px; }
.v5-blog-heading h2 { margin-bottom: 0; }
.v5-blog-heading > a { flex: 0 0 auto; color: #111 !important; font-size: 14px; font-weight: 750; }
.v5-blog .home-blog-card { overflow: hidden; border: 1px solid rgba(0,0,0,.1); border-radius: 16px; box-shadow: none; }
.v5-blog .home-blog-image { aspect-ratio: 16 / 9; }
.v5-blog .home-blog-content { padding: 26px; }
.v5-final-cta { padding: 105px 0; background: var(--v5-red) !important; }
.v5-final-inner { text-align: center; }
.v5-final-inner > span { color: rgba(255,255,255,.74); font-size: 11px; font-weight: 850; letter-spacing: .15em; }
.catchon-home-v5 .v5-final-inner h2 { max-width: 800px; margin: 14px auto 18px; color: #fff !important; font-size: clamp(42px, 6vw, 72px) !important; }
.v5-final-inner p { max-width: 650px; margin: 0 auto 32px; color: rgba(255,255,255,.78); font-size: 17px; }
.v5-final-inner > div { display: flex; justify-content: center; align-items: center; gap: 25px; }
.v5-final-inner .catchon-button { border-color: #fff !important; background: #fff !important; color: #111 !important; }
.v5-final-inner .catchon-button:hover { border-color: #111 !important; background: #111 !important; color: #fff !important; }
.v5-final-inner div > a:last-child { color: #fff !important; font-size: 14px; font-weight: 750; text-decoration: underline; text-underline-offset: 4px; }

@media (max-width: 1050px) {
    .v5-hero-grid { grid-template-columns: 1fr; }
    .v5-hero-copy { max-width: 760px; }
    .v5-hero-stage { width: min(760px, 100%); margin-inline: auto; }
    .v5-proof-grid { grid-template-columns: 1fr 1fr; }
    .v5-proof-grid > div:nth-child(2) { border-right: 0; }
    .v5-proof-grid > div:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.12); }
    .v5-split-grid, .v5-app-grid, .v5-compare-grid, .v5-sports-grid, .v5-support-box, .v5-faq-grid { grid-template-columns: 1fr; }
    .v5-photo-panel { max-width: 650px; }
    .v5-section-copy, .v5-app-copy, .v5-compare-copy, .v5-sports-copy { max-width: 720px; }
    .v5-channel-strip { grid-template-columns: repeat(3, 1fr); }
    .v5-support-box { gap: 45px; }
    .v5-faq-grid { gap: 45px; }
    .v5-faq-heading { position: static; }
}

@media (max-width: 760px) {
    .catchon-home-v5 .v5-section { padding: 78px 0; }
    .catchon-home-v5 .v5-hero { padding: 65px 0 75px; }
    .v5-hero-stage { min-height: 410px; margin-top: 10px; }
    .v5-tv-frame { top: 25px; width: 96%; min-height: 300px; padding: 15px; border-width: 7px; }
    .v5-featured-show { min-height: 175px; padding: 20px; }
    .v5-device-image { right: -10px; width: 58%; max-height: 160px; }
    .v5-rating-card { left: 0; min-width: 155px; padding: 13px 15px; }
    .v5-proof-grid > div { min-height: 92px; padding: 20px; }
    .v5-proof-grid strong { font-size: 28px; }
    .v5-split-grid, .v5-app-grid, .v5-sports-grid { gap: 55px; }
    .v5-photo-panel { min-height: 440px; }
    .v5-mini-features, .v5-check-columns { grid-template-columns: 1fr; }
    .v5-steps, .v5-review-grid { grid-template-columns: 1fr; }
    .v5-steps article { min-height: 270px; }
    .v5-review-grid .v5-review-featured { transform: none; }
    .v5-app-showcase { min-height: 420px; }
    .v5-app-screen { inset: 0 5% 45px 0; }
    .v5-app-screen-feature { min-height: 220px; padding: 24px; }
    .v5-player-icons img { width: 43px; height: 43px; }
    .v5-channel-strip { grid-template-columns: repeat(2, 1fr); }
    .v5-pricing .pricing-device-tabs { display: grid; grid-template-columns: repeat(5, 1fr); overflow: hidden; border-radius: 14px; }
    .v5-pricing .pricing-device-tab { min-width: 0; padding: 11px 3px; border-radius: 10px !important; font-size: 0; }
    .v5-pricing .pricing-device-tab strong { margin: 0; font-size: 16px; }
    .v5-pricing .pricing-device-tab strong::after { content: " dev"; font-size: 10px; }
    .v5-comparison-table-wrap { overflow-x: auto; }
    .v5-comparison-table { min-width: 620px; }
    .v5-sports-art { min-height: 370px; }
    .v5-score-card { inset: 30px 0 0 25px; padding: 35px; }
    .v5-ball-mark { width: 82px; height: 82px; }
    .v5-ball-mark .catchon-icon-svg { width: 40px; height: 40px; }
    .v5-support-box { width: min(100% - 24px, 1180px); padding: 36px 22px !important; }
    .v5-blog-heading { display: block; }
    .v5-blog-heading > a { display: inline-block; margin-top: 15px; }
}

@media (max-width: 480px) {
    .catchon-home-v5 .v5-hero h1 { font-size: clamp(2.7rem, 14vw, 4rem) !important; }
    .v5-hero-actions { align-items: flex-start; flex-direction: column; }
    .v5-trust-list { gap: 12px 18px; }
    .v5-hero-stage { min-height: 350px; }
    .v5-tv-frame { min-height: 265px; }
    .v5-featured-show { min-height: 145px; }
    .v5-content-row span { min-height: 42px; padding-block: 11px; }
    .v5-rating-card { bottom: -3px; }
    .v5-proof-grid { grid-template-columns: 1fr; }
    .v5-proof-grid > div { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.12); }
    .v5-proof-grid > div:last-child { border-bottom: 0; }
    .v5-photo-panel { min-height: 350px; }
    .v5-photo-panel::before { inset: 26px 0 0 22px; border-radius: 0 55px 0 55px; }
    .v5-photo-panel img { inset: 0 20px 28px 0; width: calc(100% - 20px); height: calc(100% - 28px); border-radius: 0 50px 0 50px; }
    .v5-photo-stat { right: 0; padding: 15px 18px; }
    .v5-app-showcase { min-height: 335px; }
    .v5-app-screen { padding: 15px; border-width: 7px; }
    .v5-app-screen-feature { min-height: 165px; padding: 18px; }
    .v5-app-screen-cards span { height: 34px; }
    .v5-player-icons { padding: 9px; }
    .v5-channel-strip div { height: 58px; padding: 9px; }
    .v5-channel-strip img { height: 32px; }
    .v5-sports-art { min-height: 320px; }
    .v5-score-card { padding: 27px; }
    .v5-final-inner > div { align-items: center; flex-direction: column; }
}

* { box-sizing: border-box; }
html { scroll-padding-top: 92px; }
body {
    margin: 0;
    background: var(--white) !important;
    color: var(--ink) !important;
    font-family: Arial, sans-serif;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.68;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}
body, button, input, select, textarea { font-family: inherit; }
img { max-width: 100%; height: auto; }
a { color: var(--brand); }
a:hover { color: var(--black); }
::selection { background: var(--brand); color: var(--white); }

h1,h2,h3,h4,h5,h6 {
    margin-top: 0;
    color: var(--black) !important;
    font-weight: 700;
    line-height: 1.12;
    letter-spacing: -.025em;
    text-transform: none !important;
}
h1 { font-size: clamp(2.55rem, 5.1vw, 4rem) !important; }
h2 { font-size: clamp(2rem, 3.6vw, 3rem) !important; }
h3 { font-size: clamp(1.18rem, 2vw, 1.48rem) !important; }
p, li { color: var(--muted); }

.container { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.section-heading { max-width: 760px; margin: 0 auto 46px; text-align: center; }
.section-heading p { max-width: 680px; margin: 14px auto 0; }
.section-label, .home-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 13px;
    color: var(--brand) !important;
    font-size: 13px;
    font-weight: 750;
    letter-spacing: .015em !important;
    text-transform: none !important;
}
.section-label::before, .home-eyebrow::before {
    content: "";
    width: 18px;
    height: 2px;
    border-radius: 999px;
    background: var(--brand);
}

/* Buttons: red is purposeful, not a section fill. */
.catchon-button,
.header-cta,
.mobile-menu-cta,
.download-button,
.contact-submit-button,
.sidebar-button,
.blog-read-more,
.home-blog-readmore,
.footer-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 22px;
    border: 1px solid var(--brand) !important;
    border-radius: 9px !important;
    background: var(--brand) !important;
    color: var(--white) !important;
    font-size: 15px;
    font-weight: 750;
    line-height: 1;
    text-transform: none !important;
    box-shadow: none !important;
    transition: transform .18s ease, background .18s ease, border-color .18s ease;
}
.catchon-button:hover,
.header-cta:hover,
.mobile-menu-cta:hover,
.download-button:hover,
.contact-submit-button:hover,
.sidebar-button:hover,
.blog-read-more:hover,
.home-blog-readmore:hover,
.footer-cta:hover {
    transform: translateY(-1px);
    border-color: var(--black) !important;
    background: var(--black) !important;
    color: var(--white) !important;
}
.catchon-button-outline,
.home-outline-button,
.home-final-outline,
.faq-secondary-button,
.error-404-secondary {
    border-color: var(--black) !important;
    background: var(--white) !important;
    color: var(--black) !important;
}
.catchon-button-outline:hover,
.home-outline-button:hover,
.home-final-outline:hover,
.faq-secondary-button:hover,
.error-404-secondary:hover {
    background: var(--black) !important;
    color: var(--white) !important;
}

/* Header — requested white */
.site-header {
    position: sticky;
    top: 0;
    z-index: 999;
    background: var(--white) !important;
    border-bottom: 1px solid var(--line) !important;
    color: var(--black) !important;
}
.site-header.header-scrolled {
    background: rgba(255,255,255,.98) !important;
    box-shadow: 0 10px 30px rgba(0,0,0,.07) !important;
}
.header-inner { min-height: 76px; }
.site-logo, .site-logo:hover, .site-logo-catch { color: var(--black) !important; }
.site-logo-tv { color: var(--brand) !important; }
.header-brand .custom-logo { width: auto; max-width: 190px; max-height: 48px; object-fit: contain; }
.desktop-navigation { margin-left: auto; }
.desktop-menu > li > a {
    color: rgba(0,0,0,.78) !important;
    font-size: 14px;
    font-weight: 650;
}
.desktop-menu > li > a:hover,
.desktop-menu .current-menu-item > a,
.desktop-menu .current_page_item > a,
.desktop-menu .current-menu-ancestor > a { color: var(--black) !important; }
.desktop-menu > li > a::after { background: var(--brand) !important; }
.mobile-menu-toggle {
    border: 1px solid var(--line) !important;
    background: var(--white) !important;
}
.hamburger-line { background: var(--black) !important; }
.mobile-navigation, .mobile-navigation-inner {
    background: var(--white) !important;
    color: var(--black) !important;
}
.mobile-menu a {
    color: var(--black) !important;
    border-color: var(--line) !important;
}
.mobile-menu .current-menu-item > a,
.mobile-menu .current_page_item > a { color: var(--brand) !important; }

/* Shared section rhythm and contrast normalization */
.homepage,
.app-page,
.channel-list-page,
.faq-page,
.contact-page,
.pricing-page,
.blog-page,
.single-post-page,
.standard-page { background: var(--white) !important; color: var(--black) !important; }

.home-hero,
.home-features,
.home-pricing,
.home-benefits,
.home-about,
.home-testimonials,
.home-library,
.home-blog,
.app-hero,
.app-intro,
.app-features,
.app-devices,
.app-benefits,
.app-download,
.channels-hero,
.channels-intro,
.channel-categories,
.international-channels,
.channel-quality,
.faq-hero,
.faq-section,
.contact-hero,
.contact-section,
.blog-hero,
.blog-list-section,
.single-post-header,
.single-post-content-section,
.pricing-section,
.pricing-includes,
.pricing-compatibility {
    background: var(--white) !important;
    color: var(--black) !important;
}

.home-features,
.home-benefits,
.home-testimonials,
.home-blog,
.app-features,
.app-devices,
.channel-categories,
.international-channels,
.faq-section,
.contact-section,
.blog-list-section,
.pricing-includes {
    border-top: 1px solid var(--line);
}

.home-features,
.home-benefits,
.home-about,
.home-testimonials,
.home-library,
.home-blog,
.app-intro,
.app-features,
.app-devices,
.app-benefits,
.app-download,
.channels-intro,
.channel-categories,
.international-channels,
.channel-quality,
.faq-section,
.contact-section,
.blog-list-section,
.pricing-includes,
.pricing-compatibility { padding: 88px 0 !important; }

/* Existing media-library images */
.catchon-media-frame {
    position: relative;
    overflow: hidden;
    margin: 0;
    min-height: 360px;
    border: 1px solid var(--line);
    border-radius: 22px;
    background: var(--white);
    box-shadow: var(--shadow-md);
}
.catchon-media-frame-hero { min-height: 440px; }
.catchon-media-frame-app { min-height: 420px; }
.catchon-section-image { display: block; width: 100%; height: 100%; min-height: inherit; }
.catchon-media-contain .catchon-section-image { object-fit: contain; padding: 18px; background: var(--white); }
.catchon-media-cover .catchon-section-image { object-fit: cover; }
.catchon-media-badge {
    position: absolute;
    left: 18px;
    bottom: 18px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    max-width: calc(100% - 36px);
    padding: 9px 12px;
    border-radius: 8px;
    background: rgba(0,0,0,.84);
    color: var(--white) !important;
    font-size: 13px;
    font-weight: 700;
}
.catchon-live-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--brand); }

/* Homepage */
.home-hero { padding: 76px 0 72px !important; }
.home-hero-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(420px,.92fr); gap:64px; align-items:center; }
.home-hero-content { max-width: 660px; }
.home-hero h1 { margin-bottom: 20px; }
.home-hero-description { max-width: 620px; margin:0; color:var(--muted) !important; font-size:clamp(1.05rem,1.6vw,1.18rem); }
.home-hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.home-hero-highlights {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    margin-top:36px;
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
}
.home-hero-highlights > div { padding:17px 18px 17px 0; }
.home-hero-highlights > div + div { padding-left:20px; border-left:1px solid var(--line); }
.home-hero-highlights strong { display:block; color:var(--black) !important; font-size:1.45rem; }
.home-hero-highlights span { display:block; margin-top:4px; color:var(--muted) !important; font-size:13px; }

.home-feature-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.home-feature-card,
.benefit-card,
.testimonial-card,
.library-stat,
.app-feature-card,
.device-card,
.channel-category-card,
.country-item,
.contact-info-item,
.contact-support-box,
.contact-form-card,
.faq-item,
.blog-card,
.home-blog-card,
.sidebar-box,
.app-benefits-box,
.download-option,
.app-download-box {
    border:1px solid var(--line) !important;
    border-radius:var(--radius) !important;
    background:var(--white) !important;
    color:var(--black) !important;
    box-shadow:none !important;
}
.home-feature-card,
.benefit-card,
.app-feature-card,
.device-card,
.channel-category-card { padding:27px !important; }
.home-feature-card:hover,
.benefit-card:hover,
.app-feature-card:hover,
.device-card:hover,
.channel-category-card:hover,
.blog-card:hover,
.home-blog-card:hover { border-color:rgba(231,65,47,.42) !important; box-shadow:var(--shadow-sm) !important; transform:translateY(-3px); }

/* Icons: mostly white surfaces with red glyphs, not red blocks. */
.home-feature-icon,
.benefit-card > span,
.app-feature-icon,
.channel-icon,
.contact-info-icon,
.device-card-icon,
.download-icon,
.pricing-include-item > span {
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    width:44px;
    height:44px;
    margin-bottom:17px;
    border:1px solid rgba(231,65,47,.28) !important;
    border-radius:11px;
    background:var(--white) !important;
    color:var(--brand) !important;
    font-size:20px;
    line-height:1;
}

/* Homepage pricing uses the same pricing components as /pricing/. */
.home-pricing { padding:88px 0 !important; background:var(--soft) !important; }
.home-pricing .pricing-device-tabs,
.pricing-section .pricing-device-tabs { border-color:var(--line) !important; background:var(--white) !important; }
.home-pricing .pricing-grid { grid-template-columns:repeat(4,1fr); gap:22px; }
.pricing-device-tab { color:var(--black) !important; background:transparent !important; text-transform:none !important; }
.pricing-device-tab:hover { color:var(--brand) !important; }
.pricing-device-tab.active { background:var(--brand) !important; color:var(--white) !important; box-shadow:none !important; }
.pricing-card { border-color:var(--line) !important; background:var(--white) !important; box-shadow:var(--shadow-sm) !important; }
.pricing-card:hover { border-color:var(--brand) !important; box-shadow:var(--shadow-md) !important; }
.pricing-card-featured { border-color:var(--brand) !important; }
.pricing-popular-badge { background:var(--brand) !important; color:var(--white) !important; text-transform:none !important; }
.pricing-device-count, .pricing-features li::before { color:var(--brand) !important; }
.pricing-plan-label, .pricing-features li { color:var(--muted) !important; }
.pricing-card-price, .pricing-card-price ins, .pricing-card-price .woocommerce-Price-amount { color:var(--black) !important; }
.home-pricing-more { margin-top:28px; text-align:center; }
.home-text-link { color:var(--brand) !important; font-weight:700; }

/* Dark sports block — one intentional black content section. */
.home-sports { padding:90px 0 !important; background:var(--black) !important; }
.home-sports-grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr); gap:58px; align-items:center; }
.home-sports h2, .home-sports h3, .home-sports strong { color:var(--white) !important; }
.home-sports p { color:rgba(255,255,255,.72) !important; }
.home-sports .section-label { color:var(--brand) !important; }
.sports-tags { display:flex; flex-wrap:wrap; gap:9px; margin:26px 0; }
.sports-tags span { padding:8px 12px; border:1px solid rgba(255,255,255,.2) !important; border-radius:999px; background:transparent !important; color:var(--white) !important; font-size:13px; font-weight:650; }
.home-sports .catchon-media-frame { border-color:rgba(255,255,255,.14); box-shadow:none; }
.sports-visual-card { border-color:rgba(255,255,255,.16) !important; background:rgba(255,255,255,.06) !important; }
.sports-big-icon { color:var(--brand) !important; filter:grayscale(1); }

.benefits-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.home-about-grid { display:grid; grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr); gap:64px; align-items:center; }
.home-about-visual { display:block; }
.catchon-about-media {
    min-height:480px;
    aspect-ratio: 4 / 3;
    box-shadow:var(--shadow-sm);
}
.catchon-about-media .catchon-section-image {
    width:100%;
    height:100%;
    object-fit:cover;
}
.catchon-about-media-fallback {
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:480px;
    aspect-ratio:4 / 3;
    border:1px solid var(--line);
    border-radius:22px;
    background:var(--soft);
    color:var(--brand);
}
.catchon-about-media-fallback svg { width:72px; height:72px; }
.about-checklist { padding:0; list-style:none; }
.about-checklist li { position:relative; padding-left:28px; color:var(--muted-strong) !important; }
.about-checklist li::before { content:"✓"; position:absolute; left:0; color:var(--brand) !important; font-weight:900; }

/* Testimonials stay light to reduce dark/orange visual weight. */
.home-testimonials { background:var(--soft) !important; }
.testimonial-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.testimonial-card { padding:27px !important; }
.testimonial-stars { color:var(--brand) !important; letter-spacing:.08em; }
.testimonial-customer { display:grid !important; grid-template-columns:auto 1fr; column-gap:11px; align-items:center; }
.testimonial-customer strong, .testimonial-customer span { grid-column:2; }
.testimonial-customer strong { color:var(--black) !important; }
.testimonial-customer span { color:var(--muted) !important; }
.testimonial-avatar { grid-column:1; grid-row:1 / span 2; width:42px; height:42px; border-radius:50%; object-fit:cover; border:1px solid var(--line); }
.library-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.library-stat { padding:32px !important; }
.library-stat strong { color:var(--brand) !important; }
.home-blog-grid, .blog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.home-blog-card, .blog-card { overflow:hidden; }
.home-blog-image, .blog-card-image { aspect-ratio:16/9; object-fit:cover; background:var(--soft) !important; }
.home-blog-content, .blog-card-content { padding:23px !important; }
.home-blog-date, .blog-card-meta { color:var(--brand) !important; font-size:13px; font-weight:700; }

/* Final CTA sections: black, not red. */
.home-final-cta,
.app-final-cta,
.channels-final-cta,
.faq-contact-cta {
    padding:74px 0 !important;
    background:var(--black) !important;
    color:var(--white) !important;
}
.home-final-cta h2,
.app-final-cta h2,
.channels-final-cta h2,
.faq-contact-cta h2 { color:var(--white) !important; }
.home-final-cta p,
.app-final-cta p,
.channels-final-cta p,
.faq-contact-cta p { color:rgba(255,255,255,.72) !important; }
.home-final-cta .section-label,
.app-final-cta .section-label,
.channels-final-cta .section-label,
.faq-contact-cta .section-label { color:var(--brand) !important; }
.home-final-outline,
.faq-secondary-button { border-color:rgba(255,255,255,.7) !important; background:transparent !important; color:var(--white) !important; }
.home-final-outline:hover,
.faq-secondary-button:hover { background:var(--white) !important; color:var(--black) !important; }

/* Pricing — keep the established layout, just translate color to brand/black/white. */
.pricing-hero { padding:94px 0 !important; background:var(--black) !important; color:var(--white) !important; }
.pricing-hero h1 { color:var(--white) !important; }
.pricing-hero p { color:rgba(255,255,255,.80) !important; }
.pricing-hero .section-label { color:var(--brand) !important; }
.pricing-section { padding:96px 0 !important; }
.pricing-includes { background:var(--soft) !important; }
.pricing-include-item, .compatibility-item { border-color:var(--line) !important; background:var(--white) !important; box-shadow:none !important; }
.compatibility-item span { color:var(--brand) !important; filter:grayscale(1); }
.pricing-guarantee { background:var(--white) !important; }
.pricing-guarantee-box { background:var(--black) !important; color:var(--white) !important; }
.pricing-guarantee-box h2 { color:var(--white) !important; }
.pricing-guarantee-box p { color:rgba(255,255,255,.76) !important; }
.pricing-guarantee-box .section-label { color:var(--brand) !important; }

/* App */
.app-hero { padding:76px 0 72px !important; }
.app-hero-grid, .app-benefits-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(420px,.95fr); gap:62px; align-items:center; }
.app-hero-content > p, .app-benefits-content > p { color:var(--muted) !important; font-size:1.05rem; }
.app-feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:18px !important; }
.device-grid { gap:16px !important; }
.app-devices { background:var(--soft) !important; }
.app-benefits-box { padding:32px !important; border-left:3px solid var(--brand) !important; }
.app-benefit-item > span { color:var(--brand) !important; font-weight:900; }
.app-benefits-small { color:var(--brand) !important; text-transform:none !important; }
.app-download-box { padding:36px !important; }
.app-download-media { overflow:hidden; margin:24px 0; border:1px solid var(--line); border-radius:16px; background:var(--white); }
.app-download-media img { display:block; width:100%; max-height:420px; object-fit:contain; padding:12px; }
.download-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.download-option { display:grid !important; grid-template-columns:auto 1fr auto; gap:14px; align-items:center; padding:18px !important; }

/* Channels */
.channels-hero, .faq-hero, .contact-hero, .blog-hero { padding:70px 0 58px !important; border-bottom:1px solid var(--line); }
.channels-hero .container, .faq-hero .container, .contact-hero .container { max-width:900px; }
.channel-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:18px !important; }
.channel-category-card h2 { font-size:1.34rem !important; }
.channel-category-card ul { margin-bottom:0; }
.country-grid { gap:10px !important; }
.country-item { padding:14px 16px !important; color:var(--black) !important; }
.channel-quality { background:var(--soft) !important; }
.channel-quality-box { padding:38px !important; border:1px solid var(--line) !important; background:var(--white) !important; }
.channel-quality h2, .channel-quality h3, .channel-quality strong { color:var(--black) !important; }
.channel-quality p, .channel-quality li { color:var(--muted) !important; }

/* Contact */
.contact-grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr); gap:50px; align-items:start; }
.contact-info-item { padding:21px !important; }
.contact-support-box { padding:23px !important; border-left:3px solid var(--brand) !important; }
.contact-text-link { color:var(--brand) !important; font-weight:700; }
.contact-form-card { padding:32px !important; box-shadow:var(--shadow-sm) !important; }
.catchon-contact-form input,
.catchon-contact-form textarea,
.catchon-contact-form select {
    width:100%;
    border:1px solid rgba(0,0,0,.18) !important;
    border-radius:9px !important;
    background:var(--white) !important;
    color:var(--black) !important;
}
.catchon-contact-form input:focus,
.catchon-contact-form textarea:focus,
.catchon-contact-form select:focus { outline:2px solid rgba(231,65,47,.18) !important; border-color:var(--brand) !important; }
.contact-form-message { border:1px solid var(--brand) !important; background:var(--white) !important; color:var(--black) !important; }

/* FAQ */
.faq-list { max-width:900px; margin:0 auto; }
.faq-item { margin-bottom:11px !important; overflow:hidden; border-radius:13px !important; }
.faq-question { min-height:64px; background:var(--white) !important; color:var(--black) !important; font-size:17px !important; font-weight:700 !important; text-transform:none !important; }

/* =====================================================
   SITE-WIDE TYPOGRAPHY
   One local system font keeps rendering consistent and
   avoids external font requests. Arial regular is used
   for reading copy; Arial bold is reserved for hierarchy.
   ===================================================== */

html,
body,
button,
input,
select,
textarea {
    font-family: Arial, sans-serif !important;
}

body,
p,
input,
select,
textarea {
    font-weight: 400;
}

h1,
h2,
h3,
h4,
h5,
h6,
strong,
b {
    font-weight: 700 !important;
}
.faq-item.active .faq-question { color:var(--brand) !important; }
.faq-icon { color:var(--brand) !important; }
.faq-answer, .faq-answer-inner { background:var(--white) !important; color:var(--muted) !important; }

/* Blog / archive / single */
.blog-card h2 { font-size:1.35rem !important; }
.blog-pagination .page-numbers { border-color:var(--line) !important; background:var(--white) !important; color:var(--black) !important; }
.blog-pagination .page-numbers.current, .blog-pagination .page-numbers:hover { background:var(--brand) !important; border-color:var(--brand) !important; color:var(--white) !important; }
.single-post-header { padding:68px 0 54px !important; }
.single-post-header-inner { max-width:900px; }
.single-post-categories a, .single-post-tags a, .single-post-content-section article a { color:var(--brand) !important; }
.single-featured-image { overflow:hidden; border-radius:20px !important; }
.single-post-content-section { padding:72px 0 !important; }
.single-post-layout { gap:44px !important; }
.single-post-content-section article, .single-post-content-section .page-content { color:var(--black) !important; }
.sidebar-box { padding:24px !important; }

/* 404 */
.error-404-section { background:var(--white) !important; color:var(--black) !important; }
.error-404-section h1, .error-404-section h2 { color:var(--black) !important; }
.error-404-number { color:var(--brand) !important; }
.error-404-section p { color:var(--muted) !important; }

/* Footer — requested dark */
.site-footer, .footer-main, .footer-bottom { background:var(--black) !important; color:var(--white) !important; }
.footer-main { border-top:1px solid rgba(255,255,255,.10) !important; }
.footer-logo, .footer-logo-catch, .footer-column h3, .footer-contact strong { color:var(--white) !important; }
.footer-logo-tv { color:var(--brand) !important; }
.footer-brand .custom-logo { width:auto; max-width:190px; max-height:54px; object-fit:contain; }
.footer-description, .footer-support-text, .footer-contact p, .footer-contact address, .footer-bottom p, .footer-column li, .footer-column a { color:rgba(255,255,255,.68) !important; }
.footer-column a:hover, .footer-bottom-links a:hover, .footer-contact-link:hover { color:var(--brand) !important; }
.footer-cta { border-color:rgba(255,255,255,.25) !important; background:transparent !important; color:var(--white) !important; }
.footer-cta:hover { background:var(--white) !important; border-color:var(--white) !important; color:var(--black) !important; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.10) !important; }

/* Accessible focus */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible { outline:3px solid rgba(231,65,47,.35) !important; outline-offset:3px; }

@media (max-width:1024px) {
    .home-hero-grid, .home-sports-grid, .home-about-grid, .app-hero-grid, .app-benefits-grid, .contact-grid { grid-template-columns:1fr; gap:38px; }
    .home-feature-grid, .benefits-grid, .channel-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
    .home-blog-grid, .blog-grid, .testimonial-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .catchon-media-frame-hero, .catchon-media-frame-app { min-height:380px; }
}

@media (max-width:767px) {
    body { font-size:16px; }
    .container { width:min(100% - 28px, 1180px); }
    h1 { font-size:clamp(2.15rem,10.7vw,3rem) !important; }
    h2 { font-size:clamp(1.75rem,7.8vw,2.35rem) !important; }
    .home-hero, .app-hero { padding:52px 0 50px !important; }
    .home-features, .home-pricing, .home-sports, .home-benefits, .home-about, .home-testimonials, .home-library, .home-blog,
    .app-intro, .app-features, .app-devices, .app-benefits, .app-download,
    .pricing-section, .pricing-includes, .pricing-compatibility,
    .channels-intro, .channel-categories, .international-channels, .channel-quality,
    .contact-section, .faq-section, .blog-list-section, .single-post-content-section { padding-top:60px !important; padding-bottom:60px !important; }
    .section-heading { margin-bottom:32px; }
    .home-hero-highlights { grid-template-columns:1fr; }
    .home-hero-highlights > div, .home-hero-highlights > div + div { padding:12px 0; border-left:0; border-top:1px solid var(--line); }
    .home-hero-highlights > div:first-child { border-top:0; }
    .home-feature-grid, .benefits-grid, .channel-grid, .home-blog-grid, .blog-grid, .testimonial-grid, .library-grid, .app-feature-grid, .download-options, .about-stat-row { grid-template-columns:1fr !important; }
    .home-pricing .pricing-grid { grid-template-columns:1fr !important; }
    .catchon-media-frame, .catchon-media-frame-hero, .catchon-media-frame-app { min-height:280px; border-radius:16px; }
    .home-hero-actions, .app-hero-buttons, .home-final-actions, .faq-cta-buttons { flex-direction:column; align-items:stretch; }
    .home-hero-actions .catchon-button, .app-hero-buttons .catchon-button, .home-final-actions .catchon-button, .faq-cta-buttons .catchon-button { width:100%; }
    .download-option { grid-template-columns:auto 1fr !important; }
    .download-option .download-button { grid-column:1 / -1; width:100%; }
    .contact-form-card, .app-download-box, .channel-quality-box { padding:22px !important; }
}

@media (prefers-reduced-motion:reduce) {
    *,*::before,*::after { scroll-behavior:auto !important; transition-duration:.01ms !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; }
}


.catchon-icon-svg {
    width: 23px;
    height: 23px;
    display: block;
    color: var(--brand);
}
.home-feature-icon .catchon-icon-svg,
.benefit-card > span .catchon-icon-svg,
.app-feature-icon .catchon-icon-svg,
.channel-icon .catchon-icon-svg,
.contact-info-icon .catchon-icon-svg,
.device-card-icon .catchon-icon-svg,
.download-icon .catchon-icon-svg {
    color: var(--brand);
}
.sports-big-icon .catchon-icon-svg {
    width: 42px;
    height: 42px;
    color: var(--brand);
}


/* Final specificity pass for light heroes and fallback artwork. */
.channels-hero p,
.faq-hero p,
.contact-hero p,
.blog-hero p,
.archive-description {
    color: var(--muted) !important;
}
.streaming-screen {
    border: 1px solid rgba(255,255,255,.12) !important;
    background: var(--black) !important;
    box-shadow: var(--shadow-md) !important;
}
.streaming-featured {
    background: var(--black) !important;
    border: 1px solid rgba(255,255,255,.12) !important;
}
.streaming-featured span,
.screen-live {
    color: var(--white) !important;
}
.screen-live {
    background: var(--brand) !important;
}
.stream-card {
    background: rgba(255,255,255,.07) !important;
    border-color: rgba(255,255,255,.12) !important;
    color: var(--white) !important;
}
.stream-card span { color: var(--brand) !important; }
.app-device-card {
    border: 1px solid var(--line) !important;
    background: var(--white) !important;
    color: var(--black) !important;
    box-shadow: var(--shadow-sm) !important;
}
.app-device-card h3 { color: var(--black) !important; }
.app-device-card p { color: var(--muted) !important; }
.app-device-icon {
    border: 1px solid rgba(231,65,47,.28) !important;
    background: var(--white) !important;
    color: var(--brand) !important;
}
.blog-card-placeholder {
    background: var(--black) !important;
    color: var(--white) !important;
}
.single-post-categories a {
    background: transparent !important;
    border-color: var(--line) !important;
    color: var(--brand) !important;
}


/* =====================================================
   v4 — approved media assets and logo presentation
   ===================================================== */
.catchon-site-logo-image { display:block; width:auto; height:46px; max-width:190px; object-fit:contain; }
.catchon-footer-logo-image { display:block; width:auto; height:50px; max-width:190px; object-fit:contain; }
.app-hero .catchon-media-frame-app { min-height:430px; background:var(--white) !important; box-shadow:none !important; }
.app-hero .catchon-media-frame-app .catchon-section-image { object-fit:contain !important; padding:24px !important; }
.device-card-with-image { display:flex; flex-direction:column; justify-content:flex-start; }
.device-card-media { display:flex; align-items:center; justify-content:center; min-height:150px; margin:-5px 0 18px; }
.device-card-media img { display:block; width:100%; max-width:210px; height:140px; object-fit:contain; }
.app-player-apps { padding:88px 0; border-top:1px solid var(--line); background:var(--soft) !important; }
.player-app-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.player-app-card { display:flex; min-height:190px; flex-direction:column; align-items:center; justify-content:center; padding:26px 20px; border:1px solid var(--line); border-radius:var(--radius); background:var(--white); text-align:center; }
.player-app-card img { display:block; width:78px; height:78px; margin-bottom:18px; border-radius:17px; object-fit:contain; }
.player-app-card h3 { margin:0; font-size:18px !important; }
.app-download-media { display:flex; align-items:center; justify-content:center; max-width:620px; margin:0 auto 34px; }
.app-download-media img { display:block; width:100%; max-height:290px; object-fit:contain; }
.channel-logo-showcase { padding:70px 0 82px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--soft) !important; }
.channel-logo-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:14px; }
.channel-logo-item { display:flex; min-height:110px; align-items:center; justify-content:center; padding:18px; border:1px solid var(--line); border-radius:14px; background:var(--white); }
.channel-logo-item img { display:block; width:100%; max-width:135px; max-height:64px; object-fit:contain; }
.catchon-about-media .catchon-section-image { object-fit:contain !important; padding:18px; background:var(--white); }
@media (max-width:1024px) { .player-app-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .channel-logo-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:767px) { .catchon-site-logo-image { height:40px; max-width:165px; } .app-player-apps,.channel-logo-showcase { padding:60px 0; } .player-app-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; } .player-app-card { min-height:160px; padding:20px 14px; } .player-app-card img { width:66px; height:66px; } .channel-logo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; } .channel-logo-item { min-height:92px; padding:14px; } }
