@font-face {
    font-family: 'SolaimanLipi';
    src: url('../fonts/solaiman-lipi.woff') format('woff');
    font-display: swap;
}

:root {
    --ref-ink: #171717;
    --ref-muted: #5d6268;
    --ref-line: #e2e2e2;
    --ref-red: #ed1c24;
    --ref-grey: #f1f1f1;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.news-site {
    margin: 0;
    background: #fff;
    color: var(--ref-ink);
    font-family: 'SolaimanLipi', 'Noto Serif Bengali', serif;
    font-size: 20px;
    line-height: 1.36;
}
.news-site a { color: inherit; text-decoration: none; }
.news-site a:hover, .news-site a:focus { color: var(--ref-red); text-decoration: none; }
.news-site img { display: block; width: 100%; max-width: 100%; }
.news-site .container { width: 1658px; max-width: calc(100% - 48px); }

/* The admin layout choice applies to the homepage and article pages. */
html.home-layout-boxed { background: #e9ecef; }
body.news-site.home-layout-boxed { width: 100%; max-width: 1360px; margin: 0 auto; box-shadow: 0 0 18px rgba(0, 0, 0, .12); }
.news-site.home-layout-full .container { width: calc(100% - 48px); max-width: none; }

@media (min-width: 1351px) {
    .home-layout-full .ref-main-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 2.14fr) minmax(0, 1fr); }
    .home-layout-boxed .ref-main-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.8fr) minmax(0, 1fr); }
    .home-layout-boxed .site-brand-row { grid-template-columns: 320px minmax(0, 1fr) 160px; }
    .home-layout-boxed .site-logo { width: 300px; }
    .home-layout-boxed .ref-horizontal-card { grid-template-columns: 220px minmax(0, 1fr); }
    .home-layout-boxed .ref-horizontal-card img { width: 220px; }
    .home-layout-boxed .ref-mini-row { grid-template-columns: minmax(0, 1fr) 150px; }
}

/* Header: a thin, white news masthead matching the reference proportions. */
.live-tv-bar { background: #080808; color: #fff; }
.live-tv-bar iframe { display: block; width: 100%; min-height: 260px; border: 0; }
.site-header { background: #fff; border-bottom: 1px solid #ddd; }
.site-brand-row { min-height: 132px; display: grid; grid-template-columns: 440px 1fr 190px; gap: 28px; align-items: center; }
.site-logo { display: block; width: 405px; max-width: 100%; }
.site-logo img { width: auto; max-width: 100%; max-height: 102px; object-fit: contain; }
.site-date { color: #6a6a6a; font-size: 19px; align-self: center; }
.site-date .fa { margin-right: 7px; }
.date-divider { margin: 0 9px; color: #bbb; }
.site-social { display: flex; justify-content: flex-end; gap: 14px; }
.site-social a { width: 37px; height: 37px; border: 2px solid #6f6f6f; color: #4e4e4e; border-radius: 50%; display: grid; place-items: center; font: 19px Arial, sans-serif; }
.site-social a:hover { color: #fff; border-color: var(--ref-red); background: var(--ref-red); }

.main-navigation { border-top: 1px solid #ededed; border-bottom: 1px solid #dedede; min-height: 54px; }
.main-navigation .navbar-collapse { position: relative; padding: 0; }
.site-menu { display: flex; flex-wrap: wrap; margin: 0; }
.site-menu > li { position: relative; }
.site-menu > li > a { padding: 13px 17px 12px; color: #222; font-size: 22px; font-weight: 400; line-height: 28px; }
.site-menu > li:first-child > a { color: var(--ref-red); }
.site-menu > li > a:hover, .site-menu > li.open > a, .site-menu > li.open > a:hover { color: var(--ref-red); background: transparent; }
.site-menu .dropdown-menu { min-width: 210px; margin-top: 0; padding: 5px 0; border: 1px solid #ddd; border-radius: 0; box-shadow: 0 8px 20px rgba(0,0,0,.12); font-size: 19px; }
.site-menu .dropdown-menu > li > a { padding: 9px 15px; }
.menu-caret { position: absolute; top: 0; right: 0; width: 30px; height: 53px; border: 0; background: transparent; }
.site-menu > li.dropdown > a { padding-right: 29px; }
.nav-search { position: absolute; top: 0; right: 0; height: 53px; width: 48px; display: grid; place-items: center; color: #3c3c3c; font: 20px Arial, sans-serif; }
.news-menu-toggle { float: none; margin: 9px 0; border-color: #aaa; }
.news-menu-toggle .icon-bar { background: #444; }

@media (min-width: 768px) {
    /* Keep the search button out of the wrapping menu links on tablets. */
    .main-navigation .navbar-collapse { padding-right: 52px; }
}

/* The reference starts its home content right after the navigation. */
.breaking-news { display: none; }

.reference-home { padding: 30px 0 58px; }
.ref-main-grid { display: grid; grid-template-columns: 390px minmax(0, 836px) 390px; gap: 21px; align-items: start; }
.ref-lead-list { order: -1; border-right: 1px solid #d3d3d3; padding-right: 18px; }
.ref-lead-item { display: grid; grid-template-columns: minmax(0, 1fr) 132px; gap: 13px; padding: 5px 0 19px; margin-bottom: 16px; border-bottom: 1px solid var(--ref-line); }
.ref-lead-item h2 { margin: 0; font-size: 25px; line-height: 1.27; font-weight: 700; }
.ref-lead-item p { margin: 10px 0 0; color: var(--ref-muted); font-size: 19px; line-height: 1.38; }
.ref-lead-item img { height: 88px; object-fit: cover; }
.ref-lead-item:nth-of-type(n+4) { display: block; padding-bottom: 12px; margin-bottom: 10px; }
.ref-lead-item:nth-of-type(n+4) img { display: none; }
.ref-lead-item:nth-of-type(n+4) p { display: none; }

.ref-hero { border-right: 1px solid #d3d3d3; padding-right: 18px; }
.ref-hero-image { height: 454px; object-fit: cover; }
.ref-hero h1 { margin: 22px 0 8px; font-size: 35px; line-height: 1.24; font-weight: 700; }
.ref-hero-summary { color: var(--ref-muted); font-size: 19px; line-height: 1.45; margin: 0 0 15px; }
.ref-hero-stream { border-top: 1px solid var(--ref-line); }
.ref-media-row { display: grid; grid-template-columns: 248px minmax(0, 1fr); gap: 14px; padding: 16px 0; border-bottom: 1px solid var(--ref-line); }
.ref-media-row img { height: 132px; object-fit: cover; }
.ref-media-row h2 { font-size: 24px; line-height: 1.25; margin: 0; }
.ref-media-row p { color: var(--ref-muted); font-size: 18px; line-height: 1.36; margin: 9px 0 0; }

.ref-ad-rail { padding-left: 0; }
.ref-ad { margin-bottom: 16px; background: #f7f7f7; }
/* Fit large banners into the rail without enlarging smaller original images. */
.news-site .ref-ad img { width: auto; max-width: 100%; height: auto; margin: 0 auto; object-fit: contain; }
.ref-brand-promo { height: 318px; color: #333; background: linear-gradient(135deg, #fff 0%, #fafafa 70%, #f1f1f1 100%); display: flex; flex-direction: column; justify-content: center; align-items: center; margin: 16px 0; border: 1px solid #f4f4f4; font-size: 34px; line-height: 1.1; }
.ref-brand-promo span { color: #777; font-size: 24px; margin-right: 76px; }
.ref-brand-promo strong { color: #f47721; font-size: 40px; font-weight: 700; }
.ref-ad-bottom { margin-bottom: 0; }

.ref-four-stories { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; margin: 37px 0 104px; }
.ref-four-stories img { height: 205px; object-fit: cover; }
.ref-four-stories h2 { margin: 12px 0 6px; font-size: 24px; line-height: 1.25; font-weight: 700; }
.ref-four-stories p { margin: 0; color: var(--ref-muted); font-size: 18px; line-height: 1.36; }

.ref-primary-section { background: var(--ref-grey); padding: 0 42px 37px; margin-bottom: 55px; }
.ref-centered-heading { min-height: 65px; display: flex; align-items: center; justify-content: center; position: relative; border-bottom: 1px solid #ddd; }
.ref-centered-heading h2 { margin: 0; font-size: 30px; font-weight: 700; }
.ref-centered-heading > a { position: absolute; right: 0; color: var(--ref-red); font-size: 17px; }
.ref-primary-grid { display: grid; grid-template-columns: 1fr 1fr; column-gap: 48px; row-gap: 24px; padding-top: 25px; }
.ref-horizontal-card { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 19px; align-items: start; }
.ref-horizontal-card img { width: 300px; height: 166px; object-fit: cover; }
.ref-horizontal-card h3 { margin: 0; font-size: 24px; line-height: 1.25; }
.ref-horizontal-card p { margin: 10px 0 0; color: var(--ref-muted); font-size: 18px; line-height: 1.35; }

.ref-sports-section { margin-bottom: 55px; }
.ref-white-heading { border-top: 1px solid #ddd; }
.ref-sports-grid { display: grid; grid-template-columns: 1.05fr 1fr 1.05fr; gap: 18px; padding-top: 24px; }
.ref-mini-list { border-right: 1px solid #d9d9d9; padding-right: 18px; }
.ref-mini-list-right { border-left: 1px solid #d9d9d9; border-right: 0; padding: 0 0 0 18px; }
.ref-mini-row { display: grid; grid-template-columns: minmax(0, 1fr) 190px; gap: 14px; padding: 0 0 17px; margin-bottom: 17px; border-bottom: 1px solid var(--ref-line); }
.ref-mini-row h3 { margin: 0; font-size: 23px; line-height: 1.3; }
.ref-mini-row img { height: 105px; object-fit: cover; }
.ref-sport-feature { padding: 0 2px; }
.ref-sport-feature img { height: 270px; object-fit: cover; }
.ref-sport-feature h2 { margin: 12px 0 5px; font-size: 29px; line-height: 1.24; }
.ref-sport-feature p { color: var(--ref-muted); font-size: 18px; line-height: 1.4; margin: 0; }

.ref-video-section { background: #101010; color: #fff; padding: 22px 0 26px; margin: 0 0 52px; }
.ref-video-heading { border-bottom: 1px solid #2e2e2e; padding: 0 0 12px; margin-bottom: 17px; }
.ref-video-heading h2 { margin: 0; color: #fff; font-size: 27px; }
.ref-video-top { display: grid; grid-template-columns: 1.35fr 1.65fr; gap: 28px; }
.ref-video-feature { background: #1f1f1f; padding: 20px; }
.ref-video-frame { position: relative; padding-bottom: 46%; height: 0; overflow: hidden; background: #000; }
.ref-video-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.ref-video-feature h2 { color: #fff; font-size: 25px; line-height: 1.25; margin: 12px 0 0; }
.ref-video-side { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; align-content: start; background: #202020; padding: 20px; }
.ref-video-side article { min-width: 0; }
.ref-play { position: relative; display: block; }
.ref-play::after { content: '\f04b'; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: rgba(237,28,36,.9); color: #fff; font: 23px FontAwesome; }
.ref-video-side img { height: 126px; object-fit: cover; }
.ref-video-side h3, .ref-video-bottom h3 { color: #fff; font-size: 19px; line-height: 1.25; text-align: center; margin: 9px 0 0; }
.ref-video-bottom { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; padding: 22px 20px 0; margin-top: 20px; background: #202020; }
.ref-video-bottom img { height: 116px; object-fit: cover; }

.ref-entertainment-section { margin-bottom: 52px; }
.ref-entertainment-grid { display: grid; grid-template-columns: 1.24fr 1.23fr .82fr; gap: 18px; }
.ref-section-label { min-height: 46px; border-bottom: 1px solid var(--ref-line); display: flex; align-items: center; }
.ref-section-label h2 { margin: 0; font-size: 27px; }
.ref-section-label .fa { font-size: 22px; color: #777; }
.ref-entertainment-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; padding-top: 12px; }
.ref-entertainment-cards img { height: 290px; object-fit: cover; }
.ref-entertainment-cards h2 { font-size: 25px; line-height: 1.25; margin: 10px 0 7px; }
.ref-entertainment-cards p { color: var(--ref-muted); font-size: 18px; line-height: 1.38; margin: 0; }
.ref-compact-column { border-left: 1px solid #dedede; padding-left: 18px; }
.ref-compact-row { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 15px; padding: 12px 0; border-bottom: 1px solid var(--ref-line); }
.ref-compact-row img { height: 75px; object-fit: cover; }
.ref-compact-row h3 { font-size: 21px; line-height: 1.3; margin: 0; }
.ref-feature-rail { border-left: 1px solid #dedede; padding-left: 18px; }
.ref-feature-rail > a { display: block; padding-top: 12px; }
.ref-feature-rail > a img { height: 176px; object-fit: cover; }
.ref-feature-rail h2 { font: 700 20px/1.25 Arial, sans-serif; margin: 10px 0 5px; }
.ref-feature-rail p { color: var(--ref-muted); font-size: 18px; margin: 0; }
.ref-prayer-table { width: 100%; margin-top: 13px; font-size: 16px; border-collapse: collapse; }
.ref-prayer-table td { border-bottom: 1px solid #dedede; padding: 4px 2px; }
.ref-prayer-table td:last-child { text-align: right; color: #777; }

.ref-regional-section { margin-bottom: 40px; }
.ref-regional-heading { min-height: 58px; }
.ref-regional-grid { background: #d3e9e6; display: grid; grid-template-columns: repeat(4, 1fr); gap: 26px; padding: 23px; }
.ref-regional-grid img { height: 177px; object-fit: cover; }
.ref-regional-grid h3 { margin: 8px 0 0; font-size: 21px; line-height: 1.25; text-align: center; }

.ref-category-matrix { display: grid; grid-template-columns: repeat(4, 1fr); column-gap: 36px; row-gap: 43px; padding-top: 3px; }
.ref-matrix-feature { padding-top: 12px; }
.ref-matrix-feature img { height: 190px; object-fit: cover; }
.ref-matrix-feature h3 { margin: 10px 0 0; font-size: 23px; line-height: 1.25; }
.ref-matrix-links a { display: block; padding: 12px 0; font-size: 19px; line-height: 1.28; border-bottom: 1px solid var(--ref-line); }
.ref-matrix-links a:nth-child(2n) { color: var(--ref-red); }
.ref-empty { padding: 20px; color: #6a6a6a; background: #f5f5f5; }

.site-footer { margin-top: 45px; border-top: 1px solid #dedede; background: #fff; padding: 45px 0; }
.footer-content { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2.1fr) minmax(0, 1fr); align-items: stretch; }
/* Bootstrap's container clearfix must not become extra grid items. */
.footer-content::before, .footer-content::after { content: none; display: none; }
.footer-content > * { min-width: 0; }
.footer-brand, .footer-info, .footer-social { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 10px 24px; text-align: center; }
.footer-brand img { width: auto; max-width: 220px; max-height: 60px; margin: 0 auto; object-fit: contain; }
.footer-copyright { margin: 18px 0 0; font: 17px/1.4 Arial, sans-serif; overflow-wrap: anywhere; }
.footer-info { border-left: 1px solid #999; border-right: 1px solid #999; }
.footer-copy { width: 100%; color: #111; font-size: 21px; line-height: 1.45; overflow-wrap: anywhere; }
.footer-copy p:last-child { margin-bottom: 0; }
.footer-social-title { margin: 0 0 14px; font-size: 21px; line-height: 1.35; overflow-wrap: anywhere; }
.footer-social-icons { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; }
.footer-social-icons a { display: grid; place-items: center; width: 38px; height: 38px; border: 2px solid #737373; border-radius: 50%; color: #555; font: 21px/1 Arial, sans-serif; }
.footer-social-icons a:hover, .footer-social-icons a:focus { color: var(--ref-red); border-color: var(--ref-red); }
.footer-back-to-top { position: fixed; right: 18px; bottom: 0; z-index: 100; display: flex; flex-direction: column; align-items: center; justify-content: center; width: 52px; min-height: 62px; padding: 5px; background: #303030; color: #fff !important; font-size: 15px; opacity: 0; visibility: hidden; transition: opacity .2s; }
.footer-back-to-top.is-visible { opacity: 1; visibility: visible; }

@media (max-width: 1350px) {
    .news-site .container { max-width: calc(100% - 32px); }
    .news-site.home-layout-full .container { width: calc(100% - 32px); max-width: none; }
    .site-brand-row { grid-template-columns: 320px 1fr 160px; }
    .site-logo { width: 300px; }
    .site-menu > li > a { padding-left: 11px; padding-right: 11px; }
    .ref-main-grid { grid-template-columns: 1fr 1.8fr 1fr; }
    .ref-horizontal-card { grid-template-columns: 220px minmax(0, 1fr); }
    .ref-horizontal-card img { width: 220px; }
}

@media (max-width: 991px) {
    body.news-site { font-size: 18px; }
    .site-brand-row { grid-template-columns: 270px 1fr auto; min-height: 103px; }
    .site-logo { width: 255px; }
    .site-date { font-size: 16px; }
    .site-social { gap: 7px; }
    .site-social a { width: 30px; height: 30px; }
    .ref-main-grid { grid-template-columns: 1fr 1.55fr; }
    .ref-hero-image { height: auto; aspect-ratio: 16 / 9; }
    .ref-lead-item { grid-template-columns: minmax(0, 1fr) 92px; gap: 10px; }
    .ref-lead-item h2 { font-size: 20px; }
    .ref-lead-item p { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 3; margin-top: 6px; font-size: 16px; }
    .ref-lead-item img { height: 70px; }
    .ref-ad-rail { grid-column: span 2; display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 16px; }
    .ref-ad { min-height: 0; margin-bottom: 0; }
    .ref-ad img { min-height: 0; height: auto; }
    .ref-brand-promo { height: 180px; margin: 0; }
    .ref-primary-section { padding-left: 25px; padding-right: 25px; }
    .ref-four-stories { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 55px; }
    .ref-primary-grid { grid-template-columns: minmax(0, 1fr); }
    .ref-sports-grid { grid-template-columns: 1fr 1.1fr; }
    .ref-mini-list-right { grid-column: span 2; border-left: 0; padding-left: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
    .ref-entertainment-grid { grid-template-columns: 1fr 1fr; }
    .ref-feature-rail { grid-column: span 2; border-left: 0; padding-left: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
    .ref-feature-rail .ref-section-label { grid-column: span 2; }
    .ref-feature-rail > a { padding-top: 0; }
    .ref-category-matrix { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 767px) {
    html.home-layout-boxed { background: #fff; }
    body.news-site.home-layout-boxed { box-shadow: none; }
    body.news-site { font-size: 17px; }
    .news-site .container, .news-site.home-layout-full .container { width: 100%; max-width: 100%; padding-left: 16px; padding-right: 16px; }
    .site-brand-row { min-height: 72px; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; }
    .site-logo { width: 205px; }
    .site-logo img { max-height: 64px; }
    .site-date { display: none; }
    .site-social { gap: 4px; }
    .site-social a { width: 30px; height: 30px; border-width: 1px; font-size: 14px; flex: 0 0 auto; }
    .main-navigation .container { min-height: 48px; }
    .main-navigation .navbar-collapse { margin-left: 0; margin-right: 0; border-top: 1px solid #ddd; }
    .site-menu { display: block; padding: 4px 0; }
    .site-menu > li > a { padding: 8px 2px; font-size: 19px; overflow-wrap: anywhere; }
    .site-menu .dropdown-menu { position: static; float: none; width: 100%; box-shadow: none; }
    .site-menu .dropdown-menu > li > a { white-space: normal; overflow-wrap: anywhere; }
    .nav-search { right: 12px; }
    .reference-home { padding: 16px 0 30px; }
    .ref-main-grid, .ref-four-stories, .ref-primary-grid, .ref-sports-grid, .ref-video-top, .ref-entertainment-grid, .ref-entertainment-cards, .ref-category-matrix { grid-template-columns: minmax(0, 1fr); }
    .reference-home h1, .reference-home h2, .reference-home h3, .reference-home p, .reference-home a { overflow-wrap: anywhere; }
    .ref-main-grid > *, .ref-sports-grid > *, .ref-compact-column, .ref-compact-row h3 { min-width: 0; }
    .ref-lead-list, .ref-hero { border-right: 0; padding-right: 0; }
    .ref-lead-list { order: 0; }
    .ref-lead-item { grid-template-columns: minmax(0, 1fr) 110px; }
    .ref-lead-item h2 { font-size: 20px; }
    .ref-lead-item p { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; margin-top: 6px; font-size: 16px; }
    .ref-lead-item img { height: 80px; }
    .ref-lead-item:nth-of-type(n+4) { display: grid; }
    .ref-lead-item:nth-of-type(n+4) img { display: block; height: 74px; }
    .ref-hero h1 { font-size: 26px; margin-top: 12px; }
    .ref-hero-summary { font-size: 17px; }
    .ref-media-row { grid-template-columns: 120px minmax(0, 1fr); }
    .ref-media-row img { height: 80px; }
    .ref-media-row h2 { font-size: 20px; }
    .ref-media-row p { display: none; }
    .ref-ad-rail { grid-column: auto; grid-template-columns: 1fr; }
    .ref-ad, .ref-ad img, .ref-ad-bottom img { min-height: 0; height: auto; }
    .ref-brand-promo { height: 130px; }
    .ref-four-stories { margin: 24px 0 45px; gap: 20px; }
    .ref-four-stories article { display: grid; grid-template-columns: 120px minmax(0, 1fr); column-gap: 12px; }
    .ref-four-stories img { height: 88px; grid-row: span 2; }
    .ref-four-stories h2 { font-size: 20px; margin: 0; }
    .ref-four-stories p { font-size: 15px; }
    .ref-primary-section { padding: 0 16px 25px; }
    .ref-centered-heading h2 { font-size: 25px; }
    .ref-horizontal-card { grid-template-columns: 120px minmax(0, 1fr); }
    .ref-horizontal-card img { width: 130px; height: 82px; }
    .ref-horizontal-card h3 { font-size: 20px; }
    .ref-horizontal-card p { display: none; }
    .ref-mini-list, .ref-mini-list-right, .ref-compact-column, .ref-feature-rail { border: 0; padding: 0; }
    .ref-mini-list-right { display: block; }
    .ref-mini-row { grid-template-columns: minmax(0, 1fr) 115px; }
    .ref-mini-row img { height: 73px; }
    .ref-mini-row h3 { font-size: 20px; }
    .ref-sport-feature img { height: 225px; }
    .ref-video-section { margin-bottom: 32px; }
    .ref-video-feature { padding: 12px; }
    .ref-video-side, .ref-video-bottom { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; padding: 12px; }
    .ref-video-side img, .ref-video-bottom img { height: auto; aspect-ratio: 16 / 9; }
    .ref-entertainment-cards img { height: 245px; }
    .ref-entertainment-cards h2 { font-size: 23px; }
    .ref-compact-row { grid-template-columns: 110px minmax(0, 1fr); }
    .ref-feature-rail { display: block; }
    .ref-feature-rail .ref-section-label { display: flex; }
    .ref-feature-rail > a img { height: 220px; }
    .ref-regional-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 12px; gap: 12px; }
    .ref-regional-grid img { height: auto; aspect-ratio: 16 / 10; }
    .ref-regional-grid h3 { font-size: 18px; }
    .ref-matrix-feature img { height: auto; aspect-ratio: 16 / 9; }
    .site-footer { padding: 24px 0; }
    .footer-content { grid-template-columns: minmax(0, 1fr); }
    .footer-brand, .footer-info, .footer-social { padding: 20px 10px; }
    .footer-info { border-left: 0; border-right: 0; border-top: 1px solid #dedede; border-bottom: 1px solid #dedede; }
    .footer-copy, .footer-social-title { font-size: 19px; }
    .footer-back-to-top { right: 10px; bottom: 10px; width: 44px; min-height: 44px; border-radius: 4px; font-size: 13px; }
}

@media (min-width: 360px) and (max-width: 767px) {
    .ref-entertainment-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ref-entertainment-cards img { height: auto; aspect-ratio: 4 / 3; }
    .ref-entertainment-cards h2, .ref-matrix-feature h3 { font-size: 20px; }
    .ref-category-matrix { gap: 28px 16px; }
}
