/* ============================================================
   Source: _layouts/blog-post-enhanced.njk
   ============================================================ */


        /* Key Takeaways Box */
        .key-takeaways {
            background: linear-gradient(135deg, color-mix(in srgb, var(--primary-color) 10%, transparent), color-mix(in srgb, var(--secondary-color) 10%, transparent));
            border-left: 4px solid var(--accent-color);
            border-radius: 8px;
            padding: 1.5rem 2rem;
            margin: 2rem 0;
            box-shadow: 0 2px 8px rgba(0,0,0,0.2);
        }
        .key-takeaways h2 {
            color: var(--accent-color);
            font-size: 1.3rem;
            margin-top: 0;
            margin-bottom: 1rem;
            display: flex;
            align-items: center;
            gap: 0.5rem;
        }
        .key-takeaways h2:before {
            content: "💡";
            font-size: 1.5rem;
        }
        .key-takeaways ul {
            margin: 0;
            padding-left: 1.5rem;
        }
        .key-takeaways li {
            margin-bottom: 0.75rem;
            line-height: 1.6;
        }

        /* Blog Images */
        .blog-image {
            margin: 2.5rem auto;
            max-width: 800px;
            text-align: center;
        }
        .blog-image img {
            width: 100%;
            max-width: 100%;
            height: auto;
            border-radius: 8px;
            box-shadow: 0 4px 12px rgba(0,0,0,0.3);
            display: block;
            margin: 0 auto;
        }
        .blog-image .image-caption {
            margin-top: 0.75rem;
            font-size: 0.9rem;
            color: var(--text-muted);
            font-style: italic;
            line-height: 1.4;
        }

        /* Table of Contents */
        .table-of-contents {
            background: var(--card-background);
            border: 1px solid var(--border-light);
            border-radius: 8px;
            padding: 1.5rem;
            margin: 2rem 0;
        }
        .table-of-contents h2 {
            font-size: 1.2rem;
            margin-top: 0;
            margin-bottom: 1rem;
            color: var(--accent-color);
        }
        .table-of-contents ul {
            list-style: none;
            padding-left: 0;
            margin: 0;
        }
        .table-of-contents li {
            margin-bottom: 0.5rem;
        }
        .table-of-contents a {
            color: var(--text-primary);
            text-decoration: none;
            display: block;
            padding: 0.25rem 0;
            transition: color 0.2s;
        }
        .table-of-contents a:hover {
            color: var(--accent-color);
        }

        /* Reading Time */
        .reading-time {
            color: var(--text-muted);
            font-size: 0.9rem;
            margin-left: 1rem;
        }

        /* Author Bio Box */
        .author-bio-box {
            background: var(--card-background);
            border: 1px solid var(--border-light);
            border-radius: 8px;
            padding: 2rem;
            margin: 3rem 0;
            display: flex;
            gap: 1.5rem;
            align-items: start;
        }
        .author-bio-box img {
            border-radius: 50%;
            border: 3px solid var(--accent-color);
        }
        .author-bio-content h3 {
            margin-top: 0;
            margin-bottom: 0.5rem;
            color: var(--accent-color);
        }
        .author-bio-content p {
            margin: 0;
            color: var(--text-secondary);
        }
        .author-bio-link {
            display: inline-block;
            margin-top: 0.75rem;
            color: var(--accent-color);
            text-decoration: none;
            font-weight: 500;
        }

        /* FAQ Section */
        .faq-section {
            margin: 3rem 0;
        }
        .faq-section h2 {
            color: var(--accent-color);
            margin-bottom: 1.5rem;
        }
        .faq-item {
            background: var(--card-background);
            border: 1px solid var(--border-light);
            border-radius: 8px;
            margin-bottom: 1rem;
            overflow: hidden;
            transition: all 0.3s ease;
        }
        .faq-item:hover {
            border-color: var(--accent-color);
        }
        .faq-question {
            width: 100%;
            background: transparent;
            border: none;
            padding: 1.5rem;
            display: flex;
            justify-content: space-between;
            align-items: center;
            cursor: pointer;
            text-align: left;
            font-weight: 600;
            color: var(--text-primary);
            font-size: 1.1rem;
            transition: background-color 0.2s ease;
            font-family: 'Montserrat', sans-serif;
        }
        .faq-question:hover {
            background-color: color-mix(in srgb, var(--primary-color) 10%, transparent);
        }
        .faq-question-text {
            flex: 1;
            padding-right: 1rem;
        }
        .faq-toggle {
            font-size: 1.5rem;
            font-weight: 300;
            color: var(--accent-color);
            transition: transform 0.3s ease;
            flex-shrink: 0;
            width: 24px;
            height: 24px;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        .faq-question[aria-expanded="true"] .faq-toggle {
            transform: rotate(45deg);
        }
        .faq-answer {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.4s ease-out;
        }
        .faq-answer-content {
            padding: 0 1.5rem 1.5rem 1.5rem;
            color: var(--text-secondary);
            line-height: 1.6;
        }
        .faq-item.active .faq-answer {
            max-height: 1000px;
            transition: max-height 0.5s ease-in;
        }

        /* Related Articles */
        .related-articles {
            margin: 3rem 0;
            padding: 2rem;
            background: var(--card-background);
            border-radius: 8px;
        }
        .related-articles h2 {
            color: var(--accent-color);
            margin-top: 0;
            margin-bottom: 1.5rem;
        }
        .related-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
            gap: 1.5rem;
        }
        .related-card {
            background: rgba(255,255,255,0.05);
            border-radius: 8px;
            overflow: hidden;
            transition: transform 0.2s;
        }
        .related-card:hover {
            transform: translateY(-4px);
        }
        .related-card a {
            text-decoration: none;
            color: var(--text-primary);
        }
        .related-card img {
            width: 100%;
            height: 150px;
            object-fit: cover;
        }
        .related-card-content {
            padding: 1rem;
        }
        .related-card h3 {
            font-size: 1rem;
            margin: 0 0 0.5rem 0;
        }
        .related-card-meta {
            font-size: 0.85rem;
            color: var(--text-muted);
        }

        /* Tags Section */
        .tags-section {
            margin: 2rem 0;
        }
        .tags-section h3 {
            font-size: 1rem;
            color: var(--text-muted);
            margin-bottom: 1rem;
        }
        .tags-list {
            display: flex;
            flex-wrap: wrap;
            gap: 0.5rem;
        }
        .tag-item {
            background: color-mix(in srgb, var(--primary-color) 20%, transparent);
            color: var(--accent-color);
            padding: 0.5rem 1rem;
            border-radius: 20px;
            font-size: 0.9rem;
            text-decoration: none;
            border: 1px solid color-mix(in srgb, var(--primary-color) 30%, transparent);
            transition: all 0.2s;
        }
        .tag-item:hover {
            background: color-mix(in srgb, var(--primary-color) 30%, transparent);
            transform: translateY(-2px);
        }
        /* Inline tags in post header */
        .blog-post-tags {
            display: flex;
            flex-wrap: wrap;
            gap: 0.4rem;
            margin-top: 0.5rem;
        }
        .blog-post-tags .tag {
            background: color-mix(in srgb, var(--primary-color) 15%, transparent);
            color: var(--text-muted);
            padding: 0.2rem 0.7rem;
            border-radius: 20px;
            font-size: 0.8rem;
            border: 1px solid color-mix(in srgb, var(--primary-color) 25%, transparent);
        }
        /* Truncate long post title in breadcrumb on mobile */
        @media (max-width: 768px) {
            .breadcrumb-nav span:last-child {
                white-space: nowrap;
                overflow: hidden;
                text-overflow: ellipsis;
                max-width: 180px;
                display: inline-block;
                vertical-align: middle;
            }
        }


/* ============================================================
   Source: _layouts/blog-post.njk
   ============================================================ */


        .blog-post-header {
            text-align: center;
            padding: 3rem 0 2rem;
        }
        .blog-post-meta {
            color: var(--text-muted);
            font-family: 'Montserrat', sans-serif;
            font-size: 14px;
            margin-bottom: 1rem;
        }
        .blog-post-tags {
            display: flex;
            gap: 0.5rem;
            justify-content: center;
            flex-wrap: wrap;
            margin-top: 1rem;
        }
        .tag {
            background-color: color-mix(in srgb, var(--primary-color) 20%, transparent);
            color: var(--accent-color);
            padding: 0.25rem 0.75rem;
            border-radius: 4px;
            font-size: 12px;
            font-family: 'Montserrat', sans-serif;
            border: 1px solid color-mix(in srgb, var(--primary-color) 30%, transparent);
        }


/* ============================================================
   Source: _layouts/planet-enhanced.njk
   ============================================================ */


        /* Key Takeaways Box */
        .key-takeaways {
            background: linear-gradient(135deg, color-mix(in srgb, var(--primary-color) 10%, transparent), color-mix(in srgb, var(--secondary-color) 10%, transparent));
            border-left: 4px solid var(--accent-color);
            border-radius: 8px;
            padding: 1.5rem 2rem;
            margin: 2rem 0;
            box-shadow: 0 2px 8px rgba(0,0,0,0.2);
        }
        .key-takeaways h2 {
            color: var(--accent-color);
            font-size: 1.3rem;
            margin-top: 0;
            margin-bottom: 1rem;
            display: flex;
            align-items: center;
            gap: 0.5rem;
        }
        .key-takeaways h2:before {
            content: "⭐";
            font-size: 1.5rem;
        }
        .key-takeaways ul {
            margin: 0;
            padding-left: 1.5rem;
        }
        .key-takeaways li {
            margin-bottom: 0.75rem;
            line-height: 1.6;
        }

        /* Table of Contents */
        .table-of-contents {
            background: var(--card-background);
            border: 1px solid var(--border-light);
            border-radius: 8px;
            padding: 1.5rem;
            margin: 2rem 0;
        }
        .table-of-contents h2 {
            font-size: 1.2rem;
            margin-top: 0;
            margin-bottom: 1rem;
            color: var(--accent-color);
        }
        .table-of-contents ul {
            list-style: none;
            padding-left: 0;
            margin: 0;
        }
        .table-of-contents li {
            margin-bottom: 0.5rem;
        }
        .table-of-contents a {
            color: var(--text-primary);
            text-decoration: none;
            display: block;
            padding: 0.25rem 0;
            transition: color 0.2s;
        }
        .table-of-contents a:hover {
            color: var(--accent-color);
        }

        /* FAQ Section */
        .faq-section {
            margin: 3rem 0;
        }
        .faq-section h2 {
            color: var(--accent-color);
            margin-bottom: 1.5rem;
        }
        .faq-item {
            background: var(--card-background);
            border: 1px solid var(--border-light);
            border-radius: 8px;
            padding: 1.5rem;
            margin-bottom: 1rem;
        }
        .faq-question {
            display: block;
            width: 100%;
            background: none;
            border: none;
            padding: 0;
            text-align: left;
            cursor: default;
            font-weight: 600;
            color: var(--text-primary);
            margin-bottom: 0.75rem;
            font-size: 1.1rem;
            font-family: inherit;
        }
        .faq-answer {
            color: var(--text-secondary);
            line-height: 1.6;
        }

        /* Related Blog Posts */
        .related-blog-posts {
            margin: 3rem 0;
            padding: 2rem;
            background: var(--card-background);
            border-radius: 8px;
            border: 1px solid var(--border-light);
        }
        .related-blog-posts h2 {
            color: var(--accent-color);
            margin-top: 0;
            margin-bottom: 1.5rem;
        }
        .blog-post-link {
            display: block;
            padding: 1rem;
            background: rgba(255,255,255,0.03);
            border-radius: 8px;
            margin-bottom: 1rem;
            text-decoration: none;
            color: var(--text-primary);
            transition: all 0.2s;
            border: 1px solid transparent;
        }
        .blog-post-link:hover {
            background: color-mix(in srgb, var(--primary-color) 10%, transparent);
            border-color: var(--accent-color);
            transform: translateX(4px);
        }
        .blog-post-link h3 {
            margin: 0 0 0.5rem 0;
            color: var(--accent-color);
            font-size: 1.1rem;
        }
        .blog-post-link p {
            margin: 0;
            color: var(--text-muted);
            font-size: 0.9rem;
        }

        /* Last Updated Notice */
        .last-updated {
            text-align: center;
            color: var(--text-muted);
            font-size: 0.9rem;
            margin: 2rem 0;
            padding: 1rem;
            background: rgba(255,255,255,0.02);
            border-radius: 4px;
        }


/* ============================================================
   Source: aquarius-constellation.njk
   ============================================================ */


  /* Aquarius-specific styles */

  .aqu-page {
    --primary-color: #6ba3e5;
    --primary-light: #8bb5ed;
    --secondary-color: #f0d888;
    --accent-color: #50c8ff;
    --text-primary: #e8e8e8;
    --text-secondary: #b0b0b0;
  }

  .aqu-hero {
    position: relative;
    width: 100%;
    height: 400px;
    background: linear-gradient(135deg, #0a1a2e 0%, #16213e 50%, #0f3460 100%);
    background-image: url('/images/blog/aquarius-hero.jpg');
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    text-align: center;
    overflow: hidden;
  }

  .aqu-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 30% 40%, rgba(107, 163, 229, 0.2), transparent 70%);
    pointer-events: none;
  }

  .aqu-hero-title {
    position: relative;
    z-index: 2;
    font-size: clamp(2rem, 8vw, 3.5rem);
    font-weight: 700;
    text-shadow: 0 2px 20px rgba(0, 0, 0, 0.8);
    letter-spacing: -0.02em;
  }

  .aqu-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 2rem;
    color: var(--text-primary);
  }

  .aqu-intro {
    font-size: 1.1rem;
    line-height: 1.7;
    margin-bottom: 2rem;
    color: var(--text-secondary);
    max-width: 800px;
  }

  .aqu-facts-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1.5rem;
    margin-bottom: 3rem;
    background: rgba(107, 163, 229, 0.05);
    padding: 2rem;
    border-radius: 12px;
    border: 1px solid rgba(107, 163, 229, 0.15);
  }

  .aqu-fact-item {
    border-left: 3px solid var(--primary-color);
    padding-left: 1rem;
  }

  .aqu-fact-label {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--primary-light);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 0.5rem;
  }

  .aqu-fact-value {
    font-size: 1rem;
    font-weight: 600;
    color: var(--text-primary);
  }

  .aqu-section-title {
    font-size: 2rem;
    font-weight: 700;
    margin-top: 3rem;
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 2px solid var(--primary-color);
    color: var(--text-primary);
  }

  .aqu-subsection-title {
    font-size: 1.3rem;
    font-weight: 600;
    margin-top: 2rem;
    margin-bottom: 1rem;
    color: var(--primary-light);
  }

  .aqu-sky-finder {
    background: #0a1428;
    border: 1px solid var(--primary-color);
    border-radius: 8px;
    padding: 1rem;
    margin-bottom: 2rem;
    display: flex;
    justify-content: center;
  }

  .aqu-find-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1.5rem;
    margin-bottom: 2rem;
  }

  .aqu-find-card {
    background: rgba(107, 163, 229, 0.1);
    border: 1px solid var(--primary-color);
    border-radius: 8px;
    padding: 1.5rem;
    color: var(--text-primary);
  }

  .aqu-find-card-title {
    font-weight: 600;
    color: var(--primary-light);
    margin-bottom: 0.5rem;
    font-size: 1rem;
  }

  .aqu-find-card-text {
    font-size: 0.95rem;
    color: var(--text-secondary);
    line-height: 1.6;
  }

  .aqu-seasonal-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 2rem;
    background: rgba(107, 163, 229, 0.05);
    border: 1px solid var(--primary-color);
    border-radius: 8px;
    overflow: hidden;
  }

  .aqu-seasonal-table th,
  .aqu-seasonal-table td {
    padding: 1rem;
    text-align: left;
    border-bottom: 1px solid rgba(107, 163, 229, 0.2);
  }

  .aqu-seasonal-table th {
    background: rgba(107, 163, 229, 0.15);
    font-weight: 600;
    color: var(--primary-light);
  }

  .aqu-seasonal-table tr:last-child td {
    border-bottom: none;
  }

  .aqu-star-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1.5rem;
    margin-bottom: 2rem;
  }

  .aqu-star-card {
    background: rgba(240, 216, 136, 0.08);
    border: 1px solid var(--secondary-color);
    border-radius: 8px;
    padding: 1.5rem;
    color: var(--text-primary);
  }

  .aqu-star-name {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--secondary-color);
    margin-bottom: 0.5rem;
  }

  .aqu-star-meta {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
    font-size: 0.9rem;
    color: var(--text-secondary);
    margin-bottom: 1rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid rgba(240, 216, 136, 0.2);
  }

  .aqu-star-meta-item {
    display: flex;
    justify-content: space-between;
  }

  .aqu-star-meta-label {
    font-weight: 600;
    color: var(--secondary-color);
  }

  .aqu-star-desc {
    font-size: 0.95rem;
    line-height: 1.6;
    color: var(--text-secondary);
  }

  .aqu-myth-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1.5rem;
    margin-bottom: 2rem;
  }

  .aqu-myth-card {
    background: rgba(107, 163, 229, 0.1);
    border: 1px solid var(--primary-color);
    border-radius: 8px;
    padding: 1.5rem;
    color: var(--text-primary);
  }

  .aqu-myth-culture {
    font-size: 1rem;
    font-weight: 700;
    color: var(--primary-light);
    margin-bottom: 0.75rem;
  }

  .aqu-myth-text {
    font-size: 0.95rem;
    line-height: 1.6;
    color: var(--text-secondary);
  }

  .aqu-dso-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1.5rem;
    margin-bottom: 2rem;
  }

  .aqu-dso-card {
    background: rgba(80, 200, 255, 0.08);
    border: 1px solid var(--accent-color);
    border-radius: 8px;
    padding: 1.5rem;
    color: var(--text-primary);
  }

  .aqu-dso-name {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--accent-color);
    margin-bottom: 0.5rem;
  }

  .aqu-dso-info {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
    font-size: 0.9rem;
    color: var(--text-secondary);
    margin-bottom: 1rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid rgba(80, 200, 255, 0.2);
  }

  .aqu-dso-info-item {
    display: flex;
    justify-content: space-between;
  }

  .aqu-dso-info-label {
    font-weight: 600;
    color: var(--accent-color);
  }

  .aqu-dso-difficulty {
    display: inline-block;
    padding: 0.3rem 0.8rem;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 0.75rem;
  }

  .aqu-difficulty-easy {
    background: rgba(76, 175, 80, 0.2);
    color: #4caf50;
    border: 1px solid #4caf50;
  }

  .aqu-difficulty-medium {
    background: rgba(255, 152, 0, 0.2);
    color: #ff9800;
    border: 1px solid #ff9800;
  }

  .aqu-difficulty-photo {
    background: rgba(156, 39, 176, 0.2);
    color: #9c27b0;
    border: 1px solid #9c27b0;
  }

  .aqu-dso-desc {
    font-size: 0.95rem;
    line-height: 1.6;
    color: var(--text-secondary);
  }

  .aqu-observing-steps {
    background: rgba(107, 163, 229, 0.05);
    border-left: 4px solid var(--primary-color);
    padding: 1.5rem;
    border-radius: 8px;
    margin-bottom: 2rem;
  }

  .aqu-observing-step {
    display: flex;
    gap: 1rem;
    margin-bottom: 1.5rem;
  }

  .aqu-observing-step:last-child {
    margin-bottom: 0;
  }

  .aqu-step-number {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    background: var(--primary-color);
    color: #0a1428;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 1rem;
  }

  .aqu-step-text {
    flex: 1;
    color: var(--text-secondary);
    font-size: 0.95rem;
    line-height: 1.6;
  }

  .aqu-kit-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 1rem;
    margin-bottom: 2rem;
  }

  .aqu-kit-item {
    background: rgba(107, 163, 229, 0.1);
    border: 1px solid var(--primary-color);
    border-radius: 8px;
    padding: 1rem;
    text-align: center;
    color: var(--text-primary);
  }

  .aqu-kit-label {
    font-weight: 600;
    font-size: 0.9rem;
    color: var(--primary-light);
    margin-bottom: 0.5rem;
  }

  .aqu-kit-desc {
    font-size: 0.85rem;
    color: var(--text-secondary);
  }

  .aqu-advanced-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1.5rem;
    margin-bottom: 2rem;
  }

  .aqu-adv-card {
    background: rgba(240, 216, 136, 0.08);
    border: 1px solid var(--secondary-color);
    border-radius: 8px;
    padding: 1.5rem;
    color: var(--text-primary);
  }

  .aqu-adv-title {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--secondary-color);
    margin-bottom: 0.75rem;
  }

  .aqu-adv-text {
    font-size: 0.95rem;
    line-height: 1.6;
    color: var(--text-secondary);
  }

  .aqu-tip-box {
    background: rgba(76, 175, 80, 0.1);
    border-left: 4px solid #4caf50;
    padding: 1.5rem;
    border-radius: 8px;
    margin-bottom: 2rem;
  }

  .aqu-tip-title {
    font-weight: 700;
    color: #4caf50;
    margin-bottom: 0.75rem;
  }

  .aqu-tip-text {
    font-size: 0.95rem;
    line-height: 1.6;
    color: var(--text-secondary);
  }

  .aqu-related-links {
    background: rgba(107, 163, 229, 0.05);
    border: 1px solid var(--primary-color);
    border-radius: 8px;
    padding: 1.5rem;
    margin-top: 3rem;
  }

  .aqu-related-title {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--primary-light);
    margin-bottom: 1rem;
  }

  .aqu-related-list {
    list-style: none;
    padding: 0;
  }

  .aqu-related-list li {
    margin-bottom: 0.75rem;
  }

  .aqu-related-list a {
    color: var(--primary-light);
    text-decoration: none;
    font-weight: 500;
  }

  .aqu-related-list a:hover {
    color: var(--accent-color);
    text-decoration: underline;
  }

  /* SVG styles */
  .aqu-svg-container {
    display: flex;
    justify-content: center;
    background: #0a1428;
    border-radius: 8px;
    padding: 1rem;
  }

  .aqu-svg-star {
    filter: drop-shadow(0 0 3px rgba(107, 163, 229, 0.5));
  }

  .aqu-svg-line {
    stroke: rgba(107, 163, 229, 0.6);
    stroke-width: 1;
    fill: none;
  }

  .aqu-svg-label {
    font-size: 11px;
    fill: rgba(176, 176, 176, 0.8);
    text-anchor: middle;
  }

  /* Responsive */
  @media (max-width: 768px) {
    .aqu-hero-title {
      font-size: 2rem;
    }

    .aqu-facts-grid {
      grid-template-columns: 1fr 1fr;
    }

    .aqu-section-title {
      font-size: 1.5rem;
    }

    .aqu-find-cards,
    .aqu-star-cards,
    .aqu-myth-cards,
    .aqu-dso-cards,
    .aqu-advanced-cards {
      grid-template-columns: 1fr;
    }

    .aqu-star-meta,
    .aqu-dso-info {
      grid-template-columns: 1fr;
    }

    .aqu-kit-grid {
      grid-template-columns: repeat(2, 1fr);
    }
  }


/* ============================================================
   Source: aries-constellation.njk
   ============================================================ */


        /* Aries Constellation Styles */
        .ari-hero {
            position: relative;
            width: 100%;
            height: 400px;
            background: linear-gradient(135deg, #0a1428 0%, #1a2847 100%);
            display: flex;
            align-items: center;
            justify-content: center;
            overflow: hidden;
        }

        .ari-hero-img {
            position: absolute;
            width: 100%;
            height: 100%;
            object-fit: cover;
            opacity: 0.6;
        }

        .ari-hero-content {
            position: relative;
            z-index: 2;
            text-align: center;
            color: white;
        }

        .ari-hero h1 {
            font-size: 3.5rem;
            margin: 0;
            text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.7);
            font-weight: 700;
        }

        .ari-hero p {
            font-size: 1.2rem;
            margin: 10px 0 0 0;
            color: #c0d4f5;
            text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.5);
        }

        .ari-badge {
            display: inline-block;
            background: rgba(192, 212, 245, 0.25);
            border: 1px solid #c0d4f5;
            color: #c0d4f5;
            padding: 6px 14px;
            border-radius: 20px;
            font-size: 0.85rem;
            margin-top: 15px;
        }

        .ari-container {
            max-width: 1000px;
            margin: 0 auto;
            padding: 40px 20px;
        }

        .ari-intro {
            max-width: 780px;
            margin: 0 auto 60px;
            text-align: center;
            color: #e0e0e0;
            line-height: 1.8;
            font-size: 1.05rem;
        }

        .ari-facts {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
            gap: 20px;
            margin-bottom: 60px;
            padding: 30px;
            background: rgba(192, 212, 245, 0.05);
            border-radius: 12px;
        }

        .ari-fact-item {
            padding: 15px;
            border-left: 3px solid #c0d4f5;
            background: rgba(26, 40, 71, 0.5);
            border-radius: 6px;
        }

        .ari-fact-label {
            font-size: 0.85rem;
            color: #c0d4f5;
            text-transform: uppercase;
            letter-spacing: 1px;
            font-weight: 600;
            margin-bottom: 8px;
        }

        .ari-fact-value {
            font-size: 1.15rem;
            color: #ffffff;
            font-weight: 500;
        }

        .ari-section {
            margin-bottom: 70px;
        }

        .ari-section h2 {
            font-size: 2rem;
            color: #c0d4f5;
            margin-bottom: 30px;
            padding-bottom: 10px;
            border-bottom: 2px solid rgba(192, 212, 245, 0.3);
        }

        .ari-svg-wrap {
            width: 100%;
            max-width: 900px;
            margin: 30px auto;
            background: rgba(10, 20, 40, 0.8);
            border: 2px solid rgba(192, 212, 245, 0.2);
            border-radius: 12px;
            padding: 20px;
            display: flex;
            justify-content: center;
        }

        .ari-svg-wrap svg {
            width: 100%;
            height: auto;
            max-width: 720px;
        }

        .ari-find-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
            gap: 20px;
            margin: 30px 0;
        }

        .ari-find-card {
            background: rgba(26, 40, 71, 0.6);
            border-left: 4px solid #c0d4f5;
            padding: 20px;
            border-radius: 8px;
        }

        .ari-find-card h3 {
            color: #c0d4f5;
            margin-top: 0;
            margin-bottom: 12px;
            font-size: 1.1rem;
        }

        .ari-find-card p {
            color: #d0d0d0;
            line-height: 1.6;
            margin: 0;
            font-size: 0.95rem;
        }

        .ari-seasonal-table {
            width: 100%;
            margin: 30px 0;
            border-collapse: collapse;
            background: rgba(26, 40, 71, 0.5);
            border-radius: 8px;
            overflow: hidden;
        }

        .ari-seasonal-table th,
        .ari-seasonal-table td {
            padding: 15px;
            text-align: left;
            border-bottom: 1px solid rgba(192, 212, 245, 0.2);
        }

        .ari-seasonal-table th {
            background: rgba(192, 212, 245, 0.1);
            color: #c0d4f5;
            font-weight: 600;
            text-transform: uppercase;
            font-size: 0.85rem;
            letter-spacing: 1px;
        }

        .ari-seasonal-table td {
            color: #d0d0d0;
        }

        .ari-seasonal-table tr:last-child td {
            border-bottom: none;
        }

        .ari-stars-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
            gap: 25px;
            margin: 30px 0;
        }

        .ari-star-card {
            background: rgba(26, 40, 71, 0.6);
            border-left: 4px solid #8ab0ff;
            padding: 25px;
            border-radius: 8px;
            transition: transform 0.3s ease, box-shadow 0.3s ease;
        }

        .ari-star-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 8px 20px rgba(192, 212, 245, 0.15);
        }

        .ari-star-card h3 {
            color: #c0d4f5;
            margin-top: 0;
            margin-bottom: 12px;
            font-size: 1.2rem;
        }

        .ari-star-meta {
            font-size: 0.85rem;
            color: #a0b8d4;
            margin-bottom: 12px;
            line-height: 1.5;
        }

        .ari-star-card p {
            color: #d0d0d0;
            line-height: 1.7;
            margin: 0;
            font-size: 0.95rem;
        }

        .ari-myth-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
            gap: 25px;
            margin: 30px 0;
        }

        .ari-myth-card {
            background: rgba(26, 40, 71, 0.6);
            border-left: 4px solid #c9a0ff;
            padding: 25px;
            border-radius: 8px;
        }

        .ari-myth-card h3 {
            color: #c9a0ff;
            margin-top: 0;
            margin-bottom: 12px;
            font-size: 1.1rem;
        }

        .ari-myth-card p {
            color: #d0d0d0;
            line-height: 1.7;
            margin: 0;
            font-size: 0.95rem;
        }

        .ari-dso-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
            gap: 25px;
            margin: 30px 0;
        }

        .ari-dso-card {
            background: rgba(26, 40, 71, 0.6);
            border-left: 4px solid #a8c0ff;
            padding: 25px;
            border-radius: 8px;
        }

        .ari-dso-card h3 {
            color: #a8c0ff;
            margin-top: 0;
            margin-bottom: 12px;
            font-size: 1.1rem;
        }

        .ari-dso-meta {
            font-size: 0.85rem;
            color: #a0b8d4;
            margin-bottom: 12px;
            line-height: 1.5;
        }

        .ari-dso-difficulty {
            display: inline-block;
            font-size: 0.75rem;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 1px;
            padding: 4px 10px;
            border-radius: 12px;
            margin-bottom: 12px;
        }

        .ari-dso-difficulty.diff-easy {
            background: rgba(100, 200, 100, 0.25);
            color: #64c864;
        }

        .ari-dso-difficulty.diff-medium {
            background: rgba(200, 150, 100, 0.25);
            color: #d4a574;
        }

        .ari-dso-difficulty.diff-photo {
            background: rgba(150, 100, 200, 0.25);
            color: #b88aff;
        }

        .ari-dso-card p {
            color: #d0d0d0;
            line-height: 1.7;
            margin: 0;
            font-size: 0.95rem;
        }

        .ari-steps {
            max-width: 780px;
            margin: 30px auto;
        }

        .ari-steps ol {
            list-style: none;
            padding: 0;
            counter-reset: step-counter;
        }

        .ari-steps li {
            counter-increment: step-counter;
            margin-bottom: 25px;
            padding-left: 50px;
            position: relative;
            color: #d0d0d0;
            line-height: 1.7;
            font-size: 1rem;
        }

        .ari-steps li::before {
            content: counter(step-counter);
            position: absolute;
            left: 0;
            top: 0;
            width: 35px;
            height: 35px;
            background: rgba(192, 212, 245, 0.2);
            border: 2px solid #c0d4f5;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-weight: 700;
            color: #c0d4f5;
            font-size: 1.1rem;
        }

        .ari-kit-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
            gap: 15px;
            margin: 30px 0;
        }

        .ari-kit-item {
            background: rgba(192, 212, 245, 0.08);
            border: 1px solid rgba(192, 212, 245, 0.2);
            padding: 15px;
            text-align: center;
            border-radius: 8px;
            color: #d0d0d0;
            font-size: 0.9rem;
        }

        .ari-adv-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
            gap: 25px;
            margin: 30px 0;
        }

        .ari-adv-card {
            background: rgba(26, 40, 71, 0.6);
            border-left: 4px solid #ffc857;
            padding: 25px;
            border-radius: 8px;
        }

        .ari-adv-card h3 {
            color: #ffc857;
            margin-top: 0;
            margin-bottom: 12px;
            font-size: 1.1rem;
        }

        .ari-adv-card p {
            color: #d0d0d0;
            line-height: 1.7;
            margin: 0;
            font-size: 0.95rem;
        }

        .ari-tip {
            background: rgba(255, 200, 87, 0.1);
            border-left: 4px solid #ffc857;
            padding: 20px;
            margin: 30px 0;
            border-radius: 8px;
        }

        .ari-tip h4 {
            color: #ffc857;
            margin-top: 0;
            margin-bottom: 10px;
            font-size: 1rem;
        }

        .ari-tip p {
            color: #d0d0d0;
            line-height: 1.7;
            margin: 0;
            font-size: 0.95rem;
        }

        .ari-related {
            background: rgba(192, 212, 245, 0.05);
            border: 1px solid rgba(192, 212, 245, 0.2);
            padding: 30px;
            border-radius: 12px;
            margin-top: 60px;
        }

        .ari-related h3 {
            color: #c0d4f5;
            margin-top: 0;
            margin-bottom: 20px;
            font-size: 1.3rem;
        }

        .ari-related-links {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
            gap: 15px;
        }

        .ari-related-links a {
            display: inline-block;
            color: #c0d4f5;
            text-decoration: none;
            padding: 12px 16px;
            background: rgba(192, 212, 245, 0.1);
            border: 1px solid rgba(192, 212, 245, 0.3);
            border-radius: 6px;
            transition: all 0.3s ease;
            font-size: 0.95rem;
        }

        .ari-related-links a:hover {
            background: rgba(192, 212, 245, 0.2);
            border-color: #c0d4f5;
        }

        @media (max-width: 768px) {
            .ari-hero h1 {
                font-size: 2.2rem;
            }

            .ari-section h2 {
                font-size: 1.5rem;
            }

            .ari-facts {
                grid-template-columns: 1fr;
            }

            .ari-find-grid,
            .ari-stars-grid,
            .ari-myth-grid,
            .ari-dso-grid,
            .ari-adv-grid {
                grid-template-columns: 1fr;
            }

            .ari-kit-grid {
                grid-template-columns: repeat(2, 1fr);
            }
        }


/* ============================================================
   Source: astronomy-events.njk
   ============================================================ */


    .events-hero {
        background: linear-gradient(135deg, rgba(10, 14, 39, 0.95), rgba(20, 25, 60, 0.95)),
                    url('https://images.unsplash.com/photo-1464802686167-b939a6910659?w=1600');
        background-size: cover;
        background-position: center;
        padding: 4rem 0 3rem;
        text-align: center;
    }

    .events-hero h1 {
        font-size: 2.5rem;
        margin-bottom: 1rem;
        color: white;
    }

    .events-hero p {
        font-size: 1.2rem;
        color: rgba(255, 255, 255, 0.9);
        max-width: 700px;
        margin: 0 auto;
    }

    .events-container {
        max-width: 1200px;
        margin: 0 auto;
        padding: 3rem 1.5rem;
    }

    .year-section {
        margin-bottom: 4rem;
    }

    .year-header {
        font-size: 2rem;
        color: var(--primary-color);
        margin-bottom: 2rem;
        padding-bottom: 0.5rem;
        border-bottom: 3px solid var(--primary-color);
    }

    .month-section {
        margin-bottom: 3rem;
    }

    .month-header {
        font-size: 1.5rem;
        color: var(--accent-color);
        margin-bottom: 1.5rem;
    }

    .event-card {
        background: var(--background-card);
        border-left: 4px solid var(--primary-color);
        padding: 1.5rem;
        margin-bottom: 1.5rem;
        border-radius: 0 8px 8px 0;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
        transition: transform 0.2s, box-shadow 0.2s;
    }

    .event-card:hover {
        transform: translateX(5px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
    }

    .event-date {
        color: var(--primary-color);
        font-weight: 600;
        font-size: 0.95rem;
        margin-bottom: 0.5rem;
    }

    .event-title {
        font-size: 1.3rem;
        color: var(--text-primary);
        margin-bottom: 0.75rem;
    }

    .event-description {
        color: var(--text-secondary);
        line-height: 1.6;
        margin-bottom: 0.75rem;
    }

    .event-tags {
        display: flex;
        gap: 0.5rem;
        flex-wrap: wrap;
        margin-top: 1rem;
    }

    .event-tag {
        background: color-mix(in srgb, var(--primary-color) 20%, transparent);
        color: var(--accent-color);
        padding: 0.25rem 0.75rem;
        border-radius: 12px;
        font-size: 0.85rem;
        font-weight: 500;
    }

    .event-visibility {
        color: var(--text-muted);
        font-size: 0.9rem;
        font-style: italic;
        margin-top: 0.5rem;
    }

    @media (max-width: 768px) {
        .events-hero h1 {
            font-size: 2rem;
        }

        .event-card {
            padding: 1rem;
        }
    }


/* ============================================================
   Source: blog/index.njk
   ============================================================ */


        .category-filter {
            display: flex;
            gap: 0.75rem;
            flex-wrap: wrap;
        }

        .filter-btn {
            padding: 0.5rem 1.25rem;
            background: var(--background-card);
            border: 2px solid var(--border-light);
            color: var(--text-secondary);
            border-radius: 25px;
            cursor: pointer;
            font-family: 'Montserrat', sans-serif;
            font-size: 0.95rem;
            font-weight: 600;
            transition: all 0.3s ease;
            text-align: center;
            line-height: 1.3;
            display: inline-flex;
            align-items: center;
            justify-content: center;
        }

        .filter-btn:hover {
            border-color: var(--primary-color);
            color: var(--text-primary);
            transform: translateY(-2px);
        }

        .filter-btn.active {
            background: var(--primary-color);
            border-color: var(--primary-color);
            color: white;
        }

        .post-card {
            transition: opacity 0.3s ease, transform 0.3s ease;
        }

        .post-card.hidden {
            display: none;
        }

        @media (max-width: 768px) {
            .category-filter {
                width: 100%;
            }

            .filter-btn {
                flex: 1;
                min-width: 100px;
                font-size: 0.82rem;
                padding: 0.55rem 0.6rem;
            }
        }


/* ============================================================
   Source: cancer-constellation.njk
   ============================================================ */


  .cnc-hero {
    position: relative;
    width: 100%;
    height: 400px;
    background: linear-gradient(135deg, #0a0e1a 0%, #1a1f3a 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
  }

  .cnc-hero-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.85;
  }

  .cnc-hero-content {
    position: relative;
    z-index: 10;
    text-align: center;
    color: #fff;
  }

  .cnc-hero-content h1 {
    font-size: 3.5rem;
    margin: 0;
    font-weight: 700;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.7);
    letter-spacing: 1px;
  }

  .cnc-hero-content .badge {
    display: inline-block;
    background: rgba(79, 172, 254, 0.3);
    border: 1px solid #4faafe;
    color: #4faafe;
    padding: 8px 16px;
    border-radius: 20px;
    font-size: 0.95rem;
    margin-top: 10px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
  }

  .cnc-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px 20px;
  }

  .cnc-intro {
    text-align: center;
    max-width: 780px;
    margin: 0 auto 60px;
    font-size: 1.1rem;
    line-height: 1.8;
    color: #d0d8e8;
  }

  .cnc-facts {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 30px;
    margin-bottom: 80px;
  }

  .cnc-fact-item {
    background: rgba(79, 172, 254, 0.08);
    border: 1px solid rgba(79, 172, 254, 0.3);
    border-radius: 10px;
    padding: 25px;
    text-align: center;
  }

  .cnc-fact-label {
    font-size: 0.9rem;
    color: #8899cc;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 8px;
  }

  .cnc-fact-value {
    font-size: 1.4rem;
    color: #4faafe;
    font-weight: 600;
  }

  .cnc-section {
    margin-bottom: 80px;
  }

  .cnc-section h2 {
    font-size: 2rem;
    color: #e8eeff;
    margin-bottom: 30px;
    border-bottom: 2px solid #4faafe;
    padding-bottom: 10px;
  }

  .cnc-find-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 25px;
    margin-bottom: 40px;
  }

  .cnc-find-card {
    background: rgba(79, 172, 254, 0.08);
    border: 1px solid rgba(79, 172, 254, 0.3);
    border-radius: 10px;
    padding: 25px;
  }

  .cnc-find-card h3 {
    color: #4faafe;
    margin-top: 0;
    font-size: 1.1rem;
  }

  .cnc-find-card p {
    color: #c8d8e8;
    font-size: 0.95rem;
    line-height: 1.6;
    margin: 0;
  }

  .cnc-svg-wrap {
    background: linear-gradient(135deg, rgba(8, 13, 24, 0.5), rgba(4, 8, 16, 0.5));
    border: 1px solid rgba(79, 172, 254, 0.3);
    border-radius: 10px;
    padding: 20px;
    margin-bottom: 40px;
  }

  .cnc-svg-wrap svg {
    width: 100%;
    height: auto;
    display: block;
  }

  .cnc-seasonal-table {
    width: 100%;
    background: rgba(79, 172, 254, 0.08);
    border: 1px solid rgba(79, 172, 254, 0.3);
    border-radius: 10px;
    overflow: hidden;
    margin-bottom: 40px;
  }

  .cnc-seasonal-table thead {
    background: rgba(79, 172, 254, 0.15);
  }

  .cnc-seasonal-table th {
    padding: 15px;
    color: #4faafe;
    text-align: left;
    font-weight: 600;
    border-bottom: 1px solid rgba(79, 172, 254, 0.3);
  }

  .cnc-seasonal-table td {
    padding: 15px;
    color: #c8d8e8;
    border-bottom: 1px solid rgba(79, 172, 254, 0.1);
  }

  .cnc-seasonal-table tr:last-child td {
    border-bottom: none;
  }

  .cnc-stars-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 25px;
    margin-bottom: 40px;
  }

  .cnc-star-card {
    background: rgba(79, 172, 254, 0.08);
    border: 1px solid rgba(79, 172, 254, 0.3);
    border-radius: 10px;
    padding: 30px;
  }

  .cnc-star-card h3 {
    color: #4faafe;
    margin-top: 0;
    font-size: 1.15rem;
    margin-bottom: 8px;
  }

  .cnc-star-card .star-mag {
    color: #8899cc;
    font-size: 0.9rem;
    margin-bottom: 15px;
  }

  .cnc-star-card p {
    color: #c8d8e8;
    font-size: 0.95rem;
    line-height: 1.7;
    margin: 0;
  }

  .cnc-myth-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 25px;
    margin-bottom: 40px;
  }

  .cnc-myth-card {
    background: rgba(79, 172, 254, 0.08);
    border: 1px solid rgba(79, 172, 254, 0.3);
    border-radius: 10px;
    padding: 30px;
  }

  .cnc-myth-card h3 {
    color: #4faafe;
    margin-top: 0;
    font-size: 1.15rem;
    margin-bottom: 15px;
  }

  .cnc-myth-card p {
    color: #c8d8e8;
    font-size: 0.95rem;
    line-height: 1.7;
    margin: 0;
  }

  .cnc-dso-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 25px;
    margin-bottom: 40px;
  }

  .cnc-dso-card {
    background: rgba(79, 172, 254, 0.08);
    border: 1px solid rgba(79, 172, 254, 0.3);
    border-radius: 10px;
    padding: 30px;
  }

  .cnc-dso-card h3 {
    color: #4faafe;
    margin-top: 0;
    font-size: 1.1rem;
    margin-bottom: 10px;
  }

  .cnc-dso-meta {
    font-size: 0.85rem;
    color: #8899cc;
    margin-bottom: 15px;
    line-height: 1.6;
  }

  .cnc-dso-card p {
    color: #c8d8e8;
    font-size: 0.95rem;
    line-height: 1.7;
    margin: 0;
  }

  .cnc-dso-difficulty {
    display: inline-block;
    font-size: 0.8rem;
    padding: 4px 10px;
    border-radius: 12px;
    margin-top: 12px;
    font-weight: 600;
    text-transform: uppercase;
  }

  .cnc-diff-easy {
    background: rgba(34, 197, 94, 0.2);
    color: #22c55e;
    border: 1px solid rgba(34, 197, 94, 0.4);
  }

  .cnc-diff-medium {
    background: rgba(251, 191, 36, 0.2);
    color: #fbbf24;
    border: 1px solid rgba(251, 191, 36, 0.4);
  }

  .cnc-diff-photo {
    background: rgba(139, 92, 246, 0.2);
    color: #a78bfa;
    border: 1px solid rgba(139, 92, 246, 0.4);
  }

  .cnc-steps {
    counter-reset: step-counter;
    margin-bottom: 40px;
  }

  .cnc-steps li {
    counter-increment: step-counter;
    list-style: none;
    margin-bottom: 25px;
    padding-left: 60px;
    position: relative;
  }

  .cnc-steps li::before {
    content: counter(step-counter);
    position: absolute;
    left: 0;
    top: 0;
    width: 40px;
    height: 40px;
    background: #4faafe;
    color: #0a0e1a;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 1.1rem;
  }

  .cnc-steps li p {
    color: #c8d8e8;
    font-size: 1rem;
    line-height: 1.7;
    margin: 0;
  }

  .cnc-kit-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 20px;
    margin-bottom: 40px;
  }

  .cnc-kit-item {
    background: rgba(79, 172, 254, 0.08);
    border: 1px solid rgba(79, 172, 254, 0.3);
    border-radius: 10px;
    padding: 20px;
    text-align: center;
  }

  .cnc-kit-item strong {
    display: block;
    color: #4faafe;
    margin-bottom: 8px;
    font-size: 1rem;
  }

  .cnc-kit-item p {
    color: #c8d8e8;
    font-size: 0.9rem;
    margin: 0;
  }

  .cnc-adv-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 25px;
    margin-bottom: 40px;
  }

  .cnc-adv-card {
    background: rgba(79, 172, 254, 0.08);
    border: 1px solid rgba(79, 172, 254, 0.3);
    border-radius: 10px;
    padding: 30px;
  }

  .cnc-adv-card h3 {
    color: #4faafe;
    margin-top: 0;
    font-size: 1.15rem;
    margin-bottom: 15px;
  }

  .cnc-adv-card p {
    color: #c8d8e8;
    font-size: 0.95rem;
    line-height: 1.7;
    margin: 0;
  }

  .cnc-tip {
    background: rgba(79, 172, 254, 0.1);
    border-left: 4px solid #4faafe;
    border-radius: 6px;
    padding: 20px;
    margin-bottom: 40px;
  }

  .cnc-tip strong {
    color: #4faafe;
  }

  .cnc-tip p {
    color: #c8d8e8;
    font-size: 0.95rem;
    line-height: 1.7;
    margin: 0;
  }

  .cnc-related {
    background: rgba(79, 172, 254, 0.08);
    border: 1px solid rgba(79, 172, 254, 0.3);
    border-radius: 10px;
    padding: 30px;
    margin-top: 60px;
  }

  .cnc-related h3 {
    color: #4faafe;
    margin-top: 0;
    font-size: 1.3rem;
    margin-bottom: 20px;
  }

  .cnc-related-links {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
  }

  .cnc-related-links a {
    color: #4faafe;
    text-decoration: none;
    padding: 15px;
    background: rgba(79, 172, 254, 0.05);
    border-radius: 6px;
    transition: all 0.3s ease;
    display: block;
  }

  .cnc-related-links a:hover {
    background: rgba(79, 172, 254, 0.15);
    transform: translateX(5px);
  }

  @media (max-width: 768px) {
    .cnc-hero-content h1 {
      font-size: 2.2rem;
    }

    .cnc-section h2 {
      font-size: 1.5rem;
    }

    .cnc-intro {
      font-size: 1rem;
    }

    .cnc-facts {
      grid-template-columns: repeat(2, 1fr);
      gap: 15px;
    }
  }


/* ============================================================
   Source: capricornus-constellation.njk
   ============================================================ */


.cap-hero {
  position: relative;
  width: 100%;
  height: 300px;
  background: linear-gradient(135deg, #0a1428 0%, #1a2a4a 50%, #2a1a4a 100%);
  background-image: url('/images/blog/capricornus-hero.jpg');
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.cap-hero::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(10, 20, 40, 0.5);
  z-index: 1;
}

.cap-hero-title {
  position: relative;
  z-index: 2;
  color: #fff;
  text-align: center;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.7);
}

.cap-hero-title h1 {
  margin: 0;
  font-size: 3em;
  font-weight: 700;
  letter-spacing: 1px;
}

.cap-hero-title p {
  margin: 0.5em 0 0 0;
  font-size: 1.2em;
  color: #b0d4ff;
}

.cap-container {
  max-width: 900px;
  margin: 0 auto;
  padding: 2em;
  color: #e0e0e0;
  line-height: 1.7;
}

.cap-intro {
  font-size: 1.1em;
  color: #c0d4f5;
  margin-bottom: 2em;
  padding: 1.5em;
  border-left: 4px solid #77ccff;
  background: rgba(119, 204, 255, 0.08);
  border-radius: 4px;
}

.cap-facts-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1.5em;
  margin: 2em 0;
  padding: 1.5em;
  background: rgba(50, 80, 120, 0.2);
  border-radius: 6px;
}

.cap-fact-card {
  padding: 1em;
  background: rgba(30, 60, 100, 0.3);
  border: 1px solid rgba(176, 212, 255, 0.3);
  border-radius: 4px;
}

.cap-fact-label {
  font-size: 0.9em;
  color: #88ccff;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 0.5em;
}

.cap-fact-value {
  font-size: 1.2em;
  color: #fff;
  font-weight: 600;
}

.cap-section {
  margin: 3em 0;
}

.cap-section h2 {
  font-size: 1.8em;
  color: #77d4ff;
  border-bottom: 2px solid #77ccff;
  padding-bottom: 0.5em;
  margin-bottom: 1.5em;
}

.cap-section h3 {
  font-size: 1.3em;
  color: #b0d4ff;
  margin-top: 1.5em;
  margin-bottom: 0.8em;
}

.cap-section p {
  margin: 1em 0;
  text-align: justify;
}

.cap-find-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1.5em;
  margin: 1.5em 0;
}

.cap-find-card {
  padding: 1.2em;
  background: rgba(30, 60, 100, 0.3);
  border: 1px solid rgba(192, 212, 245, 0.3);
  border-radius: 4px;
}

.cap-find-card h4 {
  color: #77d4ff;
  margin: 0 0 0.5em 0;
  font-size: 1.1em;
}

.cap-find-card p {
  margin: 0;
  font-size: 0.95em;
}

.cap-seasonal-table {
  width: 100%;
  margin: 1.5em 0;
  border-collapse: collapse;
  background: rgba(30, 60, 100, 0.2);
}

.cap-seasonal-table th,
.cap-seasonal-table td {
  padding: 1em;
  text-align: left;
  border: 1px solid rgba(176, 212, 255, 0.2);
}

.cap-seasonal-table th {
  background: rgba(50, 80, 120, 0.4);
  color: #77d4ff;
  font-weight: 700;
}

.cap-seasonal-table tr:nth-child(even) {
  background: rgba(50, 80, 120, 0.15);
}

.cap-seasonal-table td {
  color: #e0e0e0;
}

.cap-star-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.5em;
  margin: 1.5em 0;
}

.cap-star-card {
  padding: 1.5em;
  background: rgba(30, 60, 100, 0.3);
  border: 1px solid rgba(192, 212, 245, 0.3);
  border-radius: 4px;
}

.cap-star-card h4 {
  color: #77d4ff;
  margin: 0 0 0.5em 0;
  font-size: 1.05em;
}

.cap-star-meta {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.5em;
  margin: 0.8em 0;
  font-size: 0.9em;
}

.cap-star-meta-item {
  color: #88ccff;
}

.cap-star-meta-label {
  font-weight: 600;
  color: #b0d4ff;
}

.cap-star-card p {
  margin: 1em 0 0 0;
  font-size: 0.95em;
  color: #d0d8ee;
}

.cap-myth-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 1.5em;
  margin: 1.5em 0;
}

.cap-myth-card {
  padding: 1.2em;
  background: rgba(30, 60, 100, 0.3);
  border: 1px solid rgba(192, 212, 245, 0.3);
  border-radius: 4px;
}

.cap-myth-card h4 {
  color: #77d4ff;
  margin: 0 0 0.8em 0;
  font-size: 1.05em;
}

.cap-myth-card p {
  margin: 0;
  font-size: 0.95em;
  color: #d0d8ee;
}

.cap-dso-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.5em;
  margin: 1.5em 0;
}

.cap-dso-card {
  padding: 1.2em;
  background: rgba(30, 60, 100, 0.3);
  border: 1px solid rgba(192, 212, 245, 0.3);
  border-radius: 4px;
}

.cap-dso-card h4 {
  color: #77d4ff;
  margin: 0 0 0.5em 0;
  font-size: 1.05em;
}

.cap-dso-type {
  font-size: 0.85em;
  color: #88ccff;
  font-weight: 600;
  margin-bottom: 0.5em;
}

.cap-dso-info {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.5em;
  margin: 0.8em 0;
  font-size: 0.85em;
}

.cap-dso-info-item {
  color: #88ccff;
}

.cap-dso-card p {
  margin: 0.8em 0 0 0;
  font-size: 0.95em;
  color: #d0d8ee;
}

.cap-difficulty {
  display: inline-block;
  padding: 0.25em 0.6em;
  background: rgba(119, 204, 255, 0.2);
  border: 1px solid #77ccff;
  border-radius: 3px;
  font-size: 0.8em;
  color: #99e0ff;
  margin-top: 0.5em;
}

.cap-observing-steps {
  list-style: none;
  padding: 0;
  margin: 1.5em 0;
}

.cap-observing-steps li {
  padding: 1em;
  margin: 0.8em 0;
  background: rgba(30, 60, 100, 0.3);
  border-left: 4px solid #77ccff;
  border-radius: 2px;
  counter-increment: step-counter;
}

.cap-observing-steps {
  counter-reset: step-counter;
}

.cap-observing-steps li::before {
  content: counter(step-counter) ". ";
  font-weight: 700;
  color: #77d4ff;
  margin-right: 0.5em;
}

.cap-kit-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 1em;
  margin: 1.5em 0;
}

.cap-kit-item {
  padding: 1em;
  background: rgba(50, 80, 120, 0.3);
  border: 1px solid rgba(192, 212, 245, 0.3);
  border-radius: 4px;
  text-align: center;
}

.cap-kit-name {
  font-weight: 700;
  color: #77d4ff;
  margin-bottom: 0.3em;
}

.cap-kit-detail {
  font-size: 0.85em;
  color: #88ccff;
}

.cap-adv-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 1.5em;
  margin: 1.5em 0;
}

.cap-adv-card {
  padding: 1.2em;
  background: rgba(30, 60, 100, 0.3);
  border: 1px solid rgba(192, 212, 245, 0.3);
  border-radius: 4px;
}

.cap-adv-card h4 {
  color: #77d4ff;
  margin: 0 0 0.8em 0;
  font-size: 1.05em;
}

.cap-adv-card p {
  margin: 0;
  font-size: 0.95em;
  color: #d0d8ee;
}

.cap-adv-tip {
  padding: 1.5em;
  background: rgba(119, 204, 255, 0.1);
  border-left: 4px solid #77ccff;
  border-radius: 4px;
  margin-top: 1.5em;
}

.cap-adv-tip strong {
  color: #77d4ff;
}

.cap-related-box {
  margin: 2em 0;
  padding: 1.5em;
  background: rgba(50, 80, 120, 0.2);
  border: 1px solid rgba(192, 212, 245, 0.3);
  border-radius: 4px;
}

.cap-related-box h3 {
  margin-top: 0;
  color: #77d4ff;
}

.cap-related-box ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.cap-related-box li {
  padding: 0.5em 0;
}

.cap-related-box a {
  color: #88ccff;
  text-decoration: none;
  border-bottom: 1px dotted #88ccff;
  transition: color 0.3s;
}

.cap-related-box a:hover {
  color: #77d4ff;
  border-bottom-color: #77d4ff;
}

@media (max-width: 600px) {
  .cap-hero-title h1 {
    font-size: 2em;
  }

  .cap-hero-title p {
    font-size: 1em;
  }

  .cap-facts-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1em;
  }

  .cap-container {
    padding: 1em;
  }
}


/* ============================================================
   Source: cassiopeia-constellation.njk
   ============================================================ */


  .cas-hero {
    position: relative;
    height: 420px;
    background: linear-gradient(180deg, #0a0e1a 0%, #111827 60%, #1a2035 100%);
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
  }
  .cas-hero-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.55;
  }
  .cas-hero-content {
    position: relative;
    z-index: 2;
    color: #fff;
    padding: 0 1rem;
  }
  .cas-hero-content h1 {
    font-size: clamp(2rem, 5vw, 3.5rem);
    margin: 0 0 0.5rem;
    text-shadow: 0 2px 12px rgba(0,0,0,0.8);
    letter-spacing: 0.04em;
  }
  .cas-hero-content p {
    font-size: clamp(1rem, 2.5vw, 1.3rem);
    opacity: 0.9;
    margin: 0;
    text-shadow: 0 1px 6px rgba(0,0,0,0.8);
  }
  .cas-badge {
    display: inline-block;
    background: rgba(137,196,244,0.18);
    border: 1px solid rgba(137,196,244,0.45);
    color: #89c4f4;
    border-radius: 20px;
    padding: 0.25rem 0.9rem;
    font-size: 0.82rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    margin-bottom: 0.8rem;
  }
  .cas-container {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 1.2rem;
  }
  .cas-intro {
    max-width: 780px;
    margin: 2rem auto;
    text-align: center;
    color: #cdd6e0;
    font-size: 1.08rem;
    line-height: 1.75;
  }
  .cas-facts {
    background: #111827;
    border: 1px solid #1e2d42;
    border-radius: 12px;
    padding: 1.8rem 2rem;
    margin: 2rem 0;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 1.2rem;
  }
  .cas-fact-item { text-align: center; }
  .cas-fact-label {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #89c4f4;
    margin-bottom: 0.3rem;
    font-weight: 600;
  }
  .cas-fact-value {
    font-size: 1.05rem;
    color: #e8edf2;
    font-weight: 500;
  }
  .cas-section {
    margin: 3rem 0;
  }
  .cas-section h2 {
    font-size: 1.8rem;
    color: #c8dff0;
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid #1e3a5f;
  }
  .cas-section h3 {
    font-size: 1.25rem;
    color: #a8c8e8;
    margin: 1.5rem 0 0.7rem;
  }
  .cas-section p, .cas-section li {
    color: #b8c8d8;
    line-height: 1.75;
  }
  .cas-find-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;
    margin: 1.5rem 0;
  }
  @media (max-width: 600px) { .cas-find-grid { grid-template-columns: 1fr; } }
  .cas-find-card {
    background: #0f1c2e;
    border: 1px solid #1e3a5f;
    border-radius: 10px;
    padding: 1.2rem 1.4rem;
  }
  .cas-find-card h4 {
    color: #89c4f4;
    margin: 0 0 0.5rem;
    font-size: 1rem;
  }
  .cas-find-card p {
    color: #9aaabb;
    margin: 0;
    font-size: 0.95rem;
    line-height: 1.6;
  }
  .cas-svg-wrap {
    background: #070d18;
    border: 1px solid #1e3a5f;
    border-radius: 12px;
    padding: 1rem;
    margin: 1.5rem 0;
    text-align: center;
  }
  .cas-svg-wrap svg { max-width: 100%; height: auto; }
  .cas-w-box {
    background: linear-gradient(135deg, #0a1628 0%, #0d1f38 100%);
    border: 1px solid #89c4f4;
    border-radius: 10px;
    padding: 1.2rem 1.5rem;
    margin: 1.5rem 0;
    color: #9aaabb;
    font-size: 0.95rem;
    line-height: 1.65;
  }
  .cas-w-box strong { color: #89c4f4; }
  .cas-seasonal {
    background: #0f1c2e;
    border: 1px solid #1e3a5f;
    border-radius: 10px;
    overflow: hidden;
    margin: 1.5rem 0;
  }
  .cas-seasonal table { width: 100%; border-collapse: collapse; }
  .cas-seasonal th {
    background: #1a2f4a;
    color: #89c4f4;
    padding: 0.6rem 1rem;
    text-align: left;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
  }
  .cas-seasonal td {
    padding: 0.6rem 1rem;
    border-top: 1px solid #1e3a5f;
    color: #9aaabb;
    font-size: 0.93rem;
  }
  .cas-seasonal tr:hover td { background: #0a1628; }
  .stars-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 1.2rem;
    margin: 1.5rem 0;
  }
  .star-card {
    background: #0f1c2e;
    border: 1px solid #1e3a5f;
    border-radius: 10px;
    padding: 1.2rem 1.4rem;
  }
  .star-card h4 {
    margin: 0 0 0.3rem;
    font-size: 1.05rem;
  }
  .star-card .star-meta {
    font-size: 0.8rem;
    color: #6688aa;
    margin-bottom: 0.6rem;
    font-style: italic;
  }
  .star-card p {
    color: #9aaabb;
    font-size: 0.93rem;
    margin: 0;
    line-height: 1.6;
  }
  .myth-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: 1.1rem;
    margin: 1.5rem 0;
  }
  .myth-card {
    background: #0f1c2e;
    border: 1px solid #1e3a5f;
    border-radius: 10px;
    padding: 1.1rem 1.3rem;
  }
  .myth-card h4 {
    color: #89c4f4;
    font-size: 0.92rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin: 0 0 0.5rem;
  }
  .myth-card p {
    color: #8899aa;
    font-size: 0.88rem;
    margin: 0;
    line-height: 1.6;
  }
  .dso-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 1.2rem;
    margin: 1.5rem 0;
  }
  .dso-card {
    background: #0a1628;
    border: 1px solid #1e3a5f;
    border-radius: 10px;
    padding: 1.2rem 1.4rem;
    border-left: 3px solid #89c4f4;
  }
  .dso-card h4 { color: #c8dff0; margin: 0 0 0.3rem; font-size: 1rem; }
  .dso-card .dso-meta {
    font-size: 0.78rem;
    color: #6688aa;
    margin-bottom: 0.6rem;
    font-style: italic;
  }
  .dso-card p { color: #9aaabb; font-size: 0.92rem; margin: 0; line-height: 1.6; }
  .dso-difficulty {
    display: inline-block;
    font-size: 0.72rem;
    padding: 0.15rem 0.55rem;
    border-radius: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-left: 0.4rem;
    vertical-align: middle;
  }
  .diff-easy { background: rgba(80,200,120,0.15); color: #50c878; border: 1px solid #50c878; }
  .diff-medium { background: rgba(255,180,50,0.12); color: #ffb432; border: 1px solid #ffb432; }
  .diff-photo { background: rgba(200,100,220,0.12); color: #c864dc; border: 1px solid #c864dc; }
  .cas-steps {
    counter-reset: step-counter;
    list-style: none;
    padding: 0;
    margin: 1.5rem 0;
  }
  .cas-steps li {
    counter-increment: step-counter;
    position: relative;
    padding: 0.9rem 1rem 0.9rem 3.2rem;
    margin-bottom: 0.8rem;
    background: #0f1c2e;
    border: 1px solid #1e3a5f;
    border-radius: 8px;
    color: #9aaabb;
    font-size: 0.95rem;
    line-height: 1.6;
  }
  .cas-steps li::before {
    content: counter(step-counter);
    position: absolute;
    left: 0.9rem;
    top: 50%;
    transform: translateY(-50%);
    background: #89c4f4;
    color: #050e1a;
    width: 1.6rem;
    height: 1.6rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 0.85rem;
  }
  .cas-kit-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.9rem;
    margin: 1.2rem 0;
  }
  @media (max-width: 500px) { .cas-kit-grid { grid-template-columns: 1fr 1fr; } }
  .cas-kit-item {
    background: #0a1628;
    border: 1px solid #1e3a5f;
    border-radius: 8px;
    padding: 0.8rem;
    text-align: center;
  }
  .cas-kit-icon { font-size: 1.6rem; display: block; margin-bottom: 0.3rem; }
  .cas-kit-item span:last-child { font-size: 0.82rem; color: #89c4f4; font-weight: 600; }
  .cas-kit-item p { font-size: 0.78rem; color: #6688aa; margin: 0.2rem 0 0; }
  .adv-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1.1rem;
    margin: 1.5rem 0;
  }
  .adv-card {
    background: #0f1c2e;
    border: 1px solid #1e3a5f;
    border-radius: 10px;
    padding: 1.1rem 1.3rem;
  }
  .adv-card h4 { color: #89c4f4; margin: 0 0 0.5rem; font-size: 0.95rem; }
  .adv-card p { color: #8899aa; font-size: 0.88rem; margin: 0; line-height: 1.6; }
  .cas-tip {
    background: rgba(137,196,244,0.07);
    border: 1px solid rgba(137,196,244,0.25);
    border-radius: 10px;
    padding: 1rem 1.3rem;
    color: #9aaabb;
    font-size: 0.93rem;
    line-height: 1.65;
    margin: 1.5rem 0;
  }
  .cas-tip strong { color: #89c4f4; }
  .cas-related {
    background: #0f1c2e;
    border: 1px solid #1e3a5f;
    border-radius: 12px;
    padding: 1.5rem 1.8rem;
    margin: 3rem 0;
  }
  .cas-related h3 { color: #c8dff0; margin: 0 0 1rem; }
  .cas-related-links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem;
  }
  .cas-related-links a {
    background: #0a1628;
    border: 1px solid #1e3a5f;
    border-radius: 6px;
    padding: 0.5rem 1rem;
    color: #89c4f4;
    text-decoration: none;
    font-size: 0.9rem;
    transition: background 0.2s;
  }
  .cas-related-links a:hover { background: #1a2f4a; }


/* ============================================================
   Source: constellations.njk
   ============================================================ */


    /* === HERO === */
    .const-hero {
        position: relative;
        padding: 5.5rem 0 4.5rem;
        text-align: center;
        background: radial-gradient(ellipse at 60% 30%, rgba(60, 40, 120, 0.50) 0%, transparent 60%),
                    radial-gradient(ellipse at 20% 70%, rgba(20, 40, 100, 0.40) 0%, transparent 55%),
                    linear-gradient(to bottom, #050a1e 0%, #090d25 60%, #050a1e 100%);
        overflow: hidden;
    }

    /* Subtle star field via CSS */
    .const-hero::before {
        content: '';
        position: absolute;
        inset: 0;
        background-image:
            radial-gradient(1px 1px at 8% 12%, rgba(255,255,255,0.55) 0%, transparent 100%),
            radial-gradient(1px 1px at 22% 34%, rgba(255,255,255,0.45) 0%, transparent 100%),
            radial-gradient(1px 1px at 36% 8%, rgba(255,255,255,0.60) 0%, transparent 100%),
            radial-gradient(1px 1px at 51% 22%, rgba(255,255,255,0.40) 0%, transparent 100%),
            radial-gradient(1px 1px at 67% 15%, rgba(255,255,255,0.55) 0%, transparent 100%),
            radial-gradient(1px 1px at 78% 38%, rgba(255,255,255,0.45) 0%, transparent 100%),
            radial-gradient(1px 1px at 88% 10%, rgba(255,255,255,0.50) 0%, transparent 100%),
            radial-gradient(1px 1px at 14% 52%, rgba(255,255,255,0.35) 0%, transparent 100%),
            radial-gradient(1px 1px at 44% 65%, rgba(255,255,255,0.40) 0%, transparent 100%),
            radial-gradient(1px 1px at 58% 55%, rgba(255,255,255,0.30) 0%, transparent 100%),
            radial-gradient(1px 1px at 72% 72%, rgba(255,255,255,0.45) 0%, transparent 100%),
            radial-gradient(1px 1px at 92% 62%, rgba(255,255,255,0.35) 0%, transparent 100%),
            radial-gradient(1.5px 1.5px at 31% 78%, rgba(255,255,255,0.50) 0%, transparent 100%),
            radial-gradient(1px 1px at 5% 88%, rgba(255,255,255,0.40) 0%, transparent 100%),
            radial-gradient(1.5px 1.5px at 95% 85%, rgba(255,255,255,0.55) 0%, transparent 100%);
        pointer-events: none;
    }

    .const-hero > * { position: relative; z-index: 1; }

    .const-hero .hero-tag {
        font-family: 'Courier New', monospace;
        color: #f4d03f;
        font-size: 0.80rem;
        letter-spacing: 4px;
        text-transform: uppercase;
        margin-bottom: 1rem;
        display: block;
    }

    .const-hero h1 {
        font-size: 3rem;
        font-weight: 800;
        color: #ffffff;
        line-height: 1.15;
        max-width: 820px;
        margin: 0 auto 1.25rem;
        text-shadow: 0 2px 30px rgba(0,0,0,0.6);
    }

    .const-hero .lead {
        font-size: 1.15rem;
        color: rgba(255,255,255,0.82);
        max-width: 680px;
        margin: 0 auto 2.5rem;
        line-height: 1.78;
    }

    .hero-stats {
        display: flex;
        justify-content: center;
        gap: 3.5rem;
        flex-wrap: wrap;
    }
    .stat-item { text-align: center; }
    .stat-number {
        font-size: 2.5rem;
        color: #f4d03f;
        font-weight: 800;
        display: block;
        font-family: 'Courier New', monospace;
        line-height: 1;
        margin-bottom: 0.3rem;
    }
    .stat-label {
        font-size: 0.82rem;
        color: rgba(255,255,255,0.55);
        text-transform: uppercase;
        letter-spacing: 2px;
        font-family: 'Courier New', monospace;
    }

    /* === LAYOUT === */
    .const-container {
        max-width: 1200px;
        margin: 0 auto;
        padding: 0 1.5rem;
    }

    /* === SECTION HEADERS === */
    .const-section {
        padding: 4rem 0;
        border-bottom: 1px solid rgba(255,255,255,0.07);
    }
    .const-section:last-child { border-bottom: none; }

    .const-section-header {
        text-align: center;
        margin-bottom: 3rem;
    }
    .const-section-label {
        font-family: 'Courier New', monospace;
        font-size: 0.75rem;
        letter-spacing: 3px;
        color: #f4d03f;
        text-transform: uppercase;
        display: block;
        margin-bottom: 0.6rem;
    }
    .const-section-header h2 {
        font-size: 2rem;
        font-weight: 700;
        color: #ffffff;
        margin: 0 0 0.8rem;
    }
    .const-section-header p {
        font-size: 1.05rem;
        color: rgba(255,255,255,0.60);
        max-width: 640px;
        margin: 0 auto;
        line-height: 1.7;
    }

    /* === CONSTELLATION GRID === */
    .const-grid {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
        gap: 2rem;
    }

    .const-card {
        display: block;
        text-decoration: none;
        color: inherit;
        background: rgba(12, 18, 42, 0.80);
        border: 1px solid rgba(137, 196, 244, 0.18);
        border-radius: 12px;
        overflow: hidden;
        transition: transform 0.25s, box-shadow 0.25s, border-color 0.25s;
    }
    .const-card:hover {
        transform: translateY(-5px);
        box-shadow: 0 12px 32px rgba(0, 0, 0, 0.4);
        border-color: rgba(244, 208, 63, 0.45);
    }

    .const-card-image {
        height: 210px;
        background-size: cover;
        background-position: center;
        position: relative;
    }
    .const-card-image::after {
        content: '';
        position: absolute;
        inset: 0;
        background: linear-gradient(to bottom, transparent 50%, rgba(12, 18, 42, 0.85) 100%);
    }

    .card-season-badge {
        position: absolute;
        top: 1rem;
        left: 1rem;
        background: rgba(244, 208, 63, 0.15);
        border: 1px solid rgba(244, 208, 63, 0.50);
        color: #f4d03f;
        padding: 0.3rem 0.75rem;
        border-radius: 20px;
        font-size: 0.75rem;
        font-family: 'Courier New', monospace;
        letter-spacing: 1px;
        z-index: 1;
    }

    .card-level-badge {
        position: absolute;
        top: 1rem;
        right: 1rem;
        padding: 0.3rem 0.75rem;
        border-radius: 20px;
        font-size: 0.75rem;
        font-family: 'Courier New', monospace;
        letter-spacing: 1px;
        z-index: 1;
    }
    .card-level-badge.beginner {
        background: rgba(125, 206, 148, 0.15);
        border: 1px solid rgba(125, 206, 148, 0.45);
        color: #7dce94;
    }
    .card-level-badge.intermediate {
        background: rgba(137, 196, 244, 0.15);
        border: 1px solid rgba(137, 196, 244, 0.45);
        color: #89c4f4;
    }

    .const-card-body {
        padding: 1.5rem;
    }
    .const-card-title {
        font-size: 1.25rem;
        font-weight: 700;
        color: #ffffff;
        margin: 0 0 0.4rem;
    }
    .const-card-meta {
        font-size: 0.80rem;
        color: #f4d03f;
        font-family: 'Courier New', monospace;
        letter-spacing: 1px;
        text-transform: uppercase;
        margin-bottom: 0.9rem;
    }
    .const-card-desc {
        font-size: 0.93rem;
        color: rgba(255,255,255,0.68);
        line-height: 1.68;
        margin-bottom: 1.2rem;
    }

    .const-card-tags {
        display: flex;
        gap: 0.5rem;
        flex-wrap: wrap;
    }
    .const-tag {
        background: rgba(137, 196, 244, 0.10);
        border: 1px solid rgba(137, 196, 244, 0.22);
        color: #89c4f4;
        font-size: 0.75rem;
        padding: 0.2rem 0.6rem;
        border-radius: 4px;
        font-family: 'Courier New', monospace;
    }

    .const-card-footer {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-top: 1.2rem;
        padding-top: 1rem;
        border-top: 1px solid rgba(255,255,255,0.08);
    }
    .card-read-link {
        color: #f4d03f;
        font-size: 0.88rem;
        font-weight: 600;
        font-family: 'Courier New', monospace;
        letter-spacing: 0.5px;
    }
    .card-best-time {
        font-size: 0.80rem;
        color: rgba(255,255,255,0.40);
        font-family: 'Courier New', monospace;
    }

    /* === COMING SOON CARD === */
    .const-card-soon {
        background: rgba(12, 18, 42, 0.50);
        border: 1px dashed rgba(255,255,255,0.15);
        border-radius: 12px;
        padding: 2.5rem 1.5rem;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        text-align: center;
        min-height: 180px;
    }
    .const-card-soon .soon-icon {
        font-size: 2rem;
        margin-bottom: 0.8rem;
        opacity: 0.5;
    }
    .const-card-soon h3 {
        font-size: 1rem;
        color: rgba(255,255,255,0.40);
        margin: 0 0 0.4rem;
        font-weight: 600;
    }
    .const-card-soon p {
        font-size: 0.85rem;
        color: rgba(255,255,255,0.28);
        margin: 0;
    }

    /* === SEASONAL QUICK GUIDE === */
    .season-row {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 1.2rem;
        margin-top: 2rem;
    }
    @media (max-width: 700px) { .season-row { grid-template-columns: repeat(2, 1fr); } }

    .season-card {
        background: rgba(12, 18, 42, 0.65);
        border: 1px solid rgba(255,255,255,0.08);
        border-radius: 10px;
        padding: 1.25rem;
        text-align: center;
    }
    .season-card .s-name {
        font-family: 'Courier New', monospace;
        font-size: 0.72rem;
        letter-spacing: 3px;
        text-transform: uppercase;
        color: rgba(255,255,255,0.40);
        display: block;
        margin-bottom: 0.6rem;
    }
    .season-card .s-constellations {
        font-size: 0.90rem;
        color: rgba(255,255,255,0.72);
        line-height: 1.65;
    }
    .season-card .s-constellations strong { color: #f4d03f; }

    /* === INTRO TEXT SECTION === */
    .intro-two-col {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 2.5rem;
        margin-top: 2rem;
    }
    @media (max-width: 700px) { .intro-two-col { grid-template-columns: 1fr; } }
    .intro-two-col p {
        font-size: 0.97rem;
        color: rgba(255,255,255,0.72);
        line-height: 1.82;
        margin: 0;
    }

    .tip-bar {
        background: rgba(244, 208, 63, 0.06);
        border: 1px solid rgba(244, 208, 63, 0.20);
        border-left: 4px solid #f4d03f;
        border-radius: 0 10px 10px 0;
        padding: 1.25rem 1.5rem;
        margin-top: 2.5rem;
    }
    .tip-bar p {
        font-size: 0.93rem;
        color: rgba(255,255,255,0.75);
        line-height: 1.7;
        margin: 0;
    }
    .tip-bar strong { color: #f4d03f; }


/* ============================================================
   Source: gemini-constellation.njk
   ============================================================ */


  .gem-hero {
    position: relative;
    width: 100%;
    height: 400px;
    background: linear-gradient(135deg, #0a0e1a 0%, #1a1f3a 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
  }

  .gem-hero-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.85;
  }

  .gem-hero-content {
    position: relative;
    z-index: 10;
    text-align: center;
    color: #fff;
  }

  .gem-hero-content h1 {
    font-size: 3.5rem;
    margin: 0;
    font-weight: 700;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.7);
    letter-spacing: 1px;
  }

  .gem-hero-content .badge {
    display: inline-block;
    background: rgba(79, 172, 254, 0.3);
    border: 1px solid #4faafe;
    color: #4faafe;
    padding: 8px 16px;
    border-radius: 20px;
    font-size: 0.95rem;
    margin-top: 10px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
  }

  .gem-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px 20px;
  }

  .gem-intro {
    text-align: center;
    max-width: 780px;
    margin: 0 auto 60px;
    font-size: 1.1rem;
    line-height: 1.8;
    color: #d0d8e8;
  }

  .gem-facts {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 30px;
    margin-bottom: 80px;
  }

  .gem-fact-item {
    background: rgba(79, 172, 254, 0.08);
    border: 1px solid rgba(79, 172, 254, 0.3);
    border-radius: 10px;
    padding: 25px;
    text-align: center;
  }

  .gem-fact-label {
    font-size: 0.9rem;
    color: #8899cc;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 8px;
  }

  .gem-fact-value {
    font-size: 1.4rem;
    color: #4faafe;
    font-weight: 600;
  }

  .gem-section {
    margin-bottom: 80px;
  }

  .gem-section h2 {
    font-size: 2rem;
    color: #e8eeff;
    margin-bottom: 30px;
    border-bottom: 2px solid #4faafe;
    padding-bottom: 10px;
  }

  .gem-find-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 25px;
    margin-bottom: 40px;
  }

  .gem-find-card {
    background: rgba(79, 172, 254, 0.08);
    border: 1px solid rgba(79, 172, 254, 0.3);
    border-radius: 10px;
    padding: 25px;
  }

  .gem-find-card h3 {
    color: #4faafe;
    margin-top: 0;
    font-size: 1.1rem;
  }

  .gem-find-card p {
    color: #c8d8e8;
    font-size: 0.95rem;
    line-height: 1.6;
    margin: 0;
  }

  .gem-svg-wrap {
    background: linear-gradient(135deg, rgba(8, 13, 24, 0.5), rgba(4, 8, 16, 0.5));
    border: 1px solid rgba(79, 172, 254, 0.3);
    border-radius: 10px;
    padding: 20px;
    margin-bottom: 40px;
  }

  .gem-svg-wrap svg {
    width: 100%;
    height: auto;
    display: block;
  }

  .gem-seasonal-table {
    width: 100%;
    background: rgba(79, 172, 254, 0.08);
    border: 1px solid rgba(79, 172, 254, 0.3);
    border-radius: 10px;
    overflow: hidden;
    margin-bottom: 40px;
  }

  .gem-seasonal-table thead {
    background: rgba(79, 172, 254, 0.15);
  }

  .gem-seasonal-table th {
    padding: 15px;
    color: #4faafe;
    text-align: left;
    font-weight: 600;
    border-bottom: 1px solid rgba(79, 172, 254, 0.3);
  }

  .gem-seasonal-table td {
    padding: 15px;
    color: #c8d8e8;
    border-bottom: 1px solid rgba(79, 172, 254, 0.1);
  }

  .gem-seasonal-table tr:last-child td {
    border-bottom: none;
  }

  .gem-stars-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 25px;
    margin-bottom: 40px;
  }

  .gem-star-card {
    background: rgba(79, 172, 254, 0.08);
    border: 1px solid rgba(79, 172, 254, 0.3);
    border-radius: 10px;
    padding: 30px;
  }

  .gem-star-card h3 {
    color: #4faafe;
    margin-top: 0;
    font-size: 1.15rem;
    margin-bottom: 8px;
  }

  .gem-star-card .star-mag {
    color: #8899cc;
    font-size: 0.9rem;
    margin-bottom: 15px;
  }

  .gem-star-card p {
    color: #c8d8e8;
    font-size: 0.95rem;
    line-height: 1.7;
    margin: 0;
  }

  .gem-myth-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 25px;
    margin-bottom: 40px;
  }

  .gem-myth-card {
    background: rgba(79, 172, 254, 0.08);
    border: 1px solid rgba(79, 172, 254, 0.3);
    border-radius: 10px;
    padding: 30px;
  }

  .gem-myth-card h3 {
    color: #4faafe;
    margin-top: 0;
    font-size: 1.15rem;
    margin-bottom: 15px;
  }

  .gem-myth-card p {
    color: #c8d8e8;
    font-size: 0.95rem;
    line-height: 1.7;
    margin: 0;
  }

  .gem-dso-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 25px;
    margin-bottom: 40px;
  }

  .gem-dso-card {
    background: rgba(79, 172, 254, 0.08);
    border: 1px solid rgba(79, 172, 254, 0.3);
    border-radius: 10px;
    padding: 30px;
  }

  .gem-dso-card h3 {
    color: #4faafe;
    margin-top: 0;
    font-size: 1.1rem;
    margin-bottom: 10px;
  }

  .gem-dso-meta {
    font-size: 0.85rem;
    color: #8899cc;
    margin-bottom: 15px;
    line-height: 1.6;
  }

  .gem-dso-card p {
    color: #c8d8e8;
    font-size: 0.95rem;
    line-height: 1.7;
    margin: 0;
  }

  .gem-dso-difficulty {
    display: inline-block;
    font-size: 0.8rem;
    padding: 4px 10px;
    border-radius: 12px;
    margin-top: 12px;
    font-weight: 600;
    text-transform: uppercase;
  }

  .gem-diff-easy {
    background: rgba(34, 197, 94, 0.2);
    color: #22c55e;
    border: 1px solid rgba(34, 197, 94, 0.4);
  }

  .gem-diff-medium {
    background: rgba(251, 191, 36, 0.2);
    color: #fbbf24;
    border: 1px solid rgba(251, 191, 36, 0.4);
  }

  .gem-diff-photo {
    background: rgba(139, 92, 246, 0.2);
    color: #a78bfa;
    border: 1px solid rgba(139, 92, 246, 0.4);
  }

  .gem-steps {
    counter-reset: step-counter;
    margin-bottom: 40px;
  }

  .gem-steps li {
    counter-increment: step-counter;
    list-style: none;
    margin-bottom: 25px;
    padding-left: 60px;
    position: relative;
  }

  .gem-steps li::before {
    content: counter(step-counter);
    position: absolute;
    left: 0;
    top: 0;
    width: 40px;
    height: 40px;
    background: #4faafe;
    color: #0a0e1a;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 1.1rem;
  }

  .gem-steps li p {
    color: #c8d8e8;
    font-size: 1rem;
    line-height: 1.7;
    margin: 0;
  }

  .gem-kit-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 20px;
    margin-bottom: 40px;
  }

  .gem-kit-item {
    background: rgba(79, 172, 254, 0.08);
    border: 1px solid rgba(79, 172, 254, 0.3);
    border-radius: 10px;
    padding: 20px;
    text-align: center;
  }

  .gem-kit-item strong {
    display: block;
    color: #4faafe;
    margin-bottom: 8px;
    font-size: 1rem;
  }

  .gem-kit-item p {
    color: #c8d8e8;
    font-size: 0.9rem;
    margin: 0;
  }

  .gem-adv-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 25px;
    margin-bottom: 40px;
  }

  .gem-adv-card {
    background: rgba(79, 172, 254, 0.08);
    border: 1px solid rgba(79, 172, 254, 0.3);
    border-radius: 10px;
    padding: 30px;
  }

  .gem-adv-card h3 {
    color: #4faafe;
    margin-top: 0;
    font-size: 1.15rem;
    margin-bottom: 15px;
  }

  .gem-adv-card p {
    color: #c8d8e8;
    font-size: 0.95rem;
    line-height: 1.7;
    margin: 0;
  }

  .gem-tip {
    background: rgba(79, 172, 254, 0.1);
    border-left: 4px solid #4faafe;
    border-radius: 6px;
    padding: 20px;
    margin-bottom: 40px;
  }

  .gem-tip strong {
    color: #4faafe;
  }

  .gem-tip p {
    color: #c8d8e8;
    font-size: 0.95rem;
    line-height: 1.7;
    margin: 0;
  }

  .gem-related {
    background: rgba(79, 172, 254, 0.08);
    border: 1px solid rgba(79, 172, 254, 0.3);
    border-radius: 10px;
    padding: 30px;
    margin-top: 60px;
  }

  .gem-related h3 {
    color: #4faafe;
    margin-top: 0;
    font-size: 1.3rem;
    margin-bottom: 20px;
  }

  .gem-related-links {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
  }

  .gem-related-links a {
    color: #4faafe;
    text-decoration: none;
    padding: 15px;
    background: rgba(79, 172, 254, 0.05);
    border-radius: 6px;
    transition: all 0.3s ease;
    display: block;
  }

  .gem-related-links a:hover {
    background: rgba(79, 172, 254, 0.15);
    transform: translateX(5px);
  }

  @media (max-width: 768px) {
    .gem-hero-content h1 {
      font-size: 2.2rem;
    }

    .gem-section h2 {
      font-size: 1.5rem;
    }

    .gem-intro {
      font-size: 1rem;
    }

    .gem-facts {
      grid-template-columns: repeat(2, 1fr);
      gap: 15px;
    }
  }


/* ============================================================
   Source: hellfire-uap-incident.njk
   ============================================================ */


    .uap-hero {
        position: relative;
        background: url('/images/blog/hellfire-uap-hero.jpg') center center / cover no-repeat;
        padding: 5rem 0 4rem;
        text-align: center;
    }

    .uap-hero::before {
        content: '';
        position: absolute;
        inset: 0;
        background: linear-gradient(to bottom,
            rgba(3, 6, 20, 0.55) 0%,
            rgba(3, 6, 20, 0.30) 40%,
            rgba(3, 6, 20, 0.75) 100%);
    }

    .uap-hero > * { position: relative; z-index: 1; }

    .uap-hero h1 {
        font-size: clamp(1.8rem, 4vw, 3rem);
        margin-bottom: 0.75rem;
        color: white;
        line-height: 1.25;
        text-shadow: 0 2px 12px rgba(0,0,0,0.8);
    }

    .uap-hero .subtitle {
        font-size: 1.2rem;
        color: #4dcc8a;
        font-weight: 600;
        margin-bottom: 1rem;
        font-family: 'Share Tech Mono', 'Courier New', monospace;
        letter-spacing: 0.05em;
        text-shadow: 0 0 20px rgba(77,204,138,0.6);
    }

    .uap-hero .hero-meta {
        font-size: 0.95rem;
        color: rgba(255,255,255,0.7);
        font-family: 'Courier New', monospace;
        letter-spacing: 0.08em;
    }

    .uap-hero p.lead {
        font-size: 1.1rem;
        color: rgba(255,255,255,0.88);
        max-width: 750px;
        margin: 1rem auto 0;
        line-height: 1.65;
        text-shadow: 0 1px 6px rgba(0,0,0,0.7);
    }

    .content-container {
        max-width: 920px;
        margin: 0 auto;
        padding: 3rem 1.5rem;
    }

    .intro-box {
        background: var(--background-card);
        padding: 2rem 2.2rem;
        border-radius: 8px;
        margin-bottom: 3rem;
        border-left: 4px solid #4dcc8a;
    }

    .intro-box p {
        color: var(--text-secondary);
        line-height: 1.85;
        margin-bottom: 0.9rem;
        font-size: 1.05rem;
    }
    .intro-box p:last-child { margin-bottom: 0; }

    .section-heading {
        font-size: 1.7rem;
        color: var(--accent-color);
        margin: 2.5rem 0 1rem;
        padding-bottom: 0.4rem;
        border-bottom: 2px solid var(--border-light);
    }

    .section-heading.warning-heading {
        color: #e05a5a;
        border-bottom-color: rgba(224,90,90,0.3);
    }

    .body-text {
        color: var(--text-secondary);
        line-height: 1.82;
        margin-bottom: 1.2rem;
        font-size: 1.03rem;
    }

    /* Timeline */
    .timeline {
        position: relative;
        margin: 2.5rem 0;
        padding-left: 2rem;
    }

    .timeline::before {
        content: '';
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        width: 2px;
        background: linear-gradient(to bottom, #4dcc8a, var(--primary-color), rgba(74,95,193,0.2));
    }

    .timeline-item {
        position: relative;
        margin-bottom: 2rem;
        padding-left: 1.5rem;
    }

    .timeline-item::before {
        content: '';
        position: absolute;
        left: -2.35rem;
        top: 0.35rem;
        width: 12px;
        height: 12px;
        border-radius: 50%;
        background: #4dcc8a;
        border: 2px solid var(--dark-blue-light);
        box-shadow: 0 0 8px rgba(77,204,138,0.5);
    }

    .timeline-date {
        font-size: 0.8rem;
        color: #4dcc8a;
        font-family: 'Courier New', monospace;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        margin-bottom: 0.3rem;
    }

    .timeline-title {
        font-size: 1.05rem;
        font-weight: 700;
        color: var(--text-primary);
        margin-bottom: 0.4rem;
    }

    .timeline-body {
        color: var(--text-secondary);
        line-height: 1.75;
        font-size: 0.98rem;
    }

    /* Evidence card */
    .evidence-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
        gap: 1.2rem;
        margin: 2rem 0;
    }

    .evidence-card {
        background: var(--background-card);
        border: 1px solid var(--border-light);
        border-radius: 8px;
        padding: 1.4rem 1.5rem;
        border-top: 3px solid var(--primary-color);
    }

    .evidence-card.highlight {
        border-top-color: #4dcc8a;
    }

    .evidence-card.warning {
        border-top-color: #e05a5a;
    }

    .evidence-card h4 {
        font-size: 0.9rem;
        text-transform: uppercase;
        letter-spacing: 0.07em;
        color: var(--text-muted);
        margin-bottom: 0.7rem;
    }

    .evidence-card p {
        color: var(--text-secondary);
        font-size: 0.97rem;
        line-height: 1.7;
    }

    /* Quote block */
    .quote-block {
        background: linear-gradient(135deg, rgba(74,95,193,0.08), rgba(77,204,138,0.05));
        border-left: 4px solid var(--primary-color);
        padding: 1.5rem 2rem;
        margin: 2rem 0;
        border-radius: 0 8px 8px 0;
    }

    .quote-block blockquote {
        font-size: 1.15rem;
        font-style: italic;
        color: var(--text-primary);
        line-height: 1.7;
        margin: 0 0 0.6rem;
    }

    .quote-block cite {
        font-size: 0.88rem;
        color: var(--text-muted);
        font-style: normal;
        font-weight: 600;
    }

    /* Data panel */
    .data-panel {
        background: rgba(3, 8, 25, 0.9);
        border: 1px solid rgba(77,204,138,0.3);
        border-radius: 8px;
        padding: 1.5rem 2rem;
        margin: 2rem 0;
        font-family: 'Courier New', monospace;
    }

    .data-panel .dp-title {
        color: #4dcc8a;
        font-size: 0.78rem;
        letter-spacing: 0.12em;
        text-transform: uppercase;
        margin-bottom: 1rem;
        border-bottom: 1px solid rgba(77,204,138,0.2);
        padding-bottom: 0.5rem;
    }

    .data-panel table {
        width: 100%;
        border-collapse: collapse;
        font-size: 0.9rem;
    }

    .data-panel td {
        padding: 0.4rem 0;
        vertical-align: top;
    }

    .data-panel td:first-child {
        color: rgba(77,204,138,0.8);
        width: 44%;
        padding-right: 1rem;
    }

    .data-panel td:last-child {
        color: rgba(255,255,255,0.85);
    }

    /* Updates log */
    .updates-log {
        background: var(--background-card);
        border: 1px solid var(--border-light);
        border-radius: 8px;
        padding: 1.5rem 2rem;
        margin: 2.5rem 0;
    }

    .updates-log h3 {
        font-size: 0.9rem;
        text-transform: uppercase;
        letter-spacing: 0.08em;
        color: var(--accent-color);
        margin-bottom: 1rem;
    }

    .update-entry {
        display: flex;
        gap: 1rem;
        margin-bottom: 0.9rem;
        padding-bottom: 0.9rem;
        border-bottom: 1px solid var(--border-light);
        font-size: 0.95rem;
    }

    .update-entry:last-child {
        margin-bottom: 0;
        padding-bottom: 0;
        border-bottom: none;
    }

    .update-date {
        color: #4dcc8a;
        font-family: 'Courier New', monospace;
        font-size: 0.82rem;
        min-width: 90px;
        padding-top: 0.15rem;
    }

    .update-text {
        color: var(--text-secondary);
        line-height: 1.6;
    }

    /* Verdict box */
    .verdict-box {
        background: linear-gradient(135deg, rgba(74,95,193,0.12), rgba(30,15,45,0.3));
        border: 1px solid rgba(74,95,193,0.35);
        border-radius: 10px;
        padding: 2rem 2.2rem;
        margin: 2.5rem 0;
    }

    .verdict-box h3 {
        color: var(--accent-color);
        font-size: 1.15rem;
        margin-bottom: 1rem;
    }

    .verdict-box p {
        color: var(--text-secondary);
        line-height: 1.82;
        margin-bottom: 0.9rem;
        font-size: 1.02rem;
    }
    .verdict-box p:last-child { margin-bottom: 0; }

    /* Related links */
    .video-embed-section {
        background: rgba(0, 20, 0, 0.4);
        border: 1px solid rgba(0, 255, 0, 0.2);
        border-radius: 8px;
        padding: 2rem;
        margin: 2.5rem 0;
    }

    .video-embed-title {
        font-family: 'Courier New', monospace;
        color: #00ff41;
        font-size: 1rem;
        letter-spacing: 2px;
        text-transform: uppercase;
        margin: 0 0 0.75rem;
    }

    .video-embed-note {
        color: rgba(255,255,255,0.8);
        font-size: 1rem;
        line-height: 1.6;
        margin-bottom: 1.5rem;
    }

    .tweet-container {
        display: flex;
        justify-content: center;
        margin: 1.5rem 0;
    }

    .tweet-container .twitter-tweet {
        margin: 0 auto !important;
    }

    .video-embed-caption {
        font-size: 0.875rem;
        color: var(--text-muted);
        text-align: center;
        margin: 1rem 0 0;
    }

    .video-embed-caption a {
        color: var(--primary-color);
        text-decoration: none;
    }

    .video-embed-caption a:hover {
        text-decoration: underline;
    }

    .related-links {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
        gap: 1rem;
        margin-top: 1.5rem;
    }

    .related-link-card {
        background: var(--background-card);
        border: 1px solid var(--border-light);
        border-radius: 8px;
        padding: 1.2rem 1.4rem;
        text-decoration: none;
        transition: var(--transition);
        display: block;
    }

    .related-link-card:hover {
        border-color: var(--primary-color);
        transform: translateY(-2px);
    }

    .related-link-card .rlc-label {
        font-size: 0.75rem;
        text-transform: uppercase;
        letter-spacing: 0.08em;
        color: var(--text-muted);
        margin-bottom: 0.4rem;
    }

    .related-link-card .rlc-title {
        color: var(--text-primary);
        font-weight: 600;
        font-size: 0.97rem;
        line-height: 1.4;
    }

    @media (max-width: 768px) {
        .uap-hero { padding: 3.5rem 1rem 3rem; }
        .content-container { padding: 2rem 1rem; }
        .evidence-grid { grid-template-columns: 1fr; }
        .data-panel table td:first-child { width: 50%; }
        .update-entry { flex-direction: column; gap: 0.3rem; }
    }


/* ============================================================
   Source: index.njk
   ============================================================ */


    /* ── Section "View More" button ─────────────────────────── */
    .section-footer {
        text-align: center;
        margin-top: 2.5rem;
    }
    .btn-view-more {
        display: inline-block;
        padding: 0.75rem 2rem;
        background: transparent;
        border: 1px solid var(--border-light);
        color: var(--accent-color);
        font-family: 'Courier New', monospace;
        font-size: 0.88rem;
        letter-spacing: 1.5px;
        text-transform: uppercase;
        text-decoration: none;
        border-radius: 6px;
        cursor: pointer;
        transition: background 0.2s, border-color 0.2s, color 0.2s;
    }
    .btn-view-more:hover {
        background: transparent;
        border-color: var(--accent-color);
        color: var(--text-primary);
    }
    /* planet cards that are hidden by default */
    .planet-card.hidden-body { display: none; }

    /* ── Constellation preview cards ────────────────────────── */
    .preview-grid {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 1.5rem;
    }
    @media (max-width: 900px)  { .preview-grid { grid-template-columns: repeat(2, 1fr); } }
    @media (max-width: 500px)  { .preview-grid { grid-template-columns: 1fr; } }

    .preview-card {
        display: block;
        text-decoration: none;
        color: inherit;
        background: var(--background-card);
        border: 1px solid var(--border-light);
        border-radius: 10px;
        overflow: hidden;
        transition: transform 0.22s, box-shadow 0.22s, border-color 0.22s;
    }
    .preview-card:hover {
        transform: translateY(-4px);
        box-shadow: 0 10px 28px rgba(0,0,0,0.45);
        border-color: rgba(244, 208, 63, 0.40);
    }
    .preview-card-img {
        height: 150px;
        background-size: cover;
        background-position: center;
        position: relative;
    }
    .preview-card-img::after {
        content: '';
        position: absolute;
        inset: 0;
        background: linear-gradient(to bottom, transparent 45%, rgba(10,15,35,0.85) 100%);
    }
    .preview-badge {
        position: absolute;
        top: 0.7rem;
        left: 0.7rem;
        background: rgba(0, 0, 0, 0.85);
        backdrop-filter: blur(8px);
        -webkit-backdrop-filter: blur(8px);
        border: 1px solid rgba(244, 208, 63, 0.65);
        color: #f4d03f;
        text-shadow: 0 1px 4px rgba(0,0,0,1);
        padding: 0.2rem 0.6rem;
        border-radius: 20px;
        font-size: 0.70rem;
        font-family: 'Courier New', monospace;
        letter-spacing: 1px;
        z-index: 1;
    }
    .preview-card-body {
        padding: 1rem 1.1rem 1.2rem;
    }
    .preview-card-title {
        font-size: 1rem;
        font-weight: 700;
        color: #fff;
        margin: 0 0 0.3rem;
    }
    .preview-card-desc {
        font-size: 0.82rem;
        color: rgba(255,255,255,0.58);
        line-height: 1.60;
        margin: 0;
    }

    /* UAP card badge variant */
    .badge-uap {
        background: rgba(255, 80, 80, 0.15);
        border: 1px solid rgba(255, 80, 80, 0.40);
        color: #ff9090;
    }

    /* Section label (small ALL CAPS tag above title) */
    .section-label {
        font-family: 'Courier New', monospace;
        font-size: 0.72rem;
        letter-spacing: 3px;
        color: #f4d03f;
        text-transform: uppercase;
        display: block;
        margin-bottom: 0.5rem;
    }

    /* ── Contact form ───────────────────────────────── */
    .contact-grid {
        display: grid;
        grid-template-columns: 1fr 340px;
        gap: 3rem;
        align-items: start;
        max-width: 960px;
        margin: 0 auto;
    }
    @media (max-width: 780px) {
        .contact-grid { grid-template-columns: 1fr; gap: 2rem; }
        .contact-aside { order: -1; }
    }

    .contact-form { display: flex; flex-direction: column; gap: 1.2rem; }

    .form-row {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 1.2rem;
    }
    @media (max-width: 520px) { .form-row { grid-template-columns: 1fr; } }

    .form-group { display: flex; flex-direction: column; gap: 0.4rem; }

    .form-group label {
        font-size: 0.80rem;
        font-family: 'Courier New', monospace;
        letter-spacing: 1.5px;
        text-transform: uppercase;
        color: var(--text-muted, #8899aa);
    }

    .contact-form input[type="text"],
    .contact-form input[type="email"],
    .contact-form select,
    .contact-form textarea {
        background: var(--background-card);
        border: 1px solid var(--border-light);
        border-radius: 6px;
        color: var(--text-primary, #e8eaf6);
        font-family: inherit;
        font-size: 0.95rem;
        padding: 0.65rem 0.85rem;
        transition: border-color 0.2s, background 0.2s;
        outline: none;
        width: 100%;
        box-sizing: border-box;
    }
    .contact-form input:focus,
    .contact-form select:focus,
    .contact-form textarea:focus {
        border-color: var(--primary-color);
        background: var(--background-light);
    }
    .contact-form select option { background: var(--dark-blue); color: #e8eaf6; }
    .contact-form textarea { resize: vertical; min-height: 120px; }

    .btn-submit {
        align-self: flex-start;
        padding: 0.75rem 2.2rem;
        background: transparent;
        border: 1px solid var(--border-light);
        border-radius: 6px;
        color: var(--accent-color);
        font-family: 'Courier New', monospace;
        font-size: 0.88rem;
        letter-spacing: 1.5px;
        text-transform: uppercase;
        cursor: pointer;
        transition: background 0.2s, border-color 0.2s, color 0.2s;
    }
    .btn-submit:hover:not(:disabled) {
        background: var(--background-light);
        border-color: var(--accent-color);
        color: var(--text-primary);
    }
    .btn-submit:disabled { opacity: 0.55; cursor: default; }

    .form-feedback {
        padding: 0.75rem 1rem;
        border-radius: 6px;
        font-size: 0.90rem;
    }
    .form-success {
        background: rgba(72, 199, 142, 0.12);
        border: 1px solid rgba(72, 199, 142, 0.40);
        color: #7ee8b8;
    }
    .form-error {
        background: rgba(255, 100, 100, 0.10);
        border: 1px solid rgba(255, 100, 100, 0.35);
        color: #ffaaaa;
    }

    /* ── Contact aside ──────────────────────────────── */
    .contact-aside {
        background: var(--background-card);
        border: 1px solid var(--border-light);
        border-radius: 10px;
        padding: 1.6rem 1.4rem;
    }
    .contact-aside h3 {
        font-size: 1rem;
        color: var(--accent-color);
        margin: 0 0 0.8rem;
        font-family: 'Courier New', monospace;
        letter-spacing: 1px;
        text-transform: uppercase;
    }
    .contact-aside p { font-size: 0.92rem; margin: 0 0 0.6rem; }
    .contact-email-wrap { margin: 0.4rem 0 1rem; }
    .contact-email-link { color: var(--accent-color); word-break: break-all; }
    .contact-aside-note { color: var(--text-muted, #8899aa); font-size: 0.84rem !important; }
    .contact-aside a { color: var(--accent-color); }
    .contact-divider {
        border: none;
        border-top: 1px solid var(--border-light);
        margin: 1rem 0;
    }


/* ============================================================
   Source: leo-constellation.njk
   ============================================================ */


  .leo-hero {
    position: relative;
    height: 420px;
    background: linear-gradient(180deg, #080d18 0%, #0e1520 60%, #131a2a 100%);
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
  }
  .leo-hero-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.55;
  }
  .leo-hero-content {
    position: relative;
    z-index: 2;
    color: #fff;
    padding: 0 1rem;
  }
  .leo-hero-content h1 {
    font-size: clamp(2rem, 5vw, 3.5rem);
    margin: 0 0 0.5rem;
    text-shadow: 0 2px 12px rgba(0,0,0,0.8);
    letter-spacing: 0.04em;
  }
  .leo-hero-content p {
    font-size: clamp(1rem, 2.5vw, 1.3rem);
    opacity: 0.9;
    margin: 0;
    text-shadow: 0 1px 6px rgba(0,0,0,0.8);
  }
  .leo-badge {
    display: inline-block;
    background: rgba(180,200,255,0.15);
    border: 1px solid rgba(180,200,255,0.4);
    color: #a8c0ff;
    border-radius: 20px;
    padding: 0.25rem 0.9rem;
    font-size: 0.82rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    margin-bottom: 0.8rem;
  }
  .leo-container {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 1.2rem;
  }
  .leo-intro {
    max-width: 780px;
    margin: 2rem auto;
    text-align: center;
    color: #cdd6e0;
    font-size: 1.08rem;
    line-height: 1.75;
  }
  .leo-facts {
    background: #0e1520;
    border: 1px solid #1e2d42;
    border-radius: 12px;
    padding: 1.8rem 2rem;
    margin: 2rem 0;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 1.2rem;
  }
  .leo-fact-item { text-align: center; }
  .leo-fact-label {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #a8c0ff;
    margin-bottom: 0.3rem;
    font-weight: 600;
  }
  .leo-fact-value {
    font-size: 1.05rem;
    color: #e8edf2;
    font-weight: 500;
  }
  .leo-section {
    margin: 3rem 0;
  }
  .leo-section h2 {
    font-size: 1.8rem;
    color: #c0d4f5;
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid #1e3060;
  }
  .leo-section h3 {
    font-size: 1.25rem;
    color: #90b0e0;
    margin: 1.5rem 0 0.7rem;
  }
  .leo-section p, .leo-section li {
    color: #b0c4d8;
    line-height: 1.75;
  }
  .leo-find-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;
    margin: 1.5rem 0;
  }
  @media (max-width: 600px) { .leo-find-grid { grid-template-columns: 1fr; } }
  .leo-find-card {
    background: #0c1828;
    border: 1px solid #1e3060;
    border-radius: 10px;
    padding: 1.2rem 1.4rem;
  }
  .leo-find-card h4 {
    color: #a8c0ff;
    margin: 0 0 0.5rem;
    font-size: 1rem;
  }
  .leo-find-card p {
    color: #8899bb;
    margin: 0;
    font-size: 0.95rem;
    line-height: 1.6;
  }
  .leo-svg-wrap {
    background: #060b14;
    border: 1px solid #1e3060;
    border-radius: 12px;
    padding: 1rem;
    margin: 1.5rem 0;
    text-align: center;
  }
  .leo-svg-wrap svg { max-width: 100%; height: auto; }
  .leo-sickle-box {
    background: linear-gradient(135deg, #090f1e 0%, #0c1628 100%);
    border: 1px solid #a8c0ff;
    border-radius: 10px;
    padding: 1.2rem 1.5rem;
    margin: 1.5rem 0;
    color: #8899bb;
    font-size: 0.95rem;
    line-height: 1.65;
  }
  .leo-sickle-box strong { color: #a8c0ff; }
  .leo-seasonal {
    background: #0c1828;
    border: 1px solid #1e3060;
    border-radius: 10px;
    overflow: hidden;
    margin: 1.5rem 0;
  }
  .leo-seasonal table { width: 100%; border-collapse: collapse; }
  .leo-seasonal th {
    background: #152040;
    color: #a8c0ff;
    padding: 0.6rem 1rem;
    text-align: left;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
  }
  .leo-seasonal td {
    padding: 0.6rem 1rem;
    border-top: 1px solid #1e3060;
    color: #8899bb;
    font-size: 0.93rem;
  }
  .leo-seasonal tr:hover td { background: #09121e; }
  .stars-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 1.2rem;
    margin: 1.5rem 0;
  }
  .star-card {
    background: #0c1828;
    border: 1px solid #1e3060;
    border-radius: 10px;
    padding: 1.2rem 1.4rem;
  }
  .star-card h4 {
    margin: 0 0 0.3rem;
    font-size: 1.05rem;
  }
  .star-card .star-meta {
    font-size: 0.8rem;
    color: #5577aa;
    margin-bottom: 0.6rem;
    font-style: italic;
  }
  .star-card p {
    color: #8899bb;
    font-size: 0.93rem;
    margin: 0;
    line-height: 1.6;
  }
  .myth-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: 1.1rem;
    margin: 1.5rem 0;
  }
  .myth-card {
    background: #0c1828;
    border: 1px solid #1e3060;
    border-radius: 10px;
    padding: 1.1rem 1.3rem;
  }
  .myth-card h4 {
    color: #a8c0ff;
    font-size: 0.92rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin: 0 0 0.5rem;
  }
  .myth-card p {
    color: #7788aa;
    font-size: 0.88rem;
    margin: 0;
    line-height: 1.6;
  }
  .dso-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 1.2rem;
    margin: 1.5rem 0;
  }
  .dso-card {
    background: #090f1e;
    border: 1px solid #1e3060;
    border-radius: 10px;
    padding: 1.2rem 1.4rem;
    border-left: 3px solid #a8c0ff;
  }
  .dso-card h4 { color: #c0d4f5; margin: 0 0 0.3rem; font-size: 1rem; }
  .dso-card .dso-meta {
    font-size: 0.78rem;
    color: #5577aa;
    margin-bottom: 0.6rem;
    font-style: italic;
  }
  .dso-card p { color: #8899bb; font-size: 0.92rem; margin: 0; line-height: 1.6; }
  .dso-difficulty {
    display: inline-block;
    font-size: 0.72rem;
    padding: 0.15rem 0.55rem;
    border-radius: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-left: 0.4rem;
    vertical-align: middle;
  }
  .diff-easy { background: rgba(80,200,120,0.15); color: #50c878; border: 1px solid #50c878; }
  .diff-medium { background: rgba(255,180,50,0.12); color: #ffb432; border: 1px solid #ffb432; }
  .diff-photo { background: rgba(200,100,220,0.12); color: #c864dc; border: 1px solid #c864dc; }
  .leo-steps {
    counter-reset: step-counter;
    list-style: none;
    padding: 0;
    margin: 1.5rem 0;
  }
  .leo-steps li {
    counter-increment: step-counter;
    position: relative;
    padding: 0.9rem 1rem 0.9rem 3.2rem;
    margin-bottom: 0.8rem;
    background: #0c1828;
    border: 1px solid #1e3060;
    border-radius: 8px;
    color: #8899bb;
    font-size: 0.95rem;
    line-height: 1.6;
  }
  .leo-steps li::before {
    content: counter(step-counter);
    position: absolute;
    left: 0.9rem;
    top: 50%;
    transform: translateY(-50%);
    background: #a8c0ff;
    color: #050e1a;
    width: 1.6rem;
    height: 1.6rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 0.85rem;
  }
  .leo-kit-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.9rem;
    margin: 1.2rem 0;
  }
  @media (max-width: 500px) { .leo-kit-grid { grid-template-columns: 1fr 1fr; } }
  .leo-kit-item {
    background: #090f1e;
    border: 1px solid #1e3060;
    border-radius: 8px;
    padding: 0.8rem;
    text-align: center;
  }
  .leo-kit-icon { font-size: 1.6rem; display: block; margin-bottom: 0.3rem; }
  .leo-kit-item span:last-child { font-size: 0.82rem; color: #a8c0ff; font-weight: 600; }
  .leo-kit-item p { font-size: 0.78rem; color: #5577aa; margin: 0.2rem 0 0; }
  .adv-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1.1rem;
    margin: 1.5rem 0;
  }
  .adv-card {
    background: #0c1828;
    border: 1px solid #1e3060;
    border-radius: 10px;
    padding: 1.1rem 1.3rem;
  }
  .adv-card h4 { color: #a8c0ff; margin: 0 0 0.5rem; font-size: 0.95rem; }
  .adv-card p { color: #7788aa; font-size: 0.88rem; margin: 0; line-height: 1.6; }
  .leo-tip {
    background: rgba(168,192,255,0.06);
    border: 1px solid rgba(168,192,255,0.22);
    border-radius: 10px;
    padding: 1rem 1.3rem;
    color: #8899bb;
    font-size: 0.93rem;
    line-height: 1.65;
    margin: 1.5rem 0;
  }
  .leo-tip strong { color: #a8c0ff; }
  .leo-related {
    background: #0c1828;
    border: 1px solid #1e3060;
    border-radius: 12px;
    padding: 1.5rem 1.8rem;
    margin: 3rem 0;
  }
  .leo-related h3 { color: #c0d4f5; margin: 0 0 1rem; }
  .leo-related-links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem;
  }
  .leo-related-links a {
    background: #090f1e;
    border: 1px solid #1e3060;
    border-radius: 6px;
    padding: 0.5rem 1rem;
    color: #a8c0ff;
    text-decoration: none;
    font-size: 0.9rem;
    transition: background 0.2s;
  }
  .leo-related-links a:hover { background: #152040; }
  .leonid-box {
    background: linear-gradient(135deg, #090f1e 0%, #0c1a30 100%);
    border: 1px solid #ffcc44;
    border-radius: 10px;
    padding: 1.2rem 1.5rem;
    margin: 1.5rem 0;
    color: #8899bb;
    font-size: 0.95rem;
    line-height: 1.65;
  }
  .leonid-box strong { color: #ffcc44; }
  .leonid-box h4 { color: #ffcc44; margin: 0 0 0.6rem; font-size: 1rem; }


/* ============================================================
   Source: libra-constellation.njk
   ============================================================ */


  .lib-hero {
    position: relative;
    height: 400px;
    background: linear-gradient(135deg, #1a0a28 0%, #2a1a4a 50%, #150f35 100%);
    overflow: hidden;
  }

  .lib-hero-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.85;
  }

  .lib-hero-content {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 40px 20px;
    background: linear-gradient(180deg, transparent 0%, rgba(26, 10, 40, 0.9) 50%, rgba(26, 10, 40, 0.95) 100%);
    color: white;
  }

  .lib-hero-content h1 {
    margin: 0;
    font-size: 2.8rem;
    font-weight: 700;
    letter-spacing: -1px;
  }

  .lib-badge {
    display: inline-block;
    margin-top: 12px;
    padding: 6px 12px;
    background: rgba(180, 100, 255, 0.25);
    border-left: 3px solid #b464ff;
    font-size: 0.9rem;
    color: #d0b0ff;
  }

  .lib-container {
    max-width: 1000px;
    margin: 0 auto;
    padding: 50px 20px;
  }

  .lib-intro {
    text-align: center;
    max-width: 780px;
    margin: 0 auto 60px;
    font-size: 1.1rem;
    line-height: 1.7;
    color: #ccc;
  }

  .lib-facts {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 20px;
    margin-bottom: 60px;
    background: rgba(80, 50, 100, 0.25);
    padding: 30px;
    border-radius: 8px;
  }

  .lib-fact-item {
    border-left: 3px solid #b464ff;
    padding-left: 15px;
  }

  .lib-fact-label {
    font-size: 0.85rem;
    color: #888;
    text-transform: uppercase;
    letter-spacing: 1px;
  }

  .lib-fact-value {
    font-size: 1.3rem;
    color: #fff;
    margin-top: 5px;
    font-weight: 600;
  }

  .lib-section {
    margin-bottom: 70px;
  }

  .lib-section h2 {
    font-size: 2rem;
    color: #b464ff;
    margin-bottom: 30px;
    padding-bottom: 10px;
    border-bottom: 2px solid rgba(180, 100, 255, 0.3);
  }

  .lib-section h3 {
    font-size: 1.3rem;
    color: #d0b0ff;
    margin-top: 0;
    margin-bottom: 15px;
  }

  .lib-find-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 20px;
    margin-top: 30px;
  }

  .lib-find-card {
    background: rgba(80, 50, 100, 0.3);
    padding: 20px;
    border-radius: 8px;
    border: 1px solid rgba(180, 100, 255, 0.2);
  }

  .lib-find-card h4 {
    margin-top: 0;
    color: #b464ff;
  }

  .lib-find-card p {
    margin: 10px 0 0 0;
    font-size: 0.95rem;
    color: #aaa;
    line-height: 1.6;
  }

  .lib-svg-wrap {
    background: rgba(20, 30, 50, 0.5);
    border: 1px solid rgba(180, 100, 255, 0.2);
    border-radius: 8px;
    padding: 20px;
    margin: 30px 0;
    text-align: center;
  }

  .lib-svg-wrap svg {
    max-width: 100%;
    height: auto;
  }

  .lib-seasonal {
    width: 100%;
    border-collapse: collapse;
    margin-top: 20px;
    font-size: 0.95rem;
  }

  .lib-seasonal th,
  .lib-seasonal td {
    padding: 12px;
    text-align: left;
    border-bottom: 1px solid rgba(180, 100, 255, 0.2);
  }

  .lib-seasonal th {
    background: rgba(180, 100, 255, 0.15);
    color: #b464ff;
    font-weight: 600;
  }

  .lib-seasonal td {
    color: #aaa;
  }

  .lib-stars-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 20px;
    margin-top: 30px;
  }

  .lib-star-card {
    background: rgba(80, 50, 100, 0.3);
    padding: 20px;
    border-radius: 8px;
    border: 1px solid rgba(180, 100, 255, 0.2);
  }

  .lib-star-card h4 {
    margin-top: 0;
    color: #b464ff;
    font-size: 1.1rem;
  }

  .lib-star-meta {
    font-size: 0.85rem;
    color: #888;
    margin-bottom: 12px;
  }

  .lib-star-meta span {
    display: inline-block;
    margin-right: 15px;
  }

  .lib-star-card p {
    margin: 0;
    font-size: 0.95rem;
    color: #aaa;
    line-height: 1.6;
  }

  .lib-myth-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 20px;
    margin-top: 30px;
  }

  .lib-myth-card {
    background: rgba(100, 80, 150, 0.2);
    padding: 20px;
    border-radius: 8px;
    border-left: 3px solid #d4a0ff;
  }

  .lib-myth-card h4 {
    margin-top: 0;
    color: #d4a0ff;
    font-size: 1.1rem;
  }

  .lib-myth-card p {
    margin: 0;
    font-size: 0.95rem;
    color: #aaa;
    line-height: 1.6;
  }

  .lib-dso-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 20px;
    margin-top: 30px;
  }

  .lib-dso-card {
    background: rgba(80, 50, 100, 0.3);
    padding: 20px;
    border-radius: 8px;
    border: 1px solid rgba(180, 100, 255, 0.2);
  }

  .lib-dso-card h4 {
    margin-top: 0;
    color: #b464ff;
    font-size: 1.1rem;
  }

  .lib-dso-meta {
    font-size: 0.85rem;
    color: #888;
    margin-bottom: 12px;
  }

  .lib-dso-difficulty {
    display: inline-block;
    padding: 3px 8px;
    border-radius: 4px;
    font-size: 0.8rem;
    font-weight: 600;
    margin-bottom: 10px;
    text-transform: capitalize;
  }

  .lib-dso-difficulty.diff-easy {
    background: rgba(100, 180, 100, 0.25);
    color: #90d090;
  }

  .lib-dso-difficulty.diff-medium {
    background: rgba(180, 150, 100, 0.25);
    color: #d4a080;
  }

  .lib-dso-difficulty.diff-photo {
    background: rgba(150, 100, 180, 0.25);
    color: #c08fff;
  }

  .lib-dso-card p {
    margin: 0;
    font-size: 0.95rem;
    color: #aaa;
    line-height: 1.6;
  }

  .lib-steps {
    counter-reset: step-counter;
    margin-top: 30px;
  }

  .lib-steps ol {
    list-style: none;
    padding: 0;
    margin: 0;
  }

  .lib-steps li {
    counter-increment: step-counter;
    display: flex;
    margin-bottom: 20px;
    align-items: flex-start;
  }

  .lib-steps li::before {
    content: counter(step-counter);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    min-width: 40px;
    background: rgba(180, 100, 255, 0.25);
    border: 2px solid #b464ff;
    border-radius: 50%;
    margin-right: 20px;
    color: #b464ff;
    font-weight: 700;
    font-size: 1.1rem;
  }

  .lib-steps li span {
    flex: 1;
    padding-top: 8px;
    color: #aaa;
    line-height: 1.6;
  }

  .lib-kit-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 15px;
    margin-top: 20px;
  }

  .lib-kit-item {
    background: rgba(80, 50, 100, 0.3);
    padding: 15px;
    border-radius: 8px;
    border: 1px solid rgba(180, 100, 255, 0.2);
    text-align: center;
    color: #aaa;
    font-size: 0.9rem;
    line-height: 1.4;
  }

  .lib-adv-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 20px;
    margin-top: 30px;
  }

  .lib-adv-card {
    background: rgba(100, 80, 150, 0.2);
    padding: 20px;
    border-radius: 8px;
    border-left: 3px solid #b464ff;
  }

  .lib-adv-card h4 {
    margin-top: 0;
    color: #b464ff;
  }

  .lib-adv-card p {
    margin: 0;
    font-size: 0.95rem;
    color: #aaa;
    line-height: 1.6;
  }

  .lib-tip {
    background: rgba(150, 120, 80, 0.15);
    border-left: 4px solid #d4a080;
    padding: 20px;
    border-radius: 4px;
    margin-top: 20px;
  }

  .lib-tip strong {
    color: #d4a080;
  }

  .lib-tip p {
    margin: 0;
    color: #aaa;
    font-size: 0.95rem;
    line-height: 1.6;
  }

  .lib-related {
    background: rgba(80, 50, 100, 0.2);
    padding: 30px;
    border-radius: 8px;
    margin-top: 50px;
  }

  .lib-related h3 {
    margin-top: 0;
    color: #b464ff;
  }

  .lib-related-links {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 15px;
    margin-top: 15px;
  }

  .lib-related-links a {
    display: block;
    padding: 12px;
    background: rgba(180, 100, 255, 0.1);
    border: 1px solid rgba(180, 100, 255, 0.3);
    border-radius: 4px;
    color: #b464ff;
    text-decoration: none;
    transition: all 0.2s;
  }

  .lib-related-links a:hover {
    background: rgba(180, 100, 255, 0.2);
    border-color: rgba(180, 100, 255, 0.6);
  }

  @media (max-width: 768px) {
    .lib-hero-content h1 {
      font-size: 2rem;
    }

    .lib-facts {
      grid-template-columns: repeat(2, 1fr);
      gap: 15px;
      padding: 20px;
    }

    .lib-seasonal {
      font-size: 0.85rem;
    }

    .lib-seasonal th,
    .lib-seasonal td {
      padding: 8px;
    }
  }


/* ============================================================
   Source: nimitz-uap-incident.njk
   ============================================================ */


    .nim-hero {
        position: relative;
        background: url('/images/blog/nimitz-uap-hero.jpg') center center / cover no-repeat;
        padding: 5rem 0 4rem;
        text-align: center;
    }

    .nim-hero::before {
        content: '';
        position: absolute;
        inset: 0;
        background: linear-gradient(to bottom,
            rgba(2, 5, 18, 0.50) 0%,
            rgba(2, 5, 18, 0.25) 40%,
            rgba(2, 5, 18, 0.80) 100%);
    }

    .nim-hero > * { position: relative; z-index: 1; }

    .nim-hero h1 {
        font-size: clamp(1.8rem, 4vw, 3rem);
        margin-bottom: 0.75rem;
        color: white;
        line-height: 1.25;
        text-shadow: 0 2px 14px rgba(0,0,0,0.9);
    }

    .nim-hero .subtitle {
        font-size: 1.15rem;
        color: #4dd9d0;
        font-weight: 600;
        margin-bottom: 1rem;
        font-family: 'Courier New', monospace;
        letter-spacing: 0.07em;
        text-shadow: 0 0 20px rgba(77,217,208,0.6);
    }

    .nim-hero .hero-meta {
        font-size: 0.95rem;
        color: rgba(255,255,255,0.65);
        font-family: 'Courier New', monospace;
        letter-spacing: 0.08em;
    }

    .nim-hero p.lead {
        font-size: 1.1rem;
        color: rgba(255,255,255,0.88);
        max-width: 760px;
        margin: 1.2rem auto 0;
        line-height: 1.68;
        text-shadow: 0 1px 8px rgba(0,0,0,0.8);
        padding: 0 1rem;
    }

    .content-container {
        max-width: 940px;
        margin: 0 auto;
        padding: 3rem 1.5rem;
    }

    .intro-box {
        background: var(--background-card);
        padding: 2rem 2.2rem;
        border-radius: 8px;
        margin-bottom: 3rem;
        border-left: 4px solid #4dd9d0;
    }

    .intro-box p {
        color: var(--text-secondary);
        line-height: 1.85;
        margin-bottom: 0.9rem;
        font-size: 1.05rem;
    }
    .intro-box p:last-child { margin-bottom: 0; }

    .section-heading {
        font-size: 1.7rem;
        color: var(--accent-color);
        margin: 3rem 0 1rem;
        padding-bottom: 0.4rem;
        border-bottom: 2px solid var(--border-light);
    }

    .body-text {
        color: var(--text-secondary);
        line-height: 1.85;
        margin-bottom: 1.4rem;
        font-size: 1.02rem;
    }

    .body-text strong {
        color: var(--text-primary);
    }

    /* Key facts panel */
    .facts-panel {
        background: rgba(77, 217, 208, 0.06);
        border: 1px solid rgba(77, 217, 208, 0.25);
        border-radius: 10px;
        padding: 1.8rem 2rem;
        margin: 2.5rem 0;
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
        gap: 1.2rem;
    }

    .fact-item {
        text-align: center;
    }

    .fact-label {
        font-size: 0.75rem;
        text-transform: uppercase;
        letter-spacing: 0.1em;
        color: #4dd9d0;
        margin-bottom: 0.3rem;
        font-family: 'Courier New', monospace;
    }

    .fact-value {
        font-size: 1.05rem;
        color: var(--text-primary);
        font-weight: 600;
        line-height: 1.3;
    }

    /* Pull quote */
    .pull-quote {
        border-left: 4px solid #4dd9d0;
        padding: 1.2rem 1.8rem;
        margin: 2.2rem 0;
        background: rgba(77,217,208,0.04);
        border-radius: 0 8px 8px 0;
    }

    .pull-quote p {
        font-size: 1.18rem;
        font-style: italic;
        color: var(--text-primary);
        line-height: 1.7;
        margin: 0 0 0.5rem;
    }

    .pull-quote cite {
        font-size: 0.88rem;
        color: #4dd9d0;
        font-style: normal;
        font-family: 'Courier New', monospace;
        letter-spacing: 0.04em;
    }

    /* Timeline */
    .timeline {
        margin: 2rem 0;
        position: relative;
    }

    .timeline::before {
        content: '';
        position: absolute;
        left: 22px;
        top: 0;
        bottom: 0;
        width: 2px;
        background: linear-gradient(to bottom, #4dd9d0, rgba(77,217,208,0.1));
    }

    .timeline-item {
        display: flex;
        gap: 1.5rem;
        margin-bottom: 1.8rem;
        position: relative;
    }

    .timeline-dot {
        width: 46px;
        height: 46px;
        border-radius: 50%;
        background: rgba(77,217,208,0.15);
        border: 2px solid #4dd9d0;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        font-size: 0.72rem;
        color: #4dd9d0;
        font-family: 'Courier New', monospace;
        font-weight: 700;
        text-align: center;
        line-height: 1.1;
        z-index: 1;
    }

    .timeline-content h4 {
        color: var(--text-primary);
        margin: 0 0 0.35rem;
        font-size: 1.05rem;
    }

    .timeline-content p {
        color: var(--text-secondary);
        margin: 0;
        line-height: 1.65;
        font-size: 0.97rem;
    }

    /* Witness cards */
    .witness-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
        gap: 1.2rem;
        margin: 2rem 0;
    }

    .witness-card {
        background: var(--background-card);
        border: 1px solid var(--border-light);
        border-radius: 10px;
        padding: 1.5rem;
    }

    .witness-card h4 {
        color: #4dd9d0;
        margin: 0 0 0.3rem;
        font-size: 1.05rem;
    }

    .witness-card .role {
        font-size: 0.8rem;
        color: rgba(255,255,255,0.45);
        font-family: 'Courier New', monospace;
        text-transform: uppercase;
        letter-spacing: 0.08em;
        margin-bottom: 0.7rem;
    }

    .witness-card p {
        color: var(--text-secondary);
        font-size: 0.95rem;
        line-height: 1.6;
        margin: 0;
    }

    /* Capabilities box */
    .capabilities-box {
        background: rgba(224, 90, 90, 0.06);
        border: 1px solid rgba(224, 90, 90, 0.25);
        border-radius: 10px;
        padding: 1.8rem 2rem;
        margin: 2.2rem 0;
    }

    .capabilities-box h3 {
        color: #e05a5a;
        margin: 0 0 1rem;
        font-size: 1.15rem;
    }

    .capability-list {
        list-style: none;
        padding: 0;
        margin: 0;
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
        gap: 0.7rem;
    }

    .capability-list li {
        color: var(--text-secondary);
        font-size: 0.97rem;
        padding-left: 1.3rem;
        position: relative;
        line-height: 1.5;
    }

    .capability-list li::before {
        content: '⚠';
        position: absolute;
        left: 0;
        color: #e05a5a;
        font-size: 0.8rem;
        top: 2px;
    }

    /* Evidence status box */
    .evidence-box {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
        gap: 1rem;
        margin: 2rem 0;
    }

    .evidence-item {
        background: var(--background-card);
        border-radius: 8px;
        padding: 1.2rem;
        border-top: 3px solid #4dd9d0;
        text-align: center;
    }

    .evidence-item.confirmed { border-top-color: #4dcc8a; }
    .evidence-item.partial { border-top-color: #f0a500; }
    .evidence-item.unclear { border-top-color: #e05a5a; }

    .evidence-item .ev-label {
        font-size: 0.72rem;
        text-transform: uppercase;
        letter-spacing: 0.1em;
        margin-bottom: 0.4rem;
        font-family: 'Courier New', monospace;
    }
    .evidence-item.confirmed .ev-label { color: #4dcc8a; }
    .evidence-item.partial .ev-label { color: #f0a500; }
    .evidence-item.unclear .ev-label { color: #e05a5a; }

    .evidence-item .ev-title {
        color: var(--text-primary);
        font-weight: 600;
        font-size: 0.95rem;
        line-height: 1.3;
    }

    /* Inline figures */
    .nim-figure {
        margin: 2.2rem 0;
        border-radius: 8px;
        overflow: hidden;
        background: rgba(255,255,255,0.04);
        border: 1px solid rgba(255,255,255,0.08);
    }

    .nim-figure img {
        width: 100%;
        height: auto;
        display: block;
    }

    .nim-figure figcaption {
        padding: 0.7rem 1.1rem;
        font-size: 0.83rem;
        color: rgba(255,255,255,0.45);
        line-height: 1.5;
        font-style: italic;
        border-top: 1px solid rgba(255,255,255,0.07);
    }

    .nim-video-figure video {
        background: #000;
        max-height: 520px;
        object-fit: contain;
    }

    /* Related articles */
    .related-section {
        background: var(--background-card);
        border-radius: 10px;
        padding: 2rem;
        margin-top: 3rem;
        border: 1px solid var(--border-light);
    }

    .related-section h3 {
        color: var(--accent-color);
        margin: 0 0 1.2rem;
        font-size: 1.2rem;
    }

    .related-links {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
        gap: 0.8rem;
    }

    .related-link {
        display: block;
        background: rgba(255,255,255,0.04);
        border: 1px solid var(--border-light);
        border-radius: 8px;
        padding: 1rem 1.2rem;
        text-decoration: none;
        color: var(--text-secondary);
        transition: border-color 0.2s, background 0.2s;
    }

    .related-link:hover {
        border-color: #4dd9d0;
        background: rgba(77,217,208,0.06);
        color: var(--text-primary);
    }

    .related-link .rl-cat {
        font-size: 0.72rem;
        text-transform: uppercase;
        letter-spacing: 0.1em;
        color: #4dd9d0;
        font-family: 'Courier New', monospace;
        margin-bottom: 0.3rem;
    }

    .related-link .rl-title {
        font-size: 0.95rem;
        font-weight: 600;
        color: var(--text-primary);
        line-height: 1.3;
    }

    @media (max-width: 640px) {
        .facts-panel { grid-template-columns: repeat(2, 1fr); }
        .timeline::before { display: none; }
    }


/* ============================================================
   Source: orion-constellation.njk
   ============================================================ */


    /* === HERO === */
    .orion-hero {
        position: relative;
        background: url('/images/blog/orion-constellation-hero.jpg') center 35% / cover no-repeat;
        padding: 6rem 0 5rem;
        text-align: center;
    }
    .orion-hero::before {
        content: '';
        position: absolute;
        inset: 0;
        background: linear-gradient(to bottom,
            rgba(5, 8, 20, 0.45) 0%,
            rgba(5, 8, 20, 0.20) 35%,
            rgba(5, 8, 20, 0.85) 100%);
    }
    .orion-hero > * { position: relative; z-index: 1; }

    .orion-hero .star-tag {
        font-family: 'Courier New', monospace;
        color: #f4d03f;
        font-size: 0.80rem;
        letter-spacing: 4px;
        text-transform: uppercase;
        margin-bottom: 1rem;
        display: block;
    }
    .orion-hero h1 {
        font-size: 3.2rem;
        font-weight: 800;
        line-height: 1.12;
        color: #ffffff;
        max-width: 860px;
        margin: 0 auto 1.25rem;
        text-shadow: 0 2px 24px rgba(0,0,0,0.8);
    }
    .orion-hero .lead {
        font-size: 1.18rem;
        color: rgba(255,255,255,0.88);
        max-width: 720px;
        margin: 0 auto 2rem;
        line-height: 1.75;
    }
    .orion-hero .hero-badges {
        display: flex;
        gap: 0.75rem;
        justify-content: center;
        flex-wrap: wrap;
    }
    .orion-hero .badge {
        background: rgba(244, 208, 63, 0.15);
        border: 1px solid rgba(244, 208, 63, 0.40);
        color: #f4d03f;
        padding: 0.35rem 0.9rem;
        border-radius: 20px;
        font-size: 0.82rem;
        font-family: 'Courier New', monospace;
        letter-spacing: 1px;
    }

    /* === LAYOUT === */
    .orion-container {
        max-width: 1100px;
        margin: 0 auto;
        padding: 0 1.5rem;
    }
    .orion-section {
        padding: 4rem 0;
        border-bottom: 1px solid rgba(255,255,255,0.07);
    }
    .orion-section:last-child { border-bottom: none; }

    .section-header {
        margin-bottom: 2.5rem;
    }
    .section-label {
        font-family: 'Courier New', monospace;
        color: #f4d03f;
        font-size: 0.75rem;
        letter-spacing: 3px;
        text-transform: uppercase;
        display: block;
        margin-bottom: 0.6rem;
    }
    .section-header h2 {
        font-size: 2rem;
        font-weight: 700;
        color: #ffffff;
        margin: 0 0 0.75rem;
    }
    .section-header p {
        color: rgba(255,255,255,0.70);
        font-size: 1.05rem;
        line-height: 1.7;
        max-width: 700px;
    }

    /* === QUICK FACTS PANEL === */
    .facts-panel {
        background: rgba(15, 20, 45, 0.80);
        border: 1px solid rgba(137, 196, 244, 0.25);
        border-radius: 12px;
        padding: 2rem;
        margin: 3rem 0;
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
        gap: 1.5rem;
    }
    .fact-item .fact-label {
        font-family: 'Courier New', monospace;
        font-size: 0.72rem;
        letter-spacing: 2px;
        color: #89c4f4;
        text-transform: uppercase;
        display: block;
        margin-bottom: 0.3rem;
    }
    .fact-item .fact-value {
        font-size: 1.1rem;
        font-weight: 600;
        color: #ffffff;
    }
    .fact-item .fact-note {
        font-size: 0.82rem;
        color: rgba(255,255,255,0.55);
        margin-top: 0.2rem;
    }

    /* === HOW TO FIND === */
    .find-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 2rem;
        margin-top: 2rem;
    }
    @media (max-width: 700px) { .find-grid { grid-template-columns: 1fr; } }

    .find-card {
        background: rgba(15, 20, 45, 0.60);
        border: 1px solid rgba(137, 196, 244, 0.18);
        border-radius: 10px;
        padding: 1.5rem;
    }
    .find-card h3 {
        font-size: 1.05rem;
        font-weight: 700;
        color: #89c4f4;
        margin: 0 0 0.75rem;
        display: flex;
        align-items: center;
        gap: 0.5rem;
    }
    .find-card p, .find-card ul {
        font-size: 0.95rem;
        color: rgba(255,255,255,0.75);
        line-height: 1.7;
        margin: 0;
    }
    .find-card ul {
        padding-left: 1.2rem;
    }
    .find-card ul li { margin-bottom: 0.4rem; }

    /* Seasonal visibility table */
    .season-table {
        width: 100%;
        border-collapse: collapse;
        margin-top: 2rem;
        font-size: 0.92rem;
    }
    .season-table th {
        background: rgba(137, 196, 244, 0.12);
        color: #89c4f4;
        font-family: 'Courier New', monospace;
        font-size: 0.75rem;
        letter-spacing: 2px;
        text-transform: uppercase;
        padding: 0.7rem 1rem;
        text-align: left;
        border-bottom: 1px solid rgba(137, 196, 244, 0.20);
    }
    .season-table td {
        padding: 0.7rem 1rem;
        color: rgba(255,255,255,0.78);
        border-bottom: 1px solid rgba(255,255,255,0.06);
    }
    .season-table tr:last-child td { border-bottom: none; }
    .season-table .best { color: #f4d03f; font-weight: 600; }
    .season-table .good { color: #7dce94; }
    .season-table .poor { color: rgba(255,255,255,0.38); }

    .belt-box {
        background: linear-gradient(135deg, rgba(137, 196, 244, 0.08), rgba(100, 149, 237, 0.05));
        border: 1px solid rgba(137, 196, 244, 0.28);
        border-left: 4px solid #89c4f4;
        border-radius: 0 10px 10px 0;
        padding: 1.5rem 1.75rem;
        margin: 2.5rem 0;
    }
    .belt-box h3 {
        color: #89c4f4;
        font-size: 1.05rem;
        margin: 0 0 0.6rem;
    }
    .belt-box p {
        color: rgba(255,255,255,0.78);
        font-size: 0.97rem;
        line-height: 1.75;
        margin: 0;
    }
    .belt-box strong { color: #f4d03f; }

    /* === STARS GRID === */
    .stars-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
        gap: 1.5rem;
        margin-top: 2rem;
    }
    .star-card {
        background: rgba(15, 20, 45, 0.70);
        border: 1px solid rgba(255,255,255,0.10);
        border-radius: 10px;
        padding: 1.4rem;
        position: relative;
        overflow: hidden;
    }
    .star-card::before {
        content: '';
        position: absolute;
        top: 0; left: 0; right: 0;
        height: 3px;
    }
    .star-card.red::before    { background: linear-gradient(90deg, #e55a2b, transparent); }
    .star-card.blue::before   { background: linear-gradient(90deg, #89c4f4, transparent); }
    .star-card.gold::before   { background: linear-gradient(90deg, #f4d03f, transparent); }

    .star-card .star-name {
        font-size: 1.15rem;
        font-weight: 700;
        color: #ffffff;
        margin: 0 0 0.2rem;
    }
    .star-card .star-greek {
        font-size: 0.8rem;
        color: rgba(255,255,255,0.45);
        font-family: 'Courier New', monospace;
        letter-spacing: 1px;
        margin-bottom: 0.9rem;
    }
    .star-card .star-stat {
        display: flex;
        justify-content: space-between;
        font-size: 0.82rem;
        padding: 0.3rem 0;
        border-bottom: 1px solid rgba(255,255,255,0.07);
    }
    .star-card .stat-key { color: rgba(255,255,255,0.50); }
    .star-card .stat-val { color: #f4d03f; font-weight: 600; }
    .star-card .star-desc {
        font-size: 0.90rem;
        color: rgba(255,255,255,0.68);
        line-height: 1.65;
        margin-top: 0.85rem;
    }
    .star-dot {
        display: inline-block;
        width: 10px; height: 10px;
        border-radius: 50%;
        margin-right: 0.4rem;
        vertical-align: middle;
    }
    .dot-red  { background: #e55a2b; box-shadow: 0 0 6px #e55a2b; }
    .dot-blue { background: #89c4f4; box-shadow: 0 0 6px #89c4f4; }

    /* === MYTHOLOGY === */
    .myth-layout {
        display: grid;
        grid-template-columns: 2fr 1fr;
        gap: 2.5rem;
        margin-top: 2rem;
    }
    @media (max-width: 750px) { .myth-layout { grid-template-columns: 1fr; } }

    .myth-text p {
        color: rgba(255,255,255,0.78);
        line-height: 1.85;
        font-size: 0.97rem;
        margin-bottom: 1.2rem;
    }
    .myth-text p:last-child { margin-bottom: 0; }
    .myth-text em { color: #f4d03f; font-style: normal; font-weight: 500; }

    .myth-sidebar {
        display: flex;
        flex-direction: column;
        gap: 1.2rem;
    }
    .culture-card {
        background: rgba(15, 20, 45, 0.65);
        border: 1px solid rgba(244, 208, 63, 0.18);
        border-radius: 8px;
        padding: 1.1rem 1.3rem;
    }
    .culture-card h4 {
        font-size: 0.78rem;
        font-family: 'Courier New', monospace;
        letter-spacing: 2px;
        color: #f4d03f;
        text-transform: uppercase;
        margin: 0 0 0.45rem;
    }
    .culture-card p {
        font-size: 0.88rem;
        color: rgba(255,255,255,0.72);
        line-height: 1.6;
        margin: 0;
    }

    /* === DEEP SKY === */
    .dso-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
        gap: 1.5rem;
        margin-top: 2rem;
    }
    .dso-card {
        background: rgba(15, 20, 45, 0.65);
        border: 1px solid rgba(180, 100, 200, 0.22);
        border-radius: 10px;
        padding: 1.5rem;
        border-top: 3px solid;
    }
    .dso-card.easy   { border-top-color: #7dce94; }
    .dso-card.medium { border-top-color: #f4d03f; }
    .dso-card.hard   { border-top-color: #e55a2b; }
    .dso-card.photo  { border-top-color: #c47bdb; }

    .dso-header {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        margin-bottom: 0.9rem;
    }
    .dso-name {
        font-size: 1.05rem;
        font-weight: 700;
        color: #ffffff;
    }
    .dso-id {
        font-size: 0.78rem;
        color: rgba(255,255,255,0.45);
        margin-top: 0.2rem;
    }
    .dso-diff {
        font-size: 0.72rem;
        font-family: 'Courier New', monospace;
        letter-spacing: 1px;
        padding: 0.2rem 0.6rem;
        border-radius: 4px;
        white-space: nowrap;
    }
    .easy  .dso-diff { background: rgba(125, 206, 148, 0.15); color: #7dce94; }
    .medium .dso-diff { background: rgba(244, 208, 63, 0.15); color: #f4d03f; }
    .hard  .dso-diff { background: rgba(229, 90, 43, 0.15); color: #e55a2b; }
    .photo .dso-diff { background: rgba(196, 123, 219, 0.15); color: #c47bdb; }

    .dso-stats {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0.4rem 1rem;
        margin-bottom: 0.9rem;
        font-size: 0.82rem;
    }
    .dso-stat-row { display: flex; gap: 0.4rem; }
    .dso-stat-row .ds-key { color: rgba(255,255,255,0.45); }
    .dso-stat-row .ds-val { color: #f4d03f; font-weight: 600; }

    .dso-desc {
        font-size: 0.90rem;
        color: rgba(255,255,255,0.70);
        line-height: 1.65;
        margin: 0;
    }

    /* === DSO CARD IMAGES === */
    .dso-img-wrap {
        margin: -1.5rem -1.5rem 1.2rem -1.5rem;
        border-radius: 7px 7px 0 0;
        overflow: hidden;
        position: relative;
        cursor: zoom-in;
    }
    .dso-img-wrap img {
        width: 100%;
        height: 185px;
        object-fit: cover;
        display: block;
        transition: transform 0.35s ease;
    }
    .dso-img-wrap:hover img { transform: scale(1.05); }
    .dso-img-credit {
        position: absolute;
        bottom: 0; right: 0;
        background: rgba(0,0,0,0.60);
        color: rgba(255,255,255,0.55);
        font-size: 0.62rem;
        padding: 2px 7px;
        border-top-left-radius: 4px;
        pointer-events: none;
    }
    .dso-img-zoom-hint {
        position: absolute;
        top: 8px; right: 8px;
        background: rgba(0,0,0,0.50);
        color: rgba(255,255,255,0.70);
        font-size: 0.7rem;
        padding: 2px 7px;
        border-radius: 4px;
        opacity: 0;
        transition: opacity 0.2s;
        pointer-events: none;
    }
    .dso-img-wrap:hover .dso-img-zoom-hint { opacity: 1; }

    /* === LIGHTBOX === */
    .lb-overlay {
        display: none;
        position: fixed;
        inset: 0;
        background: rgba(0,0,0,0.93);
        z-index: 9999;
        align-items: center;
        justify-content: center;
        padding: 1rem;
        animation: lb-fadein 0.2s ease;
    }
    .lb-overlay.active { display: flex; }
    @keyframes lb-fadein { from { opacity:0; } to { opacity:1; } }
    .lb-inner {
        position: relative;
        max-width: 90vw;
        max-height: 90vh;
    }
    .lb-inner img {
        max-width: 90vw;
        max-height: 82vh;
        width: auto;
        height: auto;
        border-radius: 6px;
        box-shadow: 0 8px 50px rgba(0,0,0,0.9);
        display: block;
    }
    .lb-caption {
        color: rgba(255,255,255,0.65);
        font-size: 0.82rem;
        text-align: center;
        margin-top: 0.75rem;
        line-height: 1.4;
    }
    .lb-close {
        position: absolute;
        top: -16px; right: -16px;
        width: 34px; height: 34px;
        background: rgba(255,255,255,0.12);
        border: 1px solid rgba(255,255,255,0.30);
        border-radius: 50%;
        color: #fff;
        font-size: 1.2rem;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        line-height: 1;
        transition: background 0.2s;
    }
    .lb-close:hover { background: rgba(255,255,255,0.28); }

    /* === OBSERVING GUIDE === */
    .obs-steps {
        counter-reset: obs-counter;
        margin-top: 2rem;
    }
    .obs-step {
        display: flex;
        gap: 1.5rem;
        margin-bottom: 2rem;
        align-items: flex-start;
    }
    .obs-num {
        counter-increment: obs-counter;
        width: 42px; height: 42px;
        border-radius: 50%;
        background: rgba(244, 208, 63, 0.10);
        border: 2px solid rgba(244, 208, 63, 0.35);
        color: #f4d03f;
        font-family: 'Courier New', monospace;
        font-size: 1rem;
        font-weight: 700;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
    }
    .obs-body h3 {
        font-size: 1.05rem;
        font-weight: 700;
        color: #ffffff;
        margin: 0.1rem 0 0.5rem;
    }
    .obs-body p {
        font-size: 0.94rem;
        color: rgba(255,255,255,0.72);
        line-height: 1.72;
        margin: 0;
    }

    .kit-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 1.2rem;
        margin-top: 2rem;
    }
    @media (max-width: 650px) { .kit-grid { grid-template-columns: 1fr; } }

    .kit-card {
        background: rgba(15, 20, 45, 0.65);
        border: 1px solid rgba(137, 196, 244, 0.18);
        border-radius: 9px;
        padding: 1.3rem;
        text-align: center;
    }
    .kit-icon {
        font-size: 2rem;
        display: block;
        margin-bottom: 0.6rem;
    }
    .kit-card h3 {
        font-size: 0.92rem;
        font-weight: 700;
        color: #89c4f4;
        margin: 0 0 0.5rem;
    }
    .kit-card p {
        font-size: 0.84rem;
        color: rgba(255,255,255,0.65);
        line-height: 1.6;
        margin: 0;
    }

    /* === ADVANCED SECTION === */
    .advanced-panel {
        background: rgba(20, 10, 35, 0.80);
        border: 1px solid rgba(196, 123, 219, 0.28);
        border-radius: 12px;
        padding: 2.5rem;
        margin-top: 2rem;
    }
    .advanced-panel .adv-label {
        font-family: 'Courier New', monospace;
        font-size: 0.72rem;
        letter-spacing: 3px;
        color: #c47bdb;
        text-transform: uppercase;
        display: block;
        margin-bottom: 0.5rem;
    }
    .advanced-panel h2 {
        font-size: 1.6rem;
        font-weight: 700;
        color: #ffffff;
        margin: 0 0 1rem;
    }

    .adv-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 1.5rem;
        margin-top: 1.5rem;
    }
    @media (max-width: 680px) { .adv-grid { grid-template-columns: 1fr; } }

    .adv-card {
        background: rgba(196, 123, 219, 0.06);
        border: 1px solid rgba(196, 123, 219, 0.18);
        border-radius: 8px;
        padding: 1.3rem;
    }
    .adv-card h4 {
        font-size: 0.93rem;
        font-weight: 700;
        color: #c47bdb;
        margin: 0 0 0.6rem;
    }
    .adv-card p, .adv-card ul {
        font-size: 0.88rem;
        color: rgba(255,255,255,0.70);
        line-height: 1.68;
        margin: 0;
    }
    .adv-card ul { padding-left: 1.1rem; }
    .adv-card ul li { margin-bottom: 0.35rem; }

    .tip-box {
        background: rgba(125, 206, 148, 0.07);
        border: 1px solid rgba(125, 206, 148, 0.22);
        border-left: 4px solid #7dce94;
        border-radius: 0 8px 8px 0;
        padding: 1.2rem 1.5rem;
        margin-top: 1.5rem;
    }
    .tip-box strong { color: #7dce94; }
    .tip-box p { font-size: 0.93rem; color: rgba(255,255,255,0.75); line-height: 1.7; margin: 0; }

    /* === RELATED LINKS === */
    .related-links {
        display: flex;
        gap: 1rem;
        flex-wrap: wrap;
        margin-top: 2rem;
    }
    .rel-link {
        background: rgba(15, 20, 45, 0.70);
        border: 1px solid rgba(137, 196, 244, 0.22);
        border-radius: 8px;
        padding: 0.9rem 1.3rem;
        color: #89c4f4;
        text-decoration: none;
        font-size: 0.92rem;
        transition: border-color 0.2s, background 0.2s;
    }
    .rel-link:hover {
        border-color: rgba(137, 196, 244, 0.55);
        background: rgba(137, 196, 244, 0.08);
        color: #ffffff;
    }
    .rel-link span { display: block; font-size: 0.75rem; color: rgba(255,255,255,0.40); margin-top: 0.2rem; font-family: 'Courier New', monospace; }

    /* === ILLUSTRATIONS === */
    .illustration-wrap {
        margin: 2.5rem 0;
        border-radius: 12px;
        overflow: hidden;
        border: 1px solid rgba(137, 196, 244, 0.15);
        background: #050810;
    }
    .illustration-wrap svg {
        width: 100%;
        height: auto;
        display: block;
    }
    .illustration-caption {
        padding: 0.65rem 1rem;
        background: rgba(5, 8, 16, 0.90);
        font-size: 0.76rem;
        color: rgba(255,255,255,0.40);
        font-family: 'Courier New', monospace;
        text-align: center;
        letter-spacing: 1px;
        border-top: 1px solid rgba(137, 196, 244, 0.10);
    }


/* ============================================================
   Source: phoenix-lights.njk
   ============================================================ */


    .pl-hero {
        position: relative;
        background: url('/images/blog/phoenix-lights-hero.jpg') center center / cover no-repeat;
        padding: 5rem 0 4rem;
        text-align: center;
    }

    .pl-hero::before {
        content: '';
        position: absolute;
        inset: 0;
        background: linear-gradient(to bottom,
            rgba(4, 3, 12, 0.45) 0%,
            rgba(4, 3, 12, 0.20) 40%,
            rgba(4, 3, 12, 0.80) 100%);
    }

    .pl-hero > * { position: relative; z-index: 1; }

    .pl-hero h1 {
        font-size: clamp(1.8rem, 4vw, 3rem);
        margin-bottom: 0.75rem;
        color: white;
        line-height: 1.25;
        text-shadow: 0 2px 14px rgba(0,0,0,0.9);
    }

    .pl-hero .subtitle {
        font-size: 1.15rem;
        color: #ffb83c;
        font-weight: 600;
        margin-bottom: 1rem;
        font-family: 'Courier New', monospace;
        letter-spacing: 0.07em;
        text-shadow: 0 0 20px rgba(255,184,60,0.5);
    }

    .pl-hero .hero-meta {
        font-size: 0.95rem;
        color: rgba(255,255,255,0.65);
        font-family: 'Courier New', monospace;
        letter-spacing: 0.08em;
    }

    .pl-hero p.lead {
        font-size: 1.1rem;
        color: rgba(255,255,255,0.88);
        max-width: 760px;
        margin: 1.2rem auto 0;
        line-height: 1.68;
        text-shadow: 0 1px 8px rgba(0,0,0,0.8);
        padding: 0 1rem;
    }

    .content-container {
        max-width: 940px;
        margin: 0 auto;
        padding: 3rem 1.5rem;
    }

    .intro-box {
        background: var(--background-card);
        padding: 2rem 2.2rem;
        border-radius: 8px;
        margin-bottom: 3rem;
        border-left: 4px solid #ffb83c;
    }

    .intro-box p {
        color: var(--text-secondary);
        line-height: 1.85;
        margin-bottom: 0.9rem;
        font-size: 1.05rem;
    }
    .intro-box p:last-child { margin-bottom: 0; }

    .section-heading {
        font-size: 1.7rem;
        color: var(--accent-color);
        margin: 3rem 0 1rem;
        padding-bottom: 0.4rem;
        border-bottom: 2px solid var(--border-light);
    }

    .body-text {
        color: var(--text-secondary);
        line-height: 1.85;
        margin-bottom: 1.4rem;
        font-size: 1.02rem;
    }

    .body-text strong { color: var(--text-primary); }

    /* Facts panel */
    .facts-panel {
        background: rgba(255, 184, 60, 0.06);
        border: 1px solid rgba(255, 184, 60, 0.25);
        border-radius: 10px;
        padding: 1.8rem 2rem;
        margin: 2.5rem 0;
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
        gap: 1.2rem;
    }

    .fact-item { text-align: center; }

    .fact-label {
        font-size: 0.75rem;
        text-transform: uppercase;
        letter-spacing: 0.1em;
        color: #ffb83c;
        margin-bottom: 0.3rem;
        font-family: 'Courier New', monospace;
    }

    .fact-value {
        font-size: 1.05rem;
        color: var(--text-primary);
        font-weight: 600;
        line-height: 1.3;
    }

    /* Pull quote */
    .pull-quote {
        border-left: 4px solid #ffb83c;
        padding: 1.2rem 1.8rem;
        margin: 2.2rem 0;
        background: rgba(255,184,60,0.04);
        border-radius: 0 8px 8px 0;
    }

    .pull-quote p {
        font-size: 1.18rem;
        font-style: italic;
        color: var(--text-primary);
        line-height: 1.7;
        margin: 0 0 0.5rem;
    }

    .pull-quote cite {
        font-size: 0.88rem;
        color: #ffb83c;
        font-style: normal;
        font-family: 'Courier New', monospace;
        letter-spacing: 0.04em;
    }

    /* Event boxes */
    .event-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 1.2rem;
        margin: 2rem 0;
    }

    @media (max-width: 640px) { .event-grid { grid-template-columns: 1fr; } }

    .event-box {
        border-radius: 10px;
        padding: 1.5rem;
    }

    .event-box.event-one {
        background: rgba(255, 184, 60, 0.07);
        border: 1px solid rgba(255, 184, 60, 0.3);
    }

    .event-box.event-two {
        background: rgba(224, 90, 90, 0.07);
        border: 1px solid rgba(224, 90, 90, 0.3);
    }

    .event-box h3 {
        font-size: 1.1rem;
        margin: 0 0 0.4rem;
    }

    .event-box.event-one h3 { color: #ffb83c; }
    .event-box.event-two h3 { color: #e05a5a; }

    .event-box .ev-time {
        font-size: 0.78rem;
        font-family: 'Courier New', monospace;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        margin-bottom: 0.8rem;
    }
    .event-box.event-one .ev-time { color: rgba(255,184,60,0.7); }
    .event-box.event-two .ev-time { color: rgba(224,90,90,0.7); }

    .event-box p {
        color: var(--text-secondary);
        font-size: 0.96rem;
        line-height: 1.65;
        margin: 0;
    }

    /* Witness cards */
    .witness-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
        gap: 1.2rem;
        margin: 2rem 0;
    }

    .witness-card {
        background: var(--background-card);
        border: 1px solid var(--border-light);
        border-radius: 10px;
        padding: 1.5rem;
    }

    .witness-card h4 { color: #ffb83c; margin: 0 0 0.3rem; font-size: 1.05rem; }

    .witness-card .role {
        font-size: 0.8rem;
        color: rgba(255,255,255,0.45);
        font-family: 'Courier New', monospace;
        text-transform: uppercase;
        letter-spacing: 0.08em;
        margin-bottom: 0.7rem;
    }

    .witness-card p { color: var(--text-secondary); font-size: 0.95rem; line-height: 1.6; margin: 0; }

    /* Inline figures */
    .pl-figure {
        margin: 2.2rem 0;
        border-radius: 8px;
        overflow: hidden;
        background: rgba(255,255,255,0.04);
        border: 1px solid rgba(255,255,255,0.08);
    }

    .pl-figure img { width: 100%; height: auto; display: block; }

    .pl-figure figcaption {
        padding: 0.7rem 1.1rem;
        font-size: 0.83rem;
        color: rgba(255,255,255,0.45);
        line-height: 1.5;
        font-style: italic;
        border-top: 1px solid rgba(255,255,255,0.07);
    }

    /* Side-by-side portrait layout */
    .portrait-layout {
        display: grid;
        grid-template-columns: 260px 1fr;
        gap: 2rem;
        margin: 2.2rem 0;
        align-items: start;
    }

    @media (max-width: 600px) { .portrait-layout { grid-template-columns: 1fr; } }

    .portrait-layout .pl-figure { margin: 0; }

    /* Timeline */
    .timeline { margin: 2rem 0; position: relative; }

    .timeline::before {
        content: '';
        position: absolute;
        left: 22px;
        top: 0;
        bottom: 0;
        width: 2px;
        background: linear-gradient(to bottom, #ffb83c, rgba(255,184,60,0.1));
    }

    .timeline-item { display: flex; gap: 1.5rem; margin-bottom: 1.8rem; }

    .timeline-dot {
        width: 46px;
        height: 46px;
        border-radius: 50%;
        background: rgba(255,184,60,0.12);
        border: 2px solid #ffb83c;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        font-size: 0.72rem;
        color: #ffb83c;
        font-family: 'Courier New', monospace;
        font-weight: 700;
        text-align: center;
        line-height: 1.1;
        z-index: 1;
    }

    .timeline-content h4 { color: var(--text-primary); margin: 0 0 0.35rem; font-size: 1.05rem; }
    .timeline-content p { color: var(--text-secondary); margin: 0; line-height: 1.65; font-size: 0.97rem; }

    /* Explanation callout */
    .explanation-box {
        background: rgba(224, 90, 90, 0.06);
        border: 1px solid rgba(224, 90, 90, 0.25);
        border-radius: 10px;
        padding: 1.8rem 2rem;
        margin: 2.2rem 0;
    }

    .explanation-box h3 { color: #e05a5a; margin: 0 0 1rem; font-size: 1.15rem; }
    .explanation-box p { color: var(--text-secondary); line-height: 1.8; margin-bottom: 0.8rem; font-size: 0.98rem; }
    .explanation-box p:last-child { margin-bottom: 0; }

    /* Related */
    .related-section {
        background: var(--background-card);
        border-radius: 10px;
        padding: 2rem;
        margin-top: 3rem;
        border: 1px solid var(--border-light);
    }

    .related-section h3 { color: var(--accent-color); margin: 0 0 1.2rem; font-size: 1.2rem; }

    .related-links {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
        gap: 0.8rem;
    }

    .related-link {
        display: block;
        background: rgba(255,255,255,0.04);
        border: 1px solid var(--border-light);
        border-radius: 8px;
        padding: 1rem 1.2rem;
        text-decoration: none;
        color: var(--text-secondary);
        transition: border-color 0.2s, background 0.2s;
    }

    .related-link:hover {
        border-color: #ffb83c;
        background: rgba(255,184,60,0.06);
        color: var(--text-primary);
    }

    .related-link .rl-cat {
        font-size: 0.72rem;
        text-transform: uppercase;
        letter-spacing: 0.1em;
        color: #ffb83c;
        font-family: 'Courier New', monospace;
        margin-bottom: 0.3rem;
    }

    .related-link .rl-title {
        font-size: 0.95rem;
        font-weight: 600;
        color: var(--text-primary);
        line-height: 1.3;
    }


/* ============================================================
   Source: pisces-constellation.njk
   ============================================================ */


  /* Pisces-specific styles */

  .psc-page {
    --primary-color: #5ba8e8;
    --primary-light: #7bb8f0;
    --secondary-color: #ff9800;
    --accent-color: #4dd0e1;
    --text-primary: #e8e8e8;
    --text-secondary: #b0b0b0;
  }

  .psc-hero {
    position: relative;
    width: 100%;
    height: 400px;
    background: linear-gradient(135deg, #0a1428 0%, #1a2a50 50%, #0f3e60 100%);
    background-image: url('/images/blog/pisces-hero.jpg');
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    text-align: center;
    overflow: hidden;
  }

  .psc-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 40% 50%, rgba(91, 168, 232, 0.2), transparent 70%);
    pointer-events: none;
  }

  .psc-hero-title {
    position: relative;
    z-index: 2;
    font-size: clamp(2rem, 8vw, 3.5rem);
    font-weight: 700;
    text-shadow: 0 2px 20px rgba(0, 0, 0, 0.8);
    letter-spacing: -0.02em;
  }

  .psc-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 2rem;
    color: var(--text-primary);
  }

  .psc-intro {
    font-size: 1.1rem;
    line-height: 1.7;
    margin-bottom: 2rem;
    color: var(--text-secondary);
    max-width: 800px;
  }

  .psc-facts-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1.5rem;
    margin-bottom: 3rem;
    background: rgba(91, 168, 232, 0.05);
    padding: 2rem;
    border-radius: 12px;
    border: 1px solid rgba(91, 168, 232, 0.15);
  }

  .psc-fact-item {
    border-left: 3px solid var(--primary-color);
    padding-left: 1rem;
  }

  .psc-fact-label {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--primary-light);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 0.5rem;
  }

  .psc-fact-value {
    font-size: 1rem;
    font-weight: 600;
    color: var(--text-primary);
  }

  .psc-section-title {
    font-size: 2rem;
    font-weight: 700;
    margin-top: 3rem;
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 2px solid var(--primary-color);
    color: var(--text-primary);
  }

  .psc-subsection-title {
    font-size: 1.3rem;
    font-weight: 600;
    margin-top: 2rem;
    margin-bottom: 1rem;
    color: var(--primary-light);
  }

  .psc-sky-finder {
    background: #0a1428;
    border: 1px solid var(--primary-color);
    border-radius: 8px;
    padding: 1rem;
    margin-bottom: 2rem;
    display: flex;
    justify-content: center;
  }

  .psc-find-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1.5rem;
    margin-bottom: 2rem;
  }

  .psc-find-card {
    background: rgba(91, 168, 232, 0.1);
    border: 1px solid var(--primary-color);
    border-radius: 8px;
    padding: 1.5rem;
    color: var(--text-primary);
  }

  .psc-find-card-title {
    font-weight: 600;
    color: var(--primary-light);
    margin-bottom: 0.5rem;
    font-size: 1rem;
  }

  .psc-find-card-text {
    font-size: 0.95rem;
    color: var(--text-secondary);
    line-height: 1.6;
  }

  .psc-seasonal-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 2rem;
    background: rgba(91, 168, 232, 0.05);
    border: 1px solid var(--primary-color);
    border-radius: 8px;
    overflow: hidden;
  }

  .psc-seasonal-table th,
  .psc-seasonal-table td {
    padding: 1rem;
    text-align: left;
    border-bottom: 1px solid rgba(91, 168, 232, 0.2);
  }

  .psc-seasonal-table th {
    background: rgba(91, 168, 232, 0.15);
    font-weight: 600;
    color: var(--primary-light);
  }

  .psc-seasonal-table tr:last-child td {
    border-bottom: none;
  }

  .psc-star-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1.5rem;
    margin-bottom: 2rem;
  }

  .psc-star-card {
    background: rgba(255, 152, 0, 0.08);
    border: 1px solid var(--secondary-color);
    border-radius: 8px;
    padding: 1.5rem;
    color: var(--text-primary);
  }

  .psc-star-name {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--secondary-color);
    margin-bottom: 0.5rem;
  }

  .psc-star-meta {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
    font-size: 0.9rem;
    color: var(--text-secondary);
    margin-bottom: 1rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid rgba(255, 152, 0, 0.2);
  }

  .psc-star-meta-item {
    display: flex;
    justify-content: space-between;
  }

  .psc-star-meta-label {
    font-weight: 600;
    color: var(--secondary-color);
  }

  .psc-star-desc {
    font-size: 0.95rem;
    line-height: 1.6;
    color: var(--text-secondary);
  }

  .psc-myth-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1.5rem;
    margin-bottom: 2rem;
  }

  .psc-myth-card {
    background: rgba(91, 168, 232, 0.1);
    border: 1px solid var(--primary-color);
    border-radius: 8px;
    padding: 1.5rem;
    color: var(--text-primary);
  }

  .psc-myth-culture {
    font-size: 1rem;
    font-weight: 700;
    color: var(--primary-light);
    margin-bottom: 0.75rem;
  }

  .psc-myth-text {
    font-size: 0.95rem;
    line-height: 1.6;
    color: var(--text-secondary);
  }

  .psc-dso-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1.5rem;
    margin-bottom: 2rem;
  }

  .psc-dso-card {
    background: rgba(77, 208, 225, 0.08);
    border: 1px solid var(--accent-color);
    border-radius: 8px;
    padding: 1.5rem;
    color: var(--text-primary);
  }

  .psc-dso-name {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--accent-color);
    margin-bottom: 0.5rem;
  }

  .psc-dso-info {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
    font-size: 0.9rem;
    color: var(--text-secondary);
    margin-bottom: 1rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid rgba(77, 208, 225, 0.2);
  }

  .psc-dso-info-item {
    display: flex;
    justify-content: space-between;
  }

  .psc-dso-info-label {
    font-weight: 600;
    color: var(--accent-color);
  }

  .psc-dso-difficulty {
    display: inline-block;
    padding: 0.3rem 0.8rem;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 0.75rem;
  }

  .psc-difficulty-easy {
    background: rgba(76, 175, 80, 0.2);
    color: #4caf50;
    border: 1px solid #4caf50;
  }

  .psc-difficulty-medium {
    background: rgba(255, 152, 0, 0.2);
    color: #ff9800;
    border: 1px solid #ff9800;
  }

  .psc-difficulty-challenging {
    background: rgba(244, 67, 54, 0.2);
    color: #f44336;
    border: 1px solid #f44336;
  }

  .psc-difficulty-photo {
    background: rgba(156, 39, 176, 0.2);
    color: #9c27b0;
    border: 1px solid #9c27b0;
  }

  .psc-dso-desc {
    font-size: 0.95rem;
    line-height: 1.6;
    color: var(--text-secondary);
  }

  .psc-observing-steps {
    background: rgba(91, 168, 232, 0.05);
    border-left: 4px solid var(--primary-color);
    padding: 1.5rem;
    border-radius: 8px;
    margin-bottom: 2rem;
  }

  .psc-observing-step {
    display: flex;
    gap: 1rem;
    margin-bottom: 1.5rem;
  }

  .psc-observing-step:last-child {
    margin-bottom: 0;
  }

  .psc-step-number {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    background: var(--primary-color);
    color: #0a1428;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 1rem;
  }

  .psc-step-text {
    flex: 1;
    color: var(--text-secondary);
    font-size: 0.95rem;
    line-height: 1.6;
  }

  .psc-kit-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 1rem;
    margin-bottom: 2rem;
  }

  .psc-kit-item {
    background: rgba(91, 168, 232, 0.1);
    border: 1px solid var(--primary-color);
    border-radius: 8px;
    padding: 1rem;
    text-align: center;
    color: var(--text-primary);
  }

  .psc-kit-label {
    font-weight: 600;
    font-size: 0.9rem;
    color: var(--primary-light);
    margin-bottom: 0.5rem;
  }

  .psc-kit-desc {
    font-size: 0.85rem;
    color: var(--text-secondary);
  }

  .psc-advanced-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1.5rem;
    margin-bottom: 2rem;
  }

  .psc-adv-card {
    background: rgba(255, 152, 0, 0.08);
    border: 1px solid var(--secondary-color);
    border-radius: 8px;
    padding: 1.5rem;
    color: var(--text-primary);
  }

  .psc-adv-title {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--secondary-color);
    margin-bottom: 0.75rem;
  }

  .psc-adv-text {
    font-size: 0.95rem;
    line-height: 1.6;
    color: var(--text-secondary);
  }

  .psc-tip-box {
    background: rgba(76, 175, 80, 0.1);
    border-left: 4px solid #4caf50;
    padding: 1.5rem;
    border-radius: 8px;
    margin-bottom: 2rem;
  }

  .psc-tip-title {
    font-weight: 700;
    color: #4caf50;
    margin-bottom: 0.75rem;
  }

  .psc-tip-text {
    font-size: 0.95rem;
    line-height: 1.6;
    color: var(--text-secondary);
  }

  .psc-related-links {
    background: rgba(91, 168, 232, 0.05);
    border: 1px solid var(--primary-color);
    border-radius: 8px;
    padding: 1.5rem;
    margin-top: 3rem;
  }

  .psc-related-title {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--primary-light);
    margin-bottom: 1rem;
  }

  .psc-related-list {
    list-style: none;
    padding: 0;
  }

  .psc-related-list li {
    margin-bottom: 0.75rem;
  }

  .psc-related-list a {
    color: var(--primary-light);
    text-decoration: none;
    font-weight: 500;
  }

  .psc-related-list a:hover {
    color: var(--accent-color);
    text-decoration: underline;
  }

  /* SVG styles */
  .psc-svg-container {
    display: flex;
    justify-content: center;
    background: #0a1428;
    border-radius: 8px;
    padding: 1rem;
  }

  .psc-svg-star {
    filter: drop-shadow(0 0 3px rgba(91, 168, 232, 0.5));
  }

  .psc-svg-line {
    stroke: rgba(91, 168, 232, 0.6);
    stroke-width: 1;
    fill: none;
  }

  .psc-svg-label {
    font-size: 11px;
    fill: rgba(176, 176, 176, 0.8);
    text-anchor: middle;
  }

  /* Responsive */
  @media (max-width: 768px) {
    .psc-hero-title {
      font-size: 2rem;
    }

    .psc-facts-grid {
      grid-template-columns: 1fr 1fr;
    }

    .psc-section-title {
      font-size: 1.5rem;
    }

    .psc-find-cards,
    .psc-star-cards,
    .psc-myth-cards,
    .psc-dso-cards,
    .psc-advanced-cards {
      grid-template-columns: 1fr;
    }

    .psc-star-meta,
    .psc-dso-info {
      grid-template-columns: 1fr;
    }

    .psc-kit-grid {
      grid-template-columns: repeat(2, 1fr);
    }
  }


/* ============================================================
   Source: rendlesham-forest-incident.njk
   ============================================================ */


    .uap-hero {
        background: linear-gradient(135deg, rgba(10, 14, 39, 0.95), rgba(30, 15, 45, 0.95)),
                    url('https://images.unsplash.com/photo-1419242902214-272b3f66ee7a?w=1600');
        background-size: cover;
        background-position: center;
        padding: 4rem 0 3rem;
        text-align: center;
    }

    .uap-hero h1 {
        font-size: 2.5rem;
        margin-bottom: 1rem;
        color: white;
        line-height: 1.3;
    }

    .uap-hero .subtitle {
        font-size: 1.3rem;
        color: var(--accent-color);
        font-weight: 600;
        margin-bottom: 1rem;
    }

    .uap-hero p {
        font-size: 1.1rem;
        color: rgba(255, 255, 255, 0.85);
        max-width: 800px;
        margin: 0 auto;
        line-height: 1.6;
    }

    .content-container {
        max-width: 900px;
        margin: 0 auto;
        padding: 3rem 1.5rem;
    }

    .intro-section {
        background: var(--background-card);
        padding: 2rem;
        border-radius: 8px;
        margin-bottom: 3rem;
        border-left: 4px solid var(--primary-color);
    }

    .intro-section p {
        color: var(--text-secondary);
        line-height: 1.8;
        margin-bottom: 1rem;
        font-size: 1.05rem;
    }

    .intro-section p:last-child {
        margin-bottom: 0;
    }

    .section-heading {
        font-size: 2rem;
        color: var(--primary-color);
        margin: 3rem 0 1.5rem;
        padding-bottom: 0.5rem;
        border-bottom: 3px solid var(--primary-color);
    }

    .subsection-heading {
        font-size: 1.5rem;
        color: var(--accent-color);
        margin: 2rem 0 1rem;
    }

    .content-text {
        color: var(--text-secondary);
        line-height: 1.8;
        margin-bottom: 1.5rem;
        font-size: 1.05rem;
    }

    .characteristics-list {
        background: var(--background-card);
        padding: 1.5rem;
        border-radius: 8px;
        margin: 1.5rem 0;
    }

    .characteristics-list ul {
        list-style: none;
        padding: 0;
        margin: 0;
    }

    .characteristics-list li {
        padding: 0.75rem 0;
        border-bottom: 1px solid var(--border-light);
        color: var(--text-secondary);
        line-height: 1.6;
    }

    .characteristics-list li:last-child {
        border-bottom: none;
    }

    .characteristics-list strong {
        color: var(--accent-color);
        font-weight: 600;
        display: inline-block;
        min-width: 120px;
    }

    .highlight-box {
        background: var(--background-card);
        border-left: 4px solid var(--accent-color);
        padding: 1.5rem;
        margin: 2rem 0;
        border-radius: 0 8px 8px 0;
    }

    .highlight-box p {
        color: var(--text-secondary);
        line-height: 1.7;
        margin: 0;
    }

    .theories-table {
        width: 100%;
        background: var(--background-card);
        border-radius: 8px;
        overflow: hidden;
        margin: 2rem 0;
        border-collapse: collapse;
    }

    .theories-table th {
        background: var(--primary-color);
        color: white;
        padding: 1rem;
        text-align: left;
        font-family: 'Montserrat', sans-serif;
        font-weight: 600;
    }

    .theories-table td {
        padding: 1.25rem 1rem;
        border-bottom: 1px solid var(--border-light);
        color: var(--text-secondary);
        line-height: 1.6;
    }

    .theories-table tr:last-child td {
        border-bottom: none;
    }

    .theories-table tr:nth-child(even) {
        background: rgba(255, 255, 255, 0.02);
    }

    .theory-name {
        color: var(--accent-color);
        font-weight: 600;
        font-size: 1.05rem;
    }

    .mod-quote {
        background: var(--background-card);
        border-left: 4px solid var(--text-muted);
        padding: 1.5rem;
        margin: 2rem 0;
        font-style: italic;
        color: var(--text-secondary);
        line-height: 1.7;
    }

    .bullet-list {
        list-style: none;
        padding-left: 0;
        margin: 1.5rem 0;
    }

    .bullet-list li {
        padding: 0.5rem 0 0.5rem 2rem;
        position: relative;
        color: var(--text-secondary);
        line-height: 1.7;
    }

    .bullet-list li:before {
        content: "▸";
        color: var(--primary-color);
        font-weight: bold;
        position: absolute;
        left: 0.5rem;
    }

    .conclusion-section {
        background: var(--background-card);
        padding: 2.5rem;
        border-radius: 8px;
        margin: 3rem 0;
        border: 1px solid var(--border-light);
    }

    .conclusion-section h2 {
        color: var(--accent-color);
        margin-top: 0;
        margin-bottom: 1rem;
    }

    .conclusion-section p {
        color: var(--text-secondary);
        line-height: 1.8;
        margin-bottom: 0;
        font-size: 1.05rem;
    }

    @media (max-width: 768px) {
        .uap-hero h1 {
            font-size: 1.8rem;
        }

        .uap-hero .subtitle {
            font-size: 1.1rem;
        }

        .section-heading {
            font-size: 1.6rem;
        }

        .theories-table {
            font-size: 0.9rem;
        }

        .theories-table th,
        .theories-table td {
            padding: 0.75rem;
        }
    }


/* ============================================================
   Source: sagittarius-constellation.njk
   ============================================================ */


.sgr-hero {
  position: relative;
  width: 100%;
  height: 300px;
  background: linear-gradient(135deg, #0a1428 0%, #1a2a4a 50%, #2a1a4a 100%);
  background-image: url('/images/blog/sagittarius-hero.jpg');
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.sgr-hero::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(10, 20, 40, 0.5);
  z-index: 1;
}

.sgr-hero-title {
  position: relative;
  z-index: 2;
  color: #fff;
  text-align: center;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.7);
}

.sgr-hero-title h1 {
  margin: 0;
  font-size: 3em;
  font-weight: 700;
  letter-spacing: 1px;
}

.sgr-hero-title p {
  margin: 0.5em 0 0 0;
  font-size: 1.2em;
  color: #b0d4ff;
}

.sgr-container {
  max-width: 900px;
  margin: 0 auto;
  padding: 2em;
  color: #e0e0e0;
  line-height: 1.7;
}

.sgr-intro {
  font-size: 1.1em;
  color: #c0d4f5;
  margin-bottom: 2em;
  padding: 1.5em;
  border-left: 4px solid #ff9944;
  background: rgba(255, 153, 68, 0.08);
  border-radius: 4px;
}

.sgr-facts-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1.5em;
  margin: 2em 0;
  padding: 1.5em;
  background: rgba(50, 80, 120, 0.2);
  border-radius: 6px;
}

.sgr-fact-card {
  padding: 1em;
  background: rgba(30, 60, 100, 0.3);
  border: 1px solid rgba(176, 212, 255, 0.3);
  border-radius: 4px;
}

.sgr-fact-label {
  font-size: 0.9em;
  color: #88ccff;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 0.5em;
}

.sgr-fact-value {
  font-size: 1.2em;
  color: #fff;
  font-weight: 600;
}

.sgr-section {
  margin: 3em 0;
}

.sgr-section h2 {
  font-size: 1.8em;
  color: #ffc877;
  border-bottom: 2px solid #ff9944;
  padding-bottom: 0.5em;
  margin-bottom: 1.5em;
}

.sgr-section h3 {
  font-size: 1.3em;
  color: #b0d4ff;
  margin-top: 1.5em;
  margin-bottom: 0.8em;
}

.sgr-section p {
  margin: 1em 0;
  text-align: justify;
}

.sgr-find-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1.5em;
  margin: 1.5em 0;
}

.sgr-find-card {
  padding: 1.2em;
  background: rgba(30, 60, 100, 0.3);
  border: 1px solid rgba(192, 212, 245, 0.3);
  border-radius: 4px;
}

.sgr-find-card h4 {
  color: #ffc877;
  margin: 0 0 0.5em 0;
  font-size: 1.1em;
}

.sgr-find-card p {
  margin: 0;
  font-size: 0.95em;
}

.sgr-seasonal-table {
  width: 100%;
  margin: 1.5em 0;
  border-collapse: collapse;
  background: rgba(30, 60, 100, 0.2);
}

.sgr-seasonal-table th,
.sgr-seasonal-table td {
  padding: 1em;
  text-align: left;
  border: 1px solid rgba(176, 212, 255, 0.2);
}

.sgr-seasonal-table th {
  background: rgba(50, 80, 120, 0.4);
  color: #ffc877;
  font-weight: 700;
}

.sgr-seasonal-table tr:nth-child(even) {
  background: rgba(50, 80, 120, 0.15);
}

.sgr-seasonal-table td {
  color: #e0e0e0;
}

.sgr-star-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.5em;
  margin: 1.5em 0;
}

.sgr-star-card {
  padding: 1.5em;
  background: rgba(30, 60, 100, 0.3);
  border: 1px solid rgba(192, 212, 245, 0.3);
  border-radius: 4px;
}

.sgr-star-card h4 {
  color: #ffc877;
  margin: 0 0 0.5em 0;
  font-size: 1.05em;
}

.sgr-star-meta {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.5em;
  margin: 0.8em 0;
  font-size: 0.9em;
}

.sgr-star-meta-item {
  color: #88ccff;
}

.sgr-star-meta-label {
  font-weight: 600;
  color: #b0d4ff;
}

.sgr-star-card p {
  margin: 1em 0 0 0;
  font-size: 0.95em;
  color: #d0d8ee;
}

.sgr-myth-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 1.5em;
  margin: 1.5em 0;
}

.sgr-myth-card {
  padding: 1.2em;
  background: rgba(30, 60, 100, 0.3);
  border: 1px solid rgba(192, 212, 245, 0.3);
  border-radius: 4px;
}

.sgr-myth-card h4 {
  color: #ffc877;
  margin: 0 0 0.8em 0;
  font-size: 1.05em;
}

.sgr-myth-card p {
  margin: 0;
  font-size: 0.95em;
  color: #d0d8ee;
}

.sgr-dso-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.5em;
  margin: 1.5em 0;
}

.sgr-dso-card {
  padding: 1.2em;
  background: rgba(30, 60, 100, 0.3);
  border: 1px solid rgba(192, 212, 245, 0.3);
  border-radius: 4px;
}

.sgr-dso-card h4 {
  color: #ffc877;
  margin: 0 0 0.5em 0;
  font-size: 1.05em;
}

.sgr-dso-type {
  font-size: 0.85em;
  color: #88ccff;
  font-weight: 600;
  margin-bottom: 0.5em;
}

.sgr-dso-info {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.5em;
  margin: 0.8em 0;
  font-size: 0.85em;
}

.sgr-dso-info-item {
  color: #88ccff;
}

.sgr-dso-card p {
  margin: 0.8em 0 0 0;
  font-size: 0.95em;
  color: #d0d8ee;
}

.sgr-difficulty {
  display: inline-block;
  padding: 0.25em 0.6em;
  background: rgba(255, 153, 68, 0.2);
  border: 1px solid #ff9944;
  border-radius: 3px;
  font-size: 0.8em;
  color: #ffb366;
  margin-top: 0.5em;
}

.sgr-observing-steps {
  list-style: none;
  padding: 0;
  margin: 1.5em 0;
}

.sgr-observing-steps li {
  padding: 1em;
  margin: 0.8em 0;
  background: rgba(30, 60, 100, 0.3);
  border-left: 4px solid #ff9944;
  border-radius: 2px;
  counter-increment: step-counter;
}

.sgr-observing-steps {
  counter-reset: step-counter;
}

.sgr-observing-steps li::before {
  content: counter(step-counter) ". ";
  font-weight: 700;
  color: #ffc877;
  margin-right: 0.5em;
}

.sgr-kit-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 1em;
  margin: 1.5em 0;
}

.sgr-kit-item {
  padding: 1em;
  background: rgba(50, 80, 120, 0.3);
  border: 1px solid rgba(192, 212, 245, 0.3);
  border-radius: 4px;
  text-align: center;
}

.sgr-kit-name {
  font-weight: 700;
  color: #ffc877;
  margin-bottom: 0.3em;
}

.sgr-kit-detail {
  font-size: 0.85em;
  color: #88ccff;
}

.sgr-adv-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 1.5em;
  margin: 1.5em 0;
}

.sgr-adv-card {
  padding: 1.2em;
  background: rgba(30, 60, 100, 0.3);
  border: 1px solid rgba(192, 212, 245, 0.3);
  border-radius: 4px;
}

.sgr-adv-card h4 {
  color: #ffc877;
  margin: 0 0 0.8em 0;
  font-size: 1.05em;
}

.sgr-adv-card p {
  margin: 0;
  font-size: 0.95em;
  color: #d0d8ee;
}

.sgr-adv-tip {
  padding: 1.5em;
  background: rgba(255, 153, 68, 0.1);
  border-left: 4px solid #ff9944;
  border-radius: 4px;
  margin-top: 1.5em;
}

.sgr-adv-tip strong {
  color: #ffc877;
}

.sgr-related-box {
  margin: 2em 0;
  padding: 1.5em;
  background: rgba(50, 80, 120, 0.2);
  border: 1px solid rgba(192, 212, 245, 0.3);
  border-radius: 4px;
}

.sgr-related-box h3 {
  margin-top: 0;
  color: #ffc877;
}

.sgr-related-box ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.sgr-related-box li {
  padding: 0.5em 0;
}

.sgr-related-box a {
  color: #88ccff;
  text-decoration: none;
  border-bottom: 1px dotted #88ccff;
  transition: color 0.3s;
}

.sgr-related-box a:hover {
  color: #ffc877;
  border-bottom-color: #ffc877;
}

@media (max-width: 600px) {
  .sgr-hero-title h1 {
    font-size: 2em;
  }

  .sgr-hero-title p {
    font-size: 1em;
  }

  .sgr-facts-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1em;
  }

  .sgr-container {
    padding: 1em;
  }
}

defs radialGradient {
  cx: 50%;
  cy: 50%;
  r: 50%;
}


/* ============================================================
   Source: scorpius-constellation.njk
   ============================================================ */


    .sco-hero {
        position: relative;
        background: url('/images/blog/scorpius-hero.jpg') center 40% / cover no-repeat;
        padding: 6rem 0 5rem;
        text-align: center;
    }
    .sco-hero::before {
        content: '';
        position: absolute;
        inset: 0;
        background: linear-gradient(to bottom,
            rgba(15, 5, 5, 0.50) 0%,
            rgba(15, 5, 5, 0.20) 35%,
            rgba(10, 3, 3, 0.88) 100%);
    }
    .sco-hero > * { position: relative; z-index: 1; }
    .sco-hero .star-tag {
        font-family: 'Courier New', monospace;
        color: #f4d03f;
        font-size: 0.80rem;
        letter-spacing: 4px;
        text-transform: uppercase;
        margin-bottom: 1rem;
        display: block;
    }
    .sco-hero h1 {
        font-size: 3.2rem;
        font-weight: 800;
        line-height: 1.12;
        color: #ffffff;
        max-width: 860px;
        margin: 0 auto 1.25rem;
        text-shadow: 0 2px 24px rgba(0,0,0,0.9);
    }
    .sco-hero .lead {
        font-size: 1.18rem;
        color: rgba(255,255,255,0.88);
        max-width: 720px;
        margin: 0 auto 2rem;
        line-height: 1.75;
    }
    .sco-hero .hero-badges { display: flex; gap: 0.75rem; justify-content: center; flex-wrap: wrap; }
    .sco-hero .badge {
        background: rgba(244, 208, 63, 0.15);
        border: 1px solid rgba(244, 208, 63, 0.40);
        color: #f4d03f;
        padding: 0.35rem 0.9rem;
        border-radius: 20px;
        font-size: 0.82rem;
        font-family: 'Courier New', monospace;
        letter-spacing: 1px;
    }
    .sco-container { max-width: 1100px; margin: 0 auto; padding: 0 1.5rem; }
    .sco-section { padding: 4rem 0; border-bottom: 1px solid rgba(255,255,255,0.07); }
    .sco-section:last-child { border-bottom: none; }
    .section-header { margin-bottom: 2.5rem; }
    .section-label {
        font-family: 'Courier New', monospace;
        color: #f4d03f;
        font-size: 0.75rem;
        letter-spacing: 3px;
        text-transform: uppercase;
        display: block;
        margin-bottom: 0.6rem;
    }
    .section-header h2 { font-size: 2rem; font-weight: 700; color: #ffffff; margin: 0 0 0.75rem; }
    .section-header p { color: rgba(255,255,255,0.70); font-size: 1.05rem; line-height: 1.7; max-width: 700px; }
    .facts-panel {
        background: rgba(30, 8, 8, 0.85);
        border: 1px solid rgba(229, 90, 43, 0.25);
        border-radius: 12px;
        padding: 2rem;
        margin: 3rem 0;
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
        gap: 1.5rem;
    }
    .fact-item .fact-label {
        font-family: 'Courier New', monospace;
        font-size: 0.72rem;
        letter-spacing: 2px;
        color: #e88a6a;
        text-transform: uppercase;
        display: block;
        margin-bottom: 0.3rem;
    }
    .fact-item .fact-value { font-size: 1.1rem; font-weight: 600; color: #ffffff; }
    .fact-item .fact-note { font-size: 0.82rem; color: rgba(255,255,255,0.55); margin-top: 0.2rem; }
    .find-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; margin-top: 2rem; }
    @media (max-width: 700px) { .find-grid { grid-template-columns: 1fr; } }
    .find-card {
        background: rgba(25, 8, 8, 0.60);
        border: 1px solid rgba(229, 90, 43, 0.20);
        border-radius: 10px;
        padding: 1.5rem;
    }
    .find-card h3 { font-size: 1.05rem; font-weight: 700; color: #e88a6a; margin: 0 0 0.75rem; }
    .find-card p, .find-card ul { font-size: 0.95rem; color: rgba(255,255,255,0.75); line-height: 1.7; margin: 0; }
    .find-card ul { padding-left: 1.2rem; }
    .find-card ul li { margin-bottom: 0.4rem; }
    .season-table { width: 100%; border-collapse: collapse; margin-top: 2rem; font-size: 0.92rem; }
    .season-table th {
        background: rgba(229, 90, 43, 0.12);
        color: #e88a6a;
        font-family: 'Courier New', monospace;
        font-size: 0.75rem;
        letter-spacing: 2px;
        text-transform: uppercase;
        padding: 0.7rem 1rem;
        text-align: left;
        border-bottom: 1px solid rgba(229, 90, 43, 0.20);
    }
    .season-table td { padding: 0.7rem 1rem; color: rgba(255,255,255,0.78); border-bottom: 1px solid rgba(255,255,255,0.06); }
    .season-table tr:last-child td { border-bottom: none; }
    .season-table .best { color: #f4d03f; font-weight: 600; }
    .season-table .good { color: #7dce94; }
    .season-table .poor { color: rgba(255,255,255,0.38); }
    .belt-box {
        background: linear-gradient(135deg, rgba(229, 90, 43, 0.08), rgba(180, 40, 20, 0.05));
        border: 1px solid rgba(229, 90, 43, 0.28);
        border-left: 4px solid #e55a2b;
        border-radius: 0 10px 10px 0;
        padding: 1.5rem 1.75rem;
        margin: 2.5rem 0;
    }
    .belt-box h3 { color: #e88a6a; font-size: 1.05rem; margin: 0 0 0.6rem; }
    .belt-box p { color: rgba(255,255,255,0.78); font-size: 0.97rem; line-height: 1.75; margin: 0; }
    .belt-box strong { color: #f4d03f; }
    .stars-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 1.5rem; margin-top: 2rem; }
    .star-card {
        background: rgba(20, 6, 6, 0.75);
        border: 1px solid rgba(255,255,255,0.10);
        border-radius: 10px;
        padding: 1.4rem;
        position: relative;
        overflow: hidden;
    }
    .star-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; }
    .star-card.red::before    { background: linear-gradient(90deg, #e55a2b, transparent); }
    .star-card.blue::before   { background: linear-gradient(90deg, #89c4f4, transparent); }
    .star-card.gold::before   { background: linear-gradient(90deg, #f4d03f, transparent); }
    .star-card.white::before  { background: linear-gradient(90deg, #e8eaf0, transparent); }
    .star-card .star-name { font-size: 1.15rem; font-weight: 700; color: #ffffff; margin-bottom: 0.2rem; }
    .star-card .star-greek { font-family: 'Courier New', monospace; color: #f4d03f; font-size: 0.78rem; letter-spacing: 1px; }
    .star-card .star-stats { margin-top: 0.85rem; display: flex; flex-direction: column; gap: 0.25rem; }
    .star-card .stat { font-size: 0.88rem; color: rgba(255,255,255,0.65); }
    .star-card .stat span { color: rgba(255,255,255,0.90); font-weight: 500; }
    .star-card .star-desc { margin-top: 0.85rem; font-size: 0.90rem; color: rgba(255,255,255,0.70); line-height: 1.65; }
    .myth-layout { display: grid; grid-template-columns: 1fr 340px; gap: 3rem; align-items: start; margin-top: 2rem; }
    @media (max-width: 900px) { .myth-layout { grid-template-columns: 1fr; } }
    .myth-text p { color: rgba(255,255,255,0.78); font-size: 1.02rem; line-height: 1.82; margin-bottom: 1.25rem; }
    .myth-text p:last-child { margin-bottom: 0; }
    .culture-cards { display: flex; flex-direction: column; gap: 1rem; }
    .culture-card {
        background: rgba(20, 6, 6, 0.65);
        border: 1px solid rgba(244, 208, 63, 0.18);
        border-radius: 10px;
        padding: 1.25rem;
    }
    .culture-card .culture-name { font-size: 0.75rem; font-family: 'Courier New', monospace; color: #f4d03f; letter-spacing: 2px; text-transform: uppercase; margin-bottom: 0.4rem; }
    .culture-card p { font-size: 0.92rem; color: rgba(255,255,255,0.72); line-height: 1.65; margin: 0; }
    .dso-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1.5rem; margin-top: 2rem; }
    .dso-card {
        background: rgba(20, 6, 6, 0.75);
        border: 1px solid rgba(255,255,255,0.10);
        border-radius: 10px;
        padding: 1.5rem;
        position: relative;
        overflow: hidden;
    }
    .dso-card::after {
        content: attr(data-type);
        position: absolute;
        top: 1rem; right: 1rem;
        font-family: 'Courier New', monospace;
        font-size: 0.68rem;
        letter-spacing: 1px;
        text-transform: uppercase;
        padding: 0.2rem 0.5rem;
        border-radius: 4px;
        background: rgba(137, 196, 244, 0.15);
        color: #89c4f4;
    }
    .dso-card.easy::after   { background: rgba(125, 206, 148, 0.15); color: #7dce94; }
    .dso-card.medium::after { background: rgba(244, 208, 63, 0.15); color: #f4d03f; }
    .dso-card.hard::after   { background: rgba(229, 90, 43, 0.15); color: #e55a2b; }
    .dso-card.photo::after  { background: rgba(200, 130, 255, 0.15); color: #c882ff; }
    .dso-card .dso-name { font-size: 1.1rem; font-weight: 700; color: #ffffff; margin-bottom: 0.2rem; padding-right: 4rem; }
    .dso-card .dso-cat { font-size: 0.80rem; color: #e88a6a; margin-bottom: 0.85rem; font-family: 'Courier New', monospace; letter-spacing: 1px; }
    .dso-card .dso-stats { display: flex; gap: 1.5rem; flex-wrap: wrap; margin-bottom: 0.85rem; }
    .dso-card .dso-stat { font-size: 0.85rem; color: rgba(255,255,255,0.65); }
    .dso-card .dso-stat span { color: #f4d03f; font-weight: 600; }
    .dso-card p { font-size: 0.92rem; color: rgba(255,255,255,0.70); line-height: 1.65; margin: 0; }
    .obs-steps { counter-reset: steps; list-style: none; padding: 0; margin: 2rem 0; }
    .obs-steps li {
        counter-increment: steps;
        display: flex;
        gap: 1.25rem;
        align-items: flex-start;
        padding: 1.25rem 0;
        border-bottom: 1px solid rgba(255,255,255,0.06);
    }
    .obs-steps li:last-child { border-bottom: none; }
    .obs-steps li::before {
        content: counter(steps);
        min-width: 32px; height: 32px;
        background: rgba(244, 208, 63, 0.15);
        border: 1px solid rgba(244, 208, 63, 0.35);
        border-radius: 50%;
        display: flex; align-items: center; justify-content: center;
        font-family: 'Courier New', monospace;
        font-size: 0.85rem;
        color: #f4d03f;
        font-weight: 700;
        flex-shrink: 0;
    }
    .step-content h4 { font-size: 1rem; font-weight: 700; color: #ffffff; margin: 0.1rem 0 0.4rem; }
    .step-content p { font-size: 0.93rem; color: rgba(255,255,255,0.70); line-height: 1.68; margin: 0; }
    .kit-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; margin-top: 2rem; }
    @media (max-width: 700px) { .kit-grid { grid-template-columns: 1fr; } }
    .kit-item {
        background: rgba(20, 6, 6, 0.65);
        border: 1px solid rgba(255,255,255,0.10);
        border-radius: 10px;
        padding: 1.25rem;
        text-align: center;
    }
    .kit-item .kit-icon { font-size: 1.8rem; margin-bottom: 0.5rem; display: block; }
    .kit-item h4 { font-size: 0.95rem; font-weight: 700; color: #ffffff; margin: 0 0 0.4rem; }
    .kit-item p { font-size: 0.85rem; color: rgba(255,255,255,0.60); margin: 0; line-height: 1.55; }
    .advanced-panel {
        background: linear-gradient(135deg, rgba(180, 40, 20, 0.08), rgba(100, 20, 10, 0.05));
        border: 1px solid rgba(229, 90, 43, 0.22);
        border-radius: 14px;
        padding: 2.5rem;
        margin-top: 2rem;
    }
    .adv-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1.5rem; margin-top: 1.5rem; }
    .adv-card {
        background: rgba(10, 4, 4, 0.70);
        border: 1px solid rgba(229, 90, 43, 0.15);
        border-radius: 10px;
        padding: 1.4rem;
    }
    .adv-card h4 { font-size: 1rem; font-weight: 700; color: #e88a6a; margin: 0 0 0.5rem; }
    .adv-card p { font-size: 0.90rem; color: rgba(255,255,255,0.68); line-height: 1.65; margin: 0; }
    .tip-box {
        background: rgba(244, 208, 63, 0.07);
        border: 1px solid rgba(244, 208, 63, 0.22);
        border-radius: 10px;
        padding: 1.4rem 1.75rem;
        margin-top: 2rem;
    }
    .tip-box h4 { color: #f4d03f; font-size: 0.95rem; margin: 0 0 0.5rem; font-family: 'Courier New', monospace; letter-spacing: 1px; }
    .tip-box p { color: rgba(255,255,255,0.75); font-size: 0.93rem; line-height: 1.7; margin: 0; }
    .related-links { display: flex; gap: 1rem; flex-wrap: wrap; margin-top: 2rem; }
    .related-link {
        background: rgba(20, 6, 6, 0.75);
        border: 1px solid rgba(229, 90, 43, 0.22);
        border-radius: 8px;
        padding: 0.9rem 1.4rem;
        text-decoration: none;
        color: rgba(255,255,255,0.80);
        font-size: 0.92rem;
        transition: border-color 0.2s, color 0.2s;
    }
    .related-link:hover { border-color: rgba(229, 90, 43, 0.55); color: #e88a6a; }
    .illustration-wrap { background: rgba(8, 2, 2, 0.75); border: 1px solid rgba(229, 90, 43, 0.15); border-radius: 12px; overflow: hidden; margin: 2.5rem 0; }
    .illustration-caption { padding: 0.75rem 1.25rem; font-size: 0.83rem; color: rgba(255,255,255,0.50); font-family: 'Courier New', monospace; letter-spacing: 0.5px; background: rgba(0,0,0,0.30); }


/* ============================================================
   Source: solar-system.njk
   ============================================================ */


    /* === HERO === */
    .ss-hero {
        position: relative;
        padding: 5.5rem 0 4.5rem;
        text-align: center;
        background:
            linear-gradient(to bottom, rgba(3,5,15,0.55) 0%, rgba(3,5,15,0.20) 50%, rgba(3,5,15,0.70) 100%),
            url('/images/solar-system-hero.jpg') center center / cover no-repeat;
        overflow: hidden;
    }

    .ss-hero > * { position: relative; z-index: 1; }

    .ss-hero .hero-tag {
        font-family: 'Courier New', monospace;
        color: #f4d03f;
        font-size: 0.80rem;
        letter-spacing: 4px;
        text-transform: uppercase;
        margin-bottom: 1rem;
        display: block;
    }

    .ss-hero h1 {
        font-size: 3rem;
        font-weight: 800;
        color: #ffffff;
        line-height: 1.15;
        max-width: 820px;
        margin: 0 auto 1.25rem;
        text-shadow: 0 2px 30px rgba(0,0,0,0.8);
    }

    .ss-hero .lead {
        font-size: 1.15rem;
        color: rgba(255,255,255,0.88);
        max-width: 680px;
        margin: 0 auto 2.5rem;
        line-height: 1.78;
        text-shadow: 0 1px 8px rgba(0,0,0,0.7);
    }

    .ss-hero-stats {
        display: flex;
        justify-content: center;
        gap: 3.5rem;
        flex-wrap: wrap;
    }
    .ss-stat-item { text-align: center; }
    .ss-stat-number {
        font-size: 2.5rem;
        color: #f4d03f;
        font-weight: 800;
        display: block;
        font-family: 'Courier New', monospace;
        line-height: 1;
        margin-bottom: 0.3rem;
        text-shadow: 0 0 20px rgba(244,208,63,0.5);
    }
    .ss-stat-label {
        font-size: 0.82rem;
        color: rgba(255,255,255,0.65);
        text-transform: uppercase;
        letter-spacing: 2px;
        font-family: 'Courier New', monospace;
    }

    /* === LAYOUT === */
    .ss-container {
        max-width: 1200px;
        margin: 0 auto;
        padding: 0 1.5rem;
    }

    .ss-section {
        padding: 4rem 0;
        border-bottom: 1px solid rgba(255,255,255,0.07);
    }
    .ss-section:last-child { border-bottom: none; }

    .ss-section-header {
        text-align: center;
        margin-bottom: 3rem;
    }
    .ss-section-label {
        font-family: 'Courier New', monospace;
        font-size: 0.75rem;
        letter-spacing: 3px;
        color: #f4d03f;
        text-transform: uppercase;
        display: block;
        margin-bottom: 0.6rem;
    }
    .ss-section-header h2 {
        font-size: 2rem;
        font-weight: 700;
        color: #ffffff;
        margin: 0 0 0.8rem;
    }
    .ss-section-header p {
        font-size: 1.05rem;
        color: rgba(255,255,255,0.60);
        max-width: 640px;
        margin: 0 auto;
        line-height: 1.7;
    }

    /* === PLANET CARD GRID === */
    .ss-grid {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
        gap: 1.75rem;
    }

    .ss-card {
        display: block;
        text-decoration: none;
        color: inherit;
        background: rgba(10, 14, 36, 0.85);
        border: 1px solid rgba(137, 196, 244, 0.15);
        border-radius: 12px;
        overflow: hidden;
        transition: transform 0.25s, box-shadow 0.25s, border-color 0.25s;
    }
    .ss-card:hover {
        transform: translateY(-5px);
        box-shadow: 0 12px 36px rgba(0,0,0,0.45);
        border-color: rgba(244, 208, 63, 0.40);
    }

    .ss-card-image {
        height: 200px;
        background-size: cover;
        background-position: center;
        position: relative;
    }
    .ss-card-image::after {
        content: '';
        position: absolute;
        inset: 0;
        background: linear-gradient(to bottom, transparent 40%, rgba(10,14,36,0.92) 100%);
    }

    .ss-type-badge {
        position: absolute;
        top: 1rem;
        left: 1rem;
        background: rgba(0, 0, 0, 0.85);
        backdrop-filter: blur(8px);
        -webkit-backdrop-filter: blur(8px);
        border: 1px solid rgba(244, 208, 63, 0.65);
        color: #f4d03f;
        text-shadow: 0 1px 4px rgba(0,0,0,1);
        padding: 0.3rem 0.75rem;
        border-radius: 20px;
        font-size: 0.75rem;
        font-family: 'Courier New', monospace;
        letter-spacing: 1px;
        z-index: 1;
    }

    .ss-dist-badge {
        position: absolute;
        top: 1rem;
        right: 1rem;
        background: rgba(0, 0, 0, 0.85);
        backdrop-filter: blur(8px);
        -webkit-backdrop-filter: blur(8px);
        border: 1px solid rgba(137, 196, 244, 0.65);
        color: #89c4f4;
        text-shadow: 0 1px 4px rgba(0,0,0,1);
        padding: 0.3rem 0.75rem;
        border-radius: 20px;
        font-size: 0.75rem;
        font-family: 'Courier New', monospace;
        letter-spacing: 1px;
        z-index: 1;
    }

    .ss-card-body {
        padding: 1.4rem;
    }
    .ss-card-title {
        font-size: 1.25rem;
        font-weight: 700;
        color: #ffffff;
        margin: 0 0 0.3rem;
    }
    .ss-card-meta {
        font-size: 0.80rem;
        color: #f4d03f;
        font-family: 'Courier New', monospace;
        letter-spacing: 1px;
        text-transform: uppercase;
        margin-bottom: 0.75rem;
    }
    .ss-card-desc {
        font-size: 0.92rem;
        color: rgba(255,255,255,0.66);
        line-height: 1.65;
        margin-bottom: 1.1rem;
    }

    .ss-card-facts {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0.5rem;
        margin-bottom: 1.1rem;
    }
    .ss-fact {
        background: rgba(255,255,255,0.04);
        border-radius: 6px;
        padding: 0.5rem 0.75rem;
    }
    .ss-fact-label {
        font-size: 0.70rem;
        color: rgba(255,255,255,0.38);
        text-transform: uppercase;
        letter-spacing: 1px;
        font-family: 'Courier New', monospace;
        display: block;
        margin-bottom: 0.2rem;
    }
    .ss-fact-value {
        font-size: 0.88rem;
        color: rgba(255,255,255,0.82);
        font-weight: 600;
    }

    .ss-card-footer {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding-top: 1rem;
        border-top: 1px solid rgba(255,255,255,0.07);
    }
    .ss-read-link {
        color: #f4d03f;
        font-size: 0.88rem;
        font-weight: 600;
        font-family: 'Courier New', monospace;
    }
    .ss-moons {
        font-size: 0.80rem;
        color: rgba(255,255,255,0.38);
        font-family: 'Courier New', monospace;
    }

    /* === COMING SOON CARDS === */
    .ss-coming-soon {
        opacity: 0.55;
        cursor: default;
        pointer-events: none;
    }
    .ss-coming-badge {
        position: absolute;
        top: 1rem;
        left: 50%;
        transform: translateX(-50%);
        background: rgba(137,196,244,0.20);
        border: 1px solid rgba(137,196,244,0.40);
        color: #89c4f4;
        padding: 0.3rem 1rem;
        border-radius: 20px;
        font-size: 0.78rem;
        font-family: 'Courier New', monospace;
        letter-spacing: 2px;
        text-transform: uppercase;
        z-index: 1;
        white-space: nowrap;
    }

    /* === INTRO TWO-COL === */
    .ss-two-col {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 2.5rem;
        margin-top: 2rem;
    }
    @media (max-width: 700px) { .ss-two-col { grid-template-columns: 1fr; } }
    .ss-two-col p {
        font-size: 0.97rem;
        color: rgba(255,255,255,0.72);
        line-height: 1.82;
        margin: 0;
    }

    /* === BREADCRUMB === */
    .ss-breadcrumb {
        background: rgba(255,255,255,0.04);
        padding: 0.65rem 0;
        border-bottom: 1px solid rgba(255,255,255,0.07);
    }
    .ss-breadcrumb ol {
        max-width: 1200px;
        margin: 0 auto;
        padding: 0 1.5rem;
        display: flex;
        flex-wrap: wrap;
        gap: 0.4rem;
        list-style: none;
        font-size: 0.82rem;
        color: rgba(255,255,255,0.45);
        font-family: 'Courier New', monospace;
    }
    .ss-breadcrumb a { color: rgba(255,255,255,0.55); text-decoration: none; }
    .ss-breadcrumb a:hover { color: #f4d03f; }
    .ss-breadcrumb .bc-sep { margin: 0 0.2rem; opacity: 0.4; }
    .ss-breadcrumb [aria-current="page"] { color: rgba(255,255,255,0.75); }

    @media (max-width: 900px) {
        .ss-hero h1 { font-size: 2.2rem; }
        .ss-grid { grid-template-columns: 1fr; }
        .ss-hero-stats { gap: 2rem; }
    }

    /* --- Mobile (phones, ≤ 480px) --- */
    @media (max-width: 480px) {
        /* Hero */
        .ss-hero { padding: 3rem 1rem 2.5rem; }
        .ss-hero h1 { font-size: 1.7rem; margin-bottom: 1rem; }
        .ss-hero .lead { font-size: 0.95rem; padding: 0 0.25rem; line-height: 1.65; margin-bottom: 1.75rem; }

        /* Stats → 2×2 grid */
        .ss-hero-stats {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 1.25rem 1rem;
            max-width: 280px;
            margin: 0 auto;
        }
        .ss-stat-number { font-size: 1.8rem; }
        .ss-stat-label { font-size: 0.72rem; letter-spacing: 1.5px; }

        /* Container padding */
        .ss-container { padding: 0 1rem; }

        /* Sections */
        .ss-section { padding: 2.5rem 0; }
        .ss-section-header { margin-bottom: 2rem; }
        .ss-section-header h2 { font-size: 1.45rem; }
        .ss-section-header p { font-size: 0.92rem; }
        .ss-section-label { font-size: 0.70rem; letter-spacing: 2px; }

        /* Cards */
        .ss-grid { grid-template-columns: 1fr !important; }
        .ss-card-image { height: 160px; }
        .ss-type-badge, .ss-dist-badge {
            font-size: 0.65rem;
            padding: 0.25rem 0.6rem;
            background: rgba(0, 0, 0, 0.85);
            backdrop-filter: blur(8px);
            -webkit-backdrop-filter: blur(8px);
            border-color: rgba(244, 208, 63, 0.65);
            text-shadow: 0 1px 4px rgba(0,0,0,1);
            color: #f4d03f;
        }
        .ss-dist-badge {
            border-color: rgba(137, 196, 244, 0.65);
            color: #89c4f4;
        }
        .ss-card-body { padding: 1.1rem; }
        .ss-card-title { font-size: 1.1rem; }
        .ss-card-meta { font-size: 0.72rem; }
        .ss-card-desc { font-size: 0.88rem; line-height: 1.6; }

        /* Card facts */
        .ss-card-facts { gap: 0.4rem; }
        .ss-fact { padding: 0.4rem 0.6rem; }
        .ss-fact-label { font-size: 0.65rem; }
        .ss-fact-value { font-size: 0.82rem; }

        /* Card footer — stack vertically on small screens */
        .ss-card-footer {
            flex-direction: column;
            align-items: flex-start;
            gap: 0.35rem;
        }
        .ss-moons { font-size: 0.72rem; }

        /* Sun featured card — full width on mobile */
        .ss-sun-card { max-width: none !important; }

        /* Two-column prose */
        .ss-two-col { gap: 1.5rem; margin-top: 1rem; }
        .ss-two-col p { font-size: 0.92rem; line-height: 1.72; }

        /* Breadcrumb */
        .ss-breadcrumb ol { font-size: 0.75rem; padding: 0 1rem; }
    }


/* ============================================================
   Source: solar-system/asteroid-belt.njk
   ============================================================ */


    /* === HERO === */
    .region-hero {
        position: relative;
        padding: 5rem 0 4rem;
        text-align: center;
        background:
            linear-gradient(to bottom, rgba(3,5,15,0.50) 0%, rgba(3,5,15,0.25) 50%, rgba(3,5,15,0.75) 100%),
            url('/images/solar-system/asteroid-belt-hero.jpg') center center / cover no-repeat;
        overflow: hidden;
    }
    .region-hero > * { position: relative; z-index: 1; }

    .region-hero .hero-tag {
        font-family: 'Courier New', monospace;
        color: #f4d03f;
        font-size: 0.80rem;
        letter-spacing: 4px;
        text-transform: uppercase;
        margin-bottom: 1rem;
        display: block;
    }
    .region-hero h1 {
        font-size: 3rem;
        font-weight: 800;
        color: #ffffff;
        line-height: 1.15;
        max-width: 820px;
        margin: 0 auto 1.25rem;
        text-shadow: 0 2px 30px rgba(0,0,0,0.8);
    }
    .region-hero .lead {
        font-size: 1.15rem;
        color: rgba(255,255,255,0.88);
        max-width: 700px;
        margin: 0 auto 2.5rem;
        line-height: 1.78;
        text-shadow: 0 1px 8px rgba(0,0,0,0.7);
    }

    .region-stats {
        display: flex;
        justify-content: center;
        gap: 3rem;
        flex-wrap: wrap;
    }
    .region-stat { text-align: center; }
    .region-stat-number {
        font-size: 2.2rem;
        color: #f4d03f;
        font-weight: 800;
        display: block;
        font-family: 'Courier New', monospace;
        line-height: 1;
        margin-bottom: 0.3rem;
        text-shadow: 0 0 20px rgba(244,208,63,0.5);
    }
    .region-stat-label {
        font-size: 0.80rem;
        color: rgba(255,255,255,0.65);
        text-transform: uppercase;
        letter-spacing: 2px;
        font-family: 'Courier New', monospace;
    }

    /* === LAYOUT === */
    .region-container {
        max-width: 1100px;
        margin: 0 auto;
        padding: 0 1.5rem;
    }
    .region-section {
        padding: 3.5rem 0;
        border-bottom: 1px solid rgba(255,255,255,0.07);
    }
    .region-section:last-child { border-bottom: none; }

    .region-section-header {
        text-align: center;
        margin-bottom: 2.5rem;
    }
    .region-section-label {
        font-family: 'Courier New', monospace;
        font-size: 0.75rem;
        letter-spacing: 3px;
        color: #f4d03f;
        text-transform: uppercase;
        display: block;
        margin-bottom: 0.6rem;
    }
    .region-section-header h2 {
        font-size: 1.9rem;
        font-weight: 700;
        color: #ffffff;
        margin: 0 0 0.8rem;
    }
    .region-section-header p {
        font-size: 1.02rem;
        color: rgba(255,255,255,0.60);
        max-width: 640px;
        margin: 0 auto;
        line-height: 1.7;
    }

    /* === PROSE === */
    .region-prose {
        max-width: 780px;
        margin: 0 auto;
    }
    .region-prose p {
        font-size: 1.02rem;
        color: rgba(255,255,255,0.75);
        line-height: 1.82;
        margin: 0 0 1.5rem;
    }
    .region-prose h3 {
        font-size: 1.3rem;
        color: #ffffff;
        margin: 2.5rem 0 1rem;
        font-weight: 700;
    }

    /* === BODY CARDS (notable objects) === */
    .body-grid {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
        gap: 1.5rem;
    }
    .body-card {
        background: rgba(10, 14, 36, 0.85);
        border: 1px solid rgba(137, 196, 244, 0.15);
        border-radius: 12px;
        padding: 1.5rem;
        transition: transform 0.25s, box-shadow 0.25s, border-color 0.25s;
    }
    .body-card:hover {
        transform: translateY(-4px);
        box-shadow: 0 10px 30px rgba(0,0,0,0.4);
        border-color: rgba(244, 208, 63, 0.35);
    }
    .body-card-header {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        margin-bottom: 0.75rem;
    }
    .body-card h3 {
        font-size: 1.2rem;
        font-weight: 700;
        color: #ffffff;
        margin: 0;
    }
    .body-card .body-type {
        font-size: 0.70rem;
        font-family: 'Courier New', monospace;
        letter-spacing: 1px;
        color: #f4d03f;
        background: rgba(244, 208, 63, 0.12);
        border: 1px solid rgba(244, 208, 63, 0.35);
        border-radius: 20px;
        padding: 0.2rem 0.6rem;
        white-space: nowrap;
    }
    .body-card .body-meta {
        font-size: 0.78rem;
        color: rgba(255,255,255,0.45);
        font-family: 'Courier New', monospace;
        letter-spacing: 1px;
        text-transform: uppercase;
        margin-bottom: 0.75rem;
    }
    .body-card .body-desc {
        font-size: 0.92rem;
        color: rgba(255,255,255,0.65);
        line-height: 1.65;
        margin-bottom: 1rem;
    }
    .body-card-facts {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0.4rem;
    }
    .body-fact {
        background: rgba(255,255,255,0.04);
        border-radius: 6px;
        padding: 0.45rem 0.65rem;
    }
    .body-fact-label {
        font-size: 0.65rem;
        color: rgba(255,255,255,0.38);
        text-transform: uppercase;
        letter-spacing: 1px;
        font-family: 'Courier New', monospace;
        display: block;
        margin-bottom: 0.15rem;
    }
    .body-fact-value {
        font-size: 0.85rem;
        color: rgba(255,255,255,0.80);
        font-weight: 600;
    }

    /* === LINKED BODY CARDS === */
    a.body-card-link {
        text-decoration: none;
        color: inherit;
        display: block;
        cursor: pointer;
    }
    a.body-card-link:hover {
        border-color: rgba(244, 208, 63, 0.55);
    }
    .body-card-cta {
        display: block;
        margin-top: 1rem;
        font-family: 'Courier New', monospace;
        font-size: 0.82rem;
        color: #f4d03f;
        letter-spacing: 0.5px;
    }

    /* === INFO CALLOUT === */
    .region-callout {
        background: rgba(137, 196, 244, 0.08);
        border-left: 3px solid #89c4f4;
        border-radius: 0 8px 8px 0;
        padding: 1.25rem 1.5rem;
        margin: 2rem 0;
    }
    .region-callout p {
        font-size: 0.95rem;
        color: rgba(255,255,255,0.72);
        line-height: 1.7;
        margin: 0;
    }
    .region-callout strong {
        color: #89c4f4;
    }

    /* === TWO-COL === */
    .region-two-col {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 2.5rem;
        margin-top: 1.5rem;
    }
    .region-two-col p {
        font-size: 0.97rem;
        color: rgba(255,255,255,0.72);
        line-height: 1.82;
        margin: 0;
    }

    /* === FAQ === */
    .region-faq { margin-top: 2rem; }
    .region-faq h2 {
        font-size: 1.6rem;
        color: #ffffff;
        text-align: center;
        margin-bottom: 1.5rem;
    }
    .faq-item {
        border-bottom: 1px solid rgba(255,255,255,0.07);
        padding: 1.25rem 0;
    }
    .faq-item:last-child { border-bottom: none; }
    .faq-question {
        font-size: 1.05rem;
        color: #ffffff;
        font-weight: 600;
        margin-bottom: 0.6rem;
        cursor: pointer;
    }
    .faq-answer {
        font-size: 0.95rem;
        color: rgba(255,255,255,0.65);
        line-height: 1.72;
    }

    /* === BREADCRUMB === */
    .region-breadcrumb {
        background: rgba(255,255,255,0.04);
        padding: 0.65rem 0;
        border-bottom: 1px solid rgba(255,255,255,0.07);
    }
    .region-breadcrumb ol {
        max-width: 1100px;
        margin: 0 auto;
        padding: 0 1.5rem;
        display: flex;
        flex-wrap: wrap;
        gap: 0.4rem;
        list-style: none;
        font-size: 0.82rem;
        color: rgba(255,255,255,0.45);
        font-family: 'Courier New', monospace;
    }
    .region-breadcrumb a { color: rgba(255,255,255,0.55); text-decoration: none; }
    .region-breadcrumb a:hover { color: #f4d03f; }
    .region-breadcrumb .bc-sep { margin: 0 0.2rem; opacity: 0.4; }
    .region-breadcrumb [aria-current="page"] { color: rgba(255,255,255,0.75); }

    /* === BACK LINK === */
    .back-to-solar {
        display: inline-block;
        color: #f4d03f;
        font-family: 'Courier New', monospace;
        font-size: 0.88rem;
        text-decoration: none;
        margin-top: 2rem;
        padding: 0.6rem 1.2rem;
        border: 1px solid rgba(244,208,63,0.30);
        border-radius: 8px;
        transition: background 0.2s, border-color 0.2s;
    }
    .back-to-solar:hover {
        background: rgba(244,208,63,0.08);
        border-color: rgba(244,208,63,0.55);
    }

    /* === MOBILE === */
    @media (max-width: 900px) {
        .region-hero h1 { font-size: 2.2rem; }
        .body-grid { grid-template-columns: 1fr; }
        .region-two-col { grid-template-columns: 1fr; }
        .region-stats { gap: 2rem; }
    }
    @media (max-width: 480px) {
        .region-hero { padding: 3rem 1rem 2.5rem; }
        .region-hero h1 { font-size: 1.7rem; }
        .region-hero .lead { font-size: 0.95rem; padding: 0 0.25rem; line-height: 1.65; margin-bottom: 1.75rem; }
        .region-stats {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 1.25rem 1rem;
            max-width: 280px;
            margin: 0 auto;
        }
        .region-stat-number { font-size: 1.8rem; }
        .region-stat-label { font-size: 0.70rem; }
        .region-container { padding: 0 1rem; }
        .region-section { padding: 2.5rem 0; }
        .region-section-header h2 { font-size: 1.45rem; }
        .region-section-header p { font-size: 0.92rem; }
        .body-grid { grid-template-columns: 1fr; }
        .body-card { padding: 1.2rem; }
        .region-two-col { grid-template-columns: 1fr; gap: 1.5rem; }
        .region-breadcrumb ol { font-size: 0.75rem; padding: 0 1rem; }
    }


/* ============================================================
   Source: solar-system/ceres.njk
   ============================================================ */


    /* === HERO === */
    .region-hero {
        position: relative;
        padding: 5rem 0 4rem;
        text-align: center;
        background:
            linear-gradient(to bottom, rgba(3,5,15,0.50) 0%, rgba(3,5,15,0.25) 50%, rgba(3,5,15,0.75) 100%),
            url('/images/solar-system/ceres-hero.jpg') center center / cover no-repeat;
        overflow: hidden;
    }
    .region-hero > * { position: relative; z-index: 1; }

    .region-hero .hero-tag {
        font-family: 'Courier New', monospace;
        color: #f4d03f;
        font-size: 0.80rem;
        letter-spacing: 4px;
        text-transform: uppercase;
        margin-bottom: 1rem;
        display: block;
    }
    .region-hero h1 {
        font-size: 3rem;
        font-weight: 800;
        color: #ffffff;
        line-height: 1.15;
        max-width: 820px;
        margin: 0 auto 1.25rem;
        text-shadow: 0 2px 30px rgba(0,0,0,0.8);
    }
    .region-hero .lead {
        font-size: 1.15rem;
        color: rgba(255,255,255,0.88);
        max-width: 700px;
        margin: 0 auto 2.5rem;
        line-height: 1.78;
        text-shadow: 0 1px 8px rgba(0,0,0,0.7);
    }

    .region-stats {
        display: flex;
        justify-content: center;
        gap: 3rem;
        flex-wrap: wrap;
    }
    .region-stat { text-align: center; }
    .region-stat-number {
        font-size: 2.2rem;
        color: #f4d03f;
        font-weight: 800;
        display: block;
        font-family: 'Courier New', monospace;
        line-height: 1;
        margin-bottom: 0.3rem;
        text-shadow: 0 0 20px rgba(244,208,63,0.5);
    }
    .region-stat-label {
        font-size: 0.80rem;
        color: rgba(255,255,255,0.65);
        text-transform: uppercase;
        letter-spacing: 2px;
        font-family: 'Courier New', monospace;
    }

    /* === LAYOUT === */
    .region-container {
        max-width: 1100px;
        margin: 0 auto;
        padding: 0 1.5rem;
    }
    .region-section {
        padding: 3.5rem 0;
        border-bottom: 1px solid rgba(255,255,255,0.07);
    }
    .region-section:last-child { border-bottom: none; }

    .region-section-header {
        text-align: center;
        margin-bottom: 2.5rem;
    }
    .region-section-label {
        font-family: 'Courier New', monospace;
        font-size: 0.75rem;
        letter-spacing: 3px;
        color: #f4d03f;
        text-transform: uppercase;
        display: block;
        margin-bottom: 0.6rem;
    }
    .region-section-header h2 {
        font-size: 1.9rem;
        font-weight: 700;
        color: #ffffff;
        margin: 0 0 0.8rem;
    }
    .region-section-header p {
        font-size: 1.02rem;
        color: rgba(255,255,255,0.60);
        max-width: 640px;
        margin: 0 auto;
        line-height: 1.7;
    }

    /* === PROSE === */
    .region-prose {
        max-width: 780px;
        margin: 0 auto;
    }
    .region-prose p {
        font-size: 1.02rem;
        color: rgba(255,255,255,0.75);
        line-height: 1.82;
        margin: 0 0 1.5rem;
    }
    .region-prose h3 {
        font-size: 1.3rem;
        color: #ffffff;
        margin: 2.5rem 0 1rem;
        font-weight: 700;
    }

    /* === BODY CARDS === */
    .body-grid {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
        gap: 1.5rem;
    }
    .body-card {
        background: rgba(10, 14, 36, 0.85);
        border: 1px solid rgba(137, 196, 244, 0.15);
        border-radius: 12px;
        padding: 1.5rem;
        transition: transform 0.25s, box-shadow 0.25s, border-color 0.25s;
    }
    .body-card:hover {
        transform: translateY(-4px);
        box-shadow: 0 10px 30px rgba(0,0,0,0.4);
        border-color: rgba(244, 208, 63, 0.35);
    }
    .body-card-header {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        margin-bottom: 0.75rem;
    }
    .body-card h3 {
        font-size: 1.2rem;
        font-weight: 700;
        color: #ffffff;
        margin: 0;
    }
    .body-card .body-type {
        font-size: 0.70rem;
        font-family: 'Courier New', monospace;
        letter-spacing: 1px;
        color: #f4d03f;
        background: rgba(244, 208, 63, 0.12);
        border: 1px solid rgba(244, 208, 63, 0.35);
        border-radius: 20px;
        padding: 0.2rem 0.6rem;
        white-space: nowrap;
    }
    .body-card .body-meta {
        font-size: 0.78rem;
        color: rgba(255,255,255,0.45);
        font-family: 'Courier New', monospace;
        letter-spacing: 1px;
        text-transform: uppercase;
        margin-bottom: 0.75rem;
    }
    .body-card .body-desc {
        font-size: 0.92rem;
        color: rgba(255,255,255,0.65);
        line-height: 1.65;
        margin-bottom: 1rem;
    }
    .body-card-facts {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0.4rem;
    }
    .body-fact {
        background: rgba(255,255,255,0.04);
        border-radius: 6px;
        padding: 0.45rem 0.65rem;
    }
    .body-fact-label {
        font-size: 0.65rem;
        color: rgba(255,255,255,0.38);
        text-transform: uppercase;
        letter-spacing: 1px;
        font-family: 'Courier New', monospace;
        display: block;
        margin-bottom: 0.15rem;
    }
    .body-fact-value {
        font-size: 0.85rem;
        color: rgba(255,255,255,0.80);
        font-weight: 600;
    }

    /* === INFO CALLOUT === */
    .region-callout {
        background: rgba(137, 196, 244, 0.08);
        border-left: 3px solid #89c4f4;
        border-radius: 0 8px 8px 0;
        padding: 1.25rem 1.5rem;
        margin: 2rem 0;
    }
    .region-callout p {
        font-size: 0.95rem;
        color: rgba(255,255,255,0.72);
        line-height: 1.7;
        margin: 0;
    }
    .region-callout strong {
        color: #89c4f4;
    }

    /* === TWO-COL === */
    .region-two-col {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 2.5rem;
        margin-top: 1.5rem;
    }
    .region-two-col p {
        font-size: 0.97rem;
        color: rgba(255,255,255,0.72);
        line-height: 1.82;
        margin: 0 0 1.2rem;
    }

    /* === FAQ === */
    .region-faq { margin-top: 2rem; }
    .region-faq h2 {
        font-size: 1.6rem;
        color: #ffffff;
        text-align: center;
        margin-bottom: 1.5rem;
    }
    .faq-item {
        border-bottom: 1px solid rgba(255,255,255,0.07);
        padding: 1.25rem 0;
    }
    .faq-item:last-child { border-bottom: none; }
    .faq-question {
        font-size: 1.05rem;
        color: #ffffff;
        font-weight: 600;
        margin-bottom: 0.6rem;
        cursor: pointer;
    }
    .faq-answer {
        font-size: 0.95rem;
        color: rgba(255,255,255,0.65);
        line-height: 1.72;
    }

    /* === BREADCRUMB === */
    .region-breadcrumb {
        background: rgba(255,255,255,0.04);
        padding: 0.65rem 0;
        border-bottom: 1px solid rgba(255,255,255,0.07);
    }
    .region-breadcrumb ol {
        max-width: 1100px;
        margin: 0 auto;
        padding: 0 1.5rem;
        display: flex;
        flex-wrap: wrap;
        gap: 0.4rem;
        list-style: none;
        font-size: 0.82rem;
        color: rgba(255,255,255,0.45);
        font-family: 'Courier New', monospace;
    }
    .region-breadcrumb a { color: rgba(255,255,255,0.55); text-decoration: none; }
    .region-breadcrumb a:hover { color: #f4d03f; }
    .region-breadcrumb .bc-sep { margin: 0 0.2rem; opacity: 0.4; }
    .region-breadcrumb [aria-current="page"] { color: rgba(255,255,255,0.75); }

    /* === BACK LINK === */
    .back-to-solar {
        display: inline-block;
        color: #f4d03f;
        font-family: 'Courier New', monospace;
        font-size: 0.88rem;
        text-decoration: none;
        margin-top: 2rem;
        padding: 0.6rem 1.2rem;
        border: 1px solid rgba(244,208,63,0.30);
        border-radius: 8px;
        transition: background 0.2s, border-color 0.2s;
    }
    .back-to-solar:hover {
        background: rgba(244,208,63,0.08);
        border-color: rgba(244,208,63,0.55);
    }

    /* === MOBILE === */
    @media (max-width: 900px) {
        .region-hero h1 { font-size: 2.2rem; }
        .body-grid { grid-template-columns: 1fr; }
        .region-two-col { grid-template-columns: 1fr; }
        .region-stats { gap: 2rem; }
    }
    @media (max-width: 480px) {
        .region-hero { padding: 3rem 1rem 2.5rem; }
        .region-hero h1 { font-size: 1.7rem; }
        .region-hero .lead { font-size: 0.95rem; padding: 0 0.25rem; line-height: 1.65; margin-bottom: 1.75rem; }
        .region-stats {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 1.25rem 1rem;
            max-width: 280px;
            margin: 0 auto;
        }
        .region-stat-number { font-size: 1.8rem; }
        .region-stat-label { font-size: 0.70rem; }
        .region-container { padding: 0 1rem; }
        .region-section { padding: 2.5rem 0; }
        .region-section-header h2 { font-size: 1.45rem; }
        .region-section-header p { font-size: 0.92rem; }
        .body-grid { grid-template-columns: 1fr; }
        .body-card { padding: 1.2rem; }
        .region-two-col { grid-template-columns: 1fr; gap: 1.5rem; }
        .region-breadcrumb ol { font-size: 0.75rem; padding: 0 1rem; }
    }


/* ============================================================
   Source: solar-system/eris.njk
   ============================================================ */


    /* === HERO === */
    .region-hero {
        position: relative;
        padding: 5rem 0 4rem;
        text-align: center;
        background:
            linear-gradient(to bottom, rgba(3,5,15,0.50) 0%, rgba(3,5,15,0.25) 50%, rgba(3,5,15,0.75) 100%),
            url('/images/solar-system/eris-hero.jpg') center center / cover no-repeat;
        overflow: hidden;
    }
    .region-hero > * { position: relative; z-index: 1; }

    .region-hero .hero-tag {
        font-family: 'Courier New', monospace;
        color: #f4d03f;
        font-size: 0.80rem;
        letter-spacing: 4px;
        text-transform: uppercase;
        margin-bottom: 1rem;
        display: block;
    }
    .region-hero h1 {
        font-size: 3rem;
        font-weight: 800;
        color: #ffffff;
        line-height: 1.15;
        max-width: 820px;
        margin: 0 auto 1.25rem;
        text-shadow: 0 2px 30px rgba(0,0,0,0.8);
    }
    .region-hero .lead {
        font-size: 1.15rem;
        color: rgba(255,255,255,0.88);
        max-width: 700px;
        margin: 0 auto 2.5rem;
        line-height: 1.78;
        text-shadow: 0 1px 8px rgba(0,0,0,0.7);
    }

    .region-stats {
        display: flex;
        justify-content: center;
        gap: 3rem;
        flex-wrap: wrap;
    }
    .region-stat { text-align: center; }
    .region-stat-number {
        font-size: 2.2rem;
        color: #f4d03f;
        font-weight: 800;
        display: block;
        font-family: 'Courier New', monospace;
        line-height: 1;
        margin-bottom: 0.3rem;
        text-shadow: 0 0 20px rgba(244,208,63,0.5);
    }
    .region-stat-label {
        font-size: 0.80rem;
        color: rgba(255,255,255,0.65);
        text-transform: uppercase;
        letter-spacing: 2px;
        font-family: 'Courier New', monospace;
    }

    /* === LAYOUT === */
    .region-container {
        max-width: 1100px;
        margin: 0 auto;
        padding: 0 1.5rem;
    }
    .region-section {
        padding: 3.5rem 0;
        border-bottom: 1px solid rgba(255,255,255,0.07);
    }
    .region-section:last-child { border-bottom: none; }

    .region-section-header {
        text-align: center;
        margin-bottom: 2.5rem;
    }
    .region-section-label {
        font-family: 'Courier New', monospace;
        font-size: 0.75rem;
        letter-spacing: 3px;
        color: #f4d03f;
        text-transform: uppercase;
        display: block;
        margin-bottom: 0.6rem;
    }
    .region-section-header h2 {
        font-size: 1.9rem;
        font-weight: 700;
        color: #ffffff;
        margin: 0 0 0.8rem;
    }
    .region-section-header p {
        font-size: 1.02rem;
        color: rgba(255,255,255,0.60);
        max-width: 640px;
        margin: 0 auto;
        line-height: 1.7;
    }

    /* === PROSE === */
    .region-prose {
        max-width: 780px;
        margin: 0 auto;
    }
    .region-prose p {
        font-size: 1.02rem;
        color: rgba(255,255,255,0.75);
        line-height: 1.82;
        margin: 0 0 1.5rem;
    }
    .region-prose h3 {
        font-size: 1.3rem;
        color: #ffffff;
        margin: 2.5rem 0 1rem;
        font-weight: 700;
    }

    /* === BODY CARDS === */
    .body-grid {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
        gap: 1.5rem;
    }
    .body-card {
        background: rgba(10, 14, 36, 0.85);
        border: 1px solid rgba(137, 196, 244, 0.15);
        border-radius: 12px;
        padding: 1.5rem;
        transition: transform 0.25s, box-shadow 0.25s, border-color 0.25s;
    }
    .body-card:hover {
        transform: translateY(-4px);
        box-shadow: 0 10px 30px rgba(0,0,0,0.4);
        border-color: rgba(244, 208, 63, 0.35);
    }
    .body-card-header {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        margin-bottom: 0.75rem;
    }
    .body-card h3 {
        font-size: 1.2rem;
        font-weight: 700;
        color: #ffffff;
        margin: 0;
    }
    .body-card .body-type {
        font-size: 0.70rem;
        font-family: 'Courier New', monospace;
        letter-spacing: 1px;
        color: #f4d03f;
        background: rgba(244, 208, 63, 0.12);
        border: 1px solid rgba(244, 208, 63, 0.35);
        border-radius: 20px;
        padding: 0.2rem 0.6rem;
        white-space: nowrap;
    }
    .body-card .body-meta {
        font-size: 0.78rem;
        color: rgba(255,255,255,0.45);
        font-family: 'Courier New', monospace;
        letter-spacing: 1px;
        text-transform: uppercase;
        margin-bottom: 0.75rem;
    }
    .body-card .body-desc {
        font-size: 0.92rem;
        color: rgba(255,255,255,0.65);
        line-height: 1.65;
        margin-bottom: 1rem;
    }
    .body-card-facts {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0.4rem;
    }
    .body-fact {
        background: rgba(255,255,255,0.04);
        border-radius: 6px;
        padding: 0.45rem 0.65rem;
    }
    .body-fact-label {
        font-size: 0.65rem;
        color: rgba(255,255,255,0.38);
        text-transform: uppercase;
        letter-spacing: 1px;
        font-family: 'Courier New', monospace;
        display: block;
        margin-bottom: 0.15rem;
    }
    .body-fact-value {
        font-size: 0.85rem;
        color: rgba(255,255,255,0.80);
        font-weight: 600;
    }

    /* === INFO CALLOUT === */
    .region-callout {
        background: rgba(137, 196, 244, 0.08);
        border-left: 3px solid #89c4f4;
        border-radius: 0 8px 8px 0;
        padding: 1.25rem 1.5rem;
        margin: 2rem 0;
    }
    .region-callout p {
        font-size: 0.95rem;
        color: rgba(255,255,255,0.72);
        line-height: 1.7;
        margin: 0;
    }
    .region-callout strong {
        color: #89c4f4;
    }

    /* === TWO-COL === */
    .region-two-col {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 2.5rem;
        margin-top: 1.5rem;
    }
    .region-two-col p {
        font-size: 0.97rem;
        color: rgba(255,255,255,0.72);
        line-height: 1.82;
        margin: 0 0 1.2rem;
    }

    /* === FAQ === */
    .region-faq { margin-top: 2rem; }
    .region-faq h2 {
        font-size: 1.6rem;
        color: #ffffff;
        text-align: center;
        margin-bottom: 1.5rem;
    }
    .faq-item {
        border-bottom: 1px solid rgba(255,255,255,0.07);
        padding: 1.25rem 0;
    }
    .faq-item:last-child { border-bottom: none; }
    .faq-question {
        font-size: 1.05rem;
        color: #ffffff;
        font-weight: 600;
        margin-bottom: 0.6rem;
        cursor: pointer;
    }
    .faq-answer {
        font-size: 0.95rem;
        color: rgba(255,255,255,0.65);
        line-height: 1.72;
    }

    /* === BREADCRUMB === */
    .region-breadcrumb {
        background: rgba(255,255,255,0.04);
        padding: 0.65rem 0;
        border-bottom: 1px solid rgba(255,255,255,0.07);
    }
    .region-breadcrumb ol {
        max-width: 1100px;
        margin: 0 auto;
        padding: 0 1.5rem;
        display: flex;
        flex-wrap: wrap;
        gap: 0.4rem;
        list-style: none;
        font-size: 0.82rem;
        color: rgba(255,255,255,0.45);
        font-family: 'Courier New', monospace;
    }
    .region-breadcrumb a { color: rgba(255,255,255,0.55); text-decoration: none; }
    .region-breadcrumb a:hover { color: #f4d03f; }
    .region-breadcrumb .bc-sep { margin: 0 0.2rem; opacity: 0.4; }
    .region-breadcrumb [aria-current="page"] { color: rgba(255,255,255,0.75); }

    /* === BACK LINK === */
    .back-to-solar {
        display: inline-block;
        color: #f4d03f;
        font-family: 'Courier New', monospace;
        font-size: 0.88rem;
        text-decoration: none;
        margin-top: 2rem;
        padding: 0.6rem 1.2rem;
        border: 1px solid rgba(244,208,63,0.30);
        border-radius: 8px;
        transition: background 0.2s, border-color 0.2s;
    }
    .back-to-solar:hover {
        background: rgba(244,208,63,0.08);
        border-color: rgba(244,208,63,0.55);
    }

    /* === MOBILE === */
    @media (max-width: 900px) {
        .region-hero h1 { font-size: 2.2rem; }
        .body-grid { grid-template-columns: 1fr; }
        .region-two-col { grid-template-columns: 1fr; }
        .region-stats { gap: 2rem; }
    }
    @media (max-width: 480px) {
        .region-hero { padding: 3rem 1rem 2.5rem; }
        .region-hero h1 { font-size: 1.7rem; }
        .region-hero .lead { font-size: 0.95rem; padding: 0 0.25rem; line-height: 1.65; margin-bottom: 1.75rem; }
        .region-stats {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 1.25rem 1rem;
            max-width: 280px;
            margin: 0 auto;
        }
        .region-stat-number { font-size: 1.8rem; }
        .region-stat-label { font-size: 0.70rem; }
        .region-container { padding: 0 1rem; }
        .region-section { padding: 2.5rem 0; }
        .region-section-header h2 { font-size: 1.45rem; }
        .region-section-header p { font-size: 0.92rem; }
        .body-grid { grid-template-columns: 1fr; }
        .body-card { padding: 1.2rem; }
        .region-two-col { grid-template-columns: 1fr; gap: 1.5rem; }
        .region-breadcrumb ol { font-size: 0.75rem; padding: 0 1rem; }
    }


/* ============================================================
   Source: solar-system/kuiper-belt.njk
   ============================================================ */


    /* === HERO === */
    .region-hero {
        position: relative;
        padding: 5rem 0 4rem;
        text-align: center;
        background:
            linear-gradient(to bottom, rgba(3,5,15,0.50) 0%, rgba(3,5,15,0.25) 50%, rgba(3,5,15,0.75) 100%),
            url('/images/solar-system/kuiper-belt-hero.jpg') center center / cover no-repeat;
        overflow: hidden;
    }
    .region-hero > * { position: relative; z-index: 1; }

    .region-hero .hero-tag {
        font-family: 'Courier New', monospace;
        color: #f4d03f;
        font-size: 0.80rem;
        letter-spacing: 4px;
        text-transform: uppercase;
        margin-bottom: 1rem;
        display: block;
    }
    .region-hero h1 {
        font-size: 3rem;
        font-weight: 800;
        color: #ffffff;
        line-height: 1.15;
        max-width: 820px;
        margin: 0 auto 1.25rem;
        text-shadow: 0 2px 30px rgba(0,0,0,0.8);
    }
    .region-hero .lead {
        font-size: 1.15rem;
        color: rgba(255,255,255,0.88);
        max-width: 700px;
        margin: 0 auto 2.5rem;
        line-height: 1.78;
        text-shadow: 0 1px 8px rgba(0,0,0,0.7);
    }

    .region-stats {
        display: flex;
        justify-content: center;
        gap: 3rem;
        flex-wrap: wrap;
    }
    .region-stat { text-align: center; }
    .region-stat-number {
        font-size: 2.2rem;
        color: #f4d03f;
        font-weight: 800;
        display: block;
        font-family: 'Courier New', monospace;
        line-height: 1;
        margin-bottom: 0.3rem;
        text-shadow: 0 0 20px rgba(244,208,63,0.5);
    }
    .region-stat-label {
        font-size: 0.80rem;
        color: rgba(255,255,255,0.65);
        text-transform: uppercase;
        letter-spacing: 2px;
        font-family: 'Courier New', monospace;
    }

    /* === LAYOUT === */
    .region-container {
        max-width: 1100px;
        margin: 0 auto;
        padding: 0 1.5rem;
    }
    .region-section {
        padding: 3.5rem 0;
        border-bottom: 1px solid rgba(255,255,255,0.07);
    }
    .region-section:last-child { border-bottom: none; }

    .region-section-header {
        text-align: center;
        margin-bottom: 2.5rem;
    }
    .region-section-label {
        font-family: 'Courier New', monospace;
        font-size: 0.75rem;
        letter-spacing: 3px;
        color: #f4d03f;
        text-transform: uppercase;
        display: block;
        margin-bottom: 0.6rem;
    }
    .region-section-header h2 {
        font-size: 1.9rem;
        font-weight: 700;
        color: #ffffff;
        margin: 0 0 0.8rem;
    }
    .region-section-header p {
        font-size: 1.02rem;
        color: rgba(255,255,255,0.60);
        max-width: 640px;
        margin: 0 auto;
        line-height: 1.7;
    }

    /* === PROSE === */
    .region-prose {
        max-width: 780px;
        margin: 0 auto;
    }
    .region-prose p {
        font-size: 1.02rem;
        color: rgba(255,255,255,0.75);
        line-height: 1.82;
        margin: 0 0 1.5rem;
    }
    .region-prose h3 {
        font-size: 1.3rem;
        color: #ffffff;
        margin: 2.5rem 0 1rem;
        font-weight: 700;
    }

    /* === BODY CARDS (notable objects) === */
    .body-grid {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
        gap: 1.5rem;
    }
    .body-card {
        background: rgba(10, 14, 36, 0.85);
        border: 1px solid rgba(137, 196, 244, 0.15);
        border-radius: 12px;
        padding: 1.5rem;
        transition: transform 0.25s, box-shadow 0.25s, border-color 0.25s;
    }
    .body-card:hover {
        transform: translateY(-4px);
        box-shadow: 0 10px 30px rgba(0,0,0,0.4);
        border-color: rgba(244, 208, 63, 0.35);
    }
    .body-card-header {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        margin-bottom: 0.75rem;
    }
    .body-card h3 {
        font-size: 1.2rem;
        font-weight: 700;
        color: #ffffff;
        margin: 0;
    }
    .body-card .body-type {
        font-size: 0.70rem;
        font-family: 'Courier New', monospace;
        letter-spacing: 1px;
        color: #f4d03f;
        background: rgba(244, 208, 63, 0.12);
        border: 1px solid rgba(244, 208, 63, 0.35);
        border-radius: 20px;
        padding: 0.2rem 0.6rem;
        white-space: nowrap;
    }
    .body-card .body-meta {
        font-size: 0.78rem;
        color: rgba(255,255,255,0.45);
        font-family: 'Courier New', monospace;
        letter-spacing: 1px;
        text-transform: uppercase;
        margin-bottom: 0.75rem;
    }
    .body-card .body-desc {
        font-size: 0.92rem;
        color: rgba(255,255,255,0.65);
        line-height: 1.65;
        margin-bottom: 1rem;
    }
    .body-card-facts {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0.4rem;
    }
    .body-fact {
        background: rgba(255,255,255,0.04);
        border-radius: 6px;
        padding: 0.45rem 0.65rem;
    }
    .body-fact-label {
        font-size: 0.65rem;
        color: rgba(255,255,255,0.38);
        text-transform: uppercase;
        letter-spacing: 1px;
        font-family: 'Courier New', monospace;
        display: block;
        margin-bottom: 0.15rem;
    }
    .body-fact-value {
        font-size: 0.85rem;
        color: rgba(255,255,255,0.80);
        font-weight: 600;
    }

    /* === LINKED BODY CARDS === */
    a.body-card-link {
        text-decoration: none;
        color: inherit;
        display: block;
        cursor: pointer;
    }
    a.body-card-link:hover {
        border-color: rgba(244, 208, 63, 0.55);
    }
    .body-card-cta {
        display: block;
        margin-top: 1rem;
        font-family: 'Courier New', monospace;
        font-size: 0.82rem;
        color: #f4d03f;
        letter-spacing: 0.5px;
    }

    /* === INFO CALLOUT === */
    .region-callout {
        background: rgba(137, 196, 244, 0.08);
        border-left: 3px solid #89c4f4;
        border-radius: 0 8px 8px 0;
        padding: 1.25rem 1.5rem;
        margin: 2rem 0;
    }
    .region-callout p {
        font-size: 0.95rem;
        color: rgba(255,255,255,0.72);
        line-height: 1.7;
        margin: 0;
    }
    .region-callout strong {
        color: #89c4f4;
    }

    /* === TWO-COL === */
    .region-two-col {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 2.5rem;
        margin-top: 1.5rem;
    }
    .region-two-col p {
        font-size: 0.97rem;
        color: rgba(255,255,255,0.72);
        line-height: 1.82;
        margin: 0;
    }

    /* === FAQ === */
    .region-faq { margin-top: 2rem; }
    .region-faq h2 {
        font-size: 1.6rem;
        color: #ffffff;
        text-align: center;
        margin-bottom: 1.5rem;
    }
    .faq-item {
        border-bottom: 1px solid rgba(255,255,255,0.07);
        padding: 1.25rem 0;
    }
    .faq-item:last-child { border-bottom: none; }
    .faq-question {
        font-size: 1.05rem;
        color: #ffffff;
        font-weight: 600;
        margin-bottom: 0.6rem;
        cursor: pointer;
    }
    .faq-answer {
        font-size: 0.95rem;
        color: rgba(255,255,255,0.65);
        line-height: 1.72;
    }

    /* === BREADCRUMB === */
    .region-breadcrumb {
        background: rgba(255,255,255,0.04);
        padding: 0.65rem 0;
        border-bottom: 1px solid rgba(255,255,255,0.07);
    }
    .region-breadcrumb ol {
        max-width: 1100px;
        margin: 0 auto;
        padding: 0 1.5rem;
        display: flex;
        flex-wrap: wrap;
        gap: 0.4rem;
        list-style: none;
        font-size: 0.82rem;
        color: rgba(255,255,255,0.45);
        font-family: 'Courier New', monospace;
    }
    .region-breadcrumb a { color: rgba(255,255,255,0.55); text-decoration: none; }
    .region-breadcrumb a:hover { color: #f4d03f; }
    .region-breadcrumb .bc-sep { margin: 0 0.2rem; opacity: 0.4; }
    .region-breadcrumb [aria-current="page"] { color: rgba(255,255,255,0.75); }

    /* === BACK LINK === */
    .back-to-solar {
        display: inline-block;
        color: #f4d03f;
        font-family: 'Courier New', monospace;
        font-size: 0.88rem;
        text-decoration: none;
        margin-top: 2rem;
        padding: 0.6rem 1.2rem;
        border: 1px solid rgba(244,208,63,0.30);
        border-radius: 8px;
        transition: background 0.2s, border-color 0.2s;
    }
    .back-to-solar:hover {
        background: rgba(244,208,63,0.08);
        border-color: rgba(244,208,63,0.55);
    }

    /* === MOBILE === */
    @media (max-width: 900px) {
        .region-hero h1 { font-size: 2.2rem; }
        .body-grid { grid-template-columns: 1fr; }
        .region-two-col { grid-template-columns: 1fr; }
        .region-stats { gap: 2rem; }
    }
    @media (max-width: 480px) {
        .region-hero { padding: 3rem 1rem 2.5rem; }
        .region-hero h1 { font-size: 1.7rem; }
        .region-hero .lead { font-size: 0.95rem; padding: 0 0.25rem; line-height: 1.65; margin-bottom: 1.75rem; }
        .region-stats {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 1.25rem 1rem;
            max-width: 280px;
            margin: 0 auto;
        }
        .region-stat-number { font-size: 1.8rem; }
        .region-stat-label { font-size: 0.70rem; }
        .region-container { padding: 0 1rem; }
        .region-section { padding: 2.5rem 0; }
        .region-section-header h2 { font-size: 1.45rem; }
        .region-section-header p { font-size: 0.92rem; }
        .body-grid { grid-template-columns: 1fr; }
        .body-card { padding: 1.2rem; }
        .region-two-col { grid-template-columns: 1fr; gap: 1.5rem; }
        .region-breadcrumb ol { font-size: 0.75rem; padding: 0 1rem; }
    }


/* ============================================================
   Source: solar-system/oort-cloud.njk
   ============================================================ */


    /* === HERO === */
    .region-hero {
        position: relative;
        padding: 5rem 0 4rem;
        text-align: center;
        background:
            linear-gradient(to bottom, rgba(3,5,15,0.50) 0%, rgba(3,5,15,0.25) 50%, rgba(3,5,15,0.75) 100%),
            url('/images/solar-system/oort-cloud-hero.jpg') center center / cover no-repeat;
        overflow: hidden;
    }
    .region-hero > * { position: relative; z-index: 1; }

    .region-hero .hero-tag {
        font-family: 'Courier New', monospace;
        color: #f4d03f;
        font-size: 0.80rem;
        letter-spacing: 4px;
        text-transform: uppercase;
        margin-bottom: 1rem;
        display: block;
    }
    .region-hero h1 {
        font-size: 3rem;
        font-weight: 800;
        color: #ffffff;
        line-height: 1.15;
        max-width: 820px;
        margin: 0 auto 1.25rem;
        text-shadow: 0 2px 30px rgba(0,0,0,0.8);
    }
    .region-hero .lead {
        font-size: 1.15rem;
        color: rgba(255,255,255,0.88);
        max-width: 700px;
        margin: 0 auto 2.5rem;
        line-height: 1.78;
        text-shadow: 0 1px 8px rgba(0,0,0,0.7);
    }

    .region-stats {
        display: flex;
        justify-content: center;
        gap: 3rem;
        flex-wrap: wrap;
    }
    .region-stat { text-align: center; }
    .region-stat-number {
        font-size: 2.2rem;
        color: #f4d03f;
        font-weight: 800;
        display: block;
        font-family: 'Courier New', monospace;
        line-height: 1;
        margin-bottom: 0.3rem;
        text-shadow: 0 0 20px rgba(244,208,63,0.5);
    }
    .region-stat-label {
        font-size: 0.80rem;
        color: rgba(255,255,255,0.65);
        text-transform: uppercase;
        letter-spacing: 2px;
        font-family: 'Courier New', monospace;
    }

    /* === LAYOUT === */
    .region-container {
        max-width: 1100px;
        margin: 0 auto;
        padding: 0 1.5rem;
    }
    .region-section {
        padding: 3.5rem 0;
        border-bottom: 1px solid rgba(255,255,255,0.07);
    }
    .region-section:last-child { border-bottom: none; }

    .region-section-header {
        text-align: center;
        margin-bottom: 2.5rem;
    }
    .region-section-label {
        font-family: 'Courier New', monospace;
        font-size: 0.75rem;
        letter-spacing: 3px;
        color: #f4d03f;
        text-transform: uppercase;
        display: block;
        margin-bottom: 0.6rem;
    }
    .region-section-header h2 {
        font-size: 1.9rem;
        font-weight: 700;
        color: #ffffff;
        margin: 0 0 0.8rem;
    }
    .region-section-header p {
        font-size: 1.02rem;
        color: rgba(255,255,255,0.60);
        max-width: 640px;
        margin: 0 auto;
        line-height: 1.7;
    }

    /* === PROSE === */
    .region-prose {
        max-width: 780px;
        margin: 0 auto;
    }
    .region-prose p {
        font-size: 1.02rem;
        color: rgba(255,255,255,0.75);
        line-height: 1.82;
        margin: 0 0 1.5rem;
    }
    .region-prose h3 {
        font-size: 1.3rem;
        color: #ffffff;
        margin: 2.5rem 0 1rem;
        font-weight: 700;
    }

    /* === BODY CARDS (notable objects) === */
    .body-grid {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
        gap: 1.5rem;
    }
    .body-card {
        background: rgba(10, 14, 36, 0.85);
        border: 1px solid rgba(137, 196, 244, 0.15);
        border-radius: 12px;
        padding: 1.5rem;
        transition: transform 0.25s, box-shadow 0.25s, border-color 0.25s;
    }
    .body-card:hover {
        transform: translateY(-4px);
        box-shadow: 0 10px 30px rgba(0,0,0,0.4);
        border-color: rgba(244, 208, 63, 0.35);
    }
    .body-card-header {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        margin-bottom: 0.75rem;
    }
    .body-card h3 {
        font-size: 1.2rem;
        font-weight: 700;
        color: #ffffff;
        margin: 0;
    }
    .body-card .body-type {
        font-size: 0.70rem;
        font-family: 'Courier New', monospace;
        letter-spacing: 1px;
        color: #f4d03f;
        background: rgba(244, 208, 63, 0.12);
        border: 1px solid rgba(244, 208, 63, 0.35);
        border-radius: 20px;
        padding: 0.2rem 0.6rem;
        white-space: nowrap;
    }
    .body-card .body-meta {
        font-size: 0.78rem;
        color: rgba(255,255,255,0.45);
        font-family: 'Courier New', monospace;
        letter-spacing: 1px;
        text-transform: uppercase;
        margin-bottom: 0.75rem;
    }
    .body-card .body-desc {
        font-size: 0.92rem;
        color: rgba(255,255,255,0.65);
        line-height: 1.65;
        margin-bottom: 1rem;
    }
    .body-card-facts {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0.4rem;
    }
    .body-fact {
        background: rgba(255,255,255,0.04);
        border-radius: 6px;
        padding: 0.45rem 0.65rem;
    }
    .body-fact-label {
        font-size: 0.65rem;
        color: rgba(255,255,255,0.38);
        text-transform: uppercase;
        letter-spacing: 1px;
        font-family: 'Courier New', monospace;
        display: block;
        margin-bottom: 0.15rem;
    }
    .body-fact-value {
        font-size: 0.85rem;
        color: rgba(255,255,255,0.80);
        font-weight: 600;
    }

    /* === INFO CALLOUT === */
    .region-callout {
        background: rgba(137, 196, 244, 0.08);
        border-left: 3px solid #89c4f4;
        border-radius: 0 8px 8px 0;
        padding: 1.25rem 1.5rem;
        margin: 2rem 0;
    }
    .region-callout p {
        font-size: 0.95rem;
        color: rgba(255,255,255,0.72);
        line-height: 1.7;
        margin: 0;
    }
    .region-callout strong {
        color: #89c4f4;
    }

    /* === TWO-COL === */
    .region-two-col {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 2.5rem;
        margin-top: 1.5rem;
    }
    .region-two-col p {
        font-size: 0.97rem;
        color: rgba(255,255,255,0.72);
        line-height: 1.82;
        margin: 0;
    }

    /* === FAQ === */
    .region-faq { margin-top: 2rem; }
    .region-faq h2 {
        font-size: 1.6rem;
        color: #ffffff;
        text-align: center;
        margin-bottom: 1.5rem;
    }
    .faq-item {
        border-bottom: 1px solid rgba(255,255,255,0.07);
        padding: 1.25rem 0;
    }
    .faq-item:last-child { border-bottom: none; }
    .faq-question {
        font-size: 1.05rem;
        color: #ffffff;
        font-weight: 600;
        margin-bottom: 0.6rem;
        cursor: pointer;
    }
    .faq-answer {
        font-size: 0.95rem;
        color: rgba(255,255,255,0.65);
        line-height: 1.72;
    }

    /* === BREADCRUMB === */
    .region-breadcrumb {
        background: rgba(255,255,255,0.04);
        padding: 0.65rem 0;
        border-bottom: 1px solid rgba(255,255,255,0.07);
    }
    .region-breadcrumb ol {
        max-width: 1100px;
        margin: 0 auto;
        padding: 0 1.5rem;
        display: flex;
        flex-wrap: wrap;
        gap: 0.4rem;
        list-style: none;
        font-size: 0.82rem;
        color: rgba(255,255,255,0.45);
        font-family: 'Courier New', monospace;
    }
    .region-breadcrumb a { color: rgba(255,255,255,0.55); text-decoration: none; }
    .region-breadcrumb a:hover { color: #f4d03f; }
    .region-breadcrumb .bc-sep { margin: 0 0.2rem; opacity: 0.4; }
    .region-breadcrumb [aria-current="page"] { color: rgba(255,255,255,0.75); }

    /* === BACK LINK === */
    .back-to-solar {
        display: inline-block;
        color: #f4d03f;
        font-family: 'Courier New', monospace;
        font-size: 0.88rem;
        text-decoration: none;
        margin-top: 2rem;
        padding: 0.6rem 1.2rem;
        border: 1px solid rgba(244,208,63,0.30);
        border-radius: 8px;
        transition: background 0.2s, border-color 0.2s;
    }
    .back-to-solar:hover {
        background: rgba(244,208,63,0.08);
        border-color: rgba(244,208,63,0.55);
    }

    /* === MOBILE === */
    @media (max-width: 900px) {
        .region-hero h1 { font-size: 2.2rem; }
        .body-grid { grid-template-columns: 1fr; }
        .region-two-col { grid-template-columns: 1fr; }
        .region-stats { gap: 2rem; }
    }
    @media (max-width: 480px) {
        .region-hero { padding: 3rem 1rem 2.5rem; }
        .region-hero h1 { font-size: 1.7rem; }
        .region-hero .lead { font-size: 0.95rem; padding: 0 0.25rem; line-height: 1.65; margin-bottom: 1.75rem; }
        .region-stats {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 1.25rem 1rem;
            max-width: 280px;
            margin: 0 auto;
        }
        .region-stat-number { font-size: 1.8rem; }
        .region-stat-label { font-size: 0.70rem; }
        .region-container { padding: 0 1rem; }
        .region-section { padding: 2.5rem 0; }
        .region-section-header h2 { font-size: 1.45rem; }
        .region-section-header p { font-size: 0.92rem; }
        .body-grid { grid-template-columns: 1fr; }
        .body-card { padding: 1.2rem; }
        .region-two-col { grid-template-columns: 1fr; gap: 1.5rem; }
        .region-breadcrumb ol { font-size: 0.75rem; padding: 0 1rem; }
    }


/* ============================================================
   Source: stars/index.njk — scoped under .stars-hub-page
   ============================================================ */


    /* === HERO === */
    .stars-hub-page .stars-hero {
        position: relative;
        padding: 5.5rem 0 4.5rem;
        text-align: center;
        background: radial-gradient(ellipse at 70% 30%, rgba(80, 50, 20, 0.45) 0%, transparent 55%),
                    radial-gradient(ellipse at 20% 60%, rgba(30, 50, 120, 0.40) 0%, transparent 55%),
                    radial-gradient(ellipse at 50% 80%, rgba(60, 20, 80, 0.30) 0%, transparent 60%),
                    linear-gradient(to bottom, #050a1e 0%, #0a0d20 60%, #050a1e 100%);
        overflow: hidden;
    }

    .stars-hub-page .stars-hero::before {
        content: '';
        position: absolute;
        inset: 0;
        background-image:
            radial-gradient(1.5px 1.5px at 5% 10%, rgba(255,220,130,0.70) 0%, transparent 100%),
            radial-gradient(1px 1px at 18% 25%, rgba(255,255,255,0.45) 0%, transparent 100%),
            radial-gradient(1px 1px at 32% 8%, rgba(180,210,255,0.55) 0%, transparent 100%),
            radial-gradient(1.5px 1.5px at 48% 18%, rgba(255,255,255,0.50) 0%, transparent 100%),
            radial-gradient(1px 1px at 62% 12%, rgba(255,200,100,0.60) 0%, transparent 100%),
            radial-gradient(1px 1px at 75% 32%, rgba(255,255,255,0.40) 0%, transparent 100%),
            radial-gradient(2px 2px at 85% 8%, rgba(180,210,255,0.65) 0%, transparent 100%),
            radial-gradient(1px 1px at 12% 48%, rgba(255,255,255,0.35) 0%, transparent 100%),
            radial-gradient(1px 1px at 40% 60%, rgba(255,220,130,0.40) 0%, transparent 100%),
            radial-gradient(1px 1px at 55% 52%, rgba(255,255,255,0.30) 0%, transparent 100%),
            radial-gradient(1.5px 1.5px at 70% 65%, rgba(255,255,255,0.45) 0%, transparent 100%),
            radial-gradient(1px 1px at 90% 55%, rgba(180,210,255,0.35) 0%, transparent 100%),
            radial-gradient(1px 1px at 28% 75%, rgba(255,255,255,0.40) 0%, transparent 100%),
            radial-gradient(1px 1px at 8% 82%, rgba(255,220,130,0.35) 0%, transparent 100%),
            radial-gradient(2px 2px at 93% 80%, rgba(255,255,255,0.55) 0%, transparent 100%);
        pointer-events: none;
    }

    .stars-hub-page .stars-hero > * { position: relative; z-index: 1; }

    .stars-hub-page .stars-hero .hero-tag {
        font-family: 'Courier New', monospace;
        color: #f4d03f;
        font-size: 0.80rem;
        letter-spacing: 4px;
        text-transform: uppercase;
        margin-bottom: 1rem;
        display: block;
    }

    .stars-hub-page .stars-hero h1 {
        font-size: 3rem;
        font-weight: 800;
        color: #ffffff;
        line-height: 1.15;
        max-width: 820px;
        margin: 0 auto 1.25rem;
        text-shadow: 0 2px 30px rgba(0,0,0,0.6);
    }

    .stars-hub-page .stars-hero .lead {
        font-size: 1.15rem;
        color: rgba(255,255,255,0.82);
        max-width: 680px;
        margin: 0 auto 2.5rem;
        line-height: 1.78;
    }

    .stars-hub-page .hero-stats {
        display: flex;
        justify-content: center;
        gap: 3.5rem;
        flex-wrap: wrap;
    }
    .stars-hub-page .stat-item { text-align: center; }
    .stars-hub-page .stat-number {
        font-size: 2.5rem;
        color: #f4d03f;
        font-weight: 800;
        display: block;
        font-family: 'Courier New', monospace;
        line-height: 1;
        margin-bottom: 0.3rem;
    }
    .stars-hub-page .stat-label {
        font-size: 0.82rem;
        color: rgba(255,255,255,0.55);
        text-transform: uppercase;
        letter-spacing: 2px;
        font-family: 'Courier New', monospace;
    }

    /* === LAYOUT === */
    .stars-hub-page .stars-container {
        max-width: 1200px;
        margin: 0 auto;
        padding: 0 1.5rem;
    }

    .stars-hub-page .stars-section {
        padding: 4rem 0;
        border-bottom: 1px solid rgba(255,255,255,0.07);
    }
    .stars-hub-page .stars-section:last-child { border-bottom: none; }

    .stars-hub-page .stars-section-header {
        text-align: center;
        margin-bottom: 3rem;
    }
    .stars-hub-page .stars-section-label {
        font-family: 'Courier New', monospace;
        font-size: 0.75rem;
        letter-spacing: 3px;
        color: #f4d03f;
        text-transform: uppercase;
        display: block;
        margin-bottom: 0.6rem;
    }
    .stars-hub-page .stars-section-header h2 {
        font-size: 2rem;
        font-weight: 700;
        color: #ffffff;
        margin: 0 0 0.8rem;
    }
    .stars-hub-page .stars-section-header p {
        font-size: 1.05rem;
        color: rgba(255,255,255,0.60);
        max-width: 640px;
        margin: 0 auto;
        line-height: 1.7;
    }

    /* === STAR CARD GRID === */
    .stars-hub-page .stars-grid {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(360px, 1fr));
        gap: 2rem;
    }

    .stars-hub-page .star-card {
        display: block;
        text-decoration: none;
        color: inherit;
        background: rgba(12, 18, 42, 0.80);
        border: 1px solid rgba(137, 196, 244, 0.18);
        border-radius: 12px;
        overflow: hidden;
        padding: 0;
        transition: transform 0.25s, box-shadow 0.25s, border-color 0.25s;
    }
    .stars-hub-page .star-card:hover {
        transform: translateY(-5px);
        box-shadow: 0 12px 32px rgba(0, 0, 0, 0.4);
        border-color: rgba(244, 208, 63, 0.45);
    }

    .stars-hub-page .star-card-image {
        height: 220px;
        background-size: cover;
        background-position: center;
        position: relative;
        display: flex;
        flex-wrap: wrap;
        align-items: flex-start;
        justify-content: flex-start;
        gap: 0.4rem;
        padding: 1rem;
    }
    .stars-hub-page .star-card-image::after {
        content: '';
        position: absolute;
        inset: 0;
        background: linear-gradient(to bottom, transparent 45%, rgba(12, 18, 42, 0.90) 100%);
        pointer-events: none;
    }

    .stars-hub-page .card-type-badge {
        position: relative;
        z-index: 1;
        background: rgba(0, 0, 0, 0.85);
        backdrop-filter: blur(8px);
        -webkit-backdrop-filter: blur(8px);
        border: 1px solid rgba(244, 208, 63, 0.65);
        color: #f4d03f;
        text-shadow: 0 1px 4px rgba(0,0,0,1);
        padding: 0.3rem 0.75rem;
        border-radius: 20px;
        font-size: 0.75rem;
        font-family: 'Courier New', monospace;
        letter-spacing: 1px;
    }

    .stars-hub-page .card-dist-badge {
        position: relative;
        z-index: 1;
        background: rgba(0, 0, 0, 0.85);
        backdrop-filter: blur(8px);
        -webkit-backdrop-filter: blur(8px);
        border: 1px solid rgba(137, 196, 244, 0.65);
        color: #89c4f4;
        text-shadow: 0 1px 4px rgba(0,0,0,1);
        padding: 0.3rem 0.75rem;
        border-radius: 20px;
        font-size: 0.75rem;
        font-family: 'Courier New', monospace;
        letter-spacing: 1px;
    }

    .stars-hub-page .star-card-body {
        padding: 1.5rem;
    }
    .stars-hub-page .star-card-title {
        font-size: 1.30rem;
        font-weight: 700;
        color: #ffffff;
        margin: 0 0 0.35rem;
    }
    .stars-hub-page .star-card-meta {
        font-size: 0.80rem;
        color: #f4d03f;
        font-family: 'Courier New', monospace;
        letter-spacing: 1px;
        text-transform: uppercase;
        margin-bottom: 0.9rem;
    }
    .stars-hub-page .star-card-desc {
        font-size: 0.93rem;
        color: rgba(255,255,255,0.68);
        line-height: 1.68;
        margin-bottom: 1.2rem;
    }

    .stars-hub-page .star-card-tags {
        display: flex;
        gap: 0.5rem;
        flex-wrap: wrap;
    }
    .stars-hub-page .star-tag {
        background: rgba(137, 196, 244, 0.10);
        border: 1px solid rgba(137, 196, 244, 0.22);
        color: #89c4f4;
        font-size: 0.75rem;
        padding: 0.2rem 0.6rem;
        border-radius: 4px;
        font-family: 'Courier New', monospace;
    }

    .stars-hub-page .star-card-footer {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-top: 1.2rem;
        padding-top: 1rem;
        border-top: 1px solid rgba(255,255,255,0.08);
    }
    .stars-hub-page .card-read-link {
        color: #f4d03f;
        font-size: 0.88rem;
        font-weight: 600;
        font-family: 'Courier New', monospace;
        letter-spacing: 0.5px;
    }
    .stars-hub-page .card-spectral {
        font-size: 0.80rem;
        color: rgba(255,255,255,0.40);
        font-family: 'Courier New', monospace;
    }

    /* === INTRO SECTION === */
    .stars-hub-page .intro-two-col {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 2.5rem;
        margin-top: 2rem;
    }
    @media (max-width: 700px) { .stars-hub-page .intro-two-col { grid-template-columns: 1fr; } }
    .stars-hub-page .intro-two-col p {
        font-size: 0.97rem;
        color: rgba(255,255,255,0.72);
        line-height: 1.82;
        margin: 0;
    }

    /* === STELLAR TYPES BOX === */
    .stars-hub-page .types-grid {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
        gap: 1rem;
        margin-top: 2rem;
    }
    .stars-hub-page .type-card {
        background: rgba(12, 18, 42, 0.65);
        border: 1px solid rgba(255,255,255,0.08);
        border-radius: 10px;
        padding: 1.25rem;
        text-align: center;
    }
    .stars-hub-page .type-letter {
        font-family: 'Courier New', monospace;
        font-size: 2rem;
        font-weight: 800;
        display: block;
        margin-bottom: 0.4rem;
        line-height: 1;
    }
    .stars-hub-page .type-name {
        font-size: 0.85rem;
        color: rgba(255,255,255,0.60);
        margin-bottom: 0.4rem;
        font-weight: 600;
    }
    .stars-hub-page .type-example {
        font-size: 0.78rem;
        color: rgba(255,255,255,0.38);
        font-family: 'Courier New', monospace;
    }
    /* spectral class colours */
    .stars-hub-page .type-o { color: #b0c4ff; }
    .stars-hub-page .type-b { color: #c8d8ff; }
    .stars-hub-page .type-a { color: #f0f4ff; }
    .stars-hub-page .type-f { color: #fffff0; }
    .stars-hub-page .type-g { color: #ffe87c; }
    .stars-hub-page .type-k { color: #ffb347; }
    .stars-hub-page .type-m { color: #ff6e4a; }

    /* === BREADCRUMB (stars hub) === */
    .stars-hub-page .breadcrumb {
        background: rgba(255,255,255,0.04);
        padding: 0.65rem 0;
        border-bottom: 1px solid rgba(255,255,255,0.07);
    }
    .stars-hub-page .breadcrumb ol {
        max-width: 1200px;
        margin: 0 auto;
        padding: 0 1.5rem;
        display: flex;
        flex-wrap: wrap;
        gap: 0.4rem;
        list-style: none;
        font-size: 0.82rem;
        color: rgba(255,255,255,0.45);
        font-family: 'Courier New', monospace;
    }
    .stars-hub-page .breadcrumb a { color: rgba(255,255,255,0.55); text-decoration: none; }
    .stars-hub-page .breadcrumb a:hover { color: #f4d03f; }
    .stars-hub-page .breadcrumb .bc-sep { margin: 0 0.2rem; opacity: 0.4; }
    .stars-hub-page .breadcrumb [aria-current="page"] { color: rgba(255,255,255,0.75); }

    @media (max-width: 900px) {
        .stars-hub-page .stars-hero h1 { font-size: 2.2rem; }
        .stars-hub-page .stars-grid { grid-template-columns: 1fr; }
    }


/* ============================================================
   Source: taurus-constellation.njk
   ============================================================ */


        /* Taurus Constellation Styles */
        .tau-hero {
            position: relative;
            width: 100%;
            height: 400px;
            background: linear-gradient(135deg, #0a1428 0%, #1a2847 100%);
            display: flex;
            align-items: center;
            justify-content: center;
            overflow: hidden;
        }

        .tau-hero-img {
            position: absolute;
            width: 100%;
            height: 100%;
            object-fit: cover;
            opacity: 0.6;
        }

        .tau-hero-content {
            position: relative;
            z-index: 2;
            text-align: center;
            color: white;
        }

        .tau-hero h1 {
            font-size: 3.5rem;
            margin: 0;
            text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.7);
            font-weight: 700;
        }

        .tau-hero p {
            font-size: 1.2rem;
            margin: 10px 0 0 0;
            color: #c0d4f5;
            text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.5);
        }

        .tau-badge {
            display: inline-block;
            background: rgba(192, 212, 245, 0.25);
            border: 1px solid #c0d4f5;
            color: #c0d4f5;
            padding: 6px 14px;
            border-radius: 20px;
            font-size: 0.85rem;
            margin-top: 15px;
        }

        .tau-container {
            max-width: 1000px;
            margin: 0 auto;
            padding: 40px 20px;
        }

        .tau-intro {
            max-width: 780px;
            margin: 0 auto 60px;
            text-align: center;
            color: #e0e0e0;
            line-height: 1.8;
            font-size: 1.05rem;
        }

        .tau-facts {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
            gap: 20px;
            margin-bottom: 60px;
            padding: 30px;
            background: rgba(192, 212, 245, 0.05);
            border-radius: 12px;
        }

        .tau-fact-item {
            padding: 15px;
            border-left: 3px solid #c0d4f5;
            background: rgba(26, 40, 71, 0.5);
            border-radius: 6px;
        }

        .tau-fact-label {
            font-size: 0.85rem;
            color: #c0d4f5;
            text-transform: uppercase;
            letter-spacing: 1px;
            font-weight: 600;
            margin-bottom: 8px;
        }

        .tau-fact-value {
            font-size: 1.15rem;
            color: #ffffff;
            font-weight: 500;
        }

        .tau-section {
            margin-bottom: 70px;
        }

        .tau-section h2 {
            font-size: 2rem;
            color: #c0d4f5;
            margin-bottom: 30px;
            padding-bottom: 10px;
            border-bottom: 2px solid rgba(192, 212, 245, 0.3);
        }

        .tau-svg-wrap {
            width: 100%;
            max-width: 900px;
            margin: 30px auto;
            background: rgba(10, 20, 40, 0.8);
            border: 2px solid rgba(192, 212, 245, 0.2);
            border-radius: 12px;
            padding: 20px;
            display: flex;
            justify-content: center;
        }

        .tau-svg-wrap svg {
            width: 100%;
            height: auto;
            max-width: 720px;
        }

        .tau-find-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
            gap: 20px;
            margin: 30px 0;
        }

        .tau-find-card {
            background: rgba(26, 40, 71, 0.6);
            border-left: 4px solid #c0d4f5;
            padding: 20px;
            border-radius: 8px;
        }

        .tau-find-card h3 {
            color: #c0d4f5;
            margin-top: 0;
            margin-bottom: 12px;
            font-size: 1.1rem;
        }

        .tau-find-card p {
            color: #d0d0d0;
            line-height: 1.6;
            margin: 0;
            font-size: 0.95rem;
        }

        .tau-seasonal-table {
            width: 100%;
            margin: 30px 0;
            border-collapse: collapse;
            background: rgba(26, 40, 71, 0.5);
            border-radius: 8px;
            overflow: hidden;
        }

        .tau-seasonal-table th,
        .tau-seasonal-table td {
            padding: 15px;
            text-align: left;
            border-bottom: 1px solid rgba(192, 212, 245, 0.2);
        }

        .tau-seasonal-table th {
            background: rgba(192, 212, 245, 0.1);
            color: #c0d4f5;
            font-weight: 600;
            text-transform: uppercase;
            font-size: 0.85rem;
            letter-spacing: 1px;
        }

        .tau-seasonal-table td {
            color: #d0d0d0;
        }

        .tau-seasonal-table tr:last-child td {
            border-bottom: none;
        }

        .tau-stars-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
            gap: 25px;
            margin: 30px 0;
        }

        .tau-star-card {
            background: rgba(26, 40, 71, 0.6);
            border-left: 4px solid #8ab0ff;
            padding: 25px;
            border-radius: 8px;
            transition: transform 0.3s ease, box-shadow 0.3s ease;
        }

        .tau-star-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 8px 20px rgba(192, 212, 245, 0.15);
        }

        .tau-star-card h3 {
            color: #c0d4f5;
            margin-top: 0;
            margin-bottom: 12px;
            font-size: 1.2rem;
        }

        .tau-star-meta {
            font-size: 0.85rem;
            color: #a0b8d4;
            margin-bottom: 12px;
            line-height: 1.5;
        }

        .tau-star-card p {
            color: #d0d0d0;
            line-height: 1.7;
            margin: 0;
            font-size: 0.95rem;
        }

        .tau-myth-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
            gap: 25px;
            margin: 30px 0;
        }

        .tau-myth-card {
            background: rgba(26, 40, 71, 0.6);
            border-left: 4px solid #c9a0ff;
            padding: 25px;
            border-radius: 8px;
        }

        .tau-myth-card h3 {
            color: #c9a0ff;
            margin-top: 0;
            margin-bottom: 12px;
            font-size: 1.1rem;
        }

        .tau-myth-card p {
            color: #d0d0d0;
            line-height: 1.7;
            margin: 0;
            font-size: 0.95rem;
        }

        .tau-dso-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
            gap: 25px;
            margin: 30px 0;
        }

        .tau-dso-card {
            background: rgba(26, 40, 71, 0.6);
            border-left: 4px solid #a8c0ff;
            padding: 25px;
            border-radius: 8px;
        }

        .tau-dso-card h3 {
            color: #a8c0ff;
            margin-top: 0;
            margin-bottom: 12px;
            font-size: 1.1rem;
        }

        .tau-dso-meta {
            font-size: 0.85rem;
            color: #a0b8d4;
            margin-bottom: 12px;
            line-height: 1.5;
        }

        .tau-dso-difficulty {
            display: inline-block;
            font-size: 0.75rem;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 1px;
            padding: 4px 10px;
            border-radius: 12px;
            margin-bottom: 12px;
        }

        .tau-dso-difficulty.diff-easy {
            background: rgba(100, 200, 100, 0.25);
            color: #64c864;
        }

        .tau-dso-difficulty.diff-medium {
            background: rgba(200, 150, 100, 0.25);
            color: #d4a574;
        }

        .tau-dso-difficulty.diff-photo {
            background: rgba(150, 100, 200, 0.25);
            color: #b88aff;
        }

        .tau-dso-card p {
            color: #d0d0d0;
            line-height: 1.7;
            margin: 0;
            font-size: 0.95rem;
        }

        .tau-steps {
            max-width: 780px;
            margin: 30px auto;
        }

        .tau-steps ol {
            list-style: none;
            padding: 0;
            counter-reset: step-counter;
        }

        .tau-steps li {
            counter-increment: step-counter;
            margin-bottom: 25px;
            padding-left: 50px;
            position: relative;
            color: #d0d0d0;
            line-height: 1.7;
            font-size: 1rem;
        }

        .tau-steps li::before {
            content: counter(step-counter);
            position: absolute;
            left: 0;
            top: 0;
            width: 35px;
            height: 35px;
            background: rgba(192, 212, 245, 0.2);
            border: 2px solid #c0d4f5;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-weight: 700;
            color: #c0d4f5;
            font-size: 1.1rem;
        }

        .tau-kit-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
            gap: 15px;
            margin: 30px 0;
        }

        .tau-kit-item {
            background: rgba(192, 212, 245, 0.08);
            border: 1px solid rgba(192, 212, 245, 0.2);
            padding: 15px;
            text-align: center;
            border-radius: 8px;
            color: #d0d0d0;
            font-size: 0.9rem;
        }

        .tau-adv-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
            gap: 25px;
            margin: 30px 0;
        }

        .tau-adv-card {
            background: rgba(26, 40, 71, 0.6);
            border-left: 4px solid #ffc857;
            padding: 25px;
            border-radius: 8px;
        }

        .tau-adv-card h3 {
            color: #ffc857;
            margin-top: 0;
            margin-bottom: 12px;
            font-size: 1.1rem;
        }

        .tau-adv-card p {
            color: #d0d0d0;
            line-height: 1.7;
            margin: 0;
            font-size: 0.95rem;
        }

        .tau-tip {
            background: rgba(255, 200, 87, 0.1);
            border-left: 4px solid #ffc857;
            padding: 20px;
            margin: 30px 0;
            border-radius: 8px;
        }

        .tau-tip h4 {
            color: #ffc857;
            margin-top: 0;
            margin-bottom: 10px;
            font-size: 1rem;
        }

        .tau-tip p {
            color: #d0d0d0;
            line-height: 1.7;
            margin: 0;
            font-size: 0.95rem;
        }

        .tau-related {
            background: rgba(192, 212, 245, 0.05);
            border: 1px solid rgba(192, 212, 245, 0.2);
            padding: 30px;
            border-radius: 12px;
            margin-top: 60px;
        }

        .tau-related h3 {
            color: #c0d4f5;
            margin-top: 0;
            margin-bottom: 20px;
            font-size: 1.3rem;
        }

        .tau-related-links {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
            gap: 15px;
        }

        .tau-related-links a {
            display: inline-block;
            color: #c0d4f5;
            text-decoration: none;
            padding: 12px 16px;
            background: rgba(192, 212, 245, 0.1);
            border: 1px solid rgba(192, 212, 245, 0.3);
            border-radius: 6px;
            transition: all 0.3s ease;
            font-size: 0.95rem;
        }

        .tau-related-links a:hover {
            background: rgba(192, 212, 245, 0.2);
            border-color: #c0d4f5;
        }

        @media (max-width: 768px) {
            .tau-hero h1 {
                font-size: 2.2rem;
            }

            .tau-section h2 {
                font-size: 1.5rem;
            }

            .tau-facts {
                grid-template-columns: 1fr;
            }

            .tau-find-grid,
            .tau-stars-grid,
            .tau-myth-grid,
            .tau-dso-grid,
            .tau-adv-grid {
                grid-template-columns: 1fr;
            }

            .tau-kit-grid {
                grid-template-columns: repeat(2, 1fr);
            }
        }


/* ============================================================
   Source: uap-nuclear-sites.njk
   ============================================================ */


    .nuke-hero {
        position: relative;
        background: url('/images/blog/uap-nuclear-hero.jpg') center center / cover no-repeat;
        padding: 5rem 0 4rem;
        text-align: center;
    }

    .nuke-hero::before {
        content: '';
        position: absolute;
        inset: 0;
        background: linear-gradient(to bottom,
            rgba(2, 8, 2, 0.50) 0%,
            rgba(2, 8, 2, 0.25) 40%,
            rgba(2, 8, 2, 0.80) 100%);
    }

    .nuke-hero > * { position: relative; z-index: 1; }

    .nuke-hero .mono-tag {
        font-family: 'Courier New', monospace;
        color: #39ff14;
        font-size: 0.85rem;
        letter-spacing: 3px;
        text-transform: uppercase;
        margin-bottom: 1rem;
        display: block;
    }

    .nuke-hero h1 {
        font-size: 3rem;
        font-weight: 800;
        line-height: 1.15;
        color: #ffffff;
        max-width: 900px;
        margin: 0 auto 1.25rem;
        text-shadow: 0 2px 20px rgba(0,0,0,0.7);
    }

    .nuke-hero .lead {
        font-size: 1.2rem;
        color: rgba(255,255,255,0.88);
        max-width: 760px;
        margin: 0 auto 2rem;
        line-height: 1.7;
    }

    .nuke-hero .hero-meta {
        font-family: 'Courier New', monospace;
        font-size: 0.8rem;
        color: #39ff14;
        letter-spacing: 2px;
        opacity: 0.85;
    }

    .content-wrap {
        max-width: 1100px;
        margin: 0 auto;
        padding: 3rem 1.5rem 4rem;
    }

    .body-text {
        color: var(--text-secondary);
        line-height: 1.8;
        font-size: 1.05rem;
        margin-bottom: 1.4rem;
    }

    .section-heading {
        font-size: 1.9rem;
        color: var(--text-primary);
        margin: 3rem 0 1rem;
        padding-bottom: 0.5rem;
        border-bottom: 2px solid rgba(57, 255, 20, 0.25);
    }

    .section-heading.alert-heading {
        border-bottom-color: rgba(255, 80, 50, 0.35);
    }

    .section-heading.warning-heading {
        border-bottom-color: rgba(255, 180, 0, 0.35);
    }

    /* Decade timeline */
    .decade-timeline {
        position: relative;
        margin: 3rem 0;
    }

    .decade-timeline::before {
        content: '';
        position: absolute;
        left: 28px;
        top: 0;
        bottom: 0;
        width: 2px;
        background: linear-gradient(to bottom, #39ff14, rgba(57,255,20,0.1));
    }

    .decade-item {
        display: flex;
        gap: 2rem;
        margin-bottom: 2.5rem;
        position: relative;
    }

    .decade-marker {
        flex-shrink: 0;
        width: 58px;
        height: 58px;
        border-radius: 50%;
        background: rgba(57, 255, 20, 0.1);
        border: 2px solid #39ff14;
        display: flex;
        align-items: center;
        justify-content: center;
        font-family: 'Courier New', monospace;
        font-size: 0.75rem;
        color: #39ff14;
        font-weight: 700;
        text-align: center;
        line-height: 1.2;
        z-index: 1;
    }

    .decade-content {
        flex: 1;
        background: var(--background-card);
        border-radius: 8px;
        padding: 1.5rem;
        border: 1px solid var(--border-light);
        border-left: 3px solid #39ff14;
    }

    .decade-content h3 {
        font-size: 1.25rem;
        color: var(--text-primary);
        margin: 0 0 0.4rem;
    }

    .decade-content .decade-sub {
        font-size: 0.85rem;
        color: #39ff14;
        font-family: 'Courier New', monospace;
        margin-bottom: 0.8rem;
        letter-spacing: 1px;
    }

    .decade-content p {
        color: var(--text-secondary);
        line-height: 1.7;
        margin: 0 0 0.75rem;
        font-size: 0.98rem;
    }

    .decade-content p:last-child { margin-bottom: 0; }

    /* Incident cards grid */
    .incident-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
        gap: 1.5rem;
        margin: 2rem 0;
    }

    .incident-card {
        background: var(--background-card);
        border-radius: 8px;
        padding: 1.5rem;
        border: 1px solid var(--border-light);
        position: relative;
        overflow: hidden;
    }

    .incident-card::before {
        content: '';
        position: absolute;
        top: 0; left: 0; right: 0;
        height: 3px;
        background: linear-gradient(90deg, #39ff14, #00bfff);
    }

    .incident-card.red::before {
        background: linear-gradient(90deg, #ff4444, #ff8800);
    }

    .incident-card.amber::before {
        background: linear-gradient(90deg, #ffb800, #ff8800);
    }

    .incident-card .ic-label {
        font-family: 'Courier New', monospace;
        font-size: 0.75rem;
        color: #39ff14;
        letter-spacing: 2px;
        text-transform: uppercase;
        margin-bottom: 0.4rem;
    }

    .incident-card.red .ic-label { color: #ff6644; }
    .incident-card.amber .ic-label { color: #ffb800; }

    .incident-card h4 {
        font-size: 1.1rem;
        color: var(--text-primary);
        margin: 0 0 0.3rem;
    }

    .incident-card .ic-meta {
        font-size: 0.85rem;
        color: var(--text-muted);
        margin-bottom: 0.8rem;
    }

    .incident-card p {
        font-size: 0.95rem;
        color: var(--text-secondary);
        line-height: 1.65;
        margin: 0;
    }

    /* Quote block */
    .quote-block {
        border-left: 4px solid #39ff14;
        padding: 1.25rem 1.5rem;
        margin: 2rem 0;
        background: rgba(57, 255, 20, 0.05);
        border-radius: 0 8px 8px 0;
    }

    .quote-block.red-quote {
        border-left-color: #ff4444;
        background: rgba(255, 68, 68, 0.05);
    }

    .quote-block blockquote {
        font-size: 1.1rem;
        color: var(--text-primary);
        font-style: italic;
        line-height: 1.7;
        margin: 0 0 0.6rem;
    }

    .quote-block cite {
        font-size: 0.875rem;
        color: var(--text-muted);
        font-style: normal;
    }

    /* Data panel */
    .data-panel {
        background: rgba(0, 10, 0, 0.6);
        border: 1px solid rgba(57, 255, 20, 0.3);
        border-radius: 8px;
        padding: 1.5rem;
        margin: 2rem 0;
        font-family: 'Courier New', monospace;
    }

    .data-panel h3 {
        color: #39ff14;
        font-size: 0.85rem;
        letter-spacing: 3px;
        text-transform: uppercase;
        margin: 0 0 1rem;
        padding-bottom: 0.5rem;
        border-bottom: 1px solid rgba(57, 255, 20, 0.2);
    }

    .data-panel table {
        width: 100%;
        border-collapse: collapse;
        font-size: 0.88rem;
    }

    .data-panel td {
        padding: 0.5rem 0.75rem;
        border-bottom: 1px solid rgba(57, 255, 20, 0.1);
        vertical-align: top;
    }

    .data-panel td:first-child {
        color: #39ff14;
        white-space: nowrap;
        width: 30%;
    }

    .data-panel td:last-child {
        color: rgba(255, 255, 255, 0.8);
    }

    /* Two-col layout for witnesses */
    .two-col {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 1.5rem;
        margin: 2rem 0;
    }

    .witness-card {
        background: var(--background-card);
        border-radius: 8px;
        padding: 1.25rem;
        border: 1px solid var(--border-light);
        border-top: 3px solid var(--primary-color);
    }

    .witness-card h4 {
        font-size: 1rem;
        color: var(--accent-color);
        margin: 0 0 0.25rem;
    }

    .witness-card .wc-role {
        font-size: 0.8rem;
        color: var(--text-muted);
        margin-bottom: 0.75rem;
        font-family: 'Courier New', monospace;
    }

    .witness-card p {
        font-size: 0.9rem;
        color: var(--text-secondary);
        line-height: 1.6;
        margin: 0;
    }

    /* Theories grid */
    .theories-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
        gap: 1.25rem;
        margin: 2rem 0;
    }

    .theory-card {
        background: var(--background-card);
        border-radius: 8px;
        padding: 1.25rem;
        border: 1px solid var(--border-light);
        text-align: center;
    }

    .theory-icon {
        font-size: 2.5rem;
        margin-bottom: 0.75rem;
    }

    .theory-title {
        font-size: 1rem;
        color: var(--accent-color);
        font-weight: 600;
        margin-bottom: 0.5rem;
    }

    .theory-card p {
        font-size: 0.9rem;
        color: var(--text-secondary);
        line-height: 1.6;
        margin: 0;
    }

    /* Verdict */
    .verdict-box {
        background: linear-gradient(135deg, rgba(57, 255, 20, 0.05), rgba(0, 191, 255, 0.05));
        border: 1px solid rgba(57, 255, 20, 0.25);
        border-radius: 10px;
        padding: 2rem;
        margin: 3rem 0;
    }

    .verdict-box h3 {
        color: #39ff14;
        font-size: 1.2rem;
        margin: 0 0 1rem;
        font-family: 'Courier New', monospace;
        letter-spacing: 2px;
        text-transform: uppercase;
    }

    .verdict-box p {
        color: var(--text-secondary);
        line-height: 1.8;
        font-size: 1rem;
        margin-bottom: 1rem;
    }

    .verdict-box p:last-child { margin-bottom: 0; }

    /* Updates */
    .updates-log {
        background: rgba(0, 10, 0, 0.4);
        border: 1px solid rgba(57, 255, 20, 0.15);
        border-radius: 8px;
        padding: 1.5rem;
        margin: 2rem 0;
    }

    .updates-log h3 {
        font-family: 'Courier New', monospace;
        color: #39ff14;
        font-size: 0.85rem;
        letter-spacing: 3px;
        margin: 0 0 1rem;
    }

    .update-entry {
        display: flex;
        gap: 1rem;
        margin-bottom: 0.75rem;
        font-size: 0.875rem;
    }

    .update-date {
        color: #39ff14;
        font-family: 'Courier New', monospace;
        white-space: nowrap;
        min-width: 75px;
    }

    .update-text { color: var(--text-secondary); line-height: 1.6; }

    /* Related links */
    .related-links {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
        gap: 1rem;
        margin: 2rem 0;
    }

    .related-link-card {
        background: var(--background-card);
        border-radius: 8px;
        padding: 1.1rem 1.25rem;
        border: 1px solid var(--border-light);
        text-decoration: none;
        color: inherit;
        transition: border-color 0.2s, transform 0.2s;
    }

    .related-link-card:hover {
        border-color: var(--accent-color);
        transform: translateY(-2px);
    }

    .rlc-label {
        font-size: 0.75rem;
        color: var(--text-muted);
        text-transform: uppercase;
        letter-spacing: 1px;
        font-family: 'Courier New', monospace;
        margin-bottom: 0.3rem;
    }

    .rlc-title {
        font-size: 0.95rem;
        color: var(--text-primary);
        font-weight: 600;
        line-height: 1.4;
    }

    @media (max-width: 768px) {
        .nuke-hero h1 { font-size: 2rem; }
        .two-col { grid-template-columns: 1fr; }
        .decade-timeline::before { left: 20px; }
        .decade-marker { width: 42px; height: 42px; font-size: 0.65rem; }
    }


/* ============================================================
   Source: uap-research.njk
   ============================================================ */


    .uap-landing-hero {
        background: linear-gradient(135deg, rgba(15, 10, 39, 0.95), rgba(45, 20, 60, 0.95)),
                    url('https://images.unsplash.com/photo-1419242902214-272b3f66ee7a?w=1600');
        background-size: cover;
        background-position: center;
        padding: 5rem 0 4rem;
        text-align: center;
    }

    .uap-landing-hero h1 {
        font-size: 3rem;
        margin-bottom: 1rem;
        color: white;
        line-height: 1.2;
    }

    .uap-landing-hero .tagline {
        font-size: 1.3rem;
        color: var(--accent-color);
        font-weight: 600;
        margin-bottom: 1.5rem;
    }

    .uap-landing-hero p {
        font-size: 1.15rem;
        color: rgba(255, 255, 255, 0.9);
        max-width: 800px;
        margin: 0 auto 2rem;
        line-height: 1.7;
    }

    .hero-stats {
        display: flex;
        justify-content: center;
        gap: 3rem;
        flex-wrap: wrap;
        margin-top: 2rem;
    }

    .stat-item {
        text-align: center;
    }

    .stat-number {
        font-size: 2.5rem;
        color: var(--primary-color);
        font-weight: 700;
        display: block;
    }

    .stat-label {
        font-size: 0.95rem;
        color: rgba(255, 255, 255, 0.8);
        text-transform: uppercase;
        letter-spacing: 1px;
    }

    .content-wrapper {
        max-width: 1200px;
        margin: 0 auto;
        padding: 3rem 1.5rem;
    }

    .section-intro {
        text-align: center;
        max-width: 800px;
        margin: 0 auto 3rem;
    }

    .section-intro h2 {
        font-size: 2.2rem;
        color: var(--text-primary);
        margin-bottom: 1rem;
    }

    .section-intro p {
        font-size: 1.1rem;
        color: var(--text-secondary);
        line-height: 1.7;
    }

    .featured-cases-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
        gap: 2rem;
        margin: 3rem 0;
    }

    .case-card {
        display: block;
        background: var(--background-card);
        border-radius: 8px;
        overflow: hidden;
        border: 1px solid var(--border-light);
        transition: transform 0.3s, box-shadow 0.3s, border-color 0.3s;
        text-decoration: none;
        color: inherit;
        cursor: pointer;
    }

    .case-card:hover {
        transform: translateY(-5px);
        box-shadow: 0 8px 20px rgba(0, 0, 0, 0.3);
        border-color: var(--accent-color);
    }

    .case-image {
        height: 200px;
        background-size: cover;
        background-position: center;
        position: relative;
    }

    .case-badge {
        position: absolute;
        top: 1rem;
        right: 1rem;
        background: var(--primary-color);
        color: white;
        padding: 0.4rem 0.8rem;
        border-radius: 4px;
        font-size: 0.85rem;
        font-weight: 600;
    }

    .case-content {
        padding: 1.5rem;
    }

    .case-title {
        font-size: 1.4rem;
        color: var(--text-primary);
        margin-bottom: 0.5rem;
    }

    .case-meta {
        color: var(--text-muted);
        font-size: 0.9rem;
        margin-bottom: 1rem;
    }

    .case-description {
        color: var(--text-secondary);
        line-height: 1.6;
        margin-bottom: 1.25rem;
    }

    .case-link {
        display: inline-block;
        color: var(--primary-color);
        text-decoration: none;
        font-weight: 600;
        transition: color 0.2s;
        pointer-events: none;
    }

    .case-card:hover .case-link {
        color: var(--accent-color);
        text-decoration: underline;
    }

    .features-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
        gap: 2rem;
        margin: 3rem 0;
    }

    .feature-box {
        background: var(--background-card);
        padding: 2rem;
        border-radius: 8px;
        border-left: 4px solid var(--primary-color);
        text-align: center;
    }

    .feature-icon {
        font-size: 3rem;
        margin-bottom: 1rem;
    }

    .feature-title {
        font-size: 1.3rem;
        color: var(--accent-color);
        margin-bottom: 0.75rem;
    }

    .feature-text {
        color: var(--text-secondary);
        line-height: 1.6;
    }

    .cta-section {
        background: var(--background-card);
        padding: 3rem 2rem;
        border-radius: 12px;
        text-align: center;
        margin: 4rem 0;
        border: 1px solid var(--border-light);
    }

    .cta-section h2 {
        font-size: 2rem;
        color: var(--text-primary);
        margin-bottom: 1rem;
    }

    .cta-section p {
        font-size: 1.1rem;
        color: var(--text-secondary);
        max-width: 700px;
        margin: 0 auto 2rem;
        line-height: 1.7;
    }

    .cta-buttons {
        display: flex;
        gap: 1.5rem;
        justify-content: center;
        flex-wrap: wrap;
    }

    .cta-button {
        display: inline-block;
        padding: 0.9rem 2rem;
        background: var(--primary-color);
        color: white;
        text-decoration: none;
        border-radius: 6px;
        font-weight: 600;
        font-size: 1.05rem;
        transition: all 0.3s;
    }

    .cta-button:hover {
        background: var(--accent-color);
        transform: translateY(-2px);
        box-shadow: var(--shadow-md);
    }

    .cta-button.secondary {
        background: transparent;
        border: 2px solid var(--primary-color);
        color: var(--primary-color);
    }

    .cta-button.secondary:hover {
        background: var(--primary-color);
        color: white;
    }

    @media (max-width: 768px) {
        .uap-landing-hero h1 {
            font-size: 2rem;
        }

        .hero-stats {
            gap: 1.5rem;
        }

        .stat-number {
            font-size: 2rem;
        }

        .featured-cases-grid {
            grid-template-columns: 1fr;
        }
    }


/* ============================================================
   Source: ursa-major-constellation.njk
   ============================================================ */


    .ursa-hero {
        position: relative;
        background: url('/images/blog/ursa-major-hero.jpg') center 40% / cover no-repeat;
        padding: 6rem 0 5rem;
        text-align: center;
    }
    .ursa-hero::before {
        content: '';
        position: absolute;
        inset: 0;
        background: linear-gradient(to bottom,
            rgba(5, 8, 20, 0.45) 0%,
            rgba(5, 8, 20, 0.20) 35%,
            rgba(5, 8, 20, 0.85) 100%);
    }
    .ursa-hero > * { position: relative; z-index: 1; }
    .ursa-hero .star-tag {
        font-family: 'Courier New', monospace;
        color: #f4d03f;
        font-size: 0.80rem;
        letter-spacing: 4px;
        text-transform: uppercase;
        margin-bottom: 1rem;
        display: block;
    }
    .ursa-hero h1 {
        font-size: 3.2rem;
        font-weight: 800;
        line-height: 1.12;
        color: #ffffff;
        max-width: 860px;
        margin: 0 auto 1.25rem;
        text-shadow: 0 2px 24px rgba(0,0,0,0.8);
    }
    .ursa-hero .lead {
        font-size: 1.18rem;
        color: rgba(255,255,255,0.88);
        max-width: 720px;
        margin: 0 auto 2rem;
        line-height: 1.75;
    }
    .ursa-hero .hero-badges { display: flex; gap: 0.75rem; justify-content: center; flex-wrap: wrap; }
    .ursa-hero .badge {
        background: rgba(244, 208, 63, 0.15);
        border: 1px solid rgba(244, 208, 63, 0.40);
        color: #f4d03f;
        padding: 0.35rem 0.9rem;
        border-radius: 20px;
        font-size: 0.82rem;
        font-family: 'Courier New', monospace;
        letter-spacing: 1px;
    }
    .ursa-container { max-width: 1100px; margin: 0 auto; padding: 0 1.5rem; }
    .ursa-section { padding: 4rem 0; border-bottom: 1px solid rgba(255,255,255,0.07); }
    .ursa-section:last-child { border-bottom: none; }
    .section-header { margin-bottom: 2.5rem; }
    .section-label {
        font-family: 'Courier New', monospace;
        color: #f4d03f;
        font-size: 0.75rem;
        letter-spacing: 3px;
        text-transform: uppercase;
        display: block;
        margin-bottom: 0.6rem;
    }
    .section-header h2 { font-size: 2rem; font-weight: 700; color: #ffffff; margin: 0 0 0.75rem; }
    .section-header p { color: rgba(255,255,255,0.70); font-size: 1.05rem; line-height: 1.7; max-width: 700px; }
    .facts-panel {
        background: rgba(15, 20, 45, 0.80);
        border: 1px solid rgba(137, 196, 244, 0.25);
        border-radius: 12px;
        padding: 2rem;
        margin: 3rem 0;
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
        gap: 1.5rem;
    }
    .fact-item .fact-label {
        font-family: 'Courier New', monospace;
        font-size: 0.72rem;
        letter-spacing: 2px;
        color: #89c4f4;
        text-transform: uppercase;
        display: block;
        margin-bottom: 0.3rem;
    }
    .fact-item .fact-value { font-size: 1.1rem; font-weight: 600; color: #ffffff; }
    .fact-item .fact-note { font-size: 0.82rem; color: rgba(255,255,255,0.55); margin-top: 0.2rem; }
    .find-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; margin-top: 2rem; }
    @media (max-width: 700px) { .find-grid { grid-template-columns: 1fr; } }
    .find-card {
        background: rgba(15, 20, 45, 0.60);
        border: 1px solid rgba(137, 196, 244, 0.18);
        border-radius: 10px;
        padding: 1.5rem;
    }
    .find-card h3 { font-size: 1.05rem; font-weight: 700; color: #89c4f4; margin: 0 0 0.75rem; }
    .find-card p, .find-card ul { font-size: 0.95rem; color: rgba(255,255,255,0.75); line-height: 1.7; margin: 0; }
    .find-card ul { padding-left: 1.2rem; }
    .find-card ul li { margin-bottom: 0.4rem; }
    .season-table { width: 100%; border-collapse: collapse; margin-top: 2rem; font-size: 0.92rem; }
    .season-table th {
        background: rgba(137, 196, 244, 0.12);
        color: #89c4f4;
        font-family: 'Courier New', monospace;
        font-size: 0.75rem;
        letter-spacing: 2px;
        text-transform: uppercase;
        padding: 0.7rem 1rem;
        text-align: left;
        border-bottom: 1px solid rgba(137, 196, 244, 0.20);
    }
    .season-table td { padding: 0.7rem 1rem; color: rgba(255,255,255,0.78); border-bottom: 1px solid rgba(255,255,255,0.06); }
    .season-table tr:last-child td { border-bottom: none; }
    .season-table .best { color: #f4d03f; font-weight: 600; }
    .season-table .good { color: #7dce94; }
    .season-table .poor { color: rgba(255,255,255,0.38); }
    .belt-box {
        background: linear-gradient(135deg, rgba(137, 196, 244, 0.08), rgba(100, 149, 237, 0.05));
        border: 1px solid rgba(137, 196, 244, 0.28);
        border-left: 4px solid #89c4f4;
        border-radius: 0 10px 10px 0;
        padding: 1.5rem 1.75rem;
        margin: 2.5rem 0;
    }
    .belt-box h3 { color: #89c4f4; font-size: 1.05rem; margin: 0 0 0.6rem; }
    .belt-box p { color: rgba(255,255,255,0.78); font-size: 0.97rem; line-height: 1.75; margin: 0; }
    .belt-box strong { color: #f4d03f; }
    .stars-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 1.5rem; margin-top: 2rem; }
    .star-card {
        background: rgba(15, 20, 45, 0.70);
        border: 1px solid rgba(255,255,255,0.10);
        border-radius: 10px;
        padding: 1.4rem;
        position: relative;
        overflow: hidden;
    }
    .star-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; }
    .star-card.red::before    { background: linear-gradient(90deg, #e55a2b, transparent); }
    .star-card.blue::before   { background: linear-gradient(90deg, #89c4f4, transparent); }
    .star-card.gold::before   { background: linear-gradient(90deg, #f4d03f, transparent); }
    .star-card.white::before  { background: linear-gradient(90deg, #e8eaf0, transparent); }
    .star-card .star-name { font-size: 1.15rem; font-weight: 700; color: #ffffff; margin-bottom: 0.2rem; }
    .star-card .star-greek { font-family: 'Courier New', monospace; color: #f4d03f; font-size: 0.78rem; letter-spacing: 1px; }
    .star-card .star-stats { margin-top: 0.85rem; display: flex; flex-direction: column; gap: 0.25rem; }
    .star-card .stat { font-size: 0.88rem; color: rgba(255,255,255,0.65); }
    .star-card .stat span { color: rgba(255,255,255,0.90); font-weight: 500; }
    .star-card .star-desc { margin-top: 0.85rem; font-size: 0.90rem; color: rgba(255,255,255,0.70); line-height: 1.65; }
    .myth-layout { display: grid; grid-template-columns: 1fr 340px; gap: 3rem; align-items: start; margin-top: 2rem; }
    @media (max-width: 900px) { .myth-layout { grid-template-columns: 1fr; } }
    .myth-text p { color: rgba(255,255,255,0.78); font-size: 1.02rem; line-height: 1.82; margin-bottom: 1.25rem; }
    .myth-text p:last-child { margin-bottom: 0; }
    .culture-cards { display: flex; flex-direction: column; gap: 1rem; }
    .culture-card {
        background: rgba(15, 20, 45, 0.65);
        border: 1px solid rgba(244, 208, 63, 0.18);
        border-radius: 10px;
        padding: 1.25rem;
    }
    .culture-card .culture-name { font-size: 0.75rem; font-family: 'Courier New', monospace; color: #f4d03f; letter-spacing: 2px; text-transform: uppercase; margin-bottom: 0.4rem; }
    .culture-card p { font-size: 0.92rem; color: rgba(255,255,255,0.72); line-height: 1.65; margin: 0; }
    .dso-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1.5rem; margin-top: 2rem; }
    .dso-card {
        background: rgba(15, 20, 45, 0.70);
        border: 1px solid rgba(255,255,255,0.10);
        border-radius: 10px;
        padding: 1.5rem;
        position: relative;
        overflow: hidden;
    }
    .dso-card::after {
        content: attr(data-type);
        position: absolute;
        top: 1rem; right: 1rem;
        font-family: 'Courier New', monospace;
        font-size: 0.68rem;
        letter-spacing: 1px;
        text-transform: uppercase;
        padding: 0.2rem 0.5rem;
        border-radius: 4px;
        background: rgba(137, 196, 244, 0.15);
        color: #89c4f4;
    }
    .dso-card.easy::after   { background: rgba(125, 206, 148, 0.15); color: #7dce94; }
    .dso-card.medium::after { background: rgba(244, 208, 63, 0.15); color: #f4d03f; }
    .dso-card.hard::after   { background: rgba(229, 90, 43, 0.15); color: #e55a2b; }
    .dso-card.photo::after  { background: rgba(200, 130, 255, 0.15); color: #c882ff; }
    .dso-card .dso-name { font-size: 1.1rem; font-weight: 700; color: #ffffff; margin-bottom: 0.2rem; padding-right: 4rem; }
    .dso-card .dso-cat { font-size: 0.80rem; color: #89c4f4; margin-bottom: 0.85rem; font-family: 'Courier New', monospace; letter-spacing: 1px; }
    .dso-card .dso-stats { display: flex; gap: 1.5rem; flex-wrap: wrap; margin-bottom: 0.85rem; }
    .dso-card .dso-stat { font-size: 0.85rem; color: rgba(255,255,255,0.65); }
    .dso-card .dso-stat span { color: #f4d03f; font-weight: 600; }
    .dso-card p { font-size: 0.92rem; color: rgba(255,255,255,0.70); line-height: 1.65; margin: 0; }
    .obs-steps { counter-reset: steps; list-style: none; padding: 0; margin: 2rem 0; }
    .obs-steps li {
        counter-increment: steps;
        display: flex;
        gap: 1.25rem;
        align-items: flex-start;
        padding: 1.25rem 0;
        border-bottom: 1px solid rgba(255,255,255,0.06);
    }
    .obs-steps li:last-child { border-bottom: none; }
    .obs-steps li::before {
        content: counter(steps);
        min-width: 32px; height: 32px;
        background: rgba(244, 208, 63, 0.15);
        border: 1px solid rgba(244, 208, 63, 0.35);
        border-radius: 50%;
        display: flex; align-items: center; justify-content: center;
        font-family: 'Courier New', monospace;
        font-size: 0.85rem;
        color: #f4d03f;
        font-weight: 700;
        flex-shrink: 0;
    }
    .step-content h4 { font-size: 1rem; font-weight: 700; color: #ffffff; margin: 0.1rem 0 0.4rem; }
    .step-content p { font-size: 0.93rem; color: rgba(255,255,255,0.70); line-height: 1.68; margin: 0; }
    .kit-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; margin-top: 2rem; }
    @media (max-width: 700px) { .kit-grid { grid-template-columns: 1fr; } }
    .kit-item {
        background: rgba(15, 20, 45, 0.60);
        border: 1px solid rgba(255,255,255,0.10);
        border-radius: 10px;
        padding: 1.25rem;
        text-align: center;
    }
    .kit-item .kit-icon { font-size: 1.8rem; margin-bottom: 0.5rem; display: block; }
    .kit-item h4 { font-size: 0.95rem; font-weight: 700; color: #ffffff; margin: 0 0 0.4rem; }
    .kit-item p { font-size: 0.85rem; color: rgba(255,255,255,0.60); margin: 0; line-height: 1.55; }
    .advanced-panel {
        background: linear-gradient(135deg, rgba(100, 149, 237, 0.08), rgba(60, 40, 120, 0.05));
        border: 1px solid rgba(137, 196, 244, 0.22);
        border-radius: 14px;
        padding: 2.5rem;
        margin-top: 2rem;
    }
    .adv-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1.5rem; margin-top: 1.5rem; }
    .adv-card {
        background: rgba(10, 15, 35, 0.65);
        border: 1px solid rgba(137, 196, 244, 0.15);
        border-radius: 10px;
        padding: 1.4rem;
    }
    .adv-card h4 { font-size: 1rem; font-weight: 700; color: #89c4f4; margin: 0 0 0.5rem; }
    .adv-card p { font-size: 0.90rem; color: rgba(255,255,255,0.68); line-height: 1.65; margin: 0; }
    .tip-box {
        background: rgba(244, 208, 63, 0.07);
        border: 1px solid rgba(244, 208, 63, 0.22);
        border-radius: 10px;
        padding: 1.4rem 1.75rem;
        margin-top: 2rem;
    }
    .tip-box h4 { color: #f4d03f; font-size: 0.95rem; margin: 0 0 0.5rem; font-family: 'Courier New', monospace; letter-spacing: 1px; }
    .tip-box p { color: rgba(255,255,255,0.75); font-size: 0.93rem; line-height: 1.7; margin: 0; }
    .related-links { display: flex; gap: 1rem; flex-wrap: wrap; margin-top: 2rem; }
    .related-link {
        background: rgba(15, 20, 45, 0.70);
        border: 1px solid rgba(137, 196, 244, 0.20);
        border-radius: 8px;
        padding: 0.9rem 1.4rem;
        text-decoration: none;
        color: rgba(255,255,255,0.80);
        font-size: 0.92rem;
        transition: border-color 0.2s, color 0.2s;
    }
    .related-link:hover { border-color: rgba(137, 196, 244, 0.55); color: #89c4f4; }
    .illustration-wrap { background: rgba(5, 10, 25, 0.70); border: 1px solid rgba(137, 196, 244, 0.15); border-radius: 12px; overflow: hidden; margin: 2.5rem 0; }
    .illustration-caption { padding: 0.75rem 1.25rem; font-size: 0.83rem; color: rgba(255,255,255,0.50); font-family: 'Courier New', monospace; letter-spacing: 0.5px; background: rgba(0,0,0,0.25); }


/* ============================================================
   Source: virgo-constellation.njk
   ============================================================ */


  .vir-hero {
    position: relative;
    height: 400px;
    background: linear-gradient(135deg, #0a1628 0%, #1a2a4a 50%, #0f1f35 100%);
    overflow: hidden;
  }

  .vir-hero-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.85;
  }

  .vir-hero-content {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 40px 20px;
    background: linear-gradient(180deg, transparent 0%, rgba(10, 22, 40, 0.9) 50%, rgba(10, 22, 40, 0.95) 100%);
    color: white;
  }

  .vir-hero-content h1 {
    margin: 0;
    font-size: 2.8rem;
    font-weight: 700;
    letter-spacing: -1px;
  }

  .vir-badge {
    display: inline-block;
    margin-top: 12px;
    padding: 6px 12px;
    background: rgba(100, 180, 255, 0.25);
    border-left: 3px solid #64b4ff;
    font-size: 0.9rem;
    color: #b0d4ff;
  }

  .vir-container {
    max-width: 1000px;
    margin: 0 auto;
    padding: 50px 20px;
  }

  .vir-intro {
    text-align: center;
    max-width: 780px;
    margin: 0 auto 60px;
    font-size: 1.1rem;
    line-height: 1.7;
    color: #ccc;
  }

  .vir-facts {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 20px;
    margin-bottom: 60px;
    background: rgba(50, 60, 80, 0.3);
    padding: 30px;
    border-radius: 8px;
  }

  .vir-fact-item {
    border-left: 3px solid #64b4ff;
    padding-left: 15px;
  }

  .vir-fact-label {
    font-size: 0.85rem;
    color: #888;
    text-transform: uppercase;
    letter-spacing: 1px;
  }

  .vir-fact-value {
    font-size: 1.3rem;
    color: #fff;
    margin-top: 5px;
    font-weight: 600;
  }

  .vir-section {
    margin-bottom: 70px;
  }

  .vir-section h2 {
    font-size: 2rem;
    color: #64b4ff;
    margin-bottom: 30px;
    padding-bottom: 10px;
    border-bottom: 2px solid rgba(100, 180, 255, 0.3);
  }

  .vir-section h3 {
    font-size: 1.3rem;
    color: #b0d4ff;
    margin-top: 0;
    margin-bottom: 15px;
  }

  .vir-find-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 20px;
    margin-top: 30px;
  }

  .vir-find-card {
    background: rgba(50, 60, 80, 0.4);
    padding: 20px;
    border-radius: 8px;
    border: 1px solid rgba(100, 180, 255, 0.2);
  }

  .vir-find-card h4 {
    margin-top: 0;
    color: #64b4ff;
  }

  .vir-find-card p {
    margin: 10px 0 0 0;
    font-size: 0.95rem;
    color: #aaa;
    line-height: 1.6;
  }

  .vir-svg-wrap {
    background: rgba(20, 30, 50, 0.5);
    border: 1px solid rgba(100, 180, 255, 0.2);
    border-radius: 8px;
    padding: 20px;
    margin: 30px 0;
    text-align: center;
  }

  .vir-svg-wrap svg {
    max-width: 100%;
    height: auto;
  }

  .vir-seasonal {
    width: 100%;
    border-collapse: collapse;
    margin-top: 20px;
    font-size: 0.95rem;
  }

  .vir-seasonal th,
  .vir-seasonal td {
    padding: 12px;
    text-align: left;
    border-bottom: 1px solid rgba(100, 180, 255, 0.2);
  }

  .vir-seasonal th {
    background: rgba(100, 180, 255, 0.15);
    color: #64b4ff;
    font-weight: 600;
  }

  .vir-seasonal td {
    color: #aaa;
  }

  .vir-stars-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 20px;
    margin-top: 30px;
  }

  .vir-star-card {
    background: rgba(50, 60, 80, 0.4);
    padding: 20px;
    border-radius: 8px;
    border: 1px solid rgba(100, 180, 255, 0.2);
  }

  .vir-star-card h4 {
    margin-top: 0;
    color: #64b4ff;
    font-size: 1.1rem;
  }

  .vir-star-meta {
    font-size: 0.85rem;
    color: #888;
    margin-bottom: 12px;
  }

  .vir-star-meta span {
    display: inline-block;
    margin-right: 15px;
  }

  .vir-star-card p {
    margin: 0;
    font-size: 0.95rem;
    color: #aaa;
    line-height: 1.6;
  }

  .vir-myth-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 20px;
    margin-top: 30px;
  }

  .vir-myth-card {
    background: rgba(80, 50, 100, 0.2);
    padding: 20px;
    border-radius: 8px;
    border-left: 3px solid #c08fff;
  }

  .vir-myth-card h4 {
    margin-top: 0;
    color: #c08fff;
    font-size: 1.1rem;
  }

  .vir-myth-card p {
    margin: 0;
    font-size: 0.95rem;
    color: #aaa;
    line-height: 1.6;
  }

  .vir-dso-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 20px;
    margin-top: 30px;
  }

  .vir-dso-card {
    background: rgba(50, 60, 80, 0.4);
    padding: 20px;
    border-radius: 8px;
    border: 1px solid rgba(100, 180, 255, 0.2);
  }

  .vir-dso-card h4 {
    margin-top: 0;
    color: #64b4ff;
    font-size: 1.1rem;
  }

  .vir-dso-meta {
    font-size: 0.85rem;
    color: #888;
    margin-bottom: 12px;
  }

  .vir-dso-difficulty {
    display: inline-block;
    padding: 3px 8px;
    border-radius: 4px;
    font-size: 0.8rem;
    font-weight: 600;
    margin-bottom: 10px;
    text-transform: capitalize;
  }

  .vir-dso-difficulty.diff-easy {
    background: rgba(100, 180, 100, 0.25);
    color: #90d090;
  }

  .vir-dso-difficulty.diff-medium {
    background: rgba(180, 150, 100, 0.25);
    color: #d4a080;
  }

  .vir-dso-difficulty.diff-photo {
    background: rgba(150, 100, 180, 0.25);
    color: #c08fff;
  }

  .vir-dso-card p {
    margin: 0;
    font-size: 0.95rem;
    color: #aaa;
    line-height: 1.6;
  }

  .vir-steps {
    counter-reset: step-counter;
    margin-top: 30px;
  }

  .vir-steps ol {
    list-style: none;
    padding: 0;
    margin: 0;
  }

  .vir-steps li {
    counter-increment: step-counter;
    display: flex;
    margin-bottom: 20px;
    align-items: flex-start;
  }

  .vir-steps li::before {
    content: counter(step-counter);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    min-width: 40px;
    background: rgba(100, 180, 255, 0.25);
    border: 2px solid #64b4ff;
    border-radius: 50%;
    margin-right: 20px;
    color: #64b4ff;
    font-weight: 700;
    font-size: 1.1rem;
  }

  .vir-steps li span {
    flex: 1;
    padding-top: 8px;
    color: #aaa;
    line-height: 1.6;
  }

  .vir-kit-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 15px;
    margin-top: 20px;
  }

  .vir-kit-item {
    background: rgba(50, 60, 80, 0.4);
    padding: 15px;
    border-radius: 8px;
    border: 1px solid rgba(100, 180, 255, 0.2);
    text-align: center;
    color: #aaa;
    font-size: 0.9rem;
    line-height: 1.4;
  }

  .vir-adv-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 20px;
    margin-top: 30px;
  }

  .vir-adv-card {
    background: rgba(80, 100, 150, 0.2);
    padding: 20px;
    border-radius: 8px;
    border-left: 3px solid #64b4ff;
  }

  .vir-adv-card h4 {
    margin-top: 0;
    color: #64b4ff;
  }

  .vir-adv-card p {
    margin: 0;
    font-size: 0.95rem;
    color: #aaa;
    line-height: 1.6;
  }

  .vir-tip {
    background: rgba(150, 120, 80, 0.15);
    border-left: 4px solid #d4a080;
    padding: 20px;
    border-radius: 4px;
    margin-top: 20px;
  }

  .vir-tip strong {
    color: #d4a080;
  }

  .vir-tip p {
    margin: 0;
    color: #aaa;
    font-size: 0.95rem;
    line-height: 1.6;
  }

  .vir-related {
    background: rgba(50, 60, 80, 0.3);
    padding: 30px;
    border-radius: 8px;
    margin-top: 50px;
  }

  .vir-related h3 {
    margin-top: 0;
    color: #64b4ff;
  }

  .vir-related-links {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 15px;
    margin-top: 15px;
  }

  .vir-related-links a {
    display: block;
    padding: 12px;
    background: rgba(100, 180, 255, 0.1);
    border: 1px solid rgba(100, 180, 255, 0.3);
    border-radius: 4px;
    color: #64b4ff;
    text-decoration: none;
    transition: all 0.2s;
  }

  .vir-related-links a:hover {
    background: rgba(100, 180, 255, 0.2);
    border-color: rgba(100, 180, 255, 0.6);
  }

  @media (max-width: 768px) {
    .vir-hero-content h1 {
      font-size: 2rem;
    }

    .vir-facts {
      grid-template-columns: repeat(2, 1fr);
      gap: 15px;
      padding: 20px;
    }

    .vir-seasonal {
      font-size: 0.85rem;
    }

    .vir-seasonal th,
    .vir-seasonal td {
      padding: 8px;
    }
  }

