:root {

  --bg: #f2efe8;

  --surface: #fffdfa;

  --ink: #1a1f2e;

  --muted: #5d6473;

  --accent: #d34b2f;

  --accent-2: #0f7c90;

  --line: #dbd4c9;

  --shadow: 0 20px 40px rgba(20, 16, 12, 0.08);

}



* {

  box-sizing: border-box;

}



body {

  margin: 0;

  font-family: "Merriweather", Georgia, serif;

  color: var(--ink);

  background:

    radial-gradient(circle at 100% 0%, rgba(211, 75, 47, 0.2), transparent 40%),

    radial-gradient(circle at 0% 100%, rgba(15, 124, 144, 0.16), transparent 48%),

    var(--bg);

  line-height: 1.6;

}



a {

  color: inherit;

  text-decoration: none;

}



img {

  display: block;

  width: 100%;

  height: auto;

}



.container {

  width: min(1180px, 92vw);

  margin: 0 auto;

}



.site-header {

  position: sticky;

  top: 0;

  z-index: 20;

  backdrop-filter: blur(8px);

  background: rgba(242, 239, 232, 0.92);

  border-bottom: 1px solid var(--line);

}



.header-inner {

  display: flex;

  align-items: center;

  justify-content: space-between;

  gap: 1rem;

  padding: 0.85rem 0;

}



.site-title {

  font-family: "Playfair Display", "Times New Roman", serif;

  font-size: clamp(1.4rem, 3vw, 2rem);

  font-weight: 700;

}



.site-tagline {

  margin: 0;

  color: var(--muted);

  font-size: 0.82rem;

}



.menu-toggle {

  display: none;

  width: 42px;

  height: 42px;

  border: 1px solid var(--line);

  border-radius: 8px;

  background: var(--surface);

  padding: 0.55rem;

}



.menu-toggle span {

  display: block;

  width: 100%;

  height: 2px;

  background: var(--ink);

  margin-bottom: 5px;

}



.menu-toggle span:last-child {

  margin-bottom: 0;

}



.screen-reader-text {

  position: absolute;

  left: -9999px;

}



.primary-nav ul {

  list-style: none;

  margin: 0;

  padding: 0;

}



.primary-nav > div > ul,

.primary-nav > ul {

  display: flex;

  align-items: center;

  gap: 1.1rem;

}



.primary-nav li {

  position: relative;

}



.primary-nav a {

  display: block;

  padding: 0.55rem 0.25rem;

  font-weight: 600;

  letter-spacing: 0.01em;

}



.primary-nav .sub-menu {

  position: absolute;

  left: 0;

  top: 100%;

  min-width: 220px;

  opacity: 0;

  visibility: hidden;

  transform: translateY(8px);

  transition: all 0.22s ease;

  background: var(--surface);

  border: 1px solid var(--line);

  box-shadow: var(--shadow);

  padding: 0.5rem;

}



.primary-nav li:hover > .sub-menu,

.primary-nav li:focus-within > .sub-menu {

  opacity: 1;

  visibility: visible;

  transform: translateY(0);

}



.primary-nav .is-mega-menu > .sub-menu {

  width: min(900px, 92vw);

  display: grid;

  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));

  gap: 0.45rem;

  padding: 1rem;

}



.primary-nav .is-mega-menu > .sub-menu > li > a {

  font-family: "Playfair Display", "Times New Roman", serif;

  font-weight: 700;

  border-bottom: 1px solid var(--line);

  margin-bottom: 0.4rem;

}



.primary-nav .is-mega-menu > .sub-menu > li .sub-menu {

  position: static;

  opacity: 1;

  visibility: visible;

  transform: none;

  border: 0;

  box-shadow: none;

  background: transparent;

  padding: 0;

  min-width: 0;

}



.page-section {

  padding: 1.3rem 0 2rem;

}



.ad-slot {

  width: min(1180px, 92vw);

  margin: 1rem auto;

  background: var(--surface);

  border: 1px solid var(--line);

  box-shadow: var(--shadow);

  padding: 0.75rem;

}



.ad-slot .widget {

  margin: 0;

}



.ad-slot img {

  width: auto;

  max-width: 100%;

  margin: 0 auto;

}



.ad-slot-home_inline {

  margin-bottom: 1.35rem;

}



.featured-wrap {

  margin-bottom: 1.8rem;

}



.featured-story {

  display: grid;

  grid-template-columns: 1.25fr 1fr;

  background: var(--surface);

  border: 1px solid var(--line);

  box-shadow: var(--shadow);

}



.featured-content {

  padding: 1.3rem;

}



.featured-content h1 {

  margin-top: 0.45rem;

  margin-bottom: 0.65rem;

  font-size: clamp(1.5rem, 3vw, 2.2rem);

  line-height: 1.2;

}



.meta {

  text-transform: uppercase;

  font-size: 0.72rem;

  letter-spacing: 0.07em;

  color: var(--accent-2);

  margin: 0;

}



.homepage-columns {

  display: grid;

  grid-template-columns: 2.1fr 1fr;

  gap: 1.3rem;

}



.section-head h2,

.section-head h1 {

  margin: 0 0 0.8rem;

  font-family: "Playfair Display", "Times New Roman", serif;

}



.posts-grid {

  display: grid;

  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));

  gap: 1rem;

}



.post-card {

  background: var(--surface);

  border: 1px solid var(--line);

  box-shadow: var(--shadow);

  display: flex;

  flex-direction: column;

}



.card-body {

  padding: 1rem;

}



.card-body h3 {

  margin: 0.45rem 0;

  line-height: 1.3;

}



.card-body p {

  margin: 0;

  color: var(--muted);

}



.sidebar-column .widget {

  background: var(--surface);

  border: 1px solid var(--line);

  box-shadow: var(--shadow);

  padding: 1rem;

  margin-bottom: 1rem;

}



.widget-title {

  margin-top: 0;

  font-family: "Playfair Display", "Times New Roman", serif;

}



.img-placeholder {

  background: linear-gradient(135deg, #e6ddd0 0%, #f5ede3 100%);

  min-height: 180px;

}



.site-footer {

  margin-top: 2rem;

  background: #0d121b;

  border-top: 3px solid #b10f2e;

  color: #c8d0de;

}



/* legacy rule — .footer-inner replaced by .footer-bottom */

.footer-inner {

  padding: 1rem 0;

  color: #a8b1c0;

  text-align: center;

  border-top: 1px solid #1e2736;

}



@media (max-width: 980px) {

  .homepage-columns {

    grid-template-columns: 1fr;

  }



  .featured-story {

    grid-template-columns: 1fr;

  }

}



@media (max-width: 860px) {

  .menu-toggle {

    display: block;

  }



  .primary-nav {

    position: absolute;

    left: 0;

    right: 0;

    top: 100%;

    background: var(--surface);

    border-bottom: 1px solid var(--line);

    display: none;

    padding: 0.75rem 4vw 1rem;

  }



  .primary-nav.is-open {

    display: block;

  }



  .primary-nav > div > ul,

  .primary-nav > ul {

    flex-direction: column;

    align-items: flex-start;

    gap: 0.2rem;

  }



  .primary-nav .sub-menu,

  .primary-nav .is-mega-menu > .sub-menu {

    position: static;

    opacity: 1;

    visibility: visible;

    transform: none;

    width: 100%;

    display: block;

    border: 0;

    box-shadow: none;

    background: transparent;

    padding: 0 0 0 0.9rem;

  }



  .primary-nav .is-mega-menu > .sub-menu > li > a {

    border-bottom: 0;

    margin: 0;

  }

}



/* Portal layout overrides */

:root {

  --bg: #f5f6f8;

  --surface: #ffffff;

  --ink: #121212;

  --muted: #666d78;

  --accent: #b10f2e;

  --line: #dfe3e8;

  --shadow: 0 10px 22px rgba(8, 11, 18, 0.06);

}



body {

  background: var(--bg);

}



.site-header {

  background: var(--surface);

  border-bottom: 0;

  box-shadow: 0 1px 0 var(--line);

}



.top-utility-bar {

  background: #0d121b;

  color: #f5f7fb;

  font-size: 0.82rem;

}



.top-utility-inner {

  display: grid;

  grid-template-columns: 1fr auto 1fr;

  align-items: center;

  min-height: 40px;

  gap: 1rem;

}



.top-date {

  margin: 0;

  font-weight: 700;

  letter-spacing: 0.02em;

}



.top-utility-nav ul,

.top-menu {

  display: flex;

  list-style: none;

  gap: 1rem;

  padding: 0;

  margin: 0;

}



.top-utility-nav a {

  color: #f5f7fb;

}



.top-utility-nav {

  justify-self: end;

}



.top-utility-social {

  justify-self: center;

}



.cy-social-links {

  display: flex;

  flex-wrap: wrap;

  gap: 0.45rem;

}



.cy-social-link {

  display: inline-flex;

  align-items: center;

  justify-content: center;

  width: 32px;

  height: 32px;

  border-radius: 50%;

  background: #1a2234;

  color: #8e9ab0;

  border: 1px solid #252f42;

  text-decoration: none;

  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;

  flex-shrink: 0;

}



.cy-social-link:hover,

.cy-social-link:focus {

  background: #b10f2e;

  color: #ffffff;

  border-color: #b10f2e;

}



.top-utility-social .cy-social-link {

  background: transparent;

  color: #f5f7fb;

  border-color: rgba(245, 247, 251, 0.35);

}



.top-utility-social .cy-social-link:hover,

.top-utility-social .cy-social-link:focus {

  background: rgba(255, 255, 255, 0.14);

  border-color: rgba(255, 255, 255, 0.5);

}



.single-story-header .cy-social-links {

  margin-top: 0.8rem;

}



.header-inner {

  display: grid;

  grid-template-columns: auto 1fr auto auto;

  gap: 1rem;

  padding: 0.95rem 0;

}



.primary-nav {

  margin-left: 4.2rem;

}



.site-title {

  letter-spacing: 0;

  color: #101010;

}



.primary-nav a {

  font-size: 0.94rem;

  font-weight: 700;

}



/* Channel pill buttons — content section nav items */

.primary-nav a[href*="/news/"],

.primary-nav a[href*="/life/"],

.primary-nav a[href*="/music/"],

.primary-nav a[href*="/chart/"],

.primary-nav a[href*="/charts/"],

.primary-nav a[href*="/blog/"],

.primary-nav a[href*="/blogs/"] {

  padding: 0.3rem 0.9rem;

  border-radius: 4px;

  border: 2px solid currentColor;

  line-height: 1;

  transition: background 0.18s ease, color 0.18s ease;

}



.primary-nav a[href*="/news/"] {

  color: var(--accent);

}

.primary-nav a[href*="/news/"]:hover,

.primary-nav .current-menu-item a[href*="/news/"] {

  background: var(--accent);

  color: #fff;

}



.primary-nav a[href*="/life/"] {

  color: #0f7c90;

}

.primary-nav a[href*="/life/"]:hover,

.primary-nav .current-menu-item a[href*="/life/"] {

  background: #0f7c90;

  color: #fff;

  border-color: #0f7c90;

}



.primary-nav a[href*="/music/"] {

  color: #0d121b;

  border-color: #0d121b;

}

.primary-nav a[href*="/music/"]:hover,

.primary-nav .current-menu-item a[href*="/music/"] {

  background: #0d121b;

  color: #fff;

}



.primary-nav a[href*="/chart/"],

.primary-nav a[href*="/charts/"] {

  color: #b26a10;

  border-color: #b26a10;

}

.primary-nav a[href*="/chart/"]:hover,

.primary-nav a[href*="/charts/"]:hover,

.primary-nav .current-menu-item a[href*="/chart/"],

.primary-nav .current-menu-item a[href*="/charts/"] {

  background: #b26a10;

  color: #fff;

}



.primary-nav a[href*="/blog/"],

.primary-nav a[href*="/blogs/"] {

  color: #3a6e3a;

  border-color: #3a6e3a;

}

.primary-nav a[href*="/blog/"]:hover,

.primary-nav a[href*="/blogs/"]:hover,

.primary-nav .current-menu-item a[href*="/blog/"],

.primary-nav .current-menu-item a[href*="/blogs/"] {

  background: #3a6e3a;

  color: #fff;

}



/* Utility nav items — subtle bordered pill */

.primary-nav a[href*="/about/"],

.primary-nav a[href*="/contact/"],

.primary-nav a[href*="/advertise/"],

.primary-nav a[href*="/submit/"] {

  padding: 0.3rem 0.9rem;

  border-radius: 4px;

  border: 1.5px solid var(--muted);

  color: var(--muted);

  line-height: 1;

  transition: background 0.18s ease, color 0.18s ease, border-color 0.18s ease;

}

.primary-nav a[href*="/about/"]:hover,

.primary-nav a[href*="/contact/"]:hover,

.primary-nav a[href*="/advertise/"]:hover,

.primary-nav a[href*="/submit/"]:hover,

.primary-nav .current-menu-item a[href*="/about/"],

.primary-nav .current-menu-item a[href*="/contact/"],

.primary-nav .current-menu-item a[href*="/advertise/"],

.primary-nav .current-menu-item a[href*="/submit/"] {

  background: var(--ink);

  color: #fff;

  border-color: var(--ink);

}



.header-search {

  min-width: 210px;

}



.header-search .search-form {

  display: flex;

  border: 1px solid var(--line);

  border-radius: 999px;

  overflow: hidden;

}



.header-search .search-field {

  border: 0;

  padding: 0.5rem 0.85rem;

  width: 100%;

  background: transparent;

}



.header-search .search-submit {

  border: 0;

  padding: 0.45rem 0.8rem;

  background: var(--accent);

  color: #fff;

  font-weight: 700;

}



.homepage-hero-grid {

  position: relative;

  display: block;

  margin-bottom: 1.1rem;

}



.life-page-wrap {

  --life-sidebar-width: min(320px, 29%);

}



.life-page-wrap::after {

  content: "";

  display: block;

  clear: both;

}



.life-page-hero-grid {

  display: block;

}



.life-page-hero-grid .hero-main {

  margin-right: 0;

}



.life-page-sidebar {

  float: right;

  margin: 0 0 1rem 1rem;

  width: var(--life-sidebar-width);

  position: static;

  top: auto;

  right: auto;

  height: auto;

  display: block;

}



.life-page-wrap .life-page-hero-grid,

.life-page-wrap .life-latest-section,

.life-page-wrap .life-talked-section {

  margin-right: calc(var(--life-sidebar-width) + 1rem);

}



.hero-main {

  margin-right: calc(35% + 1.15rem);

}



.featured-story {

  grid-template-columns: 1fr;

}



.featured-content {

  padding: 1.1rem;

}



.featured-carousel {

  position: relative;

}



.featured-carousel .featured-slide {

  display: none;

  animation: featuredFadeIn 0.5s ease;

}



.featured-carousel .featured-slide.is-active {

  display: grid;

}



@keyframes featuredFadeIn {

  from {

    opacity: 0.35;

  }



  to {

    opacity: 1;

  }

}



.hero-latest-list {

  background: var(--surface);

  border: 1px solid var(--line);

  box-shadow: var(--shadow);

  padding: 1rem;

  position: absolute;

  top: 0;

  right: 0;

  width: 35%;

  height: 100%;

  display: flex;

  flex-direction: column;

}



.hero-latest-list .compact-story-list {

  overflow-y: auto;

}



.portal-sidebar .ad-slot-latest_sidebar {

  margin: 0 0 1rem;

  width: 100%;

  padding: 0.75rem;

  border: 1px solid var(--line);

  background: #f8fafc;

  box-shadow: none;

}



.portal-sidebar .ad-slot-latest_sidebar .widget {

  margin: 0;

  padding: 0;

  border: 0;

  box-shadow: none;

  background: transparent;

}



.portal-sidebar .ad-slot-note {

  margin: 0;

  color: var(--muted);

  font-size: 0.83rem;

  line-height: 1.4;

}



.sidebar-ads-widget .cy-sidebar-ads-empty {

  margin: 0;

  font-weight: 700;

  color: var(--accent);

}



.sidebar-ads-widget .cy-sidebar-ads-list {

  display: grid;

  gap: 0.7rem;

}



.sidebar-ads-widget .cy-sidebar-ad-item {

  display: none;

  border: 1px solid var(--line);

  background: #f8fafc;

  padding: 0.35rem;

}



.sidebar-ads-widget .cy-sidebar-ad-item.is-active {

  display: block;

}



.sidebar-ads-widget .cy-sidebar-ad-link {

  display: block;

}



.sidebar-ads-widget .cy-sidebar-ad-media {

  width: 100%;

  aspect-ratio: 2 / 3;

  object-fit: cover;

  max-height: 520px;

  display: block;

}



.block-title {

  margin: 0 0 0.8rem;

  font-family: "Playfair Display", "Times New Roman", serif;

  font-size: 1.3rem;

  border-bottom: 2px solid #101010;

  padding-bottom: 0.45rem;

}



.story-list {

  list-style: none;

  margin: 0;

  padding: 0;

}



.story-list li {

  padding: 0.7rem 0;

  border-bottom: 1px solid var(--line);

}



.story-list li:last-child {

  border-bottom: 0;

}



.story-list a {

  display: block;

  font-weight: 700;

  line-height: 1.35;

}



.compact-story-list li {

  padding: 0.58rem 0;

}



.compact-story-list .latest-story-item {

  padding: 0.72rem 0;

}



.latest-story-card {

  display: grid;

  grid-template-columns: 112px minmax(0, 1fr);

  gap: 0.8rem;

  align-items: start;

}



.latest-story-thumb {

  order: 1;

}



.latest-story-copy {

  order: 2;

}



.latest-story-title {

  margin: 0;

  font-size: 1rem;

  line-height: 1.3;

}



.latest-story-title a {

  display: inline;

}



.latest-story-excerpt {

  margin: 0.35rem 0 0;

  color: var(--muted);

  font-size: 0.9rem;

  line-height: 1.45;

}



.latest-story-thumb {

  display: block;

  width: 112px;

}



.latest-story-thumb img,

.latest-story-thumb .img-placeholder {

  width: 100%;

  height: 78px;

  object-fit: cover;

}



.latest-story-thumb .img-placeholder {

  background: #d6d9de;

}



.portal-columns {

  align-items: start;

  grid-template-columns: minmax(0, 2fr) minmax(290px, 1fr);

}



.portal-section {

  margin-bottom: 1.35rem;

}



.section-head-inline {

  border-bottom: 2px solid #151515;

  margin-bottom: 0.9rem;

}



.section-head-inline h2 {

  margin-bottom: 0.5rem;

}



.posts-grid-tight {

  grid-template-columns: repeat(2, minmax(220px, 1fr));

}



.post-card {

  border-radius: 0;

  overflow: hidden;

}



.card-body h3 {

  font-size: 1.04rem;

}



.portal-sidebar .widget {

  border-radius: 0;

}



.portal-sidebar .widget_search,

.portal-sidebar .wp-block-search {

  display: none !important;

}



.portal-sidebar .widget_recent_entries,

.portal-sidebar .wp-block-latest-posts {

  display: none !important;

}



.newsletter-widget {

  background: #f3f4f6;

  color: #111111;

}



.newsletter-widget .widget-title {

  color: #111111;

}



.newsletter-widget .cy-newsletter-form {

  display: grid;

  gap: 0.55rem;

}



.newsletter-widget .cy-newsletter-form input[type="email"] {

  width: 100%;

  padding: 0.55rem 0.65rem;

  border: 1px solid #374151;

  background: #0b1220;

  color: #f9fafb;

}



.newsletter-widget .cy-newsletter-form button {

  border: 0;

  padding: 0.6rem 0.8rem;

  background: #f97316;

  color: #ffffff;

  font-weight: 700;

  cursor: pointer;

}



.newsletter-widget .cy-newsletter-message {

  margin: 0 0 0.6rem;

  font-size: 0.9rem;

}



.newsletter-widget .cy-newsletter-success {

  color: #86efac;

}



.radio-player-widget,

.sidebar-column .radio-player-widget {

  background: #b10f2e;

  border: 1px solid #8a0d24;

  color: #ffffff;

  padding: 0.9rem;

  margin-bottom: 0.95rem;

}



.radio-player-widget .widget-title {

  color: #ffffff;

  border-bottom-color: rgba(255, 255, 255, 0.45);

}



/* kept for specificity compatibility */

.hero-latest-list .radio-player-widget .widget-title {

  color: #ffffff;

  border-bottom-color: rgba(255, 255, 255, 0.45);

}



.radio-player-widget .cy-radio-player {

  width: 100%;

  display: block;

  background: #ffffff;

  border-radius: 2px;

}



.radio-player-widget .radio-player-fallback {

  margin: 0.65rem 0 0;

  font-size: 0.86rem;

}



.radio-player-widget .radio-player-fallback a {

  color: #ffffff;

  text-decoration: underline;

}



.hero-latest-list .radio-player-widget + .block-title {

  border-top: 2px solid #d7dce3;

  padding-top: 0.75rem;

}



.newsletter-widget .cy-newsletter-error {

  color: #fca5a5;

}



.single-post-layout {

  display: grid;

  grid-template-columns: minmax(0, 2fr) minmax(290px, 1fr);

  gap: 1.4rem;

  align-items: start;

}



.single-story {

  background: var(--surface);

  border: 1px solid var(--line);

  box-shadow: var(--shadow);

}



.single-story-header {

  padding: 1.25rem 1.3rem 0.95rem;

  border-bottom: 1px solid var(--line);

}



.single-story-kicker {

  margin: 0;

  text-transform: uppercase;

  letter-spacing: 0.08em;

  font-size: 0.74rem;

  color: var(--accent);

  font-weight: 700;

}



.single-story-title {

  margin: 0.45rem 0 0;

  font-family: "Playfair Display", "Times New Roman", serif;

  font-size: clamp(1.7rem, 3.2vw, 2.55rem);

  line-height: 1.16;

  color: #101010;

}



.single-story-meta {

  display: flex;

  flex-wrap: wrap;

  gap: 0.55rem 1rem;

  margin-top: 0.75rem;

  font-size: 0.78rem;

  text-transform: uppercase;

  letter-spacing: 0.05em;

  color: var(--muted);

}



.single-story-meta span {

  position: relative;

}



.single-story-meta span + span::before {

  content: "";

  display: inline-block;

  width: 5px;

  height: 5px;

  border-radius: 50%;

  background: #c8ced8;

  margin: 0 10px 1px 0;

  vertical-align: middle;

}



.single-story-hero {

  margin: 0;

}



.single-story-hero img {

  width: 100%;

  height: auto;

  display: block;

}



.single-story-body {

  padding: 1.2rem 1.3rem 1.45rem;

  font-size: 1.08rem;

  line-height: 1.85;

}



.single-story-share {

  margin-top: 1.4rem;

  padding-top: 1rem;

  border-top: 1px solid var(--line);

  text-align: center;

}



.single-story-share h3 {

  margin: 0 0 0.7rem;

  font-size: 0.95rem;

  text-transform: uppercase;

  letter-spacing: 0.06em;

  color: #000000;

}



.single-story-share-links {

  justify-content: center;

}



.single-story-comments {

  padding: 0 1.3rem 1.45rem;

  border-top: 1px solid var(--line);

  background: var(--surface);

}



.single-story-comments .comments-area {

  margin-top: 1.15rem;

}



.single-story-body p {

  margin: 0 0 1.08rem;

}



.single-story-body h2,

.single-story-body h3,

.single-story-body h4 {

  margin-top: 1.35rem;

  margin-bottom: 0.75rem;

  line-height: 1.25;

  font-family: "Playfair Display", "Times New Roman", serif;

}



.single-story-body a {

  color: var(--accent);

  text-decoration: underline;

  text-underline-offset: 2px;

}



.single-story-sidebar .widget {

  background: var(--surface);

  border: 1px solid var(--line);

  box-shadow: var(--shadow);

  padding: 1rem;

  margin-bottom: 1rem;

}



.single-story-sidebar .single-radio-widget {

  background: #b10f2e;

  border-color: #8a0d24;

  color: #ffffff;

}



.single-story-sidebar .single-radio-widget .widget-title {

  color: #ffffff;

  border-bottom-color: rgba(255, 255, 255, 0.45);

}



.single-story-sidebar .single-radio-widget .radio-player-fallback a {

  color: #ffffff;

}



.single-latest-list {

  list-style: none;

  margin: 0;

  padding: 0;

}



.single-latest-list li {

  display: grid;

  grid-template-columns: 82px minmax(0, 1fr);

  gap: 0.7rem;

  align-items: start;

  padding: 0.65rem 0;

  border-bottom: 1px solid var(--line);

}



.single-latest-list li:last-child {

  border-bottom: 0;

  padding-bottom: 0;

}



.single-latest-list a {

  display: block;

  font-weight: 700;

  line-height: 1.35;

  margin-bottom: 0.2rem;

}



.single-latest-thumb {

  margin-bottom: 0;

}



.about-page {

  padding-bottom: 2.4rem;

}



.about-hero {

  position: relative;

  margin-top: 0.8rem;

  margin-bottom: 1.2rem;

  border: 1px solid var(--line);

  background: linear-gradient(130deg, #120c10 0%, #1f2130 55%, #5f1237 100%);

  box-shadow: var(--shadow);

  overflow: hidden;

}



.about-hero[style] {

  background-size: cover;

  background-position: center;

}



.about-hero-overlay {

  position: absolute;

  inset: 0;

  background:

    linear-gradient(95deg, rgba(9, 11, 18, 0.9) 8%, rgba(9, 11, 18, 0.38) 70%),

    radial-gradient(circle at 100% 0%, rgba(241, 85, 74, 0.42), transparent 42%);

}



.about-hero-content {

  position: relative;

  z-index: 1;

  padding: clamp(1.6rem, 3.6vw, 3rem);

  color: #ffffff;

  max-width: 760px;

}



.about-kicker,

.about-section-label {

  margin: 0;

  text-transform: uppercase;

  letter-spacing: 0.12em;

  font-size: 0.74rem;

  font-weight: 700;

}



.about-hero-content h1,

.about-values-head h2,

.about-story-card h2,

.about-cta-card h2 {

  margin: 0.45rem 0 0;

  font-family: "Playfair Display", "Times New Roman", serif;

  line-height: 1.12;

}



.about-hero-content h1 {

  font-size: clamp(2rem, 4.8vw, 3.4rem);

}



.about-subtitle {

  margin: 0.95rem 0 0;

  max-width: 62ch;

  color: rgba(255, 255, 255, 0.92);

  font-size: clamp(1rem, 2vw, 1.16rem);

}



.about-hero-actions {

  margin-top: 1.15rem;

  display: flex;

  flex-wrap: wrap;

  gap: 0.7rem;

}



.about-btn {

  display: inline-flex;

  align-items: center;

  justify-content: center;

  min-height: 42px;

  padding: 0.65rem 1rem;

  font-weight: 700;

  border: 1px solid transparent;

}



.about-btn-primary {

  background: #ff6f3c;

  color: #ffffff;

}



.about-btn-secondary {

  background: transparent;

  border-color: rgba(255, 255, 255, 0.65);

  color: #ffffff;

}



.about-story-grid {

  display: grid;

  grid-template-columns: minmax(0, 2fr) minmax(260px, 1fr);

  gap: 1rem;

  margin-bottom: 1rem;

}



.about-story-card,

.about-panel,

.about-values,

.about-stats-wrap,

.about-cta-card {

  background: var(--surface);

  border: 1px solid var(--line);

  box-shadow: var(--shadow);

}



.about-story-card {

  padding: 1.15rem 1.2rem;

}



.about-story-content {

  margin-top: 0.85rem;

  color: #1b2330;

  line-height: 1.85;

}



.about-story-content p {

  margin: 0 0 1rem;

}



.about-signature-stack {

  display: grid;

  gap: 1rem;

}



.about-panel {

  padding: 1rem;

}



.about-panel-accent {

  background: linear-gradient(145deg, #14131a 0%, #2f2032 100%);

  color: #f8f8fb;

}



.about-panel h3 {

  margin: 0 0 0.45rem;

  font-family: "Playfair Display", "Times New Roman", serif;

}



.about-panel ul {

  margin: 0;

  padding-left: 1rem;

}



.about-values {

  padding: 1.15rem;

  margin-bottom: 1rem;

}



.about-values-grid {

  display: grid;

  grid-template-columns: repeat(3, minmax(0, 1fr));

  gap: 0.9rem;

  margin-top: 0.9rem;

}



.about-value-card {

  border: 1px solid var(--line);

  background: #f8fafc;

  padding: 0.95rem;

}



.about-value-card h3 {

  margin: 0 0 0.35rem;

  font-size: 1rem;

}



.about-value-card p {

  margin: 0;

  color: var(--muted);

}



.about-stats-wrap {

  padding: 1rem;

  margin-bottom: 1rem;

  background: linear-gradient(120deg, #121827 0%, #1f3347 100%);

}



.about-stats-grid {

  display: grid;

  grid-template-columns: repeat(3, minmax(0, 1fr));

  gap: 0.8rem;

}



.about-stat-item {

  background: rgba(255, 255, 255, 0.1);

  border: 1px solid rgba(255, 255, 255, 0.25);

  padding: 0.9rem;

  text-align: center;

  color: #ffffff;

}



.about-stat-number {

  display: block;

  font-size: clamp(1.5rem, 3.4vw, 2.2rem);

  line-height: 1;

  font-weight: 700;

}



.about-stat-label {

  display: block;

  margin-top: 0.35rem;

  text-transform: uppercase;

  letter-spacing: 0.07em;

  font-size: 0.72rem;

}



.about-cta-card {

  padding: 1.15rem;

  display: grid;

  grid-template-columns: 1.5fr 1fr;

  gap: 1rem;

}



.about-cta-card p {

  margin: 0.65rem 0 0;

}



.about-cta-form .cy-social-links {

  margin-top: 0.75rem;

}



.contact-page {

  padding-bottom: 2.6rem;

}



.contact-hero {

  position: relative;

  margin-top: 0.8rem;

  margin-bottom: 1rem;

  border: 1px solid var(--line);

  box-shadow: var(--shadow);

  background: linear-gradient(140deg, #141923 0%, #2c2137 50%, #6d1f33 100%);

  overflow: hidden;

}



.contact-hero[style] {

  background-size: cover;

  background-position: center;

}



.contact-hero-overlay {

  position: absolute;

  inset: 0;

  background:

    linear-gradient(102deg, rgba(7, 11, 18, 0.9) 8%, rgba(7, 11, 18, 0.35) 72%),

    radial-gradient(circle at 90% 15%, rgba(255, 108, 66, 0.35), transparent 45%);

}



.contact-hero-content {

  position: relative;

  z-index: 1;

  padding: clamp(1.6rem, 3.5vw, 2.8rem);

  color: #ffffff;

  max-width: 740px;

}



.contact-kicker,

.contact-section-label {

  margin: 0;

  text-transform: uppercase;

  letter-spacing: 0.12em;

  font-size: 0.74rem;

  font-weight: 700;

}



.contact-hero-content h1,

.contact-panel-head h2 {

  margin: 0.45rem 0 0;

  font-family: "Playfair Display", "Times New Roman", serif;

  line-height: 1.12;

}



.contact-hero-content h1 {

  font-size: clamp(2rem, 5vw, 3.3rem);

}



.contact-subtitle {

  margin: 0.9rem 0 0;

  max-width: 62ch;

  color: rgba(255, 255, 255, 0.92);

  font-size: clamp(1rem, 2vw, 1.15rem);

}



.contact-grid {

  display: grid;

  grid-template-columns: minmax(0, 1.7fr) minmax(280px, 1fr);

  gap: 1rem;

}



.contact-panel {

  border: 1px solid var(--line);

  background: var(--surface);

  box-shadow: var(--shadow);

  padding: 1.1rem;

}



.contact-panel-head {

  margin-bottom: 0.85rem;

}



.contact-panel-head h2 {

  font-size: clamp(1.5rem, 2.8vw, 2rem);

}



.contact-form-area .wpcf7-form {

  display: grid;

  gap: 0.8rem;

}



.contact-fallback-form {

  display: grid;

  gap: 0.8rem;

}



.contact-field-grid {

  display: grid;

  grid-template-columns: repeat(2, minmax(0, 1fr));

  gap: 0.8rem;

}



.contact-fallback-form label,

.contact-form-area .wpcf7-form label {

  display: grid;

  gap: 0.4rem;

  font-weight: 700;

}



.contact-fallback-form span,

.contact-form-area .wpcf7-form label span {

  font-size: 0.82rem;

  text-transform: uppercase;

  letter-spacing: 0.07em;

  color: #4d5562;

}



.contact-fallback-form input,

.contact-fallback-form textarea,

.contact-form-area .wpcf7-form input,

.contact-form-area .wpcf7-form textarea {

  width: 100%;

  border: 1px solid #cfd5dd;

  background: #fbfcfe;

  padding: 0.6rem 0.7rem;

  font: inherit;

  color: #111827;

}



.contact-fallback-form textarea,

.contact-form-area .wpcf7-form textarea {

  resize: vertical;

  min-height: 140px;

}



.contact-fallback-form button,

.contact-form-area .wpcf7-form input[type="submit"] {

  border: 0;

  background: #ff6f3c;

  color: #ffffff;

  font-weight: 700;

  padding: 0.72rem 1rem;

  cursor: pointer;

}



.contact-panel-stack {

  display: grid;

  gap: 1rem;

}



.contact-panel h3 {

  margin: 0.7rem 0 0.25rem;

  font-family: "Playfair Display", "Times New Roman", serif;

}



.contact-panel p {

  margin: 0;

}



.contact-panel a {

  color: var(--accent);

}



.contact-panel-accent {

  background: linear-gradient(145deg, #171723 0%, #3d2640 100%);

  color: #f8f8fb;

}



.contact-panel-accent p,

.contact-panel-accent a,

.contact-panel-accent h3,

.contact-panel-accent .contact-section-label {

  color: inherit;

}



.contact-panel-accent .cy-social-links {

  margin-top: 0.75rem;

}



.contact-panel-muted {

  background: #f6f8fb;

}



.advertise-page,

.submit-page {

  padding-bottom: 2.6rem;

}



.advertise-hero,

.submit-hero {

  margin-top: 0.8rem;

  margin-bottom: 1rem;

  border: 1px solid var(--line);

  box-shadow: var(--shadow);

  overflow: hidden;

}



.advertise-hero {

  background: linear-gradient(125deg, #1a1222 0%, #2c2947 52%, #7f2a30 100%);

}



.submit-hero {

  background: linear-gradient(120deg, #111827 0%, #15314b 55%, #1f6e74 100%);

}



.advertise-hero-content,

.submit-hero-content {

  padding: clamp(1.5rem, 3.5vw, 2.8rem);

  color: #ffffff;

  max-width: 740px;

}



.advertise-kicker,

.advertise-section-label,

.submit-kicker,

.submit-section-label {

  margin: 0;

  text-transform: uppercase;

  letter-spacing: 0.12em;

  font-size: 0.74rem;

  font-weight: 700;

}



.advertise-hero-content h1,

.submit-hero-content h1,

.advertise-panel-main h2,

.advertise-packages h2,

.submit-panel-head h2 {

  margin: 0.45rem 0 0;

  font-family: "Playfair Display", "Times New Roman", serif;

  line-height: 1.15;

}



.advertise-hero-content h1,

.submit-hero-content h1 {

  font-size: clamp(2rem, 4.8vw, 3.2rem);

}



.advertise-hero-content p,

.submit-hero-content p {

  margin: 0.8rem 0 0;

  font-size: 1.05rem;

}



.advertise-hero-actions {

  margin-top: 1rem;

  display: flex;

  flex-wrap: wrap;

  gap: 0.7rem;

}



.advertise-btn {

  display: inline-flex;

  align-items: center;

  justify-content: center;

  min-height: 42px;

  padding: 0.65rem 1rem;

  font-weight: 700;

  border: 1px solid transparent;

}



.advertise-btn-primary {

  background: #ff6f3c;

  color: #ffffff;

}



.advertise-btn-secondary {

  background: transparent;

  border-color: rgba(255, 255, 255, 0.65);

  color: #ffffff;

}



.advertise-grid,

.submit-grid {

  display: grid;

  grid-template-columns: minmax(0, 1.7fr) minmax(280px, 1fr);

  gap: 1rem;

}



.advertise-panel,

.submit-panel,

.advertise-package-card,

.advertise-cta-card {

  border: 1px solid var(--line);

  background: var(--surface);

  box-shadow: var(--shadow);

}



.advertise-panel,

.submit-panel {

  padding: 1.05rem;

}



.advertise-panel-main h2,

.submit-panel-head h2 {

  font-size: clamp(1.45rem, 2.7vw, 1.95rem);

}



.advertise-content {

  margin-top: 0.8rem;

  line-height: 1.82;

}



.advertise-content p {

  margin: 0 0 1rem;

}



.advertise-panel-stack,

.submit-panel-stack {

  display: grid;

  gap: 1rem;

}



.advertise-panel-accent,

.submit-panel-accent {

  background: linear-gradient(145deg, #151726 0%, #3a2342 100%);

  color: #f8f8fb;

}



.advertise-panel-accent ul,

.submit-panel-accent ul {

  margin: 0.6rem 0 0;

  padding-left: 1rem;

}



.advertise-packages {

  margin-top: 1rem;

}



.advertise-package-grid {

  display: grid;

  grid-template-columns: repeat(3, minmax(0, 1fr));

  gap: 0.9rem;

  margin-top: 0.85rem;

}



.advertise-package-card {

  padding: 0.95rem;

}



.advertise-package-card h3 {

  margin: 0 0 0.35rem;

}



.advertise-package-card p {

  margin: 0;

  color: var(--muted);

}



.advertise-cta {

  margin-top: 1rem;

}



.advertise-cta-card {

  padding: 1rem;

  display: grid;

  grid-template-columns: 1.6fr auto;

  gap: 1rem;

  align-items: center;

}



.submit-form {

  display: grid;

  gap: 0.75rem;

}



.submit-field-grid {

  display: grid;

  grid-template-columns: repeat(2, minmax(0, 1fr));

  gap: 0.75rem;

}



.submit-form label {

  display: grid;

  gap: 0.4rem;

  font-weight: 700;

}



.submit-form label span {

  font-size: 0.82rem;

  text-transform: uppercase;

  letter-spacing: 0.07em;

  color: #4d5562;

}



.submit-form input,

.submit-form textarea {

  width: 100%;

  border: 1px solid #cfd5dd;

  background: #fbfcfe;

  padding: 0.6rem 0.7rem;

  font: inherit;

  color: #111827;

}



.submit-form textarea {

  resize: vertical;

  min-height: 140px;

}



.submit-form button {

  border: 0;

  background: #12a47b;

  color: #ffffff;

  font-weight: 700;

  padding: 0.72rem 1rem;

  cursor: pointer;

}



.submit-alert {

  margin: 0 0 0.85rem;

  border: 1px solid;

  padding: 0.7rem 0.75rem;

  font-weight: 700;

}



.submit-alert-success {

  border-color: #14b8a6;

  background: #ecfeff;

  color: #0f766e;

}



.submit-alert-error {

  border-color: #fca5a5;

  background: #fff1f2;

  color: #9f1239;

}



.submit-panel-muted {

  background: #f6f8fb;

}



.submit-panel a {

  color: var(--accent);

}



.single-latest-thumb img,

.single-latest-thumb .img-placeholder {

  width: 100%;

  height: 62px;

  object-fit: cover;

  display: block;

}



.single-latest-thumb .img-placeholder {

  min-height: 0;

  background: #d8dce3;

}



.single-latest-copy a {

  margin-bottom: 0.25rem;

}



.single-latest-list p {

  margin: 0;

  color: var(--muted);

  font-size: 0.8rem;

  text-transform: uppercase;

  letter-spacing: 0.05em;

}



.footer-main {

  color: #d7deea;

  display: grid;

  grid-template-columns: 1.4fr 1fr 1fr 1fr;

  gap: 1.4rem;

  padding: 1.8rem 0 1.1rem;

}



.footer-main h3 {

  margin: 0 0 0.5rem;

  color: #ffffff;

  font-size: 1rem;

}



.footer-main ul {

  list-style: none;

  margin: 0;

  padding: 0;

}



.footer-main li {

  margin-bottom: 0.45rem;

}



.footer-main a {

  color: #d7deea;

}



.footer-inner {

  border-top: 1px solid #2b3341;

  color: #a8b1c0;

}

/* =========================================================

   Footer redesign

   ========================================================= */



.footer-main {

  display: grid;

  grid-template-columns: 1.5fr 1fr 1.4fr;

  gap: 2.4rem;

  padding: 3rem 0 2.4rem;

  border-bottom: 1px solid #1a2030;

}



/* Brand column */

.footer-brand .footer-site-name {

  display: block;

  font-family: "Playfair Display", "Times New Roman", serif;

  font-size: 1.5rem;

  font-weight: 700;

  color: #ffffff;

  text-decoration: none;

  margin-bottom: 0.55rem;

  line-height: 1.2;

}



.footer-brand .footer-logo {

  margin-bottom: 0.75rem;

}



.footer-brand .footer-logo img {

  max-height: 50px;

  width: auto;

  filter: brightness(0) invert(1);

}



.footer-tagline {

  font-size: 0.875rem;

  line-height: 1.65;

  color: #6e7d96;

  margin: 0 0 1.25rem;

  max-width: 280px;

}



/* Social icons row */

.footer-social {

  display: flex;

  flex-wrap: wrap;

  gap: 0.45rem;

}



.footer-social-link {

  display: inline-flex;

  align-items: center;

  justify-content: center;

  width: 34px;

  height: 34px;

  border-radius: 50%;

  background: #1a2234;

  color: #8e9ab0;

  border: 1px solid #252f42;

  text-decoration: none;

  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;

  flex-shrink: 0;

}



.footer-social-link:hover,

.footer-social-link:focus {

  background: #b10f2e;

  color: #ffffff;

  border-color: #b10f2e;

}



/* Column headings */

.footer-heading {

  font-size: 0.78rem;

  font-weight: 700;

  color: #ffffff;

  text-transform: uppercase;

  letter-spacing: 0.12em;

  margin: 0 0 1.1rem;

  padding-bottom: 0.6rem;

  border-bottom: 2px solid #b10f2e;

}



/* Nav/channel lists */

.footer-col {

  text-align: center;

}



.footer-col ul {

  list-style: none;

  margin: 0;

  padding: 0;

}



.footer-col li {

  margin-bottom: 0.6rem;

}



.footer-col a,

.footer-main a {

  color: #6e7d96;

  text-decoration: none;

  font-size: 0.9rem;

  transition: color 0.18s ease;

}



.footer-col a:hover,

.footer-main a:hover {

  color: #e0e6f0;

}



/* Newsletter column */

.footer-newsletter-desc {

  font-size: 0.85rem;

  line-height: 1.6;

  color: #6e7d96;

  margin: 0 0 0.85rem;

}



.footer-newsletter-col .cy-newsletter-form {

  display: flex;

  flex-direction: column;

  gap: 0.45rem;

}



.footer-newsletter-col .cy-newsletter-form input[type="email"] {

  background: #131a26;

  border: 1px solid #222d40;

  color: #d4dcea;

  padding: 0.55rem 0.75rem;

  font-size: 0.875rem;

  border-radius: 3px;

  width: 100%;

}



.footer-newsletter-col .cy-newsletter-form input[type="email"]::placeholder {

  color: #3d4f66;

}



.footer-newsletter-col .cy-newsletter-form input[type="email"]:focus {

  outline: none;

  border-color: #b10f2e;

}



.footer-newsletter-col .cy-newsletter-form button {

  background: #b10f2e;

  color: #ffffff;

  border: 0;

  padding: 0.6rem 1rem;

  font-size: 0.82rem;

  font-weight: 700;

  cursor: pointer;

  border-radius: 3px;

  text-transform: uppercase;

  letter-spacing: 0.06em;

  transition: background 0.18s ease;

}



.footer-newsletter-col .cy-newsletter-form button:hover {

  background: #8c0b24;

}



.footer-newsletter-col .cy-newsletter-message {

  font-size: 0.82rem;

  padding: 0.4rem 0.65rem;

  border-radius: 3px;

  margin-bottom: 0.6rem;

}



.footer-newsletter-col .cy-newsletter-success {

  background: rgba(34, 197, 94, 0.12);

  color: #86efac;

}



.footer-newsletter-col .cy-newsletter-error {

  background: rgba(239, 68, 68, 0.12);

  color: #fca5a5;

}



/* Bottom bar */

.footer-bottom {

  background: #070b11;

}



.footer-bottom-inner {

  display: flex;

  align-items: center;

  justify-content: space-between;

  flex-wrap: wrap;

  gap: 0.5rem 1.2rem;

  padding: 0.85rem 0;

}



.footer-copyright {

  font-size: 0.8rem;

  color: #3d4f66;

  margin: 0;

}



.footer-copyright a {

  color: #6e7d96;

  text-decoration: none;

}



.footer-copyright a:hover {

  color: #ffffff;

}



.footer-legal-nav {

  display: flex;

  flex-wrap: wrap;

  gap: 0.15rem 0.9rem;

  align-items: center;

}



.footer-legal-nav a {

  font-size: 0.78rem;

  color: #3d4f66;

  text-decoration: none;

  transition: color 0.18s ease;

}



.footer-legal-nav a:hover {

  color: #c0cbda;

}



.footer-back-top {

  display: inline-flex;

  align-items: center;

  justify-content: center;

  width: 30px;

  height: 30px;

  background: #1a2234;

  color: #6e7d96;

  border: 1px solid #252f42;

  border-radius: 50%;

  text-decoration: none;

  flex-shrink: 0;

  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;

}



.footer-back-top:hover {

  background: #b10f2e;

  color: #ffffff;

  border-color: #b10f2e;

}



/* Recent Articles in Explore section */

.footer-recent-articles {

  margin-top: 1.6rem;

  padding-top: 1.4rem;

  border-top: 1px solid #252f42;

}



.footer-recent-heading {

  font-size: 0.72rem;

  font-weight: 700;

  color: #8e9ab0;

  text-transform: uppercase;

  letter-spacing: 0.1em;

  margin: 0 0 0.8rem;

  display: block;

}



.footer-articles-grid {

  display: grid;

  grid-template-columns: repeat(3, 1fr);

  gap: 0.6rem;

}



.footer-article-item {

  display: flex;

  flex-direction: column;

  gap: 0.35rem;

  text-decoration: none;

  transition: opacity 0.2s ease;

}



.footer-article-item:hover {

  opacity: 0.85;

}



.footer-article-thumbnail {

  width: 100%;

  aspect-ratio: 3 / 2;

  overflow: hidden;

  border-radius: 3px;

  background: #1a2234;

  display: flex;

  align-items: center;

  justify-content: center;

}



.footer-article-thumbnail img {

  width: 100%;

  height: 100%;

  object-fit: cover;

  display: block;

}



.footer-article-title {

  font-size: 0.75rem;

  color: #6e7d96;

  line-height: 1.3;

  display: block;

  text-decoration: none;

  transition: color 0.18s ease;

}



.footer-article-item:hover .footer-article-title {

  color: #e0e6f0;

}



@media (max-width: 1080px) {

  .header-inner {

    grid-template-columns: auto 1fr auto;

  }



  .primary-nav {

    margin-left: 0;

  }



  .header-search {

    grid-column: 1 / -1;

    min-width: 0;

  }



  .homepage-hero-grid {

    display: grid;

    grid-template-columns: 1fr;

    gap: 1rem;

  }



  .hero-main {

    margin-right: 0;

  }



  .hero-latest-list {

    position: static;

    width: auto;

    height: auto;

    display: block;

  }



  .life-page-sidebar {

    float: none;

    margin: 0 0 1rem;

    width: auto;

  }



  .life-page-wrap .life-page-hero-grid,

  .life-page-wrap .life-latest-section,

  .life-page-wrap .life-talked-section {

    margin-right: 0;

  }



  .hero-latest-list .compact-story-list {

    overflow-y: visible;

  }

}



@media (max-width: 860px) {

  .top-utility-inner {

    grid-template-columns: 1fr;

    justify-items: center;

    padding: 0.45rem 0;

  }



  .top-utility-nav {

    justify-self: center;

  }



  .top-utility-nav ul,

  .top-menu {

    flex-wrap: wrap;

    justify-content: center;

  }



  .header-inner {

    grid-template-columns: 1fr auto;

  }



  .menu-toggle {

    grid-column: 2;

    grid-row: 1;

  }



  .primary-nav {

    grid-column: 1 / -1;

    position: static;

    margin-top: 0.4rem;

    margin-left: 0;

  }



  .portal-columns,

  .posts-grid-tight,

  .single-post-layout,

  .about-story-grid,

  .about-values-grid,

  .about-stats-grid,

  .about-cta-card,

  .contact-grid,

  .contact-field-grid,

  .advertise-grid,

  .advertise-package-grid,

  .advertise-cta-card,

  .submit-grid,

  .submit-field-grid,

  .footer-main {

    grid-template-columns: 1fr;

  }



  .footer-articles-grid {

    grid-template-columns: repeat(2, 1fr);

  }



  .footer-bottom-inner {

    flex-direction: column;

    align-items: flex-start;

    gap: 0.55rem;

    padding: 1rem 0;

  }



  .footer-legal-nav {

    gap: 0.2rem 0.75rem;

  }



  .latest-story-card {

    grid-template-columns: 98px minmax(0, 1fr);

  }



  .latest-story-thumb {

    width: 98px;

  }

}



/* =========================================================

   Blog listing page

   ========================================================= */



.blog-post-list {

  display: flex;

  flex-direction: column;

}



.blog-post-row {

  display: grid;

  grid-template-columns: 220px minmax(0, 1fr);

  gap: 1.4rem;

  padding-bottom: 2rem;

  margin-bottom: 2rem;

  border-bottom: 1px solid var(--line);

}



.blog-post-row:last-child {

  border-bottom: 0;

}



.blog-post-row-media {

  display: block;

  overflow: hidden;

  border-radius: 4px;

  aspect-ratio: 4 / 3;

  background: var(--line);

  flex-shrink: 0;

}



.blog-post-row-media img,

.blog-post-row-media .img-placeholder {

  width: 100%;

  height: 100%;

  object-fit: cover;

  display: block;

  transition: transform 0.3s ease;

}



.blog-post-row:hover .blog-post-row-media img {

  transform: scale(1.03);

}



.blog-post-row-body {

  display: flex;

  flex-direction: column;

  justify-content: center;

  gap: 0.45rem;

}



.blog-meta {

  font-size: 0.8rem;

  text-transform: uppercase;

  letter-spacing: 0.04em;

  color: var(--muted);

}



.blog-meta .meta-cat {

  color: var(--accent);

  font-weight: 700;

  text-decoration: none;

}



.blog-meta .meta-cat:hover {

  text-decoration: underline;

}



.blog-post-row-title {

  font-size: 1.25rem;

  line-height: 1.3;

  margin: 0;

}



.blog-post-row-title a {

  color: var(--ink);

  text-decoration: none;

}



.blog-post-row-title a:hover {

  color: var(--accent);

}



.blog-post-row-excerpt {

  color: var(--muted);

  font-size: 0.94rem;

  line-height: 1.6;

  margin: 0;

}



.blog-post-row-more {

  display: inline-block;

  margin-top: 0.3rem;

  font-size: 0.88rem;

  font-weight: 700;

  color: var(--accent);

  text-decoration: none;

  letter-spacing: 0.01em;

}



.blog-post-row-more:hover {

  text-decoration: underline;

}



.blog-pagination {

  display: flex;

  flex-wrap: wrap;

  gap: 0.4rem;

  margin-top: 2rem;

  padding-top: 1.5rem;

  border-top: 1px solid var(--line);

}



.blog-pagination .page-numbers {

  display: inline-flex;

  align-items: center;

  justify-content: center;

  min-width: 2.2rem;

  height: 2.2rem;

  padding: 0 0.6rem;

  border: 1.5px solid var(--line);

  border-radius: 4px;

  font-size: 0.9rem;

  font-weight: 600;

  color: var(--ink);

  text-decoration: none;

  transition: background 0.16s ease, color 0.16s ease, border-color 0.16s ease;

}



.blog-pagination .page-numbers:hover {

  background: var(--accent);

  color: #fff;

  border-color: var(--accent);

}



.blog-pagination .page-numbers.current {

  background: var(--accent);

  color: #fff;

  border-color: var(--accent);

}



@media (max-width: 860px) {

  .blog-post-row {

    grid-template-columns: 1fr;

  }



  .blog-post-row-media {

    aspect-ratio: 16 / 9;

  }

}



/* ====== Legal Pages (Privacy Policy & Terms of Use) ====== */



.legal-page {

  display: block;

  width: 100%;

}



.legal-page-header {

  background: linear-gradient(135deg, #0d121b 0%, #1a2332 100%);

  color: #fff;

  padding: 3rem 0;

  margin-bottom: 2.5rem;

}



.legal-page-header h1 {

  font-size: clamp(1.8rem, 5vw, 2.8rem);

  font-weight: 700;

  margin: 0 0 0.5rem 0;

  line-height: 1.2;

  text-transform: capitalize;

  letter-spacing: 0.02em;

}



.legal-page-updated {

  margin: 0;

  font-size: 0.95rem;

  color: #b0b8c3;

  font-style: italic;

}



.legal-page-content {

  max-width: 900px;

  margin: 0 auto;

  padding: 0 1.5rem 3rem 1.5rem;

}



.legal-section {

  margin-bottom: 2.5rem;

  padding-bottom: 2rem;

  border-bottom: 1px solid var(--line);

}



.legal-section:last-child {

  border-bottom: none;

  margin-bottom: 1rem;

}



.legal-section h2 {

  font-size: 1.5rem;

  font-weight: 700;

  color: var(--ink);

  margin: 0 0 1rem 0;

  line-height: 1.3;

}



.legal-section h3 {

  font-size: 1.15rem;

  font-weight: 700;

  color: var(--ink);

  margin: 1.5rem 0 0.8rem 0;

}



.legal-section h4 {

  font-size: 1rem;

  font-weight: 700;

  color: var(--muted);

  margin: 1rem 0 0.5rem 0;

}



.legal-section p {

  margin: 0 0 1rem 0;

  color: var(--ink);

  line-height: 1.7;

}



.legal-section p:last-child {

  margin-bottom: 0;

}



.legal-list {

  list-style: none;

  padding: 0;

  margin: 0.8rem 0 1rem 0;

}



.legal-list li {

  margin-bottom: 0.6rem;

  padding-left: 1.8rem;

  position: relative;

  color: var(--ink);

  line-height: 1.6;

}



.legal-list li:before {

  content: "";

  position: absolute;

  left: 0;

  top: 0.4rem;

  width: 0.5rem;

  height: 0.5rem;

  background: var(--accent);

  border-radius: 50%;

}



.legal-section a {

  color: var(--accent);

  text-decoration: none;

  transition: color 0.2s ease;

}



.legal-section a:hover {

  color: #1a1f2e;

  text-decoration: underline;

}



/* Responsive Legal Pages */

@media (max-width: 768px) {

  .legal-page-header {

    padding: 2rem 0;

    margin-bottom: 2rem;

  }



  .legal-page-header h1 {

    font-size: 1.5rem;

  }



  .legal-page-content {

    padding: 0 1rem 2rem 1rem;

  }



  .legal-section {

    margin-bottom: 1.8rem;

    padding-bottom: 1.5rem;

  }



  .legal-section h2 {

    font-size: 1.25rem;

    margin-bottom: 0.8rem;

  }



  .legal-section h3 {

    font-size: 1rem;

    margin: 1rem 0 0.6rem 0;

  }

}



