:root {
    --background-main: #020617;
    --background-card: #0f172a;
    --background-overlay: rgba(2, 6, 23, 0.8);
    --primary-accent: #86efac;
    --secondary-accent: #22c55e;
    --text-on-dark-primary: #f8fafc;
    --text-on-dark-muted: #94a3b8;
    --border-color: #1e293b;
    --glow-effect: rgba(134, 239, 172, 0.15)
}

body {
    background-color: var(--background-main);
    color: var(--text-on-dark-primary);
    font-family: 'Inter', sans-serif;
    margin: 0;
    padding: 0;
    line-height: 1.6;
    overflow-x: hidden
}

.font-serif {
    font-family: 'Playfair Display', serif
}

.text-muted {
    color: var(--text-on-dark-muted) !important
}

.bg-dark-newsroom {
    background-color: var(--background-main)
}

.glow-hover:hover {
    box-shadow: 0 0 15px var(--glow-effect);
    border-color: var(--primary-accent)
}

.transition-custom {
    transition: all 0.3s ease-in-out
}

* {
    box-sizing: border-box
}

html {
    scroll-behavior: smooth
}

/* ===== header ===== */
#eclipsarremy-header {
    transition: all 0.3s ease;
}

#eclipsarremy-header .site-title {
    font-family: 'Playfair Display', serif;
}

#eclipsarremy-header .nav-link,
#eclipsarremy-header .nav-link-mobile,
#eclipsarremy-header .cta-button {
    font-family: 'Inter', sans-serif;
}

#eclipsarremy-header .nav-link {
    position: relative;
    transition: color 0.3s ease;
}

#eclipsarremy-header .nav-link::after {
    content: '';
    position: absolute;
    bottom: -4px;
    left: 0;
    width: 0;
    height: 1px;
    background-color: #86efac;
    transition: width 0.3s ease;
}

#eclipsarremy-header .nav-link:hover {
    color: #86efac;
}

#eclipsarremy-header .nav-link:hover::after {
    width: 100%;
}

#eclipsarremy-header .cta-button {
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

#eclipsarremy-header .cta-button:hover {
    background-color: #86efac;
    color: #020617;
    box-shadow: 0 0 20px rgba(134, 239, 172, 0.2);
}

#eclipsarremy-header .nav-link-mobile {
    transition: padding-left 0.3s ease, color 0.3s ease;
}

#eclipsarremy-header .nav-link-mobile:hover {
    color: #86efac;
    padding-left: 8px;
}

#eclipsarremy-header #js-header-menu {
    max-height: calc(100vh - 60px);
}

/* ===== hero ===== */
.eclipsarremy-hero .headline {
    font-family: 'Playfair Display', serif;
    text-shadow: 0 4px 15px rgba(0, 0, 0, 0.8);
}

.eclipsarremy-hero .container {
    width: 100%;
}

.eclipsarremy-hero .js-cta-button {
    border: 1px solid #86efac;
}

.eclipsarremy-hero .js-cta-button:hover {
    background-color: transparent;
    color: #86efac;
}

/* ===== news_grid ===== */
.news-grid-section {
    font-family: 'Inter', sans-serif;
}

.news-grid-section .news-grid-card {
    transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}

.news-grid-section .news-grid-card:hover {
    border-color: #86efac;
    box-shadow: 0 10px 30px -10px rgba(134, 239, 172, 0.15);
}

.news-grid-section .js-filter-btn.active {
    pointer-events: none;
}

@media (max-width: 767px) {
    .news-grid-section .js-filter-container {
        width: 100%;
        justify-content: flex-start;
    }
}

/* ===== categories ===== */
.categories-explorer .active-filter {
    background-color: #86efac;
    color: #020617;
    border-color: #86efac;
}

.categories-explorer .js-category-card {
    box-shadow: 0 10px 30px -15px rgba(2, 6, 23, 0.7);
}

.categories-explorer .js-category-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 40px -20px rgba(134, 239, 172, 0.2);
}

.categories-explorer .js-filter-btn:focus {
    outline: none;
    box-shadow: 0 0 0 2px rgba(134, 239, 172, 0.3);
}

/* ===== special_reports ===== */
.special-reports-section .report-card:hover {
    box-shadow: 0 10px 30px -10px rgba(134, 239, 172, 0.15);
    border-color: #86efac;
    transform: translateY(-4px);
}

.special-reports-section .report-card img {
    filter: grayscale(20%);
}

.special-reports-section .report-card:hover img {
    filter: grayscale(0%);
}

.special-reports-section h2::after {
    content: '';
    display: block;
    width: 60px;
    height: 3px;
    background: #86efac;
    margin: 15px auto 0;
}

/* ===== footer ===== */
.eclipsarremy-footer {
    font-family: 'Inter', sans-serif;
}

.eclipsarremy-footer h3 {
    font-family: 'Playfair Display', serif;
}

.eclipsarremy-footer a {
    transition: all 0.3s ease;
}

.eclipsarremy-footer .container {
    max-width: 1200px;
}

/* ===== PAGE: world-news ===== */
.world-news-section h1,.world-news-section h2,.world-news-section h3{font-family:'Playfair Display',serif}.world-news-section p,.world-news-section span,.world-news-section input,.world-news-section button{font-family:'Inter',sans-serif}.world-news-section .js-article-card{transition:all .3s cubic-bezier(.4,0,.2,1)}.world-news-section .js-article-card:hover{transform:translateY(-8px);border-color:#86efac}.world-news-section input:focus{box-shadow:0 0 15px rgba(134,239,172,.1)}.world-news-section .line-clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

/* ===== PAGE: tech-science ===== */
.ts-page-content .ts-card { box-shadow: 0 10px 30px -15px rgba(0,0,0,0.5); }.ts-page-content .ts-card:hover { transform: translateY(-5px); box-shadow: 0 20px 40px -20px rgba(134, 239, 172, 0.2); }.ts-page-content .js-ts-search::placeholder { color: #475569; opacity: 1; }.ts-page-content .ts-intro::after { content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 1px; background: linear-gradient(90deg, transparent, #1e293b, transparent); }

/* ===== PAGE: culture-style ===== */
.eclips-cult-intro {
  border-bottom: 1px solid #1e293b;
}
.eclips-cult-intro h1 {
  color: #f8fafc;
  line-height: 1.2;
}
.eclips-cult-grid .active-filter {
  background-color: #86efac !important;
  color: #020617 !important;
  border-color: #86efac !important;
}
.eclips-cult-grid .js-filter-btn:hover {
  box-shadow: 0 0 15px rgba(134, 239, 172, 0.2);
}
.eclips-cult-grid .js-article-card {
  transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.eclips-cult-grid h3, .eclips-cult-grid h2 {
  color: #f8fafc;
  line-height: 1.3;
}
@media (max-width: 767px) {
  .eclips-cult-intro h1 {
    font-size: 18px !important;
  }
  .eclips-cult-intro p {
    font-size: 14px !important;
  }
  .eclips-cult-grid h3, .eclips-cult-grid h2 {
    font-size: 14px !important;
  }
}

/* ===== PAGE: info-center ===== */
.info-about .container { max-width: 1200px; }
.info-mission .container { max-width: 1200px; }
.info-mission .mission-card { transition: transform 0.3s ease; }
.info-mission .mission-card:hover { transform: translateY(-5px); }
.info-about img { filter: brightness(0.9); }
.info-about img:hover { filter: brightness(1.1); transition: filter 0.5s ease; }

/* ===== PAGE: privacy ===== */
.privacy-content-block .reading-progress-container { pointer-events: none; }.privacy-content-block .prose h2 { scroll-margin-top: 100px; }.privacy-content-block .prose p { margin-bottom: 1.5rem; }.privacy-content-block .bg-glow { box-shadow: 0 0 20px rgba(134, 239, 172, 0.05); }.privacy-content-block .prose strong { color: #f8fafc; font-weight: 600; }

/* ===== PAGE: terms ===== */
.terms-content .js-section-scroll { position: relative; scroll-margin-top: 100px; }
.terms-content .terms-section-number { color: #86efac; font-family: 'Inter', sans-serif; }
.terms-content .list-item-hover:hover { background-color: rgba(134, 239, 172, 0.05); }
.terms-content article { transition: border-color 0.3s ease; }
.terms-content article:hover { border-color: #86efac; }

/* ===== PAGE: disclaimer ===== */
.disclaimer-section { position: relative; overflow: hidden; }
.disclaimer-container { box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5); position: relative; z-index: 10; }
.disclaimer-title { text-shadow: 0 0 10px rgba(134, 239, 172, 0.2); }
.disclaimer-block h2, .disclaimer-block h3 { font-family: 'Playfair Display', serif; }
.disclaimer-content p { color: #94a3b8; line-height: 1.8; }
.disclaimer-section::before { content: ''; position: absolute; top: -10%; left: -10%; width: 40%; height: 40%; background: radial-gradient(circle, rgba(34, 197, 94, 0.05) 0%, transparent 70%); z-index: 1; }
.disclaimer-section::after { content: ''; position: absolute; bottom: -10%; right: -10%; width: 40%; height: 40%; background: radial-gradient(circle, rgba(134, 239, 172, 0.05) 0%, transparent 70%); z-index: 1; }

.main-comment-card {
    position: relative;
    overflow: hidden;
}

.avatar-main {
    border: 2px solid #1e293b;
    object-fit: cover;
}

.main-comment-card::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 3px;
    background: #86efac;
    opacity: 0;
    transition: opacity 0.3s;
}

.main-comment-card:hover::before {
    opacity: 1;
}

.reply-comment-card {
    backdrop-filter: blur(4px);
}

.avatar-reply {
    width: 40px;
    height: 40px;
}

.reply-connector {
    border-color: #1e293b;
}


/* ===== PAGE TEMPLATE: world-news-list ===== */
#eclipsarremy-header {
    transition: all 0.3s ease;
}

#eclipsarremy-header .site-title {
    font-family: 'Playfair Display', serif;
}

#eclipsarremy-header .nav-link,
#eclipsarremy-header .nav-link-mobile,
#eclipsarremy-header .cta-button {
    font-family: 'Inter', sans-serif;
}

#eclipsarremy-header .nav-link {
    position: relative;
    transition: color 0.3s ease;
}

#eclipsarremy-header .nav-link::after {
    content: '';
    position: absolute;
    bottom: -4px;
    left: 0;
    width: 0;
    height: 1px;
    background-color: #86efac;
    transition: width 0.3s ease;
}

#eclipsarremy-header .nav-link:hover {
    color: #86efac;
}

#eclipsarremy-header .nav-link:hover::after {
    width: 100%;
}

#eclipsarremy-header .cta-button {
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

#eclipsarremy-header .cta-button:hover {
    background-color: #86efac;
    color: #020617;
    box-shadow: 0 0 20px rgba(134, 239, 172, 0.2);
}

#eclipsarremy-header .nav-link-mobile {
    transition: padding-left 0.3s ease, color 0.3s ease;
}

#eclipsarremy-header .nav-link-mobile:hover {
    color: #86efac;
    padding-left: 8px;
}

#eclipsarremy-header #js-header-menu {
    max-height: calc(100vh - 60px);
}

.world-news-detail-page .article-content p {
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    line-height: 1.8;
    margin-bottom: 1.5rem;
    color: rgba(248, 250, 252, 0.9);
}

.world-news-detail-page .article-content h2 {
    font-family: 'Playfair Display', serif;
    font-size: 26px;
    font-weight: 700;
    margin: 2.5rem 0 1.5rem;
    color: #f8fafc;
    border-left: 4px solid #86efac;
    padding-left: 1rem;
}

.world-news-detail-page .article-content ul {
    list-style: none;
    margin-bottom: 1.5rem;
    padding-left: 1.25rem;
}

.world-news-detail-page .article-content li {
    position: relative;
    padding-left: 1.5rem;
    margin-bottom: 0.75rem;
    font-family: 'Inter', sans-serif;
    color: #94a3b8;
}

.world-news-detail-page .article-content li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.6em;
    width: 6px;
    height: 6px;
    background-color: #86efac;
    border-radius: 50%;
}

.eclipsarremy-footer {
    font-family: 'Inter', sans-serif;
}

.eclipsarremy-footer h3 {
    font-family: 'Playfair Display', serif;
}

.eclipsarremy-footer a {
    transition: all 0.3s ease;
}

.eclipsarremy-footer .container {
    max-width: 1200px;
}

/* ===== PAGE TEMPLATE: tech-science-list ===== */
#eclipsarremy-header {
    transition: all 0.3s ease;
}

#eclipsarremy-header .site-title {
    font-family: 'Playfair Display', serif;
}

#eclipsarremy-header .nav-link,
#eclipsarremy-header .nav-link-mobile,
#eclipsarremy-header .cta-button {
    font-family: 'Inter', sans-serif;
}

#eclipsarremy-header .nav-link {
    position: relative;
    transition: color 0.3s ease;
}

#eclipsarremy-header .nav-link::after {
    content: '';
    position: absolute;
    bottom: -4px;
    left: 0;
    width: 0;
    height: 1px;
    background-color: #86efac;
    transition: width 0.3s ease;
}

#eclipsarremy-header .nav-link:hover {
    color: #86efac;
}

#eclipsarremy-header .nav-link:hover::after {
    width: 100%;
}

#eclipsarremy-header .cta-button {
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

#eclipsarremy-header .cta-button:hover {
    background-color: #86efac;
    color: #020617;
    box-shadow: 0 0 20px rgba(134, 239, 172, 0.2);
}

#eclipsarremy-header .nav-link-mobile {
    transition: padding-left 0.3s ease, color 0.3s ease;
}

#eclipsarremy-header .nav-link-mobile:hover {
    color: #86efac;
    padding-left: 8px;
}

#eclipsarremy-header #js-header-menu {
    max-height: calc(100vh - 60px);
}

.eclipsarremy-footer {
    font-family: 'Inter', sans-serif;
}

.eclipsarremy-footer h3 {
    font-family: 'Playfair Display', serif;
}

.eclipsarremy-footer a {
    transition: all 0.3s ease;
}

.eclipsarremy-footer .container {
    max-width: 1200px;
}

.tech-science-detail article h2 {
    font-family: 'Playfair Display', serif;
    color: #86efac;
    font-size: 1.5rem;
    margin: 2.5rem 0 1.25rem;
    font-weight: 700;
}

.tech-science-detail article p {
    margin-bottom: 1.5rem;
}

.tech-science-detail article ul,
.tech-science-detail article ol {
    margin-bottom: 1.5rem;
    padding-left: 1.5rem;
}

.tech-science-detail article ul li {
    list-style-type: disc;
    margin-bottom: 0.5rem;
}

.tech-science-detail article strong {
    color: #86efac;
    font-weight: 700;
}

.tech-science-detail .js-like-btn.active {
    color: #f8fafc;
    transform: scale(1.1);
}

@media (max-width: 768px) {
    .tech-science-detail article h2 {
        font-size: 1.125rem;
    }

    .tech-science-detail .hero-detail h1 {
        font-size: 1.125rem !important;
    }
}

/* ===== PAGE TEMPLATE: culture-style-list ===== */
.culture-detail-page .prose-custom h2 {
    color: #86efac;
    font-family: 'Playfair Display', serif;
    font-size: 16px;
    font-weight: 700;
    margin-top: 2rem;
    margin-bottom: 1rem;
}

@media (min-width: 768px) {
    .culture-detail-page .prose-custom h2 {
        font-size: 32px;
    }
}

.culture-detail-page .prose-custom p {
    margin-bottom: 1.5rem;
    line-height: 1.8;
    color: #f8fafc;
    font-size: 16px;
}

.culture-detail-page .prose-custom ul {
    list-style-type: none;
    margin-bottom: 1.5rem;
    padding-left: 0;
}

.culture-detail-page .prose-custom ul li {
    position: relative;
    padding-left: 1.5rem;
    margin-bottom: 0.5rem;
    color: #94a3b8;
}

.culture-detail-page .prose-custom ul li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.6em;
    width: 6px;
    height: 6px;
    background-color: #86efac;
    border-radius: 50%;
}

.culture-detail-page #eclipsarremy-header {
    transition: all 0.3s ease;
}

.culture-detail-page .site-title {
    font-family: 'Playfair Display', serif;
}

.culture-detail-page .nav-link,
.culture-detail-page .nav-link-mobile,
.culture-detail-page .cta-button {
    font-family: 'Inter', sans-serif;
}

.culture-detail-page .nav-link {
    position: relative;
    transition: color 0.3s ease;
}

.culture-detail-page .nav-link::after {
    content: '';
    position: absolute;
    bottom: -4px;
    left: 0;
    width: 0;
    height: 1px;
    background-color: #86efac;
    transition: width 0.3s ease;
}

.culture-detail-page .nav-link:hover {
    color: #86efac;
}

.culture-detail-page .nav-link:hover::after {
    width: 100%;
}

.culture-detail-page .cta-button {
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

.culture-detail-page .cta-button:hover {
    background-color: #86efac;
    color: #020617;
    box-shadow: 0 0 20px rgba(134, 239, 172, 0.2);
}

.culture-detail-page .nav-link-mobile {
    transition: padding-left 0.3s ease, color 0.3s ease;
}

.culture-detail-page .nav-link-mobile:hover {
    color: #86efac;
    padding-left: 8px;
}

.eclipsarremy-footer {
    font-family: 'Inter', sans-serif;
}

.eclipsarremy-footer h3 {
    font-family: 'Playfair Display', serif;
}

.eclipsarremy-footer a {
    transition: all 0.3s ease;
}

.eclipsarremy-footer .container {
    max-width: 1200px;
}

.avatar-main,
.avatar-reply {
    font-family: 'Inter', sans-serif;
}