/* BUILD: style-refactor-20260819-v15 — preserves index.php styles; adds only section-specific paragraph spacing for Solar Activity. */
.sai-information p + p {
    margin-top: 1.15rem;
}

.sax-information p + p {
    margin-top: 1.15rem;
}
/* Build 20260819-v10 — preserves index.php styles; Pictures of the Sun spacing/EIT/Mauna Loa refinements. */
/* BUILD: style-refactor-20260819-v9 — Pictures of the Sun card separation and composite desktop row. */
/* INDEX REFACTOR BUILD: 20260819-v3 */
/* BUILD: style-refactor-20260819-v2 */
/* BUILD: style-refactor-20260819-v1 */
/* =========================================================
   HF Radio & Space Weather
   Main stylesheet — stable layout
   ========================================================= */

:root {
    --bg-main: #08101f;
    --bg-surface: #0d1729;
    --bg-card: #111d32;
    --bg-card-soft: #0f1a2d;
    --bg-card-hover: #15243d;

    --border: #243553;
    --border-strong: #30476d;

    --text-primary: #edf3fb;
    --text-secondary: #aab8cc;
    --text-muted: #74849d;

    --accent: #48c7e8;
    --accent-hover: #72d9f1;
    --accent-soft: rgba(72, 199, 232, 0.10);

    --radius: 10px;
    --shadow: 0 10px 30px rgba(0, 0, 0, 0.20);
}

/* =========================================================
   Base
   ========================================================= */

html {
    min-height: 100%;
    background: var(--bg-main);
    color-scheme: dark;
}

body {
    min-height: 100vh;
    margin: 0;
    background:
        radial-gradient(circle at 50% -20%, rgba(43, 91, 145, 0.18), transparent 42%),
        var(--bg-main);
    color: var(--text-primary);
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    line-height: 1.6;
}

a {
    color: var(--accent);
    transition:
        color 0.2s ease,
        border-color 0.2s ease,
        background-color 0.2s ease;
}

a:hover {
    color: var(--accent-hover);
}

.site-container {
    width: min(100% - 2rem, 1500px);
    margin-inline: auto;
}

/* =========================================================
   Navigation
   ========================================================= */

.site-navbar {
    background: rgba(8, 16, 31, 0.94);
    border-bottom: 1px solid var(--border);
    backdrop-filter: blur(12px);
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.18);
}

.navbar-brand {
    display: flex;
    align-items: center;
    line-height: 1.05;
    padding-block: 0.5rem;
    margin-right: 0;
}

.site-logo {
    width: 46px;
    height: 46px;
    object-fit: contain;
    display: block;
    flex: 0 0 auto;
}

.site-brand-text {
    display: flex;
    flex-direction: column;
    margin-left: 0.65rem;
    line-height: 1.1;
}

.site-brand-name,
.brand-title {
    color: var(--text-primary);
    font-size: 1.05rem;
    font-weight: 700;
    letter-spacing: 0.03em;
}

.site-brand-subtitle,
.brand-subtitle {
    color: var(--accent);
    font-size: 0.72rem;
    letter-spacing: 0.05em;
}

.site-brand-subtitle {
    margin-top: 0.18rem;
}

.navbar-nav .nav-link {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.7rem 0.55rem !important;
    color: var(--text-secondary);
    font-size: 0.88rem;
    border-bottom: 2px solid transparent;
}

.navbar-nav .nav-link:hover,
.navbar-nav .nav-link.active {
    color: var(--text-primary);
}

.navbar-nav .nav-link.active {
    border-bottom-color: var(--accent);
}

.navbar-nav .nav-link i {
    color: var(--accent);
}

.language-switcher {
    display: flex;
    align-items: center;
    gap: 0.2rem;
    margin-left: 1rem;
    padding-left: 1rem;
    border-left: 1px solid var(--border);
}

.language-label {
    margin-right: 0.25rem;
    color: var(--text-muted);
}

.language-switcher a {
    padding: 0.25rem 0.4rem;
    color: var(--text-muted);
    font-size: 0.78rem;
    font-weight: 700;
    text-decoration: none;
    border-radius: 5px;
}

.language-switcher a:hover,
.language-switcher a.active {
    color: var(--accent);
    background: var(--accent-soft);
}

/* =========================================================
   Page structure
   ========================================================= */

.page-header {
    padding: 3.5rem 0 2rem;
}

.eyebrow {
    margin-bottom: 0.5rem;
    color: var(--accent);
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.page-header h1 {
    margin-bottom: 0.75rem;
    font-size: clamp(2rem, 4vw, 3.25rem);
    font-weight: 700;
    letter-spacing: -0.025em;
}

.page-header p {
    max-width: 760px;
    margin-bottom: 0;
    color: var(--text-secondary);
    font-size: 1.05rem;
}

.section-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.section-heading h2 {
    margin: 0;
    font-size: 1.35rem;
    font-weight: 650;
}

.section-heading p {
    margin: 0;
    color: var(--text-muted);
    font-size: 0.88rem;
}

/* =========================================================
   General data cards
   ========================================================= */

.data-card {
    height: 100%;
    overflow: hidden;
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
}

.data-card-header {
    padding: 0.85rem 1.15rem;
    border-bottom: 1px solid var(--border);
}

.data-card-title {
    margin: 0;
    color: var(--text-primary);
    font-size: 1.05rem;
    font-weight: 650;
}

.data-card-source {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;

    margin: 0 0 0 0.75rem;
    padding: 0.3rem 0.55rem;

    color: var(--text-secondary);
    background: rgba(255, 255, 255, 0.045);
    border: 1px solid var(--border);
    border-radius: 5px;

    font-size: 0.75rem;
    line-height: 1.3;
    white-space: nowrap;
}

.data-card-source a {
    color: var(--accent);
    text-decoration: none;
    font-weight: 550;
}

.data-card-source a:hover {
    color: var(--accent-hover);
    text-decoration: underline;
}

.data-card-image {
    padding: 1rem;
    background: #091322;
    text-align: center;
}

.data-card-image img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
}

.data-card-description {
    padding: 0.9rem 1.25rem 1.1rem;
    color: var(--text-secondary);
    font-size: 0.9rem;
    border-top: 1px solid var(--border);
}

.data-card-body {
    padding: 1.25rem;
}

/* =========================================================
   Special card headings
   Logo + title + source in one line
   ========================================================= */

.special-card-heading {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 0;
    min-width: 0;
}

.special-card-logo {
    display: block;
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    object-fit: contain;
    margin-right: 0.65rem;
}

.special-card-heading .data-card-title {
    flex: 0 0 auto;
}

/* =========================================================
   Individual image tiles
   ========================================================= */

.image-tile {
    min-width: 0;
    overflow: hidden;
    background: var(--bg-card-soft);
    border: 1px solid var(--border);
    border-radius: 8px;
    text-align: center;
}

.image-tile-image {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 0;
    padding: 0.55rem;
    background: #0b1729;
}

.image-tile-image img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 150px;
    margin: 0 auto;
    object-fit: contain;
}

.image-tile p {
    margin: 0;
    padding: 0.5rem 0.35rem 0.6rem;
    color: var(--text-secondary);
    font-size: 0.76rem;
    line-height: 1.25;
}

/* =========================================================
   NOAA Alerts
   ========================================================= */

.alerts-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 145px));
    justify-content: center;
    gap: 1rem;
    padding: 1rem 1.25rem 1.15rem;
}

.alerts-grid .image-tile-image img {
    max-height: 115px;
}

/* =========================================================
   BOM-AUS Alerts
   ========================================================= */

.bom-alerts-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 145px));
    justify-content: center;
    gap: 1rem;
    padding: 1rem 1.25rem 1.15rem;
}

/*
   Ten items:
   Row 1: 1 2 3 4
   Row 2: 5 6 7 8
   Row 3: . 9 10 .
*/
.bom-alert-9 {
    grid-column: 2;
}

.bom-alerts-grid .image-tile-image img {
    max-height: 115px;
}

/* =========================================================
   Forecast
   ========================================================= */

.forecast-desktop {
    display: block;
}

.forecast-mobile {
    display: none;
}

.forecast-matrix {
    display: grid;
    grid-template-columns:
        125px
        repeat(4, minmax(0, 1fr));
    gap: 0.65rem;
    padding: 1rem;
    align-items: start;
}

.forecast-corner {
    min-height: 1px;
}

.forecast-column-header {
    padding: 0.45rem 0.3rem;
    color: var(--text-secondary);
    font-size: 0.72rem;
    font-weight: 650;
    line-height: 1.25;
    text-align: center;
}

.forecast-row-label {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100%;
    padding: 0.5rem;
    color: var(--text-secondary);
    font-size: 0.75rem;
    line-height: 1.25;
    text-align: center;
}

.forecast-cell {
    min-width: 0;
}

.forecast-cell .image-tile-image img {
    max-height: 125px;
}

/* =========================================================
   Mobile Forecast
   ========================================================= */

.forecast-mobile-section + .forecast-mobile-section {
    margin-top: 1rem;
}

.forecast-mobile-section h4 {
    margin: 0 0 0.65rem;
    padding: 0.55rem 0.75rem;
    color: var(--text-primary);
    background: rgba(255, 255, 255, 0.035);
    border-left: 3px solid var(--accent);
    font-size: 0.9rem;
    font-weight: 650;
}

.forecast-mobile-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

.forecast-mobile-grid .image-tile-image img {
    max-height: 125px;
}

/* =========================================================
   Rice gallery
   ========================================================= */

.data-gallery-card {
    overflow: hidden;
}

.data-gallery-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    width: 58%;
    max-width: 900px;
    margin: 0 auto;
    padding: 1rem;
    gap: 0.6rem;
}

.data-gallery-item {
    margin: 0;
    overflow: hidden;
    background: #091322;
    border: 1px solid var(--border);
    border-radius: 8px;
}

.data-gallery-item img {
    display: block;
    width: 100%;
    height: auto;
}

/* =========================================================
   Propagation Status
   ========================================================= */

.propagation-image {
    padding: 1rem;
    background: #091322;
    text-align: center;
}

.propagation-image a {
    display: block;
}

.propagation-image img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
}

/* =========================================================
   Section navigation cards
   ========================================================= */

.section-card {
    display: flex;
    align-items: center;
    min-height: 125px;
    height: 100%;
    padding: 1.25rem;
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    text-decoration: none;
    box-shadow: var(--shadow);
    transition:
        transform 0.2s ease,
        background-color 0.2s ease,
        border-color 0.2s ease;
}

.section-card:hover {
    background: var(--bg-card-hover);
    border-color: var(--border-strong);
    transform: translateY(-2px);
}

.section-card-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    flex: 0 0 auto;
    margin-right: 1rem;
    border-radius: 8px;
    overflow: hidden;
    background: var(--accent-soft);
}

.section-card-icon-image {
    display: block;
    width: 40px;
    height: 40px;
    max-width: 40px;
    max-height: 40px;
    object-fit: contain;
}

.section-card h3 {
    margin: 0;
    color: var(--text-primary);
    font-size: 0.98rem;
    font-weight: 650;
}

/* =========================================================
   Website notice
   ========================================================= */

.site-notice {
    max-width: 1050px;
    margin: 2.5rem auto 0;
    padding: 1.25rem 1.5rem;
    color: var(--text-muted);
    font-size: 0.84rem;
    line-height: 1.65;
    border-top: 1px solid var(--border);
}

.site-notice p {
    margin: 0;
}

.site-notice p + p {
    margin-top: 0.75rem;
}

.site-notice a {
    color: var(--accent);
}

/* =========================================================
   Refresh indicator
   ========================================================= */

.refresh-indicator {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    color: var(--text-muted);
    font-size: 0.78rem;
}

.refresh-indicator i {
    color: var(--accent);
}

/* =========================================================
   Footer
   ========================================================= */

.site-footer {
    margin-top: 5rem;
    padding: 3rem 0 1.25rem;
    background: #060c18;
    border-top: 1px solid var(--border);
}

.footer-brand {
    margin-bottom: 0.4rem;
    color: var(--text-primary);
    font-size: 1rem;
    font-weight: 700;
}

.footer-text,
.footer-meta,
.footer-links,
.footer-languages {
    color: var(--text-muted);
    font-size: 0.85rem;
}

.footer-text {
    max-width: 450px;
    margin-bottom: 0.4rem;
}

.footer-meta {
    margin: 0;
}

.footer-heading {
    margin-bottom: 0.75rem;
    color: var(--text-secondary);
    font-size: 0.75rem;
    font-weight: 750;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.footer-links {
    padding: 0;
    margin: 0;
    list-style: none;
}

.footer-links li + li {
    margin-top: 0.3rem;
}

.footer-links a,
.footer-languages a {
    color: var(--text-muted);
    text-decoration: none;
}

.footer-links a:hover,
.footer-languages a:hover {
    color: var(--accent);
}

.footer-languages {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
}

.footer-social {
    display: flex;
    align-items: center;
    gap: 0.65rem;
}

.footer-social-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    flex: 0 0 32px;
    color: var(--text-muted);
    background: rgba(255, 255, 255, 0.035);
    border: 1px solid var(--border);
    border-radius: 6px;
    text-decoration: none;
}

.footer-social-link:hover,
.footer-social-link:focus {
    color: var(--accent);
    background: var(--accent-soft);
    border-color: var(--border-strong);
    text-decoration: none;
}

.footer-social-icon {
    display: block;
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
}

.footer-bottom {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 2rem;
    padding-top: 1rem;
    color: var(--text-muted);
    font-size: 0.72rem;
    border-top: 1px solid var(--border);
}

/* =========================================================
   Responsive — tablet
   ========================================================= */

@media (max-width: 1199.98px) {
    .navbar-nav .nav-link {
        font-size: 0.82rem;
    }

    .data-gallery-grid {
        width: 75%;
    }
}

/* =========================================================
   Responsive — mobile navigation / tablet
   ========================================================= */

@media (max-width: 991.98px) {
    .site-logo {
        width: 40px;
        height: 40px;
    }

    .site-brand-name {
        font-size: 1rem;
    }

    .site-brand-subtitle {
        font-size: 0.68rem;
    }

    .navbar-collapse {
        padding: 0.75rem 0 1rem;
    }

    .navbar-nav .nav-link {
        padding: 0.6rem 0.25rem !important;
        border-bottom: 0;
    }

    .language-switcher {
        margin: 0.75rem 0 0;
        padding: 0.75rem 0 0;
        border-top: 1px solid var(--border);
        border-left: 0;
    }

    .data-gallery-grid {
        width: 100%;
        max-width: none;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* =========================================================
   Responsive — phones
   ========================================================= */

@media (max-width: 767.98px) {

    .special-card-heading {
        flex-wrap: nowrap;
        overflow: hidden;
    }

    .special-card-logo {
        width: 28px;
        height: 28px;
        flex-basis: 28px;
        margin-right: 0.5rem;
    }

    .data-card-title {
        font-size: 0.98rem;
        white-space: nowrap;
    }

    .data-card-source {
        margin-left: 0.55rem;
        padding: 0.25rem 0.4rem;
        font-size: 0.7rem;
    }

    /*
       NOAA:
       exactly three alert cards in one row.
    */
    .alerts-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0.65rem;
        padding-inline: 0.75rem;
    }

    .alerts-grid .image-tile-image {
        padding: 0.4rem;
    }

    .alerts-grid .image-tile-image img {
        max-height: 95px;
    }

    .alerts-grid .image-tile p {
        padding-inline: 0.25rem;
        font-size: 0.72rem;
    }

    /*
       BOM:
       two columns on mobile.
    */
    .bom-alerts-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.75rem;
        padding-inline: 0.9rem;
    }

    .bom-alert-9 {
        grid-column: auto;
    }

    .bom-alerts-grid .image-tile-image img {
        max-height: 110px;
    }

    /*
       Forecast:
       hide desktop matrix and use three 2x2 subsections.
    */
    .forecast-desktop {
        display: none;
    }

    .forecast-mobile {
        display: block;
        padding: 0.9rem;
    }

    .forecast-mobile-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.75rem;
    }

    .forecast-mobile-grid .image-tile-image img {
        max-height: 115px;
    }

    .data-gallery-grid {
        gap: 0.5rem;
    }
}

/* =========================================================
   Responsive — small phones
   ========================================================= */

@media (max-width: 575.98px) {
    .site-container {
        width: min(100% - 1.25rem, 1500px);
    }

    .page-header {
        padding-top: 2.5rem;
    }

    .section-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .data-card-header,
    .data-card-body {
        padding: 0.9rem;
    }

    .data-card-description {
        padding-inline: 1rem;
    }

    .site-notice {
        padding-inline: 0.75rem;
    }

    .footer-bottom {
        flex-direction: column;
    }
}

/* =========================================================
   Very small phones
   ========================================================= */

@media (max-width: 400px) {
    .special-card-logo {
        width: 25px;
        height: 25px;
        flex-basis: 25px;
    }

    .data-card-title {
        font-size: 0.92rem;
    }

    .data-card-source {
        font-size: 0.66rem;
    }

    .alerts-grid {
        gap: 0.45rem;
        padding-inline: 0.55rem;
    }

    .alerts-grid .image-tile-image img {
        max-height: 82px;
    }

    .alerts-grid .image-tile p {
        font-size: 0.68rem;
    }

    .bom-alerts-grid,
    .forecast-mobile-grid {
        gap: 0.55rem;
    }
}

/* =========================================================
   Solar Activity section
   ========================================================= */

.sa-section {
    margin-bottom: 2.5rem;
}

.sa-section-heading {
    margin-bottom: 1rem;
}

.sa-section-heading h2 {
    margin: 0;
    color: var(--text-primary);
    font-size: 1.35rem;
    font-weight: 650;
}

.sa-content-card {
    overflow: hidden;
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
}

.sa-information,
.sa-interpretation {
    padding: 1.15rem 1.25rem;
    color: var(--text-secondary);
    font-size: 0.9rem;
    line-height: 1.65;
}

.sa-information {
    border-bottom: 1px solid var(--border);
}

.sa-interpretation {
    border-top: 1px solid var(--border);
}

.sa-information p,
.sa-interpretation p {
    margin: 0;
}

.sa-information p + p,
.sa-interpretation p + p {
    margin-top: 0.9rem;
}

.sa-information ul,
.sa-interpretation ul {
    margin: 0.5rem 0 0;
    padding-left: 1.25rem;
}

.sa-information a,
.sa-interpretation a,
.sa-links-list a,
.sa-final-link a {
    color: var(--accent);
    text-decoration: none;
}

.sa-information a:hover,
.sa-interpretation a:hover,
.sa-links-list a:hover,
.sa-final-link a:hover {
    color: var(--accent-hover);
    text-decoration: underline;
}

.sa-label {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    margin-bottom: 0.65rem;
    color: var(--text-primary);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.sa-label i {
    color: var(--accent);
    font-size: 0.9rem;
}

/* Interpretation icon */
.sa-interpretation-icon {
    display: block;
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    max-width: 30px;
    max-height: 30px;
    margin: 0 0.1rem 0 0;
    object-fit: contain;
    transform: scale(1.45);
    transform-origin: center;
}

/* Galleries */

.sa-gallery,
.sa-sdo-gallery {
    display: grid;
    gap: 0.75rem;
    padding: 1rem;
}

.sa-gallery-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.sa-gallery-2x2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.sa-gallery-single {
    grid-template-columns: 1fr;
    max-width: 900px;
    margin-inline: auto;
}

.sa-sdo-gallery {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.sa-figure {
    min-width: 0;
    margin: 0;
    overflow: hidden;
    background: #091322;
    border: 1px solid var(--border);
    border-radius: 8px;
    text-align: center;
}

.sa-figure > a {
    display: block;
}

.sa-figure img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 500px;
    margin: 0 auto;
    object-fit: contain;
}

.sa-sdo-gallery .sa-figure img {
    aspect-ratio: 1 / 1;
    object-fit: contain;
}

.sa-figure figcaption {
    padding: 0.55rem 0.65rem 0.65rem;
    color: var(--text-secondary);
    background: rgba(255, 255, 255, 0.02);
    font-size: 0.76rem;
    line-height: 1.35;
}

.sa-source {
    display: block;
    margin-top: 0.25rem;
    color: var(--text-muted);
    font-size: 0.7rem;
}

.sa-source a {
    color: var(--accent);
    text-decoration: none;
}

.sa-source a:hover {
    color: var(--accent-hover);
    text-decoration: underline;
}

.sa-secondary-link {
    display: block;
    margin-top: 0.25rem;
}

.sa-secondary-link a {
    color: var(--accent);
}

.sa-image-single {
    max-width: 1000px;
    margin: 0 auto;
    padding: 1rem;
}

.sa-image-single img {
    max-width: 100%;
}

.sa-image-intro {
    max-width: 650px;
}

/*
   Solar X-Rays:
   one plot per row, constrained to 900px.
*/
.sa-xray-gallery {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    width: min(100%, 900px);
    max-width: 900px;
    margin-inline: auto;
}

.sa-xray-gallery .sa-figure {
    width: 100%;
}

/*
   Reports:
   same 900px content width as Solar X-Rays.
*/
.sa-report-image {
    width: min(100%, 900px);
    max-width: 900px;
    margin-inline: auto;
}

.sa-report-image img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    transform: scale(0.67);
    transform-origin: center;
}

@media (max-width: 767.98px) {
    .sa-interpretation-icon {
        width: 20px;
        height: 20px;
        flex-basis: 20px;
        max-width: 20px;
        max-height: 20px;
    }

    .sa-xray-gallery,
    .sa-report-image {
        width: 100%;
        max-width: 100%;
        transform: scale(1.2);
    }
    .sa-xray-gallery .sa-figure img {
        transform: scale(0.75);
        transform-origin: center;
    }
}


@media (max-width: 400px) {
    .sa-interpretation-icon {
        width: 19px;
        height: 19px;
        flex-basis: 19px;
        max-width: 19px;
        max-height: 19px;
    }
}

/* Reports links */

.sa-links-list {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    padding: 1rem 1.25rem;
    border-top: 1px solid var(--border);
}

.sa-links-list a {
    display: block;
    padding: 0.65rem 0.8rem;
    background: rgba(255, 255, 255, 0.025);
    border: 1px solid var(--border);
    border-radius: 7px;
}

.sa-final-link {
    margin-top: 1rem !important;
}

/* Sunspot classification table */

.sa-table-wrap {
    overflow-x: auto;
    padding: 1rem 1.25rem;
}

.sa-table {
    width: 100%;
    border-collapse: collapse;
    color: var(--text-secondary);
    font-size: 0.84rem;
}

.sa-table th,
.sa-table td {
    padding: 0.65rem 0.75rem;
    border: 1px solid var(--border);
    vertical-align: top;
    text-align: left;
}

.sa-table th {
    color: var(--text-primary);
    background: rgba(255, 255, 255, 0.045);
    font-weight: 650;
}

.sa-table td:first-child {
    width: 18%;
    color: var(--text-primary);
    font-weight: 650;
    white-space: nowrap;
}

/* NGDC logo */

.sa-ngdc {
    display: flex;
    justify-content: center;
    padding: 1rem;
    border-top: 1px solid var(--border);
}

.sa-ngdc img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
}

/* Plain-text VOACAP data */

.sa-plaintext {
    overflow-x: auto;
    margin: 0;
    padding: 1rem 1.25rem;
    color: var(--text-secondary);
    background: #091322;
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    font-family:
        ui-monospace,
        SFMono-Regular,
        Menlo,
        Monaco,
        Consolas,
        "Liberation Mono",
        monospace;
    font-size: 0.78rem;
    line-height: 1.45;
    white-space: pre;
}

/*
   The two SIDC plots intentionally remain in a single column
   on both desktop and mobile.
*/

.sa-gallery-single .sa-figure {
    width: 100%;
}


/* =========================================================
   Solar Activity — responsive
   ========================================================= */

@media (max-width: 991.98px) {

    .sa-sdo-gallery {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}

@media (max-width: 767.98px) {

    .sa-section {
        margin-bottom: 2rem;
    }

    .sa-information,
    .sa-interpretation {
        padding: 1rem;
        font-size: 0.86rem;
    }

    .sa-gallery,
    .sa-sdo-gallery {
        padding: 0.75rem;
        gap: 0.65rem;
    }

    /*
       SDO: 2 columns on mobile = 2 x 5.
    */
    .sa-sdo-gallery {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    /*
       SDO composites: 2 x 2.
       SOHO EIT: 2 x 2.
    */
    .sa-gallery-2,
    .sa-gallery-2x2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sa-figure figcaption {
        padding-inline: 0.45rem;
        font-size: 0.7rem;
    }

    .sa-source {
        font-size: 0.66rem;
    }

    .sa-table-wrap {
        padding: 0.75rem;
    }

    .sa-table {
        min-width: 620px;
        font-size: 0.78rem;
    }

    .sa-ngdc {
        padding: 0.85rem;
    }

    .sa-plaintext {
        padding: 0.85rem;
        font-size: 0.72rem;
    }

}

@media (max-width: 575.98px) {

    .sa-gallery,
    .sa-sdo-gallery {
        gap: 0.5rem;
        padding: 0.6rem;
    }

    .sa-gallery-2,
    .sa-gallery-2x2,
    .sa-sdo-gallery {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sa-image-single {
        padding: 0.6rem;
    }

    .sa-label {
        font-size: 0.74rem;
    }

    .sa-links-list {
        padding: 0.75rem;
    }

}

/* =========================================================
   INDEX.PHP — subsection-isolated figure/tile classes
   Derived from the known-good backup without changing layout.
   ========================================================= */

/* NOAA Alerts — isolated from every other subsection */
.idx-noaa-alerts-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 145px));
    justify-content: center;
    gap: 1rem;
    padding: 1rem 1.25rem 1.15rem;
}

.idx-noaa-alert-tile {
    min-width: 0;
    overflow: hidden;
    background: var(--bg-card-soft);
    border: 1px solid var(--border);
    border-radius: 8px;
    text-align: center;
}

.idx-noaa-alert-image {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 0;
    padding: 0.55rem;
    background: #0b1729;
}

.idx-noaa-alert-image img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 115px;
    margin: 0 auto;
    object-fit: contain;
}

.idx-noaa-alert-tile p {
    margin: 0;
    padding: 0.5rem 0.35rem 0.6rem;
    color: var(--text-secondary);
    font-size: 0.76rem;
    line-height: 1.25;
}

/* BOM-AUS Alerts — isolated from NOAA and Forecasts */
.idx-bom-alerts-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 145px));
    justify-content: center;
    gap: 1rem;
    padding: 1rem 1.25rem 1.15rem;
}

.idx-bom-alert-tile {
    min-width: 0;
    overflow: hidden;
    background: var(--bg-card-soft);
    border: 1px solid var(--border);
    border-radius: 8px;
    text-align: center;
}

.idx-bom-alert-image {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 0;
    padding: 0.55rem;
    background: #0b1729;
}

.idx-bom-alert-image img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 115px;
    margin: 0 auto;
    object-fit: contain;
}

.idx-bom-alert-tile p {
    margin: 0;
    padding: 0.5rem 0.35rem 0.6rem;
    color: var(--text-secondary);
    font-size: 0.76rem;
    line-height: 1.25;
}

.idx-bom-alert-9 {
    grid-column: 2;
}

/* Forecasts — isolated desktop and mobile figures */
.idx-forecast-desktop {
    display: block;
}

.idx-forecast-mobile {
    display: none;
}

.idx-forecast-matrix {
    display: grid;
    grid-template-columns: 125px repeat(4, minmax(0, 1fr));
    gap: 0.65rem;
    padding: 1rem;
    align-items: start;
}

.idx-forecast-corner {
    min-height: 1px;
}

.idx-forecast-column-header {
    padding: 0.45rem 0.3rem;
    color: var(--text-secondary);
    font-size: 0.72rem;
    font-weight: 650;
    line-height: 1.25;
    text-align: center;
}

.idx-forecast-row-label {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100%;
    padding: 0.5rem;
    color: var(--text-secondary);
    font-size: 0.75rem;
    line-height: 1.25;
    text-align: center;
}

.idx-forecast-cell {
    min-width: 0;
}

.idx-forecast-tile {
    min-width: 0;
    overflow: hidden;
    background: var(--bg-card-soft);
    border: 1px solid var(--border);
    border-radius: 8px;
    text-align: center;
}

.idx-forecast-image {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 0;
    padding: 0.55rem;
    background: #0b1729;
}

.idx-forecast-image img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 125px;
    margin: 0 auto;
    object-fit: contain;
}

.idx-forecast-tile p {
    margin: 0;
    padding: 0.5rem 0.35rem 0.6rem;
    color: var(--text-secondary);
    font-size: 0.76rem;
    line-height: 1.25;
}

.idx-forecast-mobile-section + .idx-forecast-mobile-section {
    margin-top: 1rem;
}

.idx-forecast-mobile-section h4 {
    margin: 0 0 0.65rem;
    padding: 0.55rem 0.75rem;
    color: var(--text-primary);
    background: rgba(255, 255, 255, 0.035);
    border-left: 3px solid var(--accent);
    font-size: 0.9rem;
    font-weight: 650;
}

.idx-forecast-mobile-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

/* Mobile behavior preserved from the backup */
@media (max-width: 767.98px) {
    .idx-noaa-alerts-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0.65rem;
        padding-inline: 0.75rem;
    }

    .idx-noaa-alert-image {
        padding: 0.4rem;
    }

    .idx-noaa-alert-image img {
        max-height: 95px;
    }

    .idx-noaa-alert-tile p {
        padding-inline: 0.25rem;
        font-size: 0.72rem;
    }

    .idx-bom-alerts-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.75rem;
        padding-inline: 0.9rem;
    }

    .idx-bom-alert-9 {
        grid-column: auto;
    }

    .idx-bom-alert-image img {
        max-height: 110px;
    }

    .idx-forecast-desktop {
        display: none;
    }

    .idx-forecast-mobile {
        display: block;
        padding: 0.9rem;
    }

    .idx-forecast-mobile-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.75rem;
    }

    .idx-forecast-image img {
        max-height: 115px;
    }
}

@media (max-width: 400px) {
    .idx-noaa-alerts-grid {
        gap: 0.45rem;
        padding-inline: 0.55rem;
    }

    .idx-noaa-alert-image img {
        max-height: 82px;
    }

    .idx-noaa-alert-tile p {
        font-size: 0.68rem;
    }

    .idx-bom-alerts-grid,
    .idx-forecast-mobile-grid {
        gap: 0.55rem;
    }
}


/* =========================================================
   Build v4 — UTC clock beside automatic refresh
   ========================================================= */

.utc-clock,
.refresh-countdown-status {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
}

.utc-clock i,
.refresh-countdown-status i {
    color: var(--accent);
}

.utc-clock strong,
.refresh-countdown-status strong {
    color: var(--text-secondary);
    font-variant-numeric: tabular-nums;
}

.refresh-divider {
    width: 1px;
    height: 0.9rem;
    margin-inline: 0.2rem;
    background: var(--border-strong);
}

@media (max-width: 575.98px) {
    .refresh-indicator {
        flex-wrap: wrap;
        row-gap: 0.35rem;
    }
}

/* =========================================================
   APPENDED SOLAR ACTIVITY ISOLATION LAYER
   IMPORTANT: everything above this line is preserved byte-for-byte
   from style-refactor-20260819-v4.css (working index baseline).
   ========================================================= */

/* =========================================================
   Solar Activity — section-isolated build
   BUILD: solar-activity-refactor-20260819-v2
   No presentation class below is shared between Solar Activity sections.
   ========================================================= */

/* ---------- Introduction ---------- */
.sai-section { margin-bottom: 2.5rem; }
.sai-heading { margin-bottom: 1rem; }
.sai-heading h2 { margin: 0; color: var(--text-primary); font-size: 1.35rem; font-weight: 650; }
.sai-card { overflow: hidden; background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow); }
.sai-information { padding: 1.15rem 1.25rem; color: var(--text-secondary); font-size: .9rem; line-height: 1.65; border-bottom: 1px solid var(--border); }
.sai-information p { margin: 0; }
.sai-main-figure { max-width: 650px; margin: 0 auto; padding: 1rem; overflow: hidden; background: #091322; border: 1px solid var(--border); border-radius: 8px; text-align: center; }
.sai-main-figure img { display: block; width: 100%; max-width: 100%; height: auto; max-height: 500px; margin: 0 auto; object-fit: contain; }
.sai-main-figure figcaption { padding: .55rem .65rem .65rem; color: var(--text-secondary); background: rgba(255,255,255,.02); font-size: .76rem; line-height: 1.35; }

/* ---------- Solar X-Rays ---------- */
.sax-section { margin-bottom: 2.5rem; }
.sax-heading { margin-bottom: 1rem; }
.sax-heading h2 { margin: 0; color: var(--text-primary); font-size: 1.35rem; font-weight: 650; }
.sax-card { overflow: hidden; background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow); }
.sax-information, .sax-interpretation { padding: 1.15rem 1.25rem; color: var(--text-secondary); font-size: .9rem; line-height: 1.65; }
.sax-information { border-bottom: 1px solid var(--border); }
.sax-interpretation { border-top: 1px solid var(--border); }
.sax-information p, .sax-interpretation p { margin: 0; }
.sax-interpretation p + p { margin-top: .9rem; }
.sax-gallery { display: grid; grid-template-columns: minmax(0,1fr); gap: .75rem; width: min(100%,900px); max-width: 900px; margin-inline: auto; padding: 1rem; }
.sax-figure { min-width: 0; width: 100%; margin: 0; overflow: hidden; background: #091322; border: 1px solid var(--border); border-radius: 8px; text-align: center; }
.sax-figure img { display: block; width: auto; max-width: calc(100% - 2rem); height: auto; max-height: 500px; margin: 1rem auto; object-fit: contain; }
.sax-figure figcaption { padding: .55rem .65rem .65rem; color: var(--text-secondary); background: rgba(255,255,255,.02); font-size: .76rem; line-height: 1.35; }
.sax-source { display: block; margin-top: .25rem; color: var(--text-muted); font-size: .7rem; }
.sax-source a, .sax-interpretation a { color: var(--accent); text-decoration: none; }
.sax-source a:hover, .sax-interpretation a:hover { color: var(--accent-hover); text-decoration: underline; }
.sax-label { display: flex; align-items: center; gap: .45rem; margin-bottom: .65rem; color: var(--text-primary); font-size: .78rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.sax-interpretation-icon { display: block; width: 30px; height: 30px; flex: 0 0 30px; object-fit: contain; transform: scale(1.45); transform-origin: center; }
.sax-final-link { margin-top: 1rem !important; }

/* ---------- Reports ---------- */
.sar-section { margin-bottom: 2.5rem; }
.sar-heading { margin-bottom: 1rem; }
.sar-heading h2 { margin: 0; color: var(--text-primary); font-size: 1.35rem; font-weight: 650; }
.sar-card { overflow: hidden; background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow); }
.sar-main-figure { width: min(100%,900px); max-width: 900px; margin: 0 auto; padding: 1rem; overflow: hidden; background: #091322; border: 1px solid var(--border); border-radius: 8px; text-align: center; }
.sar-main-figure img { display: block; width: 100%; max-width: 100%; height: auto; margin: 0 auto; object-fit: contain; transform: scale(.67); transform-origin: center; }
.sar-main-figure figcaption { padding: .55rem .65rem .65rem; color: var(--text-secondary); background: rgba(255,255,255,.02); font-size: .76rem; line-height: 1.35; }
.sar-source { display: block; margin-top: .25rem; color: var(--text-muted); font-size: .7rem; }
.sar-source a, .sar-interpretation a, .sar-links-list a { color: var(--accent); text-decoration: none; }
.sar-source a:hover, .sar-interpretation a:hover, .sar-links-list a:hover { color: var(--accent-hover); text-decoration: underline; }
.sar-interpretation { padding: 1.15rem 1.25rem; color: var(--text-secondary); font-size: .9rem; line-height: 1.65; border-top: 1px solid var(--border); }
.sar-interpretation p { margin: 0; }
.sar-label { display: flex; align-items: center; gap: .45rem; margin-bottom: .65rem; color: var(--text-primary); font-size: .78rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.sar-interpretation-icon { display: block; width: 30px; height: 30px; flex: 0 0 30px; object-fit: contain; transform: scale(1.45); transform-origin: center; }
.sar-links-list { display: flex; flex-direction: column; gap: .55rem; padding: 1rem 1.25rem; border-top: 1px solid var(--border); }
.sar-links-list a { display: block; padding: .65rem .8rem; background: rgba(255,255,255,.025); border: 1px solid var(--border); border-radius: 7px; }

/* ---------- Pictures of the Sun ---------- */
.sap-section { margin-bottom: 2.5rem; }
.sap-heading { margin-bottom: 1rem; }
.sap-heading h2 { margin: 0; color: var(--text-primary); font-size: 1.35rem; font-weight: 650; }
.sap-sdo-card, .sap-eit-card, .sap-lasco-card { overflow: hidden; background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow); }
.sap-information, .sap-interpretation { padding: 1.15rem 1.25rem; color: var(--text-secondary); font-size: .9rem; line-height: 1.65; }
.sap-information { border-bottom: 1px solid var(--border); }
.sap-interpretation { border-top: 1px solid var(--border); }
.sap-information p, .sap-interpretation p { margin: 0; }
.sap-information p + p, .sap-interpretation p + p { margin-top: .9rem; }
.sap-information ul, .sap-interpretation ul { margin: .5rem 0 0; padding-left: 1.25rem; }
.sap-information a, .sap-interpretation a { color: var(--accent); text-decoration: none; }
.sap-information a:hover, .sap-interpretation a:hover { color: var(--accent-hover); text-decoration: underline; }
.sap-label { display: flex; align-items: center; gap: .45rem; margin-bottom: .65rem; color: var(--text-primary); font-size: .78rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.sap-interpretation-icon { display: block; width: 30px; height: 30px; flex: 0 0 30px; object-fit: contain; transform: scale(1.45); transform-origin: center; }
.sap-sdo-gallery { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .75rem; padding: 1rem; }
.sap-sdo-figure, .sap-composite-figure, .sap-eit-figure, .sap-lasco-figure, .sap-mlso-figure { min-width: 0; margin: 0; overflow: hidden; background: #091322; border: 1px solid var(--border); border-radius: 8px; text-align: center; }
.sap-sdo-figure > a, .sap-composite-figure > a, .sap-eit-figure > a, .sap-lasco-figure > a { display: block; }
.sap-sdo-figure img { display: block; width: 100%; height: auto; aspect-ratio: 1/1; margin: 0 auto; object-fit: contain; }
.sap-composite-gallery { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .75rem; padding: 1rem; }
.sap-eit-gallery, .sap-lasco-gallery { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem; padding: 1rem; }
.sap-composite-figure img, .sap-eit-figure img, .sap-lasco-figure img { display: block; width: 100%; height: auto; max-height: 500px; margin: 0 auto; object-fit: contain; }
.sap-mlso-figure { max-width: 1000px; margin: 0 auto; padding: 1rem; }
.sap-mlso-figure img { display: block; width: 100%; max-width: 100%; height: auto; max-height: 500px; margin: 0 auto; object-fit: contain; }
.sap-sdo-figure figcaption, .sap-composite-figure figcaption, .sap-eit-figure figcaption, .sap-lasco-figure figcaption, .sap-mlso-figure figcaption { padding: .55rem .65rem .65rem; color: var(--text-secondary); background: rgba(255,255,255,.02); font-size: .76rem; line-height: 1.35; }
.sap-source { display: block; margin-top: .25rem; color: var(--text-muted); font-size: .7rem; }
.sap-source a { color: var(--accent); text-decoration: none; }
.sap-source a:hover { color: var(--accent-hover); text-decoration: underline; }
.sap-secondary-link { display: block; margin-top: .25rem; }
.sap-secondary-link a { color: var(--accent); }

/* ---------- Solar Flux Index and Sunspots ---------- */
.saf-section { margin-bottom: 2.5rem; }
.saf-heading { margin-bottom: 1rem; }
.saf-heading h2 { margin: 0; color: var(--text-primary); font-size: 1.35rem; font-weight: 650; }
.saf-card { overflow: hidden; background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow); }
.saf-information, .saf-interpretation { padding: 1.15rem 1.25rem; color: var(--text-secondary); font-size: .9rem; line-height: 1.65; }
.saf-information { border-bottom: 1px solid var(--border); }
.saf-interpretation { border-top: 1px solid var(--border); }
.saf-information p, .saf-interpretation p { margin: 0; }
.saf-information p + p, .saf-interpretation p + p { margin-top: .9rem; }
.saf-interpretation ul { margin: .5rem 0 0; padding-left: 1.25rem; }
.saf-information a, .saf-interpretation a { color: var(--accent); text-decoration: none; }
.saf-information a:hover, .saf-interpretation a:hover { color: var(--accent-hover); text-decoration: underline; }
.saf-label { display: flex; align-items: center; gap: .45rem; margin-bottom: .65rem; color: var(--text-primary); font-size: .78rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.saf-label i { color: var(--accent); font-size: .9rem; }
.saf-interpretation-icon { display: block; width: 30px; height: 30px; flex: 0 0 30px; object-fit: contain; transform: scale(1.45); transform-origin: center; }
.saf-sfi-figure, .saf-mdi-figure { max-width: 1000px; margin: 0 auto; padding: 1rem; overflow: hidden; background: #091322; border: 1px solid var(--border); border-radius: 8px; text-align: center; }
.saf-sfi-figure > a { display: block; }
.saf-sfi-figure img, .saf-mdi-figure img { display: block; width: 100%; max-width: 100%; height: auto; max-height: 500px; margin: 0 auto; object-fit: contain; }
.saf-sfi-figure figcaption, .saf-mdi-figure figcaption { padding: .55rem .65rem .65rem; color: var(--text-secondary); background: rgba(255,255,255,.02); font-size: .76rem; line-height: 1.35; }
.saf-source { display: block; margin-top: .25rem; color: var(--text-muted); font-size: .7rem; }
.saf-source a { color: var(--accent); text-decoration: none; }
.saf-source a:hover { color: var(--accent-hover); text-decoration: underline; }
.saf-table-wrap { overflow-x: auto; padding: 1rem 1.25rem; }
.saf-table { width: 100%; border-collapse: collapse; color: var(--text-secondary); font-size: .84rem; }
.saf-table th, .saf-table td { padding: .65rem .75rem; border: 1px solid var(--border); vertical-align: top; text-align: left; }
.saf-table th { color: var(--text-primary); background: rgba(255,255,255,.045); font-weight: 650; }
.saf-table td:first-child { width: 18%; color: var(--text-primary); font-weight: 650; white-space: nowrap; }
.saf-ngdc { display: flex; justify-content: center; padding: 1rem; border-top: 1px solid var(--border); }
.saf-ngdc img { display: block; width: auto; max-width: 100%; height: auto; }
.saf-plaintext { overflow-x: auto; margin: 0; padding: 1rem 1.25rem; color: var(--text-secondary); background: #091322; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); font-family: ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace; font-size: .78rem; line-height: 1.45; white-space: pre; }
.saf-sidc-gallery { display: grid; grid-template-columns: 1fr; gap: .75rem; max-width: 900px; margin-inline: auto; padding: 1rem; }
.saf-sidc-figure { width: 100%; min-width: 0; margin: 0; overflow: hidden; background: #091322; border: 1px solid var(--border); border-radius: 8px; text-align: center; }
.saf-sidc-figure img { display: block; width: 100%; height: auto; max-height: 500px; margin: 0 auto; object-fit: contain; }
.saf-sidc-figure figcaption { padding: .55rem .65rem .65rem; color: var(--text-secondary); background: rgba(255,255,255,.02); font-size: .76rem; line-height: 1.35; }

/* ---------- Solar Activity responsive rules ---------- */
@media (max-width: 991.98px) {
    .sap-sdo-gallery { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 767.98px) {
    .sai-section, .sax-section, .sar-section, .sap-section, .saf-section { margin-bottom: 2rem; }
    .sai-information { padding: 1rem; font-size: .86rem; }
    .sax-information, .sax-interpretation { padding: 1rem; font-size: .86rem; }
    .sar-interpretation { padding: 1rem; font-size: .86rem; }
    .sap-information, .sap-interpretation { padding: 1rem; font-size: .86rem; }
    .saf-information, .saf-interpretation { padding: 1rem; font-size: .86rem; }
    .sax-gallery { width: 100%; max-width: 100%; padding: .75rem; gap: .65rem; }
    .sax-figure img { width: auto; max-width: 75%; transform: none; }
    .sar-main-figure { width: 100%; max-width: 100%; padding: .75rem; }
    .sar-main-figure img { width: 82%; max-width: 82%; height: auto; transform: none; }
    .sap-sdo-gallery, .sap-composite-gallery, .sap-eit-gallery, .sap-lasco-gallery { grid-template-columns: repeat(2,minmax(0,1fr)); padding: .75rem; gap: .65rem; }
    .sap-sdo-figure figcaption, .sap-composite-figure figcaption, .sap-eit-figure figcaption, .sap-lasco-figure figcaption, .sap-mlso-figure figcaption { padding-inline: .45rem; font-size: .7rem; }
    .saf-table-wrap { padding: .75rem; }
    .saf-table { min-width: 620px; font-size: .78rem; }
    .saf-ngdc { padding: .85rem; }
    .saf-plaintext { padding: .85rem; font-size: .72rem; }
    .sax-source, .sar-source, .sap-source, .saf-source { font-size: .66rem; }
    .sax-interpretation-icon, .sar-interpretation-icon, .sap-interpretation-icon, .saf-interpretation-icon { width: 20px; height: 20px; flex-basis: 20px; }
}
@media (max-width: 575.98px) {
    .sai-main-figure, .sap-mlso-figure, .saf-sfi-figure, .saf-mdi-figure { padding: .6rem; }
    .sax-gallery, .sap-sdo-gallery, .sap-composite-gallery, .sap-eit-gallery, .sap-lasco-gallery, .saf-sidc-gallery { gap: .5rem; padding: .6rem; }
    .sax-label, .sar-label, .sap-label, .saf-label { font-size: .74rem; }
    .sar-links-list { padding: .75rem; }
}
@media (max-width: 400px) {
    .sax-interpretation-icon, .sar-interpretation-icon, .sap-interpretation-icon, .saf-interpretation-icon { width: 19px; height: 19px; flex-basis: 19px; }
}


/* =========================================================
   Build v8 — Solar Activity / Reports / BBSO report card
   Keeps the BBSO report visually separate from the ASWFC card.
   ========================================================= */

.sar-bbso-card {
    margin-top: 1rem;
    overflow: hidden;
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
}

.sar-bbso-report-link {
    display: block;
    margin: 1rem 1.25rem;
    padding: 0.65rem 0.8rem;
    color: var(--accent);
    background: rgba(255, 255, 255, 0.025);
    border: 1px solid var(--border);
    border-radius: 7px;
    text-decoration: none;
}

.sar-bbso-report-link:hover {
    color: var(--accent-hover);
    text-decoration: underline;
}

.sar-bbso-interpretation {
    padding: 1.15rem 1.25rem;
    color: var(--text-secondary);
    font-size: 0.9rem;
    line-height: 1.65;
    border-top: 1px solid var(--border);
}

.sar-bbso-interpretation p { margin: 0; }

.sar-bbso-label {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    margin-bottom: 0.65rem;
    color: var(--text-primary);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.sar-bbso-interpretation-icon {
    display: block;
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    object-fit: contain;
    transform: scale(1.45);
    transform-origin: center;
}

@media (max-width: 767.98px) {
    .sar-bbso-interpretation {
        padding: 1rem;
        font-size: 0.86rem;
    }
    .sar-bbso-interpretation-icon {
        width: 20px;
        height: 20px;
        flex-basis: 20px;
    }
}

@media (max-width: 575.98px) {
    .sar-bbso-report-link { margin: 0.75rem; }
    .sar-bbso-label { font-size: 0.74rem; }
}

@media (max-width: 400px) {
    .sar-bbso-interpretation-icon {
        width: 19px;
        height: 19px;
        flex-basis: 19px;
    }
}


/* =========================================================
   Solar Activity — Pictures of the Sun refinements v10
   Appended to preserve all existing index.php styling.
   ========================================================= */

/* Give each Pictures-of-the-Sun card its own vertical separation. */
.sap-eit-card,
.sap-lasco-card,
.sap-mlso-card {
    margin-top: 1.5rem;
}

/* Dedicated Mauna Loa card. */
.sap-mlso-card {
    overflow: hidden;
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
}

.sap-mlso-information {
    padding: 1.15rem 1.25rem;
    color: var(--text-secondary);
    font-size: 0.9rem;
    line-height: 1.65;
    border-bottom: 1px solid var(--border);
}

.sap-mlso-information p {
    margin: 0;
}

/* SOHO EIT: four thumbnails in one row on desktop. */
@media (min-width: 768px) {
    .sap-eit-gallery {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

/* Preserve the existing 2-column mobile layout. */
@media (max-width: 767.98px) {
    .sap-eit-card,
    .sap-lasco-card,
    .sap-mlso-card {
        margin-top: 1.25rem;
    }

    .sap-eit-gallery {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sap-mlso-information {
        padding: 1rem;
        font-size: 0.86rem;
    }
}


/* =========================================================
   BUILD: style-refactor-20260819-v11
   Solar Activity — Introduction SUVI source only
   ========================================================= */

.sai-source {
    display: block;
    margin-top: 0.25rem;
    color: var(--text-muted);
    font-size: 0.7rem;
}

.sai-source a {
    color: var(--accent);
    text-decoration: none;
}

.sai-source a:hover {
    color: var(--accent-hover);
    text-decoration: underline;
}


/* BUILD: style-refactor-20260819-v12 — based on v11; Solar Flux/Sunspots refinements only */


/* =========================================================
   Solar Flux Index and Sunspots — isolated card refinements
   ========================================================= */

/* Card 1: Solar Flux Index */
.saf-flux-card {
    overflow: hidden;
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
}

/* Match the desktop visual width of the Solar X-Ray plots. */
.saf-sfi-figure {
    max-width: 900px;
    padding: 0;
}

.saf-sfi-figure img {
    width: auto;
    max-width: calc(100% - 2rem);
    height: auto;
    margin: 1rem auto;
}

/* Card 2: Sunspot classification + MDI */
.saf-sunspot-classification-card {
    margin-top: 1.25rem;
    overflow: hidden;
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
}

/* Card 3: Sunspot datasets / VOACAP / SIDC */
.saf-sunspot-data-card {
    margin-top: 1.25rem;
    overflow: hidden;
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
}

/* Center the fixed-width KFprediML.txt content while preserving whitespace. */
.saf-plaintext {
    text-align: center;
}

@media (max-width: 767.98px) {
    .saf-sfi-figure {
        max-width: 100%;
    }

    .saf-sfi-figure img {
        max-width: calc(100% - 1.2rem);
        margin: 0.6rem auto;
    }
}


/* =========================================================
   BUILD: style-refactor-20260819-v13
   Solar Activity — subsection headings and SFI/Sunspot card split
   Appended to preserve all existing index.php styling.
   ========================================================= */

/* Pictures of the Sun: card-specific H3 headings. */
.sap-sdo-card .sap-information h3,
.sap-eit-card .sap-information h3,
.sap-lasco-card .sap-information h3,
.sap-mlso-card .sap-mlso-information h3 {
    margin: 0 0 0.65rem;
    color: var(--text-primary);
    font-size: 1.05rem;
    font-weight: 650;
    line-height: 1.3;
}

/* Solar Flux / Sunspots: card-specific H3 headings. */
.saf-flux-card .saf-information h3,
.saf-sunspot-classification-card .saf-information h3,
.saf-sunspot-data-card .saf-information h3 {
    margin: 0 0 0.65rem;
    color: var(--text-primary);
    font-size: 1.05rem;
    font-weight: 650;
    line-height: 1.3;
}

/* VOACAP is an independent card. */
.saf-voacap-card {
    margin-top: 1.25rem;
    overflow: hidden;
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
}

.saf-voacap-information {
    padding: 1.15rem 1.25rem;
    color: var(--text-secondary);
    font-size: 0.9rem;
    line-height: 1.65;
    border-bottom: 1px solid var(--border);
}

.saf-voacap-heading-line {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 0.55rem;
}

.saf-voacap-heading-line h3 {
    flex: 0 0 auto;
    margin: 0;
    color: var(--text-primary);
    font-size: 1.05rem;
    font-weight: 650;
    line-height: 1.3;
}

.saf-voacap-heading-line p {
    margin: 0;
    flex: 1 1 500px;
}

.saf-voacap-heading-line a {
    color: var(--accent);
    text-decoration: none;
}

.saf-voacap-heading-line a:hover {
    color: var(--accent-hover);
    text-decoration: underline;
}

/* SIDC ISN plots are an independent card. */
.saf-sidc-card {
    margin-top: 1.25rem;
    overflow: hidden;
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
}

.saf-sidc-information {
    padding: 1.15rem 1.25rem;
    color: var(--text-secondary);
    font-size: 0.9rem;
    line-height: 1.65;
    border-bottom: 1px solid var(--border);
}

.saf-sidc-information h3 {
    margin: 0 0 0.35rem;
    color: var(--text-primary);
    font-size: 1.05rem;
    font-weight: 650;
    line-height: 1.3;
}

.saf-sidc-information p {
    margin: 0;
}

@media (max-width: 767.98px) {
    .sap-sdo-card .sap-information h3,
    .sap-eit-card .sap-information h3,
    .sap-lasco-card .sap-information h3,
    .sap-mlso-card .sap-mlso-information h3,
    .saf-flux-card .saf-information h3,
    .saf-sunspot-classification-card .saf-information h3,
    .saf-sunspot-data-card .saf-information h3,
    .saf-voacap-heading-line h3,
    .saf-sidc-information h3 {
        font-size: 1rem;
    }

    .saf-voacap-information,
    .saf-sidc-information {
        padding: 1rem;
        font-size: 0.86rem;
    }

    .saf-voacap-heading-line {
        gap: 0.45rem;
    }
}


/* =========================================================
   BUILD: style-refactor-20260819-v14
   Solar X-Rays — section-specific H3 heading
   Appended to preserve all existing index.php and Solar Activity styling.
   ========================================================= */

.sax-card .sax-information h3 {
    margin: 0 0 0.65rem;
    color: var(--text-primary);
    font-size: 1.05rem;
    font-weight: 650;
    line-height: 1.3;
}

@media (max-width: 575.98px) {
    .sax-card .sax-information h3 {
        font-size: 1rem;
    }
}


/* =========================================================
   BUILD: style-refactor-20260820-v16
   Sun-Earth Interaction page
   Page-specific section classes only.
   Existing Index and Solar Activity rules above are unchanged.
   ========================================================= */

/* Introduction */
.sei-intro-section {
    margin-bottom: 2.5rem;
}

.sei-intro-heading {
    margin-bottom: 1rem;
}

.sei-intro-heading h2 {
    margin: 0;
    color: var(--text-primary);
    font-size: 1.35rem;
    font-weight: 650;
}

.sei-intro-card {
    overflow: hidden;
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
}

.sei-intro-text {
    padding: 1.15rem 1.25rem;
    color: var(--text-secondary);
    font-size: 0.9rem;
    line-height: 1.65;
}

.sei-intro-text p {
    margin: 0;
}

.sei-intro-text p + p {
    margin-top: 1.15rem;
}


/* Solar wind */
.sei-solarwind-section {
    margin-bottom: 2.5rem;
}

.sei-solarwind-heading {
    margin-bottom: 1rem;
}

.sei-solarwind-heading h2 {
    margin: 0;
    color: var(--text-primary);
    font-size: 1.35rem;
    font-weight: 650;
}

.sei-solarwind-card {
    overflow: hidden;
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
}

.sei-solarwind-placeholder {
    padding: 1.15rem 1.25rem;
    color: var(--text-muted);
    font-size: 0.9rem;
    line-height: 1.65;
}


/* Interplanetary Magnetic Field */
.sei-imf-section {
    margin-bottom: 2.5rem;
}

.sei-imf-heading {
    margin-bottom: 1rem;
}

.sei-imf-heading h2 {
    margin: 0;
    color: var(--text-primary);
    font-size: 1.35rem;
    font-weight: 650;
}

.sei-imf-card {
    overflow: hidden;
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
}

.sei-imf-placeholder {
    padding: 1.15rem 1.25rem;
    color: var(--text-muted);
    font-size: 0.9rem;
    line-height: 1.65;
}


/* Magnetopause status */
.sei-magnetopause-section {
    margin-bottom: 2.5rem;
}

.sei-magnetopause-heading {
    margin-bottom: 1rem;
}

.sei-magnetopause-heading h2 {
    margin: 0;
    color: var(--text-primary);
    font-size: 1.35rem;
    font-weight: 650;
}

.sei-magnetopause-card {
    overflow: hidden;
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
}

.sei-magnetopause-placeholder {
    padding: 1.15rem 1.25rem;
    color: var(--text-muted);
    font-size: 0.9rem;
    line-height: 1.65;
}


/* Responsive rules remain section-specific */
@media (max-width: 767.98px) {
    .sei-intro-section,
    .sei-solarwind-section,
    .sei-imf-section,
    .sei-magnetopause-section {
        margin-bottom: 2rem;
    }

    .sei-intro-text,
    .sei-solarwind-placeholder,
    .sei-imf-placeholder,
    .sei-magnetopause-placeholder {
        padding: 1rem;
        font-size: 0.86rem;
    }
}


/* =========================================================
   BUILD ADDITION: style-refactor-20260820-v17
   Solar wind / ACE-SWEPAM — dedicated classes
   ========================================================= */

.sei-solarwind-introduction {
    padding: 1.15rem 1.25rem;
    color: var(--text-secondary);
    font-size: 0.9rem;
    line-height: 1.65;
    border-bottom: 1px solid var(--border);
}

.sei-solarwind-introduction p {
    margin: 0;
}

.sei-solarwind-ace-figure {
    width: min(100% - 2rem, 900px);
    margin: 1rem auto;
    overflow: hidden;
    background: #091322;
    border: 1px solid var(--border);
    border-radius: 8px;
    text-align: center;
}

.sei-solarwind-ace-figure > a {
    display: block;
    padding: 0.75rem;
}

.sei-solarwind-ace-figure img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
    object-fit: contain;
}

.sei-solarwind-ace-caption {
    display: block;
    padding: 0.65rem 0.75rem 0.75rem;
    color: var(--text-secondary);
    background: rgba(255, 255, 255, 0.02);
    font-size: 0.76rem;
    line-height: 1.4;
    border-top: 1px solid var(--border);
}

.sei-solarwind-ace-description {
    display: block;
}

.sei-solarwind-ace-source {
    display: block;
    margin-top: 0.3rem;
    color: var(--text-muted);
    font-size: 0.7rem;
}

.sei-solarwind-ace-source a {
    color: var(--accent);
    text-decoration: none;
}

.sei-solarwind-ace-source a:hover {
    color: var(--accent-hover);
    text-decoration: underline;
}

.sei-solarwind-interpretation {
    padding: 1.15rem 1.25rem;
    color: var(--text-secondary);
    font-size: 0.9rem;
    line-height: 1.65;
    border-top: 1px solid var(--border);
}

.sei-solarwind-interpretation-label {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    margin-bottom: 0.65rem;
    color: var(--text-primary);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.sei-solarwind-interpretation-icon {
    display: block;
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    object-fit: contain;
}

.sei-solarwind-interpretation p {
    margin: 0;
}

@media (max-width: 767.98px) {
    .sei-solarwind-introduction,
    .sei-solarwind-interpretation {
        padding: 1rem;
        font-size: 0.86rem;
    }

    .sei-solarwind-ace-figure {
        width: calc(100% - 1.5rem);
        margin: 0.75rem auto;
    }

    .sei-solarwind-ace-figure > a {
        padding: 0.55rem;
    }

    .sei-solarwind-interpretation-icon {
        width: 30px;
        height: 30px;
        flex-basis: 30px;
    }
}


/* =========================================================
   BUILD ADDITION: style-refactor-20260820-v18
   Interplanetary Magnetic Field / clock angle
   Dedicated classes only
   ========================================================= */

.sei-imf-introduction {
    padding: 1.15rem 1.25rem;
    color: var(--text-secondary);
    font-size: 0.9rem;
    line-height: 1.65;
    border-bottom: 1px solid var(--border);
}

.sei-imf-introduction p {
    margin: 0;
}

.sei-imf-introduction p + p {
    margin-top: 1.15rem;
}

.sei-imf-clock-figure {
    width: min(100% - 2rem, 900px);
    margin: 1rem auto;
    overflow: hidden;
    background: #091322;
    border: 1px solid var(--border);
    border-radius: 8px;
    text-align: center;
}

.sei-imf-clock-figure > a {
    display: block;
    padding: 0.75rem;
}

.sei-imf-clock-figure img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
    object-fit: contain;
}

.sei-imf-clock-caption {
    display: block;
    padding: 0.65rem 0.75rem 0.75rem;
    color: var(--text-secondary);
    background: rgba(255, 255, 255, 0.02);
    font-size: 0.76rem;
    line-height: 1.4;
    border-top: 1px solid var(--border);
}

.sei-imf-clock-description {
    display: block;
}

.sei-imf-clock-source {
    display: block;
    margin-top: 0.3rem;
    color: var(--text-muted);
    font-size: 0.7rem;
}

.sei-imf-clock-source a {
    color: var(--accent);
    text-decoration: none;
}

.sei-imf-clock-source a:hover {
    color: var(--accent-hover);
    text-decoration: underline;
}

.sei-imf-interpretation {
    padding: 1.15rem 1.25rem;
    color: var(--text-secondary);
    font-size: 0.9rem;
    line-height: 1.65;
    border-top: 1px solid var(--border);
}

.sei-imf-interpretation-label {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    margin-bottom: 0.65rem;
    color: var(--text-primary);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.sei-imf-interpretation-icon {
    display: block;
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    object-fit: contain;
}

.sei-imf-interpretation p {
    margin: 0;
}

.sei-imf-interpretation p + p {
    margin-top: 1.15rem;
}

.sei-imf-clock-convention {
    margin-top: 1.15rem;
}

.sei-imf-clock-convention ul {
    margin: 0.55rem 0 0;
    padding-left: 1.35rem;
}

.sei-imf-clock-convention li + li {
    margin-top: 0.25rem;
}

@media (max-width: 767.98px) {
    .sei-imf-introduction,
    .sei-imf-interpretation {
        padding: 1rem;
        font-size: 0.86rem;
    }

    .sei-imf-clock-figure {
        width: calc(100% - 1.5rem);
        margin: 0.75rem auto;
    }

    .sei-imf-clock-figure > a {
        padding: 0.55rem;
    }

    .sei-imf-interpretation-icon {
        width: 30px;
        height: 30px;
        flex-basis: 30px;
    }
}


/* =========================================================
   BUILD ADDITION: style-refactor-20260820-v19
   Magnetopause status / Geospace pressure
   Dedicated classes only
   ========================================================= */

.sei-magnetopause-introduction {
    padding: 1.15rem 1.25rem;
    color: var(--text-secondary);
    font-size: 0.9rem;
    line-height: 1.65;
    border-bottom: 1px solid var(--border);
}

.sei-magnetopause-introduction p {
    margin: 0;
}

.sei-magnetopause-pressure-figure {
    width: min(100% - 2rem, 1000px);
    margin: 1rem auto;
    overflow: hidden;
    background: #091322;
    border: 1px solid var(--border);
    border-radius: 8px;
    text-align: center;
}

.sei-magnetopause-pressure-figure > a {
    display: block;
    padding: 0.75rem;
}

.sei-magnetopause-pressure-figure img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
    object-fit: contain;
}

.sei-magnetopause-pressure-caption {
    display: block;
    padding: 0.65rem 0.75rem 0.75rem;
    color: var(--text-secondary);
    background: rgba(255, 255, 255, 0.02);
    font-size: 0.76rem;
    line-height: 1.4;
    border-top: 1px solid var(--border);
}

.sei-magnetopause-pressure-description {
    display: block;
}

.sei-magnetopause-pressure-source {
    display: block;
    margin-top: 0.3rem;
    color: var(--text-muted);
    font-size: 0.7rem;
}

.sei-magnetopause-pressure-source a {
    color: var(--accent);
    text-decoration: none;
}

.sei-magnetopause-pressure-source a:hover {
    color: var(--accent-hover);
    text-decoration: underline;
}

.sei-magnetopause-interpretation {
    padding: 1.15rem 1.25rem;
    color: var(--text-secondary);
    font-size: 0.9rem;
    line-height: 1.65;
    border-top: 1px solid var(--border);
}

.sei-magnetopause-interpretation-label {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    margin-bottom: 0.65rem;
    color: var(--text-primary);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.sei-magnetopause-interpretation-icon {
    display: block;
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    object-fit: contain;
}

.sei-magnetopause-interpretation p {
    margin: 0;
}

.sei-magnetopause-interpretation p + p {
    margin-top: 1.15rem;
}

@media (max-width: 767.98px) {
    .sei-magnetopause-introduction,
    .sei-magnetopause-interpretation {
        padding: 1rem;
        font-size: 0.86rem;
    }

    .sei-magnetopause-pressure-figure {
        width: calc(100% - 1.5rem);
        margin: 0.75rem auto;
    }

    .sei-magnetopause-pressure-figure > a {
        padding: 0.55rem;
    }

    .sei-magnetopause-interpretation-icon {
        width: 30px;
        height: 30px;
        flex-basis: 30px;
    }
}


/* =========================================================
   BUILD ADDITION: style-refactor-20260820-v20
   Solar Radiation Storms page
   Page-specific content classes only: srs-*
   Existing Index, Solar Activity and Sun-Earth Interaction
   rules above are unchanged.
   ========================================================= */

/* Introduction */
.srs-intro-section {
    margin-bottom: 2.5rem;
}

.srs-intro-heading {
    margin-bottom: 1rem;
}

.srs-intro-heading h2 {
    margin: 0;
    color: var(--text-primary);
    font-size: 1.35rem;
    font-weight: 650;
}

.srs-intro-card {
    overflow: hidden;
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
}

.srs-intro-text {
    padding: 1.15rem 1.25rem;
    color: var(--text-secondary);
    font-size: 0.9rem;
    line-height: 1.65;
}

.srs-intro-text p {
    margin: 0;
}

.srs-intro-text p + p {
    margin-top: 1.15rem;
}


/* Alerts and Forecasts */
.srs-alerts-section {
    margin-bottom: 2.5rem;
}

.srs-alerts-heading {
    margin-bottom: 1rem;
}

.srs-alerts-heading h2 {
    margin: 0;
    color: var(--text-primary);
    font-size: 1.35rem;
    font-weight: 650;
}

.srs-alerts-card {
    overflow: hidden;
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
}

.srs-alerts-placeholder {
    padding: 1.15rem 1.25rem;
    color: var(--text-muted);
    font-size: 0.9rem;
    line-height: 1.65;
}


/* Solar Proton Events (SPE) Monitors */
.srs-spe-section {
    margin-bottom: 2.5rem;
}

.srs-spe-heading {
    margin-bottom: 1rem;
}

.srs-spe-heading h2 {
    margin: 0;
    color: var(--text-primary);
    font-size: 1.35rem;
    font-weight: 650;
}

.srs-spe-card {
    overflow: hidden;
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
}

.srs-spe-placeholder {
    padding: 1.15rem 1.25rem;
    color: var(--text-muted);
    font-size: 0.9rem;
    line-height: 1.65;
}


/* Responsive rules remain subsection-specific */
@media (max-width: 767.98px) {
    .srs-intro-section,
    .srs-alerts-section,
    .srs-spe-section {
        margin-bottom: 2rem;
    }

    .srs-intro-text {
        padding: 1rem;
        font-size: 0.86rem;
    }

    .srs-alerts-placeholder {
        padding: 1rem;
        font-size: 0.86rem;
    }

    .srs-spe-placeholder {
        padding: 1rem;
        font-size: 0.86rem;
    }
}


/* =========================================================
   BUILD ADDITION: style-refactor-20260820-v21
   Solar Radiation Storms — NOAA Alerts and Forecasts
   Dedicated srs-alerts-* classes only.
   ========================================================= */

.srs-alerts-gallery {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
    padding: 1rem;
    align-items: stretch;
}

/* Alert figure */
.srs-alerts-alert-figure {
    min-width: 0;
    margin: 0;
    overflow: hidden;
    background: #091322;
    border: 1px solid var(--border);
    border-radius: 8px;
    text-align: center;
}

.srs-alerts-alert-figure > a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 0;
    padding: 0.55rem;
}

.srs-alerts-alert-figure img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
    object-fit: contain;
}

.srs-alerts-alert-caption {
    padding: 0.6rem 0.55rem 0.7rem;
    color: var(--text-secondary);
    background: rgba(255, 255, 255, 0.02);
    font-size: 0.76rem;
    line-height: 1.35;
    border-top: 1px solid var(--border);
}

/* 24-hour figure */
.srs-alerts-24h-figure {
    min-width: 0;
    margin: 0;
    overflow: hidden;
    background: #091322;
    border: 1px solid var(--border);
    border-radius: 8px;
    text-align: center;
}

.srs-alerts-24h-figure > a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 0;
    padding: 0.55rem;
}

.srs-alerts-24h-figure img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
    object-fit: contain;
}

.srs-alerts-24h-caption {
    padding: 0.6rem 0.55rem 0.7rem;
    color: var(--text-secondary);
    background: rgba(255, 255, 255, 0.02);
    font-size: 0.76rem;
    line-height: 1.35;
    border-top: 1px solid var(--border);
}

/* 48-hour figure */
.srs-alerts-48h-figure {
    min-width: 0;
    margin: 0;
    overflow: hidden;
    background: #091322;
    border: 1px solid var(--border);
    border-radius: 8px;
    text-align: center;
}

.srs-alerts-48h-figure > a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 0;
    padding: 0.55rem;
}

.srs-alerts-48h-figure img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
    object-fit: contain;
}

.srs-alerts-48h-caption {
    padding: 0.6rem 0.55rem 0.7rem;
    color: var(--text-secondary);
    background: rgba(255, 255, 255, 0.02);
    font-size: 0.76rem;
    line-height: 1.35;
    border-top: 1px solid var(--border);
}

/* 72-hour figure */
.srs-alerts-72h-figure {
    min-width: 0;
    margin: 0;
    overflow: hidden;
    background: #091322;
    border: 1px solid var(--border);
    border-radius: 8px;
    text-align: center;
}

.srs-alerts-72h-figure > a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 0;
    padding: 0.55rem;
}

.srs-alerts-72h-figure img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
    object-fit: contain;
}

.srs-alerts-72h-caption {
    padding: 0.6rem 0.55rem 0.7rem;
    color: var(--text-secondary);
    background: rgba(255, 255, 255, 0.02);
    font-size: 0.76rem;
    line-height: 1.35;
    border-top: 1px solid var(--border);
}

/* Interpretation */
.srs-alerts-interpretation {
    padding: 1.15rem 1.25rem;
    color: var(--text-secondary);
    font-size: 0.9rem;
    line-height: 1.65;
    border-top: 1px solid var(--border);
}

.srs-alerts-interpretation-label {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    margin-bottom: 0.65rem;
    color: var(--text-primary);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.srs-alerts-interpretation-icon {
    display: block;
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    object-fit: contain;
}

.srs-alerts-interpretation p {
    margin: 0;
}

.srs-alerts-interpretation p + p {
    margin-top: 1.15rem;
}

/* S-scale table */
.srs-alerts-scale-table-wrap {
    width: 100%;
    margin-top: 0.9rem;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.srs-alerts-scale-table {
    width: 100%;
    border-collapse: collapse;
    color: var(--text-secondary);
    font-size: 0.84rem;
    line-height: 1.45;
}

.srs-alerts-scale-table th,
.srs-alerts-scale-table td {
    padding: 0.65rem 0.75rem;
    border: 1px solid var(--border);
    text-align: left;
    vertical-align: top;
}

.srs-alerts-scale-table th {
    color: var(--text-primary);
    background: rgba(255, 255, 255, 0.04);
    font-weight: 700;
}

.srs-alerts-scale-table td:first-child {
    width: 10rem;
    white-space: nowrap;
    color: var(--text-primary);
}

.srs-alerts-scale-source {
    margin-top: 1.15rem !important;
}

.srs-alerts-scale-source a {
    color: var(--accent);
    text-decoration: none;
}

.srs-alerts-scale-source a:hover {
    color: var(--accent-hover);
    text-decoration: underline;
}

@media (max-width: 767.98px) {
    .srs-alerts-gallery {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.75rem;
        padding: 0.75rem;
    }

    .srs-alerts-alert-figure > a,
    .srs-alerts-24h-figure > a,
    .srs-alerts-48h-figure > a,
    .srs-alerts-72h-figure > a {
        padding: 0.4rem;
    }

    .srs-alerts-alert-caption,
    .srs-alerts-24h-caption,
    .srs-alerts-48h-caption,
    .srs-alerts-72h-caption {
        padding: 0.5rem 0.4rem 0.6rem;
        font-size: 0.7rem;
    }

    .srs-alerts-interpretation {
        padding: 1rem;
        font-size: 0.86rem;
    }

    .srs-alerts-interpretation-icon {
        width: 30px;
        height: 30px;
        flex-basis: 30px;
    }

    .srs-alerts-scale-table {
        min-width: 520px;
        font-size: 0.8rem;
    }
}


/* =========================================================
   BUILD ADDITION: style-refactor-20260820-v22
   Solar Radiation Storms — image sizing matched to index.php
   IMPORTANT: these are page-specific srs-* selectors only.
   No idx-* class is reused in solar-radiation-storms.php.
   ========================================================= */

/*
   alertS.PNG is displayed in index.php as a NOAA alert:
   desktop max-height 115px; mobile max-height 95px.
*/
.srs-alerts-alert-figure img {
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 115px;
    margin: 0 auto;
    object-fit: contain;
}

/*
   S_Prob_24/48/72 are displayed in index.php as forecast tiles:
   desktop max-height 125px.
*/
.srs-alerts-24h-figure img,
.srs-alerts-48h-figure img,
.srs-alerts-72h-figure img {
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 125px;
    margin: 0 auto;
    object-fit: contain;
}

/*
   Match the index.php image-area treatment without sharing
   the index.php classes.
*/
.srs-alerts-alert-figure > a,
.srs-alerts-24h-figure > a,
.srs-alerts-48h-figure > a,
.srs-alerts-72h-figure > a {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.55rem;
    background: #0b1729;
}

/* Mobile sizes copied from the corresponding index.php components. */
@media (max-width: 767.98px) {
    .srs-alerts-alert-figure img {
        max-height: 95px;
    }

    .srs-alerts-24h-figure img,
    .srs-alerts-48h-figure img,
    .srs-alerts-72h-figure img {
        max-height: 115px;
    }

    .srs-alerts-alert-figure > a,
    .srs-alerts-24h-figure > a,
    .srs-alerts-48h-figure > a,
    .srs-alerts-72h-figure > a {
        padding: 0.4rem;
    }
}

@media (max-width: 400px) {
    .srs-alerts-alert-figure img {
        max-height: 82px;
    }
}


/* =========================================================
   BUILD ADDITION: style-refactor-20260820-v23
   Solar Radiation Storms — hyperlinks without underlines.
   Dedicated srs-* selectors only.
   ========================================================= */

.srs-intro-card a,
.srs-alerts-card a,
.srs-spe-card a {
    text-decoration: none;
}

.srs-intro-card a:hover,
.srs-intro-card a:focus,
.srs-alerts-card a:hover,
.srs-alerts-card a:focus,
.srs-spe-card a:hover,
.srs-spe-card a:focus {
    text-decoration: none;
}


/* =========================================================
   BUILD ADDITION: style-refactor-20260820-v24
   Solar Radiation Storms — SPE monitors
   Dedicated classes for each monitor; no cross-monitor figure
   or interpretation classes are shared.
   ========================================================= */

/* SPE introduction */
.srs-spe-introduction {
    padding: 1.15rem 1.25rem;
    color: var(--text-secondary);
    font-size: 0.9rem;
    line-height: 1.65;
    border-bottom: 1px solid var(--border);
}

.srs-spe-introduction p {
    margin: 0;
}


/* University of Maryland / PM_Min monitor */
.srs-spe-pm-block {
    padding: 1rem;
    border-bottom: 1px solid var(--border);
}

.srs-spe-pm-figure {
    width: min(100%, 900px);
    margin: 0 auto;
    overflow: hidden;
    background: #091322;
    border: 1px solid var(--border);
    border-radius: 8px;
    text-align: center;
}

.srs-spe-pm-figure > a {
    display: block;
    padding: 0.75rem;
}

.srs-spe-pm-figure img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
    object-fit: contain;
}

.srs-spe-pm-caption {
    display: block;
    padding: 0.65rem 0.75rem 0.75rem;
    color: var(--text-secondary);
    background: rgba(255, 255, 255, 0.02);
    font-size: 0.76rem;
    line-height: 1.4;
    border-top: 1px solid var(--border);
}

.srs-spe-pm-description {
    display: block;
}

.srs-spe-pm-source {
    display: block;
    margin-top: 0.3rem;
    color: var(--text-muted);
    font-size: 0.7rem;
}

.srs-spe-pm-source a {
    color: var(--accent);
    text-decoration: none;
}

.srs-spe-pm-source a:hover,
.srs-spe-pm-source a:focus {
    color: var(--accent-hover);
    text-decoration: none;
}

.srs-spe-pm-interpretation {
    max-width: 900px;
    margin: 1rem auto 0;
    padding: 1rem 1.1rem;
    color: var(--text-secondary);
    background: rgba(255, 255, 255, 0.018);
    border: 1px solid var(--border);
    border-radius: 8px;
    font-size: 0.9rem;
    line-height: 1.65;
}

.srs-spe-pm-interpretation-label {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    margin-bottom: 0.65rem;
    color: var(--text-primary);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.srs-spe-pm-interpretation-icon {
    display: block;
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    object-fit: contain;
}

.srs-spe-pm-interpretation p {
    margin: 0;
}


/* NOAA/SWPC ACE EPAM monitor */
.srs-spe-ace-block {
    padding: 1rem;
}

.srs-spe-ace-figure {
    width: min(100%, 900px);
    margin: 0 auto;
    overflow: hidden;
    background: #091322;
    border: 1px solid var(--border);
    border-radius: 8px;
    text-align: center;
}

.srs-spe-ace-figure > a {
    display: block;
    padding: 0.75rem;
}

.srs-spe-ace-figure img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
    object-fit: contain;
}

.srs-spe-ace-caption {
    display: block;
    padding: 0.65rem 0.75rem 0.75rem;
    color: var(--text-secondary);
    background: rgba(255, 255, 255, 0.02);
    font-size: 0.76rem;
    line-height: 1.4;
    border-top: 1px solid var(--border);
}

.srs-spe-ace-description {
    display: block;
}

.srs-spe-ace-source {
    display: block;
    margin-top: 0.3rem;
    color: var(--text-muted);
    font-size: 0.7rem;
}

.srs-spe-ace-source a {
    color: var(--accent);
    text-decoration: none;
}

.srs-spe-ace-source a:hover,
.srs-spe-ace-source a:focus {
    color: var(--accent-hover);
    text-decoration: none;
}

.srs-spe-ace-interpretation {
    max-width: 900px;
    margin: 1rem auto 0;
    padding: 1rem 1.1rem;
    color: var(--text-secondary);
    background: rgba(255, 255, 255, 0.018);
    border: 1px solid var(--border);
    border-radius: 8px;
    font-size: 0.9rem;
    line-height: 1.65;
}

.srs-spe-ace-interpretation-label {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    margin-bottom: 0.65rem;
    color: var(--text-primary);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.srs-spe-ace-interpretation-icon {
    display: block;
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    object-fit: contain;
}

.srs-spe-ace-interpretation p {
    margin: 0;
}

.srs-spe-ace-interpretation p + p {
    margin-top: 1.15rem;
}


@media (max-width: 767.98px) {
    .srs-spe-introduction {
        padding: 1rem;
        font-size: 0.86rem;
    }

    .srs-spe-pm-block,
    .srs-spe-ace-block {
        padding: 0.75rem;
    }

    .srs-spe-pm-figure > a,
    .srs-spe-ace-figure > a {
        padding: 0.55rem;
    }

    .srs-spe-pm-caption,
    .srs-spe-ace-caption {
        padding: 0.55rem 0.6rem 0.65rem;
        font-size: 0.7rem;
    }

    .srs-spe-pm-source,
    .srs-spe-ace-source {
        font-size: 0.66rem;
    }

    .srs-spe-pm-interpretation,
    .srs-spe-ace-interpretation {
        margin-top: 0.75rem;
        padding: 0.9rem;
        font-size: 0.86rem;
    }

    .srs-spe-pm-interpretation-icon,
    .srs-spe-ace-interpretation-icon {
        width: 30px;
        height: 30px;
        flex-basis: 30px;
    }
}


/* =========================================================
   BUILD ADDITION: style-refactor-20260820-v25
   Solar Radiation Storms — SPE monitor layout aligned with
   Sun-Earth Interaction visual structure.
   Dedicated srs-spe-* selectors only; no classes are shared.
   ========================================================= */

/*
   Match the Sun-Earth Interaction pattern:
   introduction -> centered figure -> full-width interpretation.
   Remove the nested "card inside card" appearance previously
   used for the SPE interpretation blocks.
*/

.srs-spe-pm-block {
    padding: 0;
    border-bottom: 1px solid var(--border);
}

.srs-spe-pm-figure {
    width: min(100% - 2rem, 900px);
    margin: 1rem auto;
}

.srs-spe-pm-interpretation {
    max-width: none;
    width: 100%;
    margin: 0;
    padding: 1.15rem 1.25rem;
    color: var(--text-secondary);
    background: transparent;
    border: 0;
    border-top: 1px solid var(--border);
    border-radius: 0;
    font-size: 0.9rem;
    line-height: 1.65;
}

.srs-spe-ace-block {
    padding: 0;
}

.srs-spe-ace-figure {
    width: min(100% - 2rem, 900px);
    margin: 1rem auto;
}

.srs-spe-ace-interpretation {
    max-width: none;
    width: 100%;
    margin: 0;
    padding: 1.15rem 1.25rem;
    color: var(--text-secondary);
    background: transparent;
    border: 0;
    border-top: 1px solid var(--border);
    border-radius: 0;
    font-size: 0.9rem;
    line-height: 1.65;
}

@media (max-width: 767.98px) {
    .srs-spe-pm-block,
    .srs-spe-ace-block {
        padding: 0;
    }

    .srs-spe-pm-figure,
    .srs-spe-ace-figure {
        width: calc(100% - 1.5rem);
        margin: 0.75rem auto;
    }

    .srs-spe-pm-interpretation,
    .srs-spe-ace-interpretation {
        margin: 0;
        padding: 1rem;
        font-size: 0.86rem;
    }
}


/* =========================================================
   BUILD ADDITION: style-refactor-20260820-v26
   Geomagnetic Storms page — dedicated gms-* classes only.
   ========================================================= */

.gms-intro-section { margin-bottom: 2.5rem; }
.gms-intro-heading { margin-bottom: 1rem; }
.gms-intro-heading h2 { margin: 0; color: var(--text-primary); font-size: 1.35rem; font-weight: 650; }
.gms-intro-card { overflow: hidden; background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow); }
.gms-intro-text { padding: 1.15rem 1.25rem; color: var(--text-secondary); font-size: 0.9rem; line-height: 1.65; }
.gms-intro-text p { margin: 0; }
.gms-intro-text p + p { margin-top: 1.15rem; }

.gms-alerts-section { margin-bottom: 2.5rem; }
.gms-alerts-heading { margin-bottom: 1rem; }
.gms-alerts-heading h2 { margin: 0; color: var(--text-primary); font-size: 1.35rem; font-weight: 650; }
.gms-alerts-card { overflow: hidden; background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow); }
.gms-alerts-placeholder { padding: 1.15rem 1.25rem; color: var(--text-muted); font-size: 0.9rem; line-height: 1.65; }

.gms-kp-section { margin-bottom: 2.5rem; }
.gms-kp-heading { margin-bottom: 1rem; }
.gms-kp-heading h2 { margin: 0; color: var(--text-primary); font-size: 1.35rem; font-weight: 650; }
.gms-kp-card { overflow: hidden; background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow); }
.gms-kp-placeholder { padding: 1.15rem 1.25rem; color: var(--text-muted); font-size: 0.9rem; line-height: 1.65; }

.gms-ap-section { margin-bottom: 2.5rem; }
.gms-ap-heading { margin-bottom: 1rem; }
.gms-ap-heading h2 { margin: 0; color: var(--text-primary); font-size: 1.35rem; font-weight: 650; }
.gms-ap-card { overflow: hidden; background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow); }
.gms-ap-placeholder { padding: 1.15rem 1.25rem; color: var(--text-muted); font-size: 0.9rem; line-height: 1.65; }

.gms-intro-card a,
.gms-alerts-card a,
.gms-kp-card a,
.gms-ap-card a { text-decoration: none; }

.gms-intro-card a:hover,
.gms-intro-card a:focus,
.gms-alerts-card a:hover,
.gms-alerts-card a:focus,
.gms-kp-card a:hover,
.gms-kp-card a:focus,
.gms-ap-card a:hover,
.gms-ap-card a:focus { text-decoration: none; }

@media (max-width: 767.98px) {
    .gms-intro-section { margin-bottom: 2rem; }
    .gms-alerts-section { margin-bottom: 2rem; }
    .gms-kp-section { margin-bottom: 2rem; }
    .gms-ap-section { margin-bottom: 2rem; }

    .gms-intro-text { padding: 1rem; font-size: 0.86rem; }
    .gms-alerts-placeholder { padding: 1rem; font-size: 0.86rem; }
    .gms-kp-placeholder { padding: 1rem; font-size: 0.86rem; }
    .gms-ap-placeholder { padding: 1rem; font-size: 0.86rem; }
}


/* =========================================================
   BUILD ADDITION: style-refactor-20260820-v27
   Geomagnetic Storms — NOAA Alerts and Forecasts
   Dedicated gms-alerts-* classes only.
   ========================================================= */

.gms-alerts-gallery {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
    padding: 1rem;
    align-items: stretch;
}

/* Each figure retains its own class so its dimensions can be
   adjusted independently later without affecting the others. */
.gms-alerts-alert-figure,
.gms-alerts-24h-figure,
.gms-alerts-48h-figure,
.gms-alerts-72h-figure {
    min-width: 0;
    margin: 0;
    overflow: hidden;
    background: #091322;
    border: 1px solid var(--border);
    border-radius: 8px;
    text-align: center;
}

.gms-alerts-alert-figure > a,
.gms-alerts-24h-figure > a,
.gms-alerts-48h-figure > a,
.gms-alerts-72h-figure > a {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.55rem;
    background: #0b1729;
}

.gms-alerts-alert-figure img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 115px;
    margin: 0 auto;
    object-fit: contain;
}

.gms-alerts-24h-figure img,
.gms-alerts-48h-figure img,
.gms-alerts-72h-figure img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 125px;
    margin: 0 auto;
    object-fit: contain;
}

.gms-alerts-alert-caption,
.gms-alerts-24h-caption,
.gms-alerts-48h-caption,
.gms-alerts-72h-caption {
    padding: 0.6rem 0.55rem 0.7rem;
    color: var(--text-secondary);
    background: rgba(255, 255, 255, 0.02);
    font-size: 0.76rem;
    line-height: 1.35;
    border-top: 1px solid var(--border);
}

.gms-alerts-interpretation {
    padding: 1.15rem 1.25rem;
    color: var(--text-secondary);
    font-size: 0.9rem;
    line-height: 1.65;
    border-top: 1px solid var(--border);
}

.gms-alerts-interpretation-label {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    margin-bottom: 0.65rem;
    color: var(--text-primary);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.gms-alerts-interpretation-icon {
    display: block;
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    object-fit: contain;
}

.gms-alerts-interpretation p {
    margin: 0;
}

.gms-alerts-interpretation p + p {
    margin-top: 1.15rem;
}

.gms-alerts-interpretation a {
    color: var(--accent);
    text-decoration: none;
}

.gms-alerts-interpretation a:hover,
.gms-alerts-interpretation a:focus {
    color: var(--accent-hover);
    text-decoration: none;
}

.gms-alerts-scale-table-wrap {
    width: 100%;
    margin-top: 0.9rem;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.gms-alerts-scale-table {
    width: 100%;
    border-collapse: collapse;
    color: var(--text-secondary);
    font-size: 0.84rem;
    line-height: 1.45;
}

.gms-alerts-scale-table th,
.gms-alerts-scale-table td {
    padding: 0.65rem 0.75rem;
    border: 1px solid var(--border);
    text-align: left;
    vertical-align: top;
}

.gms-alerts-scale-table th {
    color: var(--text-primary);
    background: rgba(255, 255, 255, 0.04);
    font-weight: 700;
}

.gms-alerts-scale-table td:first-child {
    width: 10rem;
    white-space: nowrap;
    color: var(--text-primary);
}

.gms-alerts-scale-source {
    margin-top: 1.15rem !important;
}

@media (max-width: 767.98px) {
    .gms-alerts-gallery {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.75rem;
        padding: 0.75rem;
    }

    .gms-alerts-alert-figure > a,
    .gms-alerts-24h-figure > a,
    .gms-alerts-48h-figure > a,
    .gms-alerts-72h-figure > a {
        padding: 0.4rem;
    }

    .gms-alerts-alert-figure img {
        max-height: 95px;
    }

    .gms-alerts-24h-figure img,
    .gms-alerts-48h-figure img,
    .gms-alerts-72h-figure img {
        max-height: 115px;
    }

    .gms-alerts-alert-caption,
    .gms-alerts-24h-caption,
    .gms-alerts-48h-caption,
    .gms-alerts-72h-caption {
        padding: 0.5rem 0.4rem 0.6rem;
        font-size: 0.7rem;
    }

    .gms-alerts-interpretation {
        padding: 1rem;
        font-size: 0.86rem;
    }

    .gms-alerts-interpretation-icon {
        width: 30px;
        height: 30px;
        flex-basis: 30px;
    }

    .gms-alerts-scale-table {
        min-width: 520px;
        font-size: 0.8rem;
    }
}

@media (max-width: 400px) {
    .gms-alerts-alert-figure img {
        max-height: 82px;
    }
}


/* =========================================================
   BUILD ADDITION: style-refactor-20260820-v28
   Geomagnetic Storms — Kp Index
   Dedicated gms-kp-* classes only.
   ========================================================= */

.gms-kp-introduction {
    padding: 1.15rem 1.25rem;
    color: var(--text-secondary);
    font-size: 0.9rem;
    line-height: 1.65;
    border-bottom: 1px solid var(--border);
}

.gms-kp-introduction p {
    margin: 0;
}

.gms-kp-introduction p + p {
    margin-top: 1.15rem;
}

.gms-kp-nowcast-figure {
    width: min(100% - 2rem, 900px);
    margin: 1rem auto;
    overflow: hidden;
    background: #091322;
    border: 1px solid var(--border);
    border-radius: 8px;
    text-align: center;
}

.gms-kp-nowcast-figure > a {
    display: block;
    padding: 0.75rem;
}

.gms-kp-nowcast-figure img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
    object-fit: contain;
}

.gms-kp-nowcast-caption {
    display: block;
    padding: 0.65rem 0.75rem 0.75rem;
    color: var(--text-secondary);
    background: rgba(255, 255, 255, 0.02);
    font-size: 0.76rem;
    line-height: 1.4;
    border-top: 1px solid var(--border);
}

.gms-kp-nowcast-description {
    display: block;
}

.gms-kp-nowcast-source {
    display: block;
    margin-top: 0.3rem;
    color: var(--text-muted);
    font-size: 0.7rem;
}

.gms-kp-nowcast-source a {
    color: var(--accent);
    text-decoration: none;
}

.gms-kp-nowcast-source a:hover,
.gms-kp-nowcast-source a:focus {
    color: var(--accent-hover);
    text-decoration: none;
}

.gms-kp-interpretation {
    padding: 1.15rem 1.25rem;
    color: var(--text-secondary);
    font-size: 0.9rem;
    line-height: 1.65;
    border-top: 1px solid var(--border);
}

.gms-kp-interpretation-label {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    margin-bottom: 0.65rem;
    color: var(--text-primary);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.gms-kp-interpretation-icon {
    display: block;
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    object-fit: contain;
}

.gms-kp-interpretation p {
    margin: 0;
}

.gms-kp-table-wrap {
    width: 100%;
    max-width: 860px;
    margin: 1rem auto 0;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.gms-kp-table {
    width: 100%;
    border-collapse: collapse;
    color: var(--text-secondary);
    font-size: 0.84rem;
    line-height: 1.45;
}

.gms-kp-table th,
.gms-kp-table td {
    padding: 0.65rem 0.75rem;
    border: 1px solid var(--border);
    text-align: center;
    vertical-align: middle;
}

.gms-kp-table th {
    color: var(--text-primary);
    background: rgba(255, 255, 255, 0.045);
    font-weight: 700;
}

.gms-kp-table th:last-child,
.gms-kp-table td:last-child {
    text-align: left;
}

.gms-kp-table td:first-child {
    white-space: nowrap;
}

.gms-kp-row-quiet td:first-child,
.gms-kp-row-quiet td:nth-child(2) {
    color: #65d46e;
}

.gms-kp-row-active td:first-child,
.gms-kp-row-active td:nth-child(2) {
    color: #e8d35e;
}

.gms-kp-row-storm td:first-child,
.gms-kp-row-storm td:nth-child(2) {
    color: #ff7272;
}

/*
 * ESA/GFZ Nowcast Kp colour grouping used by the Kp interpretation table:
 * Kp 0-3 = green, Kp 4-6 = yellow, Kp 7-9 = red.
 * The row classes are assigned accordingly in geomagnetic-storms.php.
 */

@media (max-width: 767.98px) {
    .gms-kp-introduction,
    .gms-kp-interpretation {
        padding: 1rem;
        font-size: 0.86rem;
    }

    .gms-kp-nowcast-figure {
        width: calc(100% - 1.5rem);
        margin: 0.75rem auto;
    }

    .gms-kp-nowcast-figure > a {
        padding: 0.55rem;
    }

    .gms-kp-nowcast-caption {
        padding: 0.55rem 0.6rem 0.65rem;
        font-size: 0.7rem;
    }

    .gms-kp-nowcast-source {
        font-size: 0.66rem;
    }

    .gms-kp-interpretation-icon {
        width: 30px;
        height: 30px;
        flex-basis: 30px;
    }

    .gms-kp-table {
        min-width: 650px;
        font-size: 0.78rem;
    }
}


/* =========================================================
   BUILD ADDITION: style-refactor-20260820-v29
   Geomagnetic Storms — Ap Index
   Dedicated gms-ap-* classes only.
   ========================================================= */

.gms-ap-introduction {
    padding: 1.15rem 1.25rem;
    color: var(--text-secondary);
    font-size: 0.9rem;
    line-height: 1.65;
    border-bottom: 1px solid var(--border);
}

.gms-ap-introduction p { margin: 0; }
.gms-ap-introduction p + p { margin-top: 1.15rem; }

.gms-ap-nowcast-figure {
    width: min(100% - 2rem, 900px);
    margin: 1rem auto;
    overflow: hidden;
    background: #091322;
    border: 1px solid var(--border);
    border-radius: 8px;
    text-align: center;
}

.gms-ap-nowcast-figure > a {
    display: block;
    padding: 0.75rem;
}

.gms-ap-nowcast-figure img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
    object-fit: contain;
}

.gms-ap-nowcast-caption {
    display: block;
    padding: 0.65rem 0.75rem 0.75rem;
    color: var(--text-secondary);
    background: rgba(255, 255, 255, 0.02);
    font-size: 0.76rem;
    line-height: 1.4;
    border-top: 1px solid var(--border);
}

.gms-ap-nowcast-description { display: block; }

.gms-ap-nowcast-source {
    display: block;
    margin-top: 0.3rem;
    color: var(--text-muted);
    font-size: 0.7rem;
}

.gms-ap-nowcast-source a {
    color: var(--accent);
    text-decoration: none;
}

.gms-ap-nowcast-source a:hover,
.gms-ap-nowcast-source a:focus {
    color: var(--accent-hover);
    text-decoration: none;
}

.gms-ap-interpretation {
    padding: 1.15rem 1.25rem;
    color: var(--text-secondary);
    font-size: 0.9rem;
    line-height: 1.65;
    border-top: 1px solid var(--border);
}

.gms-ap-interpretation-label {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    margin-bottom: 0.65rem;
    color: var(--text-primary);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.gms-ap-interpretation-icon {
    display: block;
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    object-fit: contain;
}

.gms-ap-interpretation p { margin: 0; }

.gms-ap-table-wrap {
    width: 100%;
    max-width: 860px;
    margin: 1rem auto 0;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.gms-ap-table {
    width: 100%;
    border-collapse: collapse;
    color: var(--text-secondary);
    font-size: 0.84rem;
    line-height: 1.45;
}

.gms-ap-table th,
.gms-ap-table td {
    padding: 0.65rem 0.75rem;
    border: 1px solid var(--border);
    text-align: center;
    vertical-align: middle;
}

.gms-ap-table th {
    color: var(--text-primary);
    background: rgba(255, 255, 255, 0.045);
    font-weight: 700;
}

.gms-ap-table th:last-child,
.gms-ap-table td:last-child {
    text-align: left;
}

.gms-ap-table td:first-child {
    white-space: nowrap;
}

.gms-ap-row-quiet td:first-child,
.gms-ap-row-quiet td:nth-child(2) {
    color: #65d46e;
}

.gms-ap-row-active td:first-child,
.gms-ap-row-active td:nth-child(2) {
    color: #e8d35e;
}

.gms-ap-row-storm td:first-child,
.gms-ap-row-storm td:nth-child(2) {
    color: #ff7272;
}

@media (max-width: 767.98px) {
    .gms-ap-introduction,
    .gms-ap-interpretation {
        padding: 1rem;
        font-size: 0.86rem;
    }

    .gms-ap-nowcast-figure {
        width: calc(100% - 1.5rem);
        margin: 0.75rem auto;
    }

    .gms-ap-nowcast-figure > a {
        padding: 0.55rem;
    }

    .gms-ap-nowcast-caption {
        padding: 0.55rem 0.6rem 0.65rem;
        font-size: 0.7rem;
    }

    .gms-ap-nowcast-source {
        font-size: 0.66rem;
    }

    .gms-ap-interpretation-icon {
        width: 30px;
        height: 30px;
        flex-basis: 30px;
    }

    .gms-ap-table {
        min-width: 650px;
        font-size: 0.78rem;
    }
}


/* =========================================================
   BUILD ADDITION: style-refactor-20260820-v30
   Geomagnetic Storms — test icon above Introduction.
   Dedicated gms-intro-section-icon class only.
   ========================================================= */

.gms-intro-section-icon {
    display: block;
    width: auto;
    height: 2.7rem;
    max-width: 100%;
    margin: 0 0 0.55rem 0;
    object-fit: contain;
}


/* =========================================================
   BUILD ADDITION: style-refactor-20260820-v31
   Geomagnetic Storms — larger icon inline with Introduction.
   ========================================================= */

.gms-intro-heading {
    display: flex;
    align-items: center;
    gap: 0.8rem;
}

.gms-intro-section-icon {
    width: auto;
    height: 5.4rem;
    max-width: none;
    margin: 0;
    flex: 0 0 auto;
    object-fit: contain;
}


/* =========================================================
   BUILD ADDITION: style-refactor-20260820-v32
   Solar Activity — icon inline with Introduction.
   Dedicated sai-intro-section-icon class only.
   ========================================================= */

.sai-heading {
    display: flex;
    align-items: center;
    gap: 0.8rem;
}

.sai-intro-section-icon {
    display: block;
    width: auto;
    height: 5.4rem;
    max-width: none;
    margin: 0;
    flex: 0 0 auto;
    object-fit: contain;
}


/* =========================================================
   BUILD ADDITION: style-refactor-20260820-v33
   Sun-Earth Interaction — icon inline with Introduction.
   Dedicated sei-intro-section-icon class only.
   ========================================================= */

.sei-intro-heading {
    display: flex;
    align-items: center;
    gap: 0.8rem;
}

.sei-intro-section-icon {
    display: block;
    width: auto;
    height: 5.4rem;
    max-width: none;
    margin: 0;
    flex: 0 0 auto;
    object-fit: contain;
}


/* =========================================================
   BUILD ADDITION: style-refactor-20260820-v34
   Solar Radiation Storms — icon inline with Introduction.
   Dedicated srs-intro-section-icon class only.
   ========================================================= */

.srs-intro-heading {
    display: flex;
    align-items: center;
    gap: 0.8rem;
}

.srs-intro-section-icon {
    display: block;
    width: auto;
    height: 5.4rem;
    max-width: none;
    margin: 0;
    flex: 0 0 auto;
    object-fit: contain;
}


/* =========================================================
   BUILD ADDITION: style-refactor-20260820-v35
   Ionosphere Status page
   Page-specific content classes only: ios-*
   No page-content classes are shared with other sections/pages.
   ========================================================= */

/* Introduction */
.ios-intro-section {
    margin-bottom: 2.5rem;
}

.ios-intro-heading {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    margin-bottom: 1rem;
}

.ios-intro-heading h2 {
    margin: 0;
    color: var(--text-primary);
    font-size: 1.35rem;
    font-weight: 650;
}

.ios-intro-section-icon {
    display: block;
    width: auto;
    height: 5.4rem;
    max-width: none;
    margin: 0;
    flex: 0 0 auto;
    object-fit: contain;
}

.ios-intro-card {
    overflow: hidden;
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
}

.ios-intro-text {
    padding: 1.15rem 1.25rem;
    color: var(--text-secondary);
    font-size: 0.9rem;
    line-height: 1.65;
}

.ios-intro-text p {
    margin: 0;
}

.ios-intro-text p + p {
    margin-top: 1.15rem;
}


/* Grade of Ionization (TEC Maps) */
.ios-tec-section {
    margin-bottom: 2.5rem;
}

.ios-tec-heading {
    margin-bottom: 1rem;
}

.ios-tec-heading h2 {
    margin: 0;
    color: var(--text-primary);
    font-size: 1.35rem;
    font-weight: 650;
}

.ios-tec-card {
    overflow: hidden;
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
}

.ios-tec-placeholder {
    padding: 1.15rem 1.25rem;
    color: var(--text-muted);
    font-size: 0.9rem;
    line-height: 1.65;
}


/* Hyperlinks on this page are not underlined */
.ios-intro-card a,
.ios-tec-card a {
    text-decoration: none;
}

.ios-intro-card a:hover,
.ios-intro-card a:focus,
.ios-tec-card a:hover,
.ios-tec-card a:focus {
    text-decoration: none;
}


/* Responsive rules remain section-specific */
@media (max-width: 767.98px) {
    .ios-intro-section,
    .ios-tec-section {
        margin-bottom: 2rem;
    }

    .ios-intro-text,
    .ios-tec-placeholder {
        padding: 1rem;
        font-size: 0.86rem;
    }
}


/* =========================================================
   BUILD ADDITION: style-refactor-20260820-v36
   Ionosphere Status — Grade of Ionization (TEC Maps)
   Each figure has dedicated ios-tec-* classes.
   ========================================================= */

/* Australian Space Weather TEC map */
.ios-tec-bom-figure {
    width: min(100% - 2rem, 900px);
    margin: 1rem auto;
    overflow: hidden;
    background: #091322;
    border: 1px solid var(--border);
    border-radius: 8px;
    text-align: center;
}

.ios-tec-bom-figure > a {
    display: block;
    padding: 0.75rem;
}

.ios-tec-bom-figure img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
    object-fit: contain;
}

.ios-tec-bom-caption {
    display: block;
    padding: 0.65rem 0.75rem 0.75rem;
    color: var(--text-secondary);
    background: rgba(255, 255, 255, 0.02);
    font-size: 0.76rem;
    line-height: 1.4;
    border-top: 1px solid var(--border);
}

.ios-tec-bom-description {
    display: block;
}

.ios-tec-bom-source {
    display: block;
    margin-top: 0.3rem;
    color: var(--text-muted);
    font-size: 0.7rem;
}

.ios-tec-bom-source a {
    color: var(--accent);
    text-decoration: none;
}

.ios-tec-bom-source a:hover,
.ios-tec-bom-source a:focus {
    color: var(--accent-hover);
    text-decoration: none;
}


/* JPL-NASA TEC map */
.ios-tec-jpl-figure {
    width: min(100% - 2rem, 900px);
    margin: 1rem auto;
    overflow: hidden;
    background: #091322;
    border: 1px solid var(--border);
    border-radius: 8px;
    text-align: center;
}

.ios-tec-jpl-figure > a {
    display: block;
    padding: 0.75rem;
}

.ios-tec-jpl-figure img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
    object-fit: contain;
}

.ios-tec-jpl-caption {
    display: block;
    padding: 0.65rem 0.75rem 0.75rem;
    color: var(--text-secondary);
    background: rgba(255, 255, 255, 0.02);
    font-size: 0.76rem;
    line-height: 1.4;
    border-top: 1px solid var(--border);
}

.ios-tec-jpl-description {
    display: block;
}

.ios-tec-jpl-source {
    display: block;
    margin-top: 0.3rem;
    color: var(--text-muted);
    font-size: 0.7rem;
}

.ios-tec-jpl-source a {
    color: var(--accent);
    text-decoration: none;
}

.ios-tec-jpl-source a:hover,
.ios-tec-jpl-source a:focus {
    color: var(--accent-hover);
    text-decoration: none;
}


/* DLR / IMPC Europe TEC map */
.ios-tec-dlr-figure {
    width: min(100% - 2rem, 900px);
    margin: 1rem auto;
    overflow: hidden;
    background: #091322;
    border: 1px solid var(--border);
    border-radius: 8px;
    text-align: center;
}

.ios-tec-dlr-figure > a {
    display: block;
    padding: 0.75rem;
}

.ios-tec-dlr-figure img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
    object-fit: contain;
}

.ios-tec-dlr-caption {
    display: block;
    padding: 0.65rem 0.75rem 0.75rem;
    color: var(--text-secondary);
    background: rgba(255, 255, 255, 0.02);
    font-size: 0.76rem;
    line-height: 1.4;
    border-top: 1px solid var(--border);
}

.ios-tec-dlr-description {
    display: block;
}

.ios-tec-dlr-source {
    display: block;
    margin-top: 0.3rem;
    color: var(--text-muted);
    font-size: 0.7rem;
}

.ios-tec-dlr-source a {
    color: var(--accent);
    text-decoration: none;
}

.ios-tec-dlr-source a:hover,
.ios-tec-dlr-source a:focus {
    color: var(--accent-hover);
    text-decoration: none;
}


/* TEC interpretation */
.ios-tec-interpretation {
    padding: 1.15rem 1.25rem;
    color: var(--text-secondary);
    font-size: 0.9rem;
    line-height: 1.65;
    border-top: 1px solid var(--border);
}

.ios-tec-interpretation-label {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    margin-bottom: 0.65rem;
    color: var(--text-primary);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.ios-tec-interpretation-icon {
    display: block;
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    object-fit: contain;
}

.ios-tec-interpretation p {
    margin: 0;
}

.ios-tec-interpretation p + p {
    margin-top: 1.15rem;
}


@media (max-width: 767.98px) {
    .ios-tec-bom-figure,
    .ios-tec-jpl-figure,
    .ios-tec-dlr-figure {
        width: calc(100% - 1.5rem);
        margin: 0.75rem auto;
    }

    .ios-tec-bom-figure > a,
    .ios-tec-jpl-figure > a,
    .ios-tec-dlr-figure > a {
        padding: 0.55rem;
    }

    .ios-tec-bom-caption,
    .ios-tec-jpl-caption,
    .ios-tec-dlr-caption {
        padding: 0.55rem 0.6rem 0.65rem;
        font-size: 0.7rem;
    }

    .ios-tec-bom-source,
    .ios-tec-jpl-source,
    .ios-tec-dlr-source {
        font-size: 0.66rem;
    }

    .ios-tec-interpretation {
        padding: 1rem;
        font-size: 0.86rem;
    }

    .ios-tec-interpretation-icon {
        width: 30px;
        height: 30px;
        flex-basis: 30px;
    }
}


/* =========================================================
   BUILD ADDITION: style-refactor-20260820-v37
   Radio Communications page
   Page-specific content classes only: rco-*
   ========================================================= */

/* Introduction */
.rco-intro-section { margin-bottom: 2.5rem; }

.rco-intro-heading {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    margin-bottom: 1rem;
}

.rco-intro-heading h2 {
    margin: 0;
    color: var(--text-primary);
    font-size: 1.35rem;
    font-weight: 650;
}

.rco-intro-section-icon {
    display: block;
    width: auto;
    height: 5.4rem;
    max-width: none;
    margin: 0;
    flex: 0 0 auto;
    object-fit: contain;
}

.rco-intro-card {
    overflow: hidden;
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
}

.rco-intro-text {
    padding: 1.15rem 1.25rem;
    color: var(--text-secondary);
    font-size: 0.9rem;
    line-height: 1.65;
}

.rco-intro-text p { margin: 0; }
.rco-intro-text p + p { margin-top: 1.15rem; }

/* Spectrum Monitors */
.rco-spectrum-section { margin-bottom: 2.5rem; }
.rco-spectrum-heading { margin-bottom: 1rem; }
.rco-spectrum-heading h2 { margin: 0; color: var(--text-primary); font-size: 1.35rem; font-weight: 650; }
.rco-spectrum-card { overflow: hidden; background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow); }
.rco-spectrum-placeholder { padding: 1.15rem 1.25rem; color: var(--text-muted); font-size: 0.9rem; line-height: 1.65; }

/* HF Absorption */
.rco-absorption-section { margin-bottom: 2.5rem; }
.rco-absorption-heading { margin-bottom: 1rem; }
.rco-absorption-heading h2 { margin: 0; color: var(--text-primary); font-size: 1.35rem; font-weight: 650; }
.rco-absorption-card { overflow: hidden; background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow); }
.rco-absorption-placeholder { padding: 1.15rem 1.25rem; color: var(--text-muted); font-size: 0.9rem; line-height: 1.65; }

/* Ionograms */
.rco-ionograms-section { margin-bottom: 2.5rem; }
.rco-ionograms-heading { margin-bottom: 1rem; }
.rco-ionograms-heading h2 { margin: 0; color: var(--text-primary); font-size: 1.35rem; font-weight: 650; }
.rco-ionograms-card { overflow: hidden; background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow); }
.rco-ionograms-placeholder { padding: 1.15rem 1.25rem; color: var(--text-muted); font-size: 0.9rem; line-height: 1.65; }

/* foF2 Maps */
.rco-fof2maps-section { margin-bottom: 2.5rem; }
.rco-fof2maps-heading { margin-bottom: 1rem; }
.rco-fof2maps-heading h2 { margin: 0; color: var(--text-primary); font-size: 1.35rem; font-weight: 650; }
.rco-fof2maps-card { overflow: hidden; background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow); }
.rco-fof2maps-placeholder { padding: 1.15rem 1.25rem; color: var(--text-muted); font-size: 0.9rem; line-height: 1.65; }

/* foF2 variations */
.rco-fof2var-section { margin-bottom: 2.5rem; }
.rco-fof2var-heading { margin-bottom: 1rem; }
.rco-fof2var-heading h2 { margin: 0; color: var(--text-primary); font-size: 1.35rem; font-weight: 650; }
.rco-fof2var-card { overflow: hidden; background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow); }
.rco-fof2var-placeholder { padding: 1.15rem 1.25rem; color: var(--text-muted); font-size: 0.9rem; line-height: 1.65; }

/* MUF(3000) */
.rco-muf3000-section { margin-bottom: 2.5rem; }
.rco-muf3000-heading { margin-bottom: 1rem; }
.rco-muf3000-heading h2 { margin: 0; color: var(--text-primary); font-size: 1.35rem; font-weight: 650; }
.rco-muf3000-card { overflow: hidden; background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow); }
.rco-muf3000-placeholder { padding: 1.15rem 1.25rem; color: var(--text-muted); font-size: 0.9rem; line-height: 1.65; }

/* Online MUF Calculators */
.rco-calculators-section { margin-bottom: 2.5rem; }
.rco-calculators-heading { margin-bottom: 1rem; }
.rco-calculators-heading h2 { margin: 0; color: var(--text-primary); font-size: 1.35rem; font-weight: 650; }
.rco-calculators-card { overflow: hidden; background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow); }
.rco-calculators-placeholder { padding: 1.15rem 1.25rem; color: var(--text-muted); font-size: 0.9rem; line-height: 1.65; }

/* Grey Line */
.rco-greyline-section { margin-bottom: 2.5rem; }
.rco-greyline-heading { margin-bottom: 1rem; }
.rco-greyline-heading h2 { margin: 0; color: var(--text-primary); font-size: 1.35rem; font-weight: 650; }
.rco-greyline-card { overflow: hidden; background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow); }
.rco-greyline-placeholder { padding: 1.15rem 1.25rem; color: var(--text-muted); font-size: 0.9rem; line-height: 1.65; }

/* Hyperlinks on page content are not underlined */
.rco-intro-card a,
.rco-spectrum-card a,
.rco-absorption-card a,
.rco-ionograms-card a,
.rco-fof2maps-card a,
.rco-fof2var-card a,
.rco-muf3000-card a,
.rco-calculators-card a,
.rco-greyline-card a {
    text-decoration: none;
}

.rco-intro-card a:hover,
.rco-intro-card a:focus,
.rco-spectrum-card a:hover,
.rco-spectrum-card a:focus,
.rco-absorption-card a:hover,
.rco-absorption-card a:focus,
.rco-ionograms-card a:hover,
.rco-ionograms-card a:focus,
.rco-fof2maps-card a:hover,
.rco-fof2maps-card a:focus,
.rco-fof2var-card a:hover,
.rco-fof2var-card a:focus,
.rco-muf3000-card a:hover,
.rco-muf3000-card a:focus,
.rco-calculators-card a:hover,
.rco-calculators-card a:focus,
.rco-greyline-card a:hover,
.rco-greyline-card a:focus {
    text-decoration: none;
}

@media (max-width: 767.98px) {
    .rco-intro-section,
    .rco-spectrum-section,
    .rco-absorption-section,
    .rco-ionograms-section,
    .rco-fof2maps-section,
    .rco-fof2var-section,
    .rco-muf3000-section,
    .rco-calculators-section,
    .rco-greyline-section {
        margin-bottom: 2rem;
    }

    .rco-intro-text,
    .rco-spectrum-placeholder,
    .rco-absorption-placeholder,
    .rco-ionograms-placeholder,
    .rco-fof2maps-placeholder,
    .rco-fof2var-placeholder,
    .rco-muf3000-placeholder,
    .rco-calculators-placeholder,
    .rco-greyline-placeholder {
        padding: 1rem;
        font-size: 0.86rem;
    }
}


/* =========================================================
   BUILD ADDITION: style-refactor-20260820-v38
   Radio Communications — Spectrum Monitors
   Dedicated rco-spectrum-* classes only.
   ========================================================= */

.rco-spectrum-introduction {
    padding: 1.15rem 1.25rem;
    color: var(--text-secondary);
    font-size: 0.9rem;
    line-height: 1.65;
    border-bottom: 1px solid var(--border);
}
.rco-spectrum-introduction p { margin: 0; }
.rco-spectrum-introduction p + p { margin-top: 1.15rem; }

.rco-spectrum-belgium-figure,
.rco-spectrum-japan-figure {
    width: min(100% - 2rem, 900px);
    margin: 1rem auto;
    overflow: hidden;
    background: #091322;
    border: 1px solid var(--border);
    border-radius: 8px;
    text-align: center;
}

.rco-spectrum-belgium-figure > a,
.rco-spectrum-japan-figure > a {
    display: block;
    padding: 0.75rem;
}

.rco-spectrum-belgium-figure img,
.rco-spectrum-japan-figure img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
    object-fit: contain;
}

.rco-spectrum-belgium-caption,
.rco-spectrum-japan-caption {
    display: block;
    padding: 0.65rem 0.75rem 0.75rem;
    color: var(--text-secondary);
    background: rgba(255,255,255,0.02);
    font-size: 0.76rem;
    line-height: 1.4;
    border-top: 1px solid var(--border);
}

.rco-spectrum-belgium-description,
.rco-spectrum-japan-description { display: block; }

.rco-spectrum-belgium-source,
.rco-spectrum-japan-source {
    display: block;
    margin-top: 0.3rem;
    color: var(--text-muted);
    font-size: 0.7rem;
}

.rco-spectrum-belgium-source a,
.rco-spectrum-japan-source a {
    color: var(--accent);
    text-decoration: none;
}

.rco-spectrum-belgium-source a:hover,
.rco-spectrum-belgium-source a:focus,
.rco-spectrum-japan-source a:hover,
.rco-spectrum-japan-source a:focus {
    color: var(--accent-hover);
    text-decoration: none;
}

.rco-spectrum-interpretation {
    padding: 1.15rem 1.25rem;
    color: var(--text-secondary);
    font-size: 0.9rem;
    line-height: 1.65;
    border-top: 1px solid var(--border);
}

.rco-spectrum-interpretation-label {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    margin-bottom: 0.65rem;
    color: var(--text-primary);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.rco-spectrum-interpretation-icon {
    display: block;
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    object-fit: contain;
}

.rco-spectrum-interpretation p { margin: 0; }

@media (max-width: 767.98px) {
    .rco-spectrum-introduction,
    .rco-spectrum-interpretation {
        padding: 1rem;
        font-size: 0.86rem;
    }

    .rco-spectrum-belgium-figure,
    .rco-spectrum-japan-figure {
        width: calc(100% - 1.5rem);
        margin: 0.75rem auto;
    }

    .rco-spectrum-belgium-figure > a,
    .rco-spectrum-japan-figure > a {
        padding: 0.55rem;
    }

    .rco-spectrum-belgium-caption,
    .rco-spectrum-japan-caption {
        padding: 0.55rem 0.6rem 0.65rem;
        font-size: 0.7rem;
    }

    .rco-spectrum-belgium-source,
    .rco-spectrum-japan-source { font-size: 0.66rem; }

    .rco-spectrum-interpretation-icon {
        width: 30px;
        height: 30px;
        flex-basis: 30px;
    }
}

/* =========================================================
   BUILD ADDITION: style-refactor-20260823-v39
   Radio Communications — HF Absorption
   Dedicated rco-absorption-* classes only.
   ========================================================= */

.rco-absorption-introduction {
    padding: 1.15rem 1.25rem;
    color: var(--text-secondary);
    font-size: 0.9rem;
    line-height: 1.65;
    border-bottom: 1px solid var(--border);
}
.rco-absorption-introduction p { margin: 0; }
.rco-absorption-introduction p + p { margin-top: 1.15rem; }

.rco-absorption-current-figure,
.rco-absorption-event-figure {
    width: min(100% - 2rem, 900px);
    margin: 1rem auto;
    overflow: hidden;
    background: #091322;
    border: 1px solid var(--border);
    border-radius: 8px;
    text-align: center;
}

.rco-absorption-current-figure > a,
.rco-absorption-event-figure > a {
    display: block;
    padding: 0.75rem;
}

.rco-absorption-current-figure img,
.rco-absorption-event-figure img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
    object-fit: contain;
}

.rco-absorption-current-caption,
.rco-absorption-event-caption {
    display: block;
    padding: 0.65rem 0.75rem 0.75rem;
    color: var(--text-secondary);
    background: rgba(255,255,255,0.02);
    font-size: 0.76rem;
    line-height: 1.4;
    border-top: 1px solid var(--border);
}

.rco-absorption-current-description,
.rco-absorption-event-description { display: block; }

.rco-absorption-current-source,
.rco-absorption-event-source {
    display: block;
    margin-top: 0.3rem;
    color: var(--text-muted);
    font-size: 0.7rem;
}

.rco-absorption-current-source a,
.rco-absorption-event-source a {
    color: var(--accent);
    text-decoration: none;
}

.rco-absorption-current-source a:hover,
.rco-absorption-current-source a:focus,
.rco-absorption-event-source a:hover,
.rco-absorption-event-source a:focus {
    color: var(--accent-hover);
    text-decoration: none;
}

.rco-absorption-interpretation {
    padding: 1.15rem 1.25rem;
    color: var(--text-secondary);
    font-size: 0.9rem;
    line-height: 1.65;
    border-top: 1px solid var(--border);
}

.rco-absorption-interpretation-label {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    margin-bottom: 0.65rem;
    color: var(--text-primary);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.rco-absorption-interpretation-icon {
    display: block;
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    object-fit: contain;
}

.rco-absorption-interpretation p { margin: 0; }
.rco-absorption-interpretation p + p { margin-top: 1.15rem; }

@media (max-width: 767.98px) {
    .rco-absorption-introduction,
    .rco-absorption-interpretation {
        padding: 1rem;
        font-size: 0.86rem;
    }

    .rco-absorption-current-figure,
    .rco-absorption-event-figure {
        width: calc(100% - 1.5rem);
        margin: 0.75rem auto;
    }

    .rco-absorption-current-figure > a,
    .rco-absorption-event-figure > a { padding: 0.55rem; }

    .rco-absorption-current-caption,
    .rco-absorption-event-caption {
        padding: 0.55rem 0.6rem 0.65rem;
        font-size: 0.7rem;
    }

    .rco-absorption-current-source,
    .rco-absorption-event-source { font-size: 0.66rem; }

    .rco-absorption-interpretation-icon {
        width: 30px;
        height: 30px;
        flex-basis: 30px;
    }
}


/* =========================================================
   BUILD ADDITION: style-refactor-20260823-v40
   Radio Communications — NOAA DRAP2 card
   Dedicated rco-absorption-drap-* classes only.
   ========================================================= */

.rco-absorption-drap-card {
    border-top: 1px solid var(--border);
}

/* Global DRAP2 map */
.rco-absorption-drap-global-figure {
    width: min(100% - 2rem, 900px);
    margin: 1rem auto;
    overflow: hidden;
    background: #091322;
    border: 1px solid var(--border);
    border-radius: 8px;
    text-align: center;
}

.rco-absorption-drap-global-figure > a {
    display: block;
    padding: 0.75rem;
}

.rco-absorption-drap-global-figure img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
    object-fit: contain;
}

.rco-absorption-drap-global-caption {
    display: block;
    padding: 0.65rem 0.75rem 0.75rem;
    color: var(--text-secondary);
    background: rgba(255, 255, 255, 0.02);
    font-size: 0.76rem;
    line-height: 1.4;
    border-top: 1px solid var(--border);
}

.rco-absorption-drap-global-description {
    display: block;
}

.rco-absorption-drap-global-source {
    display: block;
    margin-top: 0.3rem;
    color: var(--text-muted);
    font-size: 0.7rem;
}

.rco-absorption-drap-global-source a {
    color: var(--accent);
    text-decoration: none;
}

.rco-absorption-drap-global-source a:hover,
.rco-absorption-drap-global-source a:focus {
    color: var(--accent-hover);
    text-decoration: none;
}

/* Polar DRAP2 maps */
.rco-absorption-drap-polar-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    width: min(100% - 2rem, 1100px);
    margin: 0 auto 1rem;
}

.rco-absorption-drap-north-figure,
.rco-absorption-drap-south-figure {
    min-width: 0;
    margin: 0;
    overflow: hidden;
    background: #091322;
    border: 1px solid var(--border);
    border-radius: 8px;
    text-align: center;
}

.rco-absorption-drap-north-figure > a,
.rco-absorption-drap-south-figure > a {
    display: block;
    padding: 0.75rem;
}

.rco-absorption-drap-north-figure img,
.rco-absorption-drap-south-figure img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
    object-fit: contain;
}

.rco-absorption-drap-north-caption,
.rco-absorption-drap-south-caption {
    display: block;
    padding: 0.65rem 0.75rem 0.75rem;
    color: var(--text-secondary);
    background: rgba(255, 255, 255, 0.02);
    font-size: 0.76rem;
    line-height: 1.4;
    border-top: 1px solid var(--border);
}

.rco-absorption-drap-north-description,
.rco-absorption-drap-south-description {
    display: block;
}

.rco-absorption-drap-north-source,
.rco-absorption-drap-south-source {
    display: block;
    margin-top: 0.3rem;
    color: var(--text-muted);
    font-size: 0.7rem;
}

.rco-absorption-drap-north-source a,
.rco-absorption-drap-south-source a {
    color: var(--accent);
    text-decoration: none;
}

.rco-absorption-drap-north-source a:hover,
.rco-absorption-drap-north-source a:focus,
.rco-absorption-drap-south-source a:hover,
.rco-absorption-drap-south-source a:focus {
    color: var(--accent-hover);
    text-decoration: none;
}

/* NOAA tabular-data link */
.rco-absorption-drap-tabular-link {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    width: min(100% - 2rem, 1100px);
    margin: 0 auto 1rem;
    padding: 0.8rem 0.95rem;
    background: rgba(255, 255, 255, 0.025);
    border: 1px solid var(--border);
    border-radius: 8px;
    color: var(--text-secondary);
    font-size: 0.84rem;
    line-height: 1.45;
}

.rco-absorption-drap-tabular-logo {
    display: block;
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    object-fit: contain;
}

.rco-absorption-drap-tabular-link a {
    color: var(--accent);
    text-decoration: none;
}

.rco-absorption-drap-tabular-link a:hover,
.rco-absorption-drap-tabular-link a:focus {
    color: var(--accent-hover);
    text-decoration: none;
}

/* DRAP2 interpretation */
.rco-absorption-drap-interpretation {
    padding: 1.15rem 1.25rem;
    color: var(--text-secondary);
    font-size: 0.9rem;
    line-height: 1.65;
    border-top: 1px solid var(--border);
}

.rco-absorption-drap-interpretation-label {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    margin-bottom: 0.65rem;
    color: var(--text-primary);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.rco-absorption-drap-interpretation-icon {
    display: block;
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    object-fit: contain;
}

.rco-absorption-drap-interpretation p {
    margin: 0;
}

.rco-absorption-drap-interpretation p + p {
    margin-top: 1.15rem;
}

.rco-absorption-drap-steps {
    margin: 0.85rem 0 0;
    padding-left: 1.4rem;
}

.rco-absorption-drap-steps li + li {
    margin-top: 0.75rem;
}

.rco-absorption-drap-equation {
    margin-top: 0.35rem;
    color: var(--text-primary);
    font-family:
        ui-monospace,
        SFMono-Regular,
        Menlo,
        Monaco,
        Consolas,
        "Liberation Mono",
        monospace;
    font-size: 0.88rem;
}

@media (max-width: 767.98px) {
    .rco-absorption-drap-global-figure {
        width: calc(100% - 1.5rem);
        margin: 0.75rem auto;
    }

    .rco-absorption-drap-polar-grid {
        grid-template-columns: 1fr;
        width: calc(100% - 1.5rem);
        gap: 0.75rem;
        margin-bottom: 0.75rem;
    }

    .rco-absorption-drap-global-figure > a,
    .rco-absorption-drap-north-figure > a,
    .rco-absorption-drap-south-figure > a {
        padding: 0.55rem;
    }

    .rco-absorption-drap-global-caption,
    .rco-absorption-drap-north-caption,
    .rco-absorption-drap-south-caption {
        padding: 0.55rem 0.6rem 0.65rem;
        font-size: 0.7rem;
    }

    .rco-absorption-drap-global-source,
    .rco-absorption-drap-north-source,
    .rco-absorption-drap-south-source {
        font-size: 0.66rem;
    }

    .rco-absorption-drap-tabular-link {
        width: calc(100% - 1.5rem);
        margin-bottom: 0.75rem;
        padding: 0.7rem 0.8rem;
        font-size: 0.8rem;
    }

    .rco-absorption-drap-tabular-logo {
        width: 32px;
        height: 32px;
        flex-basis: 32px;
    }

    .rco-absorption-drap-interpretation {
        padding: 1rem;
        font-size: 0.86rem;
    }

    .rco-absorption-drap-interpretation-icon {
        width: 30px;
        height: 30px;
        flex-basis: 30px;
    }

    .rco-absorption-drap-equation {
        font-size: 0.82rem;
    }
}


/* =========================================================
   BUILD ADDITION: style-refactor-20260823-v41
   Radio Communications — fixed-frequency DRAP2 maps
   Dedicated rco-absorption-drap-frequency-* classes only.
   ========================================================= */

.rco-absorption-drap-frequency-card {
    border-top: 1px solid var(--border);
}

.rco-absorption-drap-frequency-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    width: min(100% - 2rem, 1100px);
    margin: 1rem auto;
}

/* Individual figures */
.rco-absorption-drap-frequency-05-figure,
.rco-absorption-drap-frequency-10-figure,
.rco-absorption-drap-frequency-15-figure,
.rco-absorption-drap-frequency-20-figure,
.rco-absorption-drap-frequency-25-figure,
.rco-absorption-drap-frequency-30-figure {
    min-width: 0;
    margin: 0;
    overflow: hidden;
    background: #091322;
    border: 1px solid var(--border);
    border-radius: 8px;
    text-align: center;
}

.rco-absorption-drap-frequency-05-figure > a,
.rco-absorption-drap-frequency-10-figure > a,
.rco-absorption-drap-frequency-15-figure > a,
.rco-absorption-drap-frequency-20-figure > a,
.rco-absorption-drap-frequency-25-figure > a,
.rco-absorption-drap-frequency-30-figure > a {
    display: block;
    padding: 0.75rem;
}

.rco-absorption-drap-frequency-05-figure img,
.rco-absorption-drap-frequency-10-figure img,
.rco-absorption-drap-frequency-15-figure img,
.rco-absorption-drap-frequency-20-figure img,
.rco-absorption-drap-frequency-25-figure img,
.rco-absorption-drap-frequency-30-figure img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
    object-fit: contain;
}

/* Captions */
.rco-absorption-drap-frequency-05-caption,
.rco-absorption-drap-frequency-10-caption,
.rco-absorption-drap-frequency-15-caption,
.rco-absorption-drap-frequency-20-caption,
.rco-absorption-drap-frequency-25-caption,
.rco-absorption-drap-frequency-30-caption {
    display: block;
    padding: 0.65rem 0.75rem 0.75rem;
    color: var(--text-secondary);
    background: rgba(255, 255, 255, 0.02);
    font-size: 0.76rem;
    line-height: 1.4;
    border-top: 1px solid var(--border);
}

.rco-absorption-drap-frequency-05-description,
.rco-absorption-drap-frequency-10-description,
.rco-absorption-drap-frequency-15-description,
.rco-absorption-drap-frequency-20-description,
.rco-absorption-drap-frequency-25-description,
.rco-absorption-drap-frequency-30-description {
    display: block;
}

/* Sources */
.rco-absorption-drap-frequency-05-source,
.rco-absorption-drap-frequency-10-source,
.rco-absorption-drap-frequency-15-source,
.rco-absorption-drap-frequency-20-source,
.rco-absorption-drap-frequency-25-source,
.rco-absorption-drap-frequency-30-source {
    display: block;
    margin-top: 0.3rem;
    color: var(--text-muted);
    font-size: 0.7rem;
}

.rco-absorption-drap-frequency-05-source a,
.rco-absorption-drap-frequency-10-source a,
.rco-absorption-drap-frequency-15-source a,
.rco-absorption-drap-frequency-20-source a,
.rco-absorption-drap-frequency-25-source a,
.rco-absorption-drap-frequency-30-source a {
    color: var(--accent);
    text-decoration: none;
}

.rco-absorption-drap-frequency-05-source a:hover,
.rco-absorption-drap-frequency-05-source a:focus,
.rco-absorption-drap-frequency-10-source a:hover,
.rco-absorption-drap-frequency-10-source a:focus,
.rco-absorption-drap-frequency-15-source a:hover,
.rco-absorption-drap-frequency-15-source a:focus,
.rco-absorption-drap-frequency-20-source a:hover,
.rco-absorption-drap-frequency-20-source a:focus,
.rco-absorption-drap-frequency-25-source a:hover,
.rco-absorption-drap-frequency-25-source a:focus,
.rco-absorption-drap-frequency-30-source a:hover,
.rco-absorption-drap-frequency-30-source a:focus {
    color: var(--accent-hover);
    text-decoration: none;
}

/* Interpretation */
.rco-absorption-drap-frequency-interpretation {
    padding: 1.15rem 1.25rem;
    color: var(--text-secondary);
    font-size: 0.9rem;
    line-height: 1.65;
    border-top: 1px solid var(--border);
}

.rco-absorption-drap-frequency-interpretation-label {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    margin-bottom: 0.65rem;
    color: var(--text-primary);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.rco-absorption-drap-frequency-interpretation-icon {
    display: block;
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    object-fit: contain;
}

.rco-absorption-drap-frequency-interpretation p {
    margin: 0;
}

.rco-absorption-drap-frequency-interpretation p + p {
    margin-top: 1.15rem;
}

.rco-absorption-drap-frequency-equation {
    margin: 0.75rem 0;
    color: var(--text-primary);
    font-family:
        ui-monospace,
        SFMono-Regular,
        Menlo,
        Monaco,
        Consolas,
        "Liberation Mono",
        monospace;
    font-size: 0.88rem;
}

.rco-absorption-drap-frequency-definitions {
    margin-bottom: 1.15rem;
}

.rco-absorption-drap-frequency-definitions p {
    margin: 0;
}

.rco-absorption-drap-frequency-definitions p + p {
    margin-top: 0.45rem;
}

@media (max-width: 767.98px) {
    .rco-absorption-drap-frequency-grid {
        grid-template-columns: 1fr;
        width: calc(100% - 1.5rem);
        gap: 0.75rem;
        margin: 0.75rem auto;
    }

    .rco-absorption-drap-frequency-05-figure > a,
    .rco-absorption-drap-frequency-10-figure > a,
    .rco-absorption-drap-frequency-15-figure > a,
    .rco-absorption-drap-frequency-20-figure > a,
    .rco-absorption-drap-frequency-25-figure > a,
    .rco-absorption-drap-frequency-30-figure > a {
        padding: 0.55rem;
    }

    .rco-absorption-drap-frequency-05-caption,
    .rco-absorption-drap-frequency-10-caption,
    .rco-absorption-drap-frequency-15-caption,
    .rco-absorption-drap-frequency-20-caption,
    .rco-absorption-drap-frequency-25-caption,
    .rco-absorption-drap-frequency-30-caption {
        padding: 0.55rem 0.6rem 0.65rem;
        font-size: 0.7rem;
    }

    .rco-absorption-drap-frequency-05-source,
    .rco-absorption-drap-frequency-10-source,
    .rco-absorption-drap-frequency-15-source,
    .rco-absorption-drap-frequency-20-source,
    .rco-absorption-drap-frequency-25-source,
    .rco-absorption-drap-frequency-30-source {
        font-size: 0.66rem;
    }

    .rco-absorption-drap-frequency-interpretation {
        padding: 1rem;
        font-size: 0.86rem;
    }

    .rco-absorption-drap-frequency-interpretation-icon {
        width: 30px;
        height: 30px;
        flex-basis: 30px;
    }

    .rco-absorption-drap-frequency-equation {
        font-size: 0.82rem;
    }
}


/* =========================================================
   BUILD ADDITION: style-refactor-20260823-v42
   Radio Communications — Ionograms
   Dedicated rco-ionograms-* classes only.
   ========================================================= */

.rco-ionograms-introduction {
    padding: 1.15rem 1.25rem;
    color: var(--text-secondary);
    font-size: 0.9rem;
    line-height: 1.65;
    border-bottom: 1px solid var(--border);
}

.rco-ionograms-introduction p {
    margin: 0;
}

.rco-ionograms-introduction p + p {
    margin-top: 1.15rem;
}

/* Roquetes */
.rco-ionograms-roquetes-figure {
    width: min(100% - 2rem, 900px);
    margin: 1rem auto;
    overflow: hidden;
    background: #091322;
    border: 1px solid var(--border);
    border-radius: 8px;
    text-align: center;
}

.rco-ionograms-roquetes-figure > a {
    display: block;
    padding: 0.75rem;
}

.rco-ionograms-roquetes-figure img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
    object-fit: contain;
}

.rco-ionograms-roquetes-caption {
    display: block;
    padding: 0.65rem 0.75rem 0.75rem;
    color: var(--text-secondary);
    background: rgba(255, 255, 255, 0.02);
    font-size: 0.76rem;
    line-height: 1.4;
    border-top: 1px solid var(--border);
}

.rco-ionograms-roquetes-description {
    display: block;
}

.rco-ionograms-roquetes-source {
    display: block;
    margin-top: 0.3rem;
    color: var(--text-muted);
    font-size: 0.7rem;
}

.rco-ionograms-roquetes-source a {
    color: var(--accent);
    text-decoration: none;
}

.rco-ionograms-roquetes-source a:hover,
.rco-ionograms-roquetes-source a:focus {
    color: var(--accent-hover);
    text-decoration: none;
}

/* El Arenosillo */
.rco-ionograms-arenosillo-figure {
    width: min(100% - 2rem, 900px);
    margin: 1rem auto;
    overflow: hidden;
    background: #091322;
    border: 1px solid var(--border);
    border-radius: 8px;
    text-align: center;
}

.rco-ionograms-arenosillo-figure > a {
    display: block;
    padding: 0.75rem;
}

.rco-ionograms-arenosillo-figure img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
    object-fit: contain;
}

.rco-ionograms-arenosillo-caption {
    display: block;
    padding: 0.65rem 0.75rem 0.75rem;
    color: var(--text-secondary);
    background: rgba(255, 255, 255, 0.02);
    font-size: 0.76rem;
    line-height: 1.4;
    border-top: 1px solid var(--border);
}

.rco-ionograms-arenosillo-description {
    display: block;
}

.rco-ionograms-arenosillo-source {
    display: block;
    margin-top: 0.3rem;
    color: var(--text-muted);
    font-size: 0.7rem;
}

.rco-ionograms-arenosillo-source a {
    color: var(--accent);
    text-decoration: none;
}

.rco-ionograms-arenosillo-source a:hover,
.rco-ionograms-arenosillo-source a:focus {
    color: var(--accent-hover);
    text-decoration: none;
}

/* Interpretation */
.rco-ionograms-interpretation {
    padding: 1.15rem 1.25rem;
    color: var(--text-secondary);
    font-size: 0.9rem;
    line-height: 1.65;
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}

.rco-ionograms-interpretation-label {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    margin-bottom: 0.65rem;
    color: var(--text-primary);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.rco-ionograms-interpretation-icon {
    display: block;
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    object-fit: contain;
}

.rco-ionograms-interpretation p {
    margin: 0;
}

.rco-ionograms-interpretation p + p {
    margin-top: 1.15rem;
}

/* Worldwide Lowell ionosonde map */
.rco-ionograms-global-figure {
    width: min(100% - 2rem, 1000px);
    margin: 1rem auto;
    overflow: hidden;
    background: #091322;
    border: 1px solid var(--border);
    border-radius: 8px;
    text-align: center;
}

.rco-ionograms-global-figure > a {
    display: block;
    padding: 0.75rem;
}

.rco-ionograms-global-figure img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
    object-fit: contain;
}

.rco-ionograms-global-caption {
    display: block;
    padding: 0.65rem 0.75rem 0.75rem;
    color: var(--text-secondary);
    background: rgba(255, 255, 255, 0.02);
    font-size: 0.76rem;
    line-height: 1.4;
    border-top: 1px solid var(--border);
}

.rco-ionograms-global-description {
    display: block;
}

.rco-ionograms-global-source {
    display: block;
    margin-top: 0.3rem;
    color: var(--text-muted);
    font-size: 0.7rem;
}

.rco-ionograms-global-source a {
    color: var(--accent);
    text-decoration: none;
}

.rco-ionograms-global-source a:hover,
.rco-ionograms-global-source a:focus {
    color: var(--accent-hover);
    text-decoration: none;
}

@media (max-width: 767.98px) {
    .rco-ionograms-introduction,
    .rco-ionograms-interpretation {
        padding: 1rem;
        font-size: 0.86rem;
    }

    .rco-ionograms-roquetes-figure,
    .rco-ionograms-arenosillo-figure,
    .rco-ionograms-global-figure {
        width: calc(100% - 1.5rem);
        margin: 0.75rem auto;
    }

    .rco-ionograms-roquetes-figure > a,
    .rco-ionograms-arenosillo-figure > a,
    .rco-ionograms-global-figure > a {
        padding: 0.55rem;
    }

    .rco-ionograms-roquetes-caption,
    .rco-ionograms-arenosillo-caption,
    .rco-ionograms-global-caption {
        padding: 0.55rem 0.6rem 0.65rem;
        font-size: 0.7rem;
    }

    .rco-ionograms-roquetes-source,
    .rco-ionograms-arenosillo-source,
    .rco-ionograms-global-source {
        font-size: 0.66rem;
    }

    .rco-ionograms-interpretation-icon {
        width: 30px;
        height: 30px;
        flex-basis: 30px;
    }
}


/* =========================================================
   BUILD ADDITION: style-refactor-20260824-v43
   Radio Communications — foF2 Maps
   Dedicated rco-fof2maps-* classes only.
   ========================================================= */

.rco-fof2maps-introduction {
    padding: 1.15rem 1.25rem;
    color: var(--text-secondary);
    font-size: 0.9rem;
    line-height: 1.65;
    border-bottom: 1px solid var(--border);
}

.rco-fof2maps-introduction p {
    margin: 0;
}

.rco-fof2maps-world-figure {
    width: min(100% - 2rem, 900px);
    margin: 1rem auto;
    overflow: hidden;
    background: #091322;
    border: 1px solid var(--border);
    border-radius: 8px;
    text-align: center;
}

.rco-fof2maps-world-figure > a {
    display: block;
    padding: 0.75rem;
}

.rco-fof2maps-world-figure img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
    object-fit: contain;
}

.rco-fof2maps-world-caption {
    display: block;
    padding: 0.65rem 0.75rem 0.75rem;
    color: var(--text-secondary);
    background: rgba(255, 255, 255, 0.02);
    font-size: 0.76rem;
    line-height: 1.4;
    border-top: 1px solid var(--border);
}

.rco-fof2maps-world-description {
    display: block;
}

.rco-fof2maps-world-source {
    display: block;
    margin-top: 0.3rem;
    color: var(--text-muted);
    font-size: 0.7rem;
}

.rco-fof2maps-world-source a {
    color: var(--accent);
    text-decoration: none;
}

.rco-fof2maps-world-source a:hover,
.rco-fof2maps-world-source a:focus {
    color: var(--accent-hover);
    text-decoration: none;
}

.rco-fof2maps-interpretation {
    padding: 1.15rem 1.25rem;
    color: var(--text-secondary);
    font-size: 0.9rem;
    line-height: 1.65;
    border-top: 1px solid var(--border);
}

.rco-fof2maps-interpretation-label {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    margin-bottom: 0.65rem;
    color: var(--text-primary);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.rco-fof2maps-interpretation-icon {
    display: block;
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    object-fit: contain;
}

.rco-fof2maps-interpretation p {
    margin: 0;
}

.rco-fof2maps-interpretation p + p {
    margin-top: 1.15rem;
}

.rco-fof2maps-interpretation a {
    color: var(--accent);
    text-decoration: none;
}

.rco-fof2maps-interpretation a:hover,
.rco-fof2maps-interpretation a:focus {
    color: var(--accent-hover);
    text-decoration: none;
}

@media (max-width: 767.98px) {
    .rco-fof2maps-introduction,
    .rco-fof2maps-interpretation {
        padding: 1rem;
        font-size: 0.86rem;
    }

    .rco-fof2maps-world-figure {
        width: calc(100% - 1.5rem);
        margin: 0.75rem auto;
    }

    .rco-fof2maps-world-figure > a {
        padding: 0.55rem;
    }

    .rco-fof2maps-world-caption {
        padding: 0.55rem 0.6rem 0.65rem;
        font-size: 0.7rem;
    }

    .rco-fof2maps-world-source {
        font-size: 0.66rem;
    }

    .rco-fof2maps-interpretation-icon {
        width: 30px;
        height: 30px;
        flex-basis: 30px;
    }
}


/* =========================================================
   BUILD ADDITION: style-refactor-20260824-v44
   Radio Communications — foF2 variations / geomagnetic activity
   Dedicated rco-fof2var-* classes only.
   ========================================================= */

.rco-fof2var-introduction {
    padding: 1.15rem 1.25rem;
    color: var(--text-secondary);
    font-size: 0.9rem;
    line-height: 1.65;
    border-bottom: 1px solid var(--border);
}

.rco-fof2var-introduction p {
    margin: 0;
}

.rco-fof2var-introduction p + p {
    margin-top: 1.15rem;
}

.rco-fof2var-storm-figure {
    width: min(100% - 2rem, 900px);
    margin: 1rem auto;
    overflow: hidden;
    background: #091322;
    border: 1px solid var(--border);
    border-radius: 8px;
    text-align: center;
}

.rco-fof2var-storm-figure > a {
    display: block;
    padding: 0.75rem;
}

.rco-fof2var-storm-figure img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
    object-fit: contain;
}

.rco-fof2var-storm-caption {
    display: block;
    padding: 0.65rem 0.75rem 0.75rem;
    color: var(--text-secondary);
    background: rgba(255, 255, 255, 0.02);
    font-size: 0.76rem;
    line-height: 1.4;
    border-top: 1px solid var(--border);
}

.rco-fof2var-storm-description {
    display: block;
}

.rco-fof2var-storm-source {
    display: block;
    margin-top: 0.3rem;
    color: var(--text-muted);
    font-size: 0.7rem;
}

.rco-fof2var-storm-source a {
    color: var(--accent);
    text-decoration: none;
}

.rco-fof2var-storm-source a:hover,
.rco-fof2var-storm-source a:focus {
    color: var(--accent-hover);
    text-decoration: none;
}

.rco-fof2var-interpretation {
    padding: 1.15rem 1.25rem;
    color: var(--text-secondary);
    font-size: 0.9rem;
    line-height: 1.65;
    border-top: 1px solid var(--border);
}

.rco-fof2var-interpretation-label {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    margin-bottom: 0.65rem;
    color: var(--text-primary);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.rco-fof2var-interpretation-icon {
    display: block;
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    object-fit: contain;
}

.rco-fof2var-interpretation p {
    margin: 0;
}

.rco-fof2var-interpretation p + p {
    margin-top: 1.15rem;
}

@media (max-width: 767.98px) {
    .rco-fof2var-introduction,
    .rco-fof2var-interpretation {
        padding: 1rem;
        font-size: 0.86rem;
    }

    .rco-fof2var-storm-figure {
        width: calc(100% - 1.5rem);
        margin: 0.75rem auto;
    }

    .rco-fof2var-storm-figure > a {
        padding: 0.55rem;
    }

    .rco-fof2var-storm-caption {
        padding: 0.55rem 0.6rem 0.65rem;
        font-size: 0.7rem;
    }

    .rco-fof2var-storm-source {
        font-size: 0.66rem;
    }

    .rco-fof2var-interpretation-icon {
        width: 30px;
        height: 30px;
        flex-basis: 30px;
    }
}


/* =========================================================
   BUILD ADDITION: style-refactor-20260824-v45
   Radio Communications — MUF(3000)
   Dedicated rco-muf3000-* classes only.
   ========================================================= */

.rco-muf3000-introduction {
    padding: 1.15rem 1.25rem;
    color: var(--text-secondary);
    font-size: 0.9rem;
    line-height: 1.65;
    border-bottom: 1px solid var(--border);
}

.rco-muf3000-introduction p {
    margin: 0;
}

.rco-muf3000-introduction p + p {
    margin-top: 1.15rem;
}

.rco-muf3000-map-figure {
    width: min(100% - 2rem, 1000px);
    margin: 1rem auto;
    overflow: hidden;
    background: #091322;
    border: 1px solid var(--border);
    border-radius: 8px;
    text-align: center;
}

.rco-muf3000-map-figure > a {
    display: block;
    padding: 0.75rem;
}

.rco-muf3000-map-figure img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
    object-fit: contain;
}

.rco-muf3000-map-caption {
    display: block;
    padding: 0.65rem 0.75rem 0.75rem;
    color: var(--text-secondary);
    background: rgba(255, 255, 255, 0.02);
    font-size: 0.76rem;
    line-height: 1.4;
    border-top: 1px solid var(--border);
}

.rco-muf3000-map-description {
    display: block;
}

.rco-muf3000-map-source {
    display: block;
    margin-top: 0.3rem;
    color: var(--text-muted);
    font-size: 0.7rem;
}

.rco-muf3000-map-source a {
    color: var(--accent);
    text-decoration: none;
}

.rco-muf3000-map-source a:hover,
.rco-muf3000-map-source a:focus {
    color: var(--accent-hover);
    text-decoration: none;
}

.rco-muf3000-interpretation {
    padding: 1.15rem 1.25rem;
    color: var(--text-secondary);
    font-size: 0.9rem;
    line-height: 1.65;
    border-top: 1px solid var(--border);
}

.rco-muf3000-interpretation-label {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    margin-bottom: 0.65rem;
    color: var(--text-primary);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.rco-muf3000-interpretation-icon {
    display: block;
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    object-fit: contain;
}

.rco-muf3000-interpretation p {
    margin: 0;
}

.rco-muf3000-interpretation p + p {
    margin-top: 1.15rem;
}

.rco-muf3000-interpretation a {
    color: var(--accent);
    text-decoration: none;
}

.rco-muf3000-interpretation a:hover,
.rco-muf3000-interpretation a:focus {
    color: var(--accent-hover);
    text-decoration: none;
}

.rco-muf3000-procedure {
    margin-top: 1rem;
}

.rco-muf3000-procedure-3000-heading,
.rco-muf3000-procedure-4000-heading,
.rco-muf3000-procedure-long-heading {
    margin: 1rem 0 0.45rem;
    color: var(--text-primary);
    font-size: 0.95rem;
    font-weight: 700;
}

.rco-muf3000-procedure-3000-list,
.rco-muf3000-procedure-4000-list,
.rco-muf3000-procedure-long-list {
    margin: 0;
    padding-left: 1.35rem;
}

.rco-muf3000-procedure-3000-list li + li,
.rco-muf3000-procedure-4000-list li + li,
.rco-muf3000-procedure-long-list li + li {
    margin-top: 0.35rem;
}

@media (max-width: 767.98px) {
    .rco-muf3000-introduction,
    .rco-muf3000-interpretation {
        padding: 1rem;
        font-size: 0.86rem;
    }

    .rco-muf3000-map-figure {
        width: calc(100% - 1.5rem);
        margin: 0.75rem auto;
    }

    .rco-muf3000-map-figure > a {
        padding: 0.55rem;
    }

    .rco-muf3000-map-caption {
        padding: 0.55rem 0.6rem 0.65rem;
        font-size: 0.7rem;
    }

    .rco-muf3000-map-source {
        font-size: 0.66rem;
    }

    .rco-muf3000-interpretation-icon {
        width: 30px;
        height: 30px;
        flex-basis: 30px;
    }

    .rco-muf3000-procedure-3000-heading,
    .rco-muf3000-procedure-4000-heading,
    .rco-muf3000-procedure-long-heading {
        font-size: 0.9rem;
    }
}


/* =========================================================
   BUILD ADDITION: style-refactor-20260824-v46
   Radio Communications — Online MUF Calculators
   Dedicated rco-mufcalc-* classes only.
   ========================================================= */

.rco-mufcalc-introduction {
    padding: 1.15rem 1.25rem;
    color: var(--text-secondary);
    font-size: 0.9rem;
    line-height: 1.65;
    border-bottom: 1px solid var(--border);
}

.rco-mufcalc-introduction p {
    margin: 0;
}

.rco-mufcalc-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    padding: 1rem;
    align-items: stretch;
}

/* VOACAP Online */
.rco-mufcalc-voacap-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
    background: #091322;
    border: 1px solid var(--border);
    border-radius: 8px;
}

.rco-mufcalc-voacap-title {
    margin: 0;
    padding: 0.8rem 0.9rem;
    color: var(--text-primary);
    font-size: 1rem;
    font-weight: 700;
    border-bottom: 1px solid var(--border);
}

.rco-mufcalc-voacap-figure {
    margin: 0;
    padding: 0.75rem;
    text-align: center;
}

.rco-mufcalc-voacap-figure > a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 220px;
}

.rco-mufcalc-voacap-figure img {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: 320px;
    height: auto;
    margin: 0 auto;
    object-fit: contain;
}

.rco-mufcalc-voacap-description {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    padding: 0.9rem;
    color: var(--text-secondary);
    font-size: 0.86rem;
    line-height: 1.6;
    border-top: 1px solid var(--border);
}

.rco-mufcalc-voacap-description p {
    margin: 0;
}

.rco-mufcalc-voacap-link {
    margin-top: auto !important;
    padding-top: 0.9rem;
}

.rco-mufcalc-voacap-link a {
    color: var(--accent);
    text-decoration: none;
    font-weight: 600;
}

.rco-mufcalc-voacap-link a:hover,
.rco-mufcalc-voacap-link a:focus {
    color: var(--accent-hover);
    text-decoration: none;
}

/* HF Prediction (BOM-AUS) */
.rco-mufcalc-bom-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
    background: #091322;
    border: 1px solid var(--border);
    border-radius: 8px;
}

.rco-mufcalc-bom-title {
    margin: 0;
    padding: 0.8rem 0.9rem;
    color: var(--text-primary);
    font-size: 1rem;
    font-weight: 700;
    border-bottom: 1px solid var(--border);
}

.rco-mufcalc-bom-figure {
    margin: 0;
    padding: 0.75rem;
    text-align: center;
}

.rco-mufcalc-bom-figure > a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 220px;
}

.rco-mufcalc-bom-figure img {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: 320px;
    height: auto;
    margin: 0 auto;
    object-fit: contain;
}

.rco-mufcalc-bom-description {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    padding: 0.9rem;
    color: var(--text-secondary);
    font-size: 0.86rem;
    line-height: 1.6;
    border-top: 1px solid var(--border);
}

.rco-mufcalc-bom-description p {
    margin: 0;
}

.rco-mufcalc-bom-link {
    margin-top: auto !important;
    padding-top: 0.9rem;
}

.rco-mufcalc-bom-link a {
    color: var(--accent);
    text-decoration: none;
    font-weight: 600;
}

.rco-mufcalc-bom-link a:hover,
.rco-mufcalc-bom-link a:focus {
    color: var(--accent-hover);
    text-decoration: none;
}

@media (max-width: 767.98px) {
    .rco-mufcalc-introduction {
        padding: 1rem;
        font-size: 0.86rem;
    }

    .rco-mufcalc-grid {
        grid-template-columns: 1fr;
        gap: 0.75rem;
        padding: 0.75rem;
    }

    .rco-mufcalc-voacap-title,
    .rco-mufcalc-bom-title {
        padding: 0.7rem 0.8rem;
        font-size: 0.95rem;
    }

    .rco-mufcalc-voacap-figure,
    .rco-mufcalc-bom-figure {
        padding: 0.6rem;
    }

    .rco-mufcalc-voacap-figure > a,
    .rco-mufcalc-bom-figure > a {
        min-height: 0;
    }

    .rco-mufcalc-voacap-figure img,
    .rco-mufcalc-bom-figure img {
        width: 100%;
        max-height: none;
    }

    .rco-mufcalc-voacap-description,
    .rco-mufcalc-bom-description {
        padding: 0.8rem;
        font-size: 0.84rem;
    }
}


/* =========================================================
   BUILD ADDITION: style-refactor-20260824-v47
   Radio Communications — Grey Line
   Dedicated rco-greyline-* classes only.
   ========================================================= */

.rco-greyline-introduction {
    padding: 1.15rem 1.25rem;
    color: var(--text-secondary);
    font-size: 0.9rem;
    line-height: 1.65;
    border-bottom: 1px solid var(--border);
}

.rco-greyline-introduction p {
    margin: 0;
}

.rco-greyline-introduction p + p {
    margin-top: 1.15rem;
}

.rco-greyline-map-figure {
    width: min(100% - 2rem, 900px);
    margin: 1rem auto;
    overflow: hidden;
    background: #091322;
    border: 1px solid var(--border);
    border-radius: 8px;
    text-align: center;
}

.rco-greyline-map-figure > a {
    display: block;
    padding: 0.75rem;
}

.rco-greyline-map-figure img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
    object-fit: contain;
}

.rco-greyline-map-caption {
    display: block;
    padding: 0.65rem 0.75rem 0.75rem;
    color: var(--text-secondary);
    background: rgba(255, 255, 255, 0.02);
    font-size: 0.76rem;
    line-height: 1.4;
    border-top: 1px solid var(--border);
}

.rco-greyline-map-description {
    display: block;
}

.rco-greyline-map-source {
    display: block;
    margin-top: 0.3rem;
    color: var(--text-muted);
    font-size: 0.7rem;
}

.rco-greyline-map-source a {
    color: var(--accent);
    text-decoration: none;
}

.rco-greyline-map-source a:hover,
.rco-greyline-map-source a:focus {
    color: var(--accent-hover);
    text-decoration: none;
}

.rco-greyline-interpretation {
    padding: 1.15rem 1.25rem;
    color: var(--text-secondary);
    font-size: 0.9rem;
    line-height: 1.65;
    border-top: 1px solid var(--border);
}

.rco-greyline-interpretation-label {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    margin-bottom: 0.65rem;
    color: var(--text-primary);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.rco-greyline-interpretation-icon {
    display: block;
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    object-fit: contain;
}

.rco-greyline-interpretation p {
    margin: 0;
}

@media (max-width: 767.98px) {
    .rco-greyline-introduction,
    .rco-greyline-interpretation {
        padding: 1rem;
        font-size: 0.86rem;
    }

    .rco-greyline-map-figure {
        width: calc(100% - 1.5rem);
        margin: 0.75rem auto;
    }

    .rco-greyline-map-figure > a {
        padding: 0.55rem;
    }

    .rco-greyline-map-caption {
        padding: 0.55rem 0.6rem 0.65rem;
        font-size: 0.7rem;
    }

    .rco-greyline-map-source {
        font-size: 0.66rem;
    }

    .rco-greyline-interpretation-icon {
        width: 30px;
        height: 30px;
        flex-basis: 30px;
    }
}


/* =========================================================
   BUILD ADDITION: style-refactor-20260824-v48
   Aurorae page
   Page-specific content classes only: aur-*
   ========================================================= */

/* Introduction */
.aur-intro-section {
    margin-bottom: 2.5rem;
}

.aur-intro-heading {
    margin-bottom: 1rem;
}

.aur-intro-heading h2 {
    margin: 0;
    color: var(--text-primary);
    font-size: 1.35rem;
    font-weight: 650;
}

.aur-intro-card {
    overflow: hidden;
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
}

.aur-intro-text {
    padding: 1.15rem 1.25rem;
    color: var(--text-secondary);
    font-size: 0.9rem;
    line-height: 1.65;
}

.aur-intro-text p {
    margin: 0;
}

.aur-intro-text p + p {
    margin-top: 1.15rem;
}


/* Alerts and Forecasts */
.aur-forecast-section {
    margin-bottom: 2.5rem;
}

.aur-forecast-heading {
    margin-bottom: 1rem;
}

.aur-forecast-heading h2 {
    margin: 0;
    color: var(--text-primary);
    font-size: 1.35rem;
    font-weight: 650;
}

.aur-forecast-card {
    overflow: hidden;
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
}

.aur-forecast-introduction {
    padding: 1.15rem 1.25rem;
    color: var(--text-secondary);
    font-size: 0.9rem;
    line-height: 1.65;
    border-bottom: 1px solid var(--border);
}

.aur-forecast-introduction p {
    margin: 0;
}

.aur-forecast-introduction p + p {
    margin-top: 1.15rem;
}

.aur-forecast-introduction a {
    color: var(--accent);
    text-decoration: none;
}

.aur-forecast-introduction a:hover,
.aur-forecast-introduction a:focus {
    color: var(--accent-hover);
    text-decoration: none;
}


/* 2x2 desktop forecast grid */
.aur-forecast-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    padding: 1rem;
}

/* NOAA North */
.aur-forecast-noaa-north-figure {
    min-width: 0;
    margin: 0;
    overflow: hidden;
    background: #091322;
    border: 1px solid var(--border);
    border-radius: 8px;
    text-align: center;
}

.aur-forecast-noaa-north-figure > a {
    display: block;
    padding: 0.75rem;
}

.aur-forecast-noaa-north-figure img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
    object-fit: contain;
}

.aur-forecast-noaa-north-caption {
    display: block;
    padding: 0.65rem 0.75rem 0.75rem;
    color: var(--text-secondary);
    background: rgba(255, 255, 255, 0.02);
    font-size: 0.76rem;
    line-height: 1.4;
    border-top: 1px solid var(--border);
}

.aur-forecast-noaa-north-description {
    display: block;
}

.aur-forecast-noaa-north-source {
    display: block;
    margin-top: 0.3rem;
    color: var(--text-muted);
    font-size: 0.7rem;
}

.aur-forecast-noaa-north-source a {
    color: var(--accent);
    text-decoration: none;
}

.aur-forecast-noaa-north-source a:hover,
.aur-forecast-noaa-north-source a:focus {
    color: var(--accent-hover);
    text-decoration: none;
}

/* NOAA South */
.aur-forecast-noaa-south-figure {
    min-width: 0;
    margin: 0;
    overflow: hidden;
    background: #091322;
    border: 1px solid var(--border);
    border-radius: 8px;
    text-align: center;
}

.aur-forecast-noaa-south-figure > a {
    display: block;
    padding: 0.75rem;
}

.aur-forecast-noaa-south-figure img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
    object-fit: contain;
}

.aur-forecast-noaa-south-caption {
    display: block;
    padding: 0.65rem 0.75rem 0.75rem;
    color: var(--text-secondary);
    background: rgba(255, 255, 255, 0.02);
    font-size: 0.76rem;
    line-height: 1.4;
    border-top: 1px solid var(--border);
}

.aur-forecast-noaa-south-description {
    display: block;
}

.aur-forecast-noaa-south-source {
    display: block;
    margin-top: 0.3rem;
    color: var(--text-muted);
    font-size: 0.7rem;
}

.aur-forecast-noaa-south-source a {
    color: var(--accent);
    text-decoration: none;
}

.aur-forecast-noaa-south-source a:hover,
.aur-forecast-noaa-south-source a:focus {
    color: var(--accent-hover);
    text-decoration: none;
}

/* UAF North */
.aur-forecast-uaf-north-figure {
    min-width: 0;
    margin: 0;
    overflow: hidden;
    background: #091322;
    border: 1px solid var(--border);
    border-radius: 8px;
    text-align: center;
}

.aur-forecast-uaf-north-figure > a {
    display: block;
    padding: 0.75rem;
}

.aur-forecast-uaf-north-figure img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
    object-fit: contain;
}

.aur-forecast-uaf-north-caption {
    display: block;
    padding: 0.65rem 0.75rem 0.75rem;
    color: var(--text-secondary);
    background: rgba(255, 255, 255, 0.02);
    font-size: 0.76rem;
    line-height: 1.4;
    border-top: 1px solid var(--border);
}

.aur-forecast-uaf-north-description {
    display: block;
}

.aur-forecast-uaf-north-source {
    display: block;
    margin-top: 0.3rem;
    color: var(--text-muted);
    font-size: 0.7rem;
}

.aur-forecast-uaf-north-source a {
    color: var(--accent);
    text-decoration: none;
}

.aur-forecast-uaf-north-source a:hover,
.aur-forecast-uaf-north-source a:focus {
    color: var(--accent-hover);
    text-decoration: none;
}

/* UAF South */
.aur-forecast-uaf-south-figure {
    min-width: 0;
    margin: 0;
    overflow: hidden;
    background: #091322;
    border: 1px solid var(--border);
    border-radius: 8px;
    text-align: center;
}

.aur-forecast-uaf-south-figure > a {
    display: block;
    padding: 0.75rem;
}

.aur-forecast-uaf-south-figure img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
    object-fit: contain;
}

.aur-forecast-uaf-south-caption {
    display: block;
    padding: 0.65rem 0.75rem 0.75rem;
    color: var(--text-secondary);
    background: rgba(255, 255, 255, 0.02);
    font-size: 0.76rem;
    line-height: 1.4;
    border-top: 1px solid var(--border);
}

.aur-forecast-uaf-south-description {
    display: block;
}

.aur-forecast-uaf-south-source {
    display: block;
    margin-top: 0.3rem;
    color: var(--text-muted);
    font-size: 0.7rem;
}

.aur-forecast-uaf-south-source a {
    color: var(--accent);
    text-decoration: none;
}

.aur-forecast-uaf-south-source a:hover,
.aur-forecast-uaf-south-source a:focus {
    color: var(--accent-hover);
    text-decoration: none;
}


/* Interpretation */
.aur-forecast-interpretation {
    padding: 1.15rem 1.25rem;
    color: var(--text-secondary);
    font-size: 0.9rem;
    line-height: 1.65;
    border-top: 1px solid var(--border);
}

.aur-forecast-interpretation-label {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    margin-bottom: 0.65rem;
    color: var(--text-primary);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.aur-forecast-interpretation-icon {
    display: block;
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    object-fit: contain;
}

.aur-forecast-interpretation p {
    margin: 0;
}

.aur-forecast-interpretation p + p {
    margin-top: 1.15rem;
}


/* No underlined links on Aurorae content */
.aur-intro-card a,
.aur-forecast-card a {
    text-decoration: none;
}

.aur-intro-card a:hover,
.aur-intro-card a:focus,
.aur-forecast-card a:hover,
.aur-forecast-card a:focus {
    text-decoration: none;
}


/* Mobile: one image per row */
@media (max-width: 767.98px) {
    .aur-intro-section,
    .aur-forecast-section {
        margin-bottom: 2rem;
    }

    .aur-intro-text,
    .aur-forecast-introduction,
    .aur-forecast-interpretation {
        padding: 1rem;
        font-size: 0.86rem;
    }

    .aur-forecast-grid {
        grid-template-columns: 1fr;
        gap: 0.75rem;
        padding: 0.75rem;
    }

    .aur-forecast-noaa-north-figure > a,
    .aur-forecast-noaa-south-figure > a,
    .aur-forecast-uaf-north-figure > a,
    .aur-forecast-uaf-south-figure > a {
        padding: 0.55rem;
    }

    .aur-forecast-noaa-north-caption,
    .aur-forecast-noaa-south-caption,
    .aur-forecast-uaf-north-caption,
    .aur-forecast-uaf-south-caption {
        padding: 0.55rem 0.6rem 0.65rem;
        font-size: 0.7rem;
    }

    .aur-forecast-noaa-north-source,
    .aur-forecast-noaa-south-source,
    .aur-forecast-uaf-north-source,
    .aur-forecast-uaf-south-source {
        font-size: 0.66rem;
    }

    .aur-forecast-interpretation-icon {
        width: 30px;
        height: 30px;
        flex-basis: 30px;
    }
}


/* =========================================================
   BUILD ADDITION: style-refactor-20260824-v49
   Aurorae — normalize NOAA forecast image size on desktop
   to visually match the University of Alaska Fairbanks maps.
   ========================================================= */

@media (min-width: 768px) {
    .aur-forecast-noaa-north-figure > a,
    .aur-forecast-noaa-south-figure > a {
        display: flex;
        align-items: center;
        justify-content: center;
        height: 430px;
        box-sizing: border-box;
    }

    .aur-forecast-noaa-north-figure img,
    .aur-forecast-noaa-south-figure img {
        width: auto;
        max-width: 100%;
        height: 100%;
        max-height: 100%;
        object-fit: contain;
    }

    .aur-forecast-uaf-north-figure > a,
    .aur-forecast-uaf-south-figure > a {
        display: flex;
        align-items: center;
        justify-content: center;
        height: 430px;
        box-sizing: border-box;
    }

    .aur-forecast-uaf-north-figure img,
    .aur-forecast-uaf-south-figure img {
        width: auto;
        max-width: 100%;
        height: 100%;
        max-height: 100%;
        object-fit: contain;
    }
}


/* =========================================================
   BUILD ADDITION: style-refactor-20260824-v50
   Aurorae — Introduction link styling
   ========================================================= */

.aur-intro-text a {
    color: var(--accent);
    text-decoration: none;
}

.aur-intro-text a:hover,
.aur-intro-text a:focus {
    color: var(--accent-hover);
    text-decoration: none;
}


/* =========================================================
   BUILD ADDITION: style-refactor-20260824-v51
   Links page — isolated lnk-* classes
   ========================================================= */

.lnk-observation-section,
.lnk-tools-section,.lnk-repositories-section,.lnk-forecasts-section,.lnk-solar-section,
.lnk-geomagnetism-section,.lnk-aurorae-section,.lnk-radio-section,.lnk-research-section {
    margin-bottom: 2.5rem;
}

.lnk-observation-heading,.lnk-tools-heading,.lnk-repositories-heading,.lnk-forecasts-heading,
.lnk-solar-heading,.lnk-geomagnetism-heading,.lnk-aurorae-heading,.lnk-radio-heading,.lnk-research-heading {
    margin-bottom: 1rem;
}

.lnk-observation-heading h2,.lnk-tools-heading h2,.lnk-repositories-heading h2,.lnk-forecasts-heading h2,
.lnk-solar-heading h2,.lnk-geomagnetism-heading h2,.lnk-aurorae-heading h2,.lnk-radio-heading h2,.lnk-research-heading h2 {
    margin: 0; color: var(--text-primary); font-size: 1.35rem; font-weight: 650;
}

.lnk-observation-panel {
    padding: 1rem; background: var(--bg-card); border: 1px solid var(--border);
    border-radius: var(--radius); box-shadow: var(--shadow);
}

.lnk-observation-grid {
    display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; align-items: stretch;
}

.lnk-observation-esa-card,.lnk-observation-noaa-card,.lnk-observation-nasa-card,.lnk-observation-bom-card {
    display: flex; min-width: 0; min-height: 210px; overflow: hidden; background: #091322;
    border: 1px solid var(--border); border-radius: 8px; transition: border-color .18s ease;
}
.lnk-observation-esa-card:hover,.lnk-observation-noaa-card:hover,.lnk-observation-nasa-card:hover,.lnk-observation-bom-card:hover {
    border-color: var(--accent);
}

.lnk-observation-esa-logo-box,.lnk-observation-noaa-logo-box,.lnk-observation-nasa-logo-box,.lnk-observation-bom-logo-box {
    display:flex; flex:0 0 150px; align-items:center; justify-content:center; padding:1rem;
    background:rgba(255,255,255,.025); border-right:1px solid var(--border);
}
.lnk-observation-esa-logo,.lnk-observation-noaa-logo,.lnk-observation-nasa-logo,.lnk-observation-bom-logo {
    display:block; width:112px; height:112px; object-fit:contain;
}

.lnk-observation-esa-content,.lnk-observation-noaa-content,.lnk-observation-nasa-content,.lnk-observation-bom-content {
    min-width:0; padding:1rem;
}
.lnk-observation-esa-title,.lnk-observation-noaa-title,.lnk-observation-nasa-title,.lnk-observation-bom-title {
    margin:0 0 .7rem; font-size:1rem; line-height:1.35;
}
.lnk-observation-esa-title a,.lnk-observation-noaa-title a,.lnk-observation-nasa-title a,.lnk-observation-bom-title a {
    color:var(--accent); text-decoration:none;
}
.lnk-observation-esa-title a:hover,.lnk-observation-esa-title a:focus,
.lnk-observation-noaa-title a:hover,.lnk-observation-noaa-title a:focus,
.lnk-observation-nasa-title a:hover,.lnk-observation-nasa-title a:focus,
.lnk-observation-bom-title a:hover,.lnk-observation-bom-title a:focus {
    color:var(--accent-hover); text-decoration:none;
}
.lnk-observation-esa-description,.lnk-observation-noaa-description,.lnk-observation-nasa-description,.lnk-observation-bom-description {
    margin:0; color:var(--text-secondary); font-size:.84rem; line-height:1.6;
}

.lnk-tools-panel,.lnk-repositories-panel,.lnk-forecasts-panel,.lnk-solar-panel,
.lnk-geomagnetism-panel,.lnk-aurorae-panel,.lnk-radio-panel,.lnk-research-panel {
    padding:1.15rem 1.25rem; background:var(--bg-card); border:1px solid var(--border);
    border-radius:var(--radius); box-shadow:var(--shadow);
}
.lnk-tools-placeholder,.lnk-repositories-placeholder,.lnk-forecasts-placeholder,.lnk-solar-placeholder,
.lnk-geomagnetism-placeholder,.lnk-aurorae-placeholder,.lnk-radio-placeholder,.lnk-research-placeholder {
    margin:0; color:var(--text-muted); font-size:.86rem;
}

@media (max-width:767.98px) {
    .lnk-observation-grid { grid-template-columns:1fr; gap:.75rem; }
    .lnk-observation-panel { padding:.75rem; }
    .lnk-observation-esa-card,.lnk-observation-noaa-card,.lnk-observation-nasa-card,.lnk-observation-bom-card {
        flex-direction:column; min-height:0;
    }
    .lnk-observation-esa-logo-box,.lnk-observation-noaa-logo-box,.lnk-observation-nasa-logo-box,.lnk-observation-bom-logo-box {
        flex:none; width:100%; min-height:130px; padding:.85rem; border-right:0; border-bottom:1px solid var(--border);
    }
    .lnk-observation-esa-logo,.lnk-observation-noaa-logo,.lnk-observation-nasa-logo,.lnk-observation-bom-logo {
        width:96px; height:96px;
    }
    .lnk-observation-esa-content,.lnk-observation-noaa-content,.lnk-observation-nasa-content,.lnk-observation-bom-content {
        padding:.85rem;
    }
}

/* BUILD: style-refactor-20260824-v52 — ESA description update; no visual changes. */


/* =========================================================
   BUILD ADDITION: style-refactor-20260824-v53
   Links — additional Observation and Prediction Centers
   Dedicated classes only.
   ========================================================= */

.lnk-observation-stce-card,
.lnk-observation-cas-card,
.lnk-observation-aemet-card,
.lnk-observation-ign-card {
    display: flex;
    min-width: 0;
    min-height: 210px;
    overflow: hidden;
    background: #091322;
    border: 1px solid var(--border);
    border-radius: 8px;
    transition: border-color .18s ease;
}

.lnk-observation-stce-card:hover,
.lnk-observation-cas-card:hover,
.lnk-observation-aemet-card:hover,
.lnk-observation-ign-card:hover {
    border-color: var(--accent);
}

.lnk-observation-stce-logo-box,
.lnk-observation-cas-logo-box,
.lnk-observation-aemet-logo-box,
.lnk-observation-ign-logo-box {
    display:flex;
    flex:0 0 150px;
    align-items:center;
    justify-content:center;
    padding:1rem;
    background:rgba(255,255,255,.025);
    border-right:1px solid var(--border);
}

.lnk-observation-stce-logo,
.lnk-observation-cas-logo,
.lnk-observation-aemet-logo,
.lnk-observation-ign-logo {
    display:block;
    width:112px;
    height:112px;
    object-fit:contain;
}

.lnk-observation-stce-content,
.lnk-observation-cas-content,
.lnk-observation-aemet-content,
.lnk-observation-ign-content {
    min-width:0;
    padding:1rem;
}

.lnk-observation-stce-title,
.lnk-observation-cas-title,
.lnk-observation-aemet-title,
.lnk-observation-ign-title {
    margin:0 0 .7rem;
    font-size:1rem;
    line-height:1.35;
}

.lnk-observation-stce-title a,
.lnk-observation-cas-title a,
.lnk-observation-aemet-title a,
.lnk-observation-ign-title a {
    color:var(--accent);
    text-decoration:none;
}

.lnk-observation-stce-title a:hover,
.lnk-observation-stce-title a:focus,
.lnk-observation-cas-title a:hover,
.lnk-observation-cas-title a:focus,
.lnk-observation-aemet-title a:hover,
.lnk-observation-aemet-title a:focus,
.lnk-observation-ign-title a:hover,
.lnk-observation-ign-title a:focus {
    color:var(--accent-hover);
    text-decoration:none;
}

.lnk-observation-stce-description,
.lnk-observation-cas-description,
.lnk-observation-aemet-description,
.lnk-observation-ign-description {
    margin:0;
    color:var(--text-secondary);
    font-size:.84rem;
    line-height:1.6;
}

@media (max-width:767.98px) {
    .lnk-observation-stce-card,
    .lnk-observation-cas-card,
    .lnk-observation-aemet-card,
    .lnk-observation-ign-card {
        flex-direction:column;
        min-height:0;
    }

    .lnk-observation-stce-logo-box,
    .lnk-observation-cas-logo-box,
    .lnk-observation-aemet-logo-box,
    .lnk-observation-ign-logo-box {
        flex:none;
        width:100%;
        min-height:130px;
        padding:.85rem;
        border-right:0;
        border-bottom:1px solid var(--border);
    }

    .lnk-observation-stce-logo,
    .lnk-observation-cas-logo,
    .lnk-observation-aemet-logo,
    .lnk-observation-ign-logo {
        width:96px;
        height:96px;
    }

    .lnk-observation-stce-content,
    .lnk-observation-cas-content,
    .lnk-observation-aemet-content,
    .lnk-observation-ign-content {
        padding:.85rem;
    }
}


/* =========================================================
   BUILD ADDITION: style-refactor-20260824-v54
   Links — ROA, SENMES-UAH and Observatori de l'Ebre
   Dedicated classes only.
   ========================================================= */

.lnk-observation-roa-card,
.lnk-observation-senmes-card,
.lnk-observation-ebre-card {
    display: flex;
    min-width: 0;
    min-height: 210px;
    overflow: hidden;
    background: #091322;
    border: 1px solid var(--border);
    border-radius: 8px;
    transition: border-color .18s ease;
}

.lnk-observation-roa-card:hover,
.lnk-observation-senmes-card:hover,
.lnk-observation-ebre-card:hover {
    border-color: var(--accent);
}

.lnk-observation-roa-logo-box,
.lnk-observation-senmes-logo-box,
.lnk-observation-ebre-logo-box {
    display: flex;
    flex: 0 0 150px;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    background: rgba(255,255,255,.025);
    border-right: 1px solid var(--border);
}

.lnk-observation-roa-logo,
.lnk-observation-senmes-logo,
.lnk-observation-ebre-logo {
    display: block;
    width: 112px;
    height: 112px;
    object-fit: contain;
}

.lnk-observation-roa-content,
.lnk-observation-senmes-content,
.lnk-observation-ebre-content {
    min-width: 0;
    padding: 1rem;
}

.lnk-observation-roa-title,
.lnk-observation-senmes-title,
.lnk-observation-ebre-title {
    margin: 0 0 .7rem;
    font-size: 1rem;
    line-height: 1.35;
}

.lnk-observation-roa-title a,
.lnk-observation-senmes-title a,
.lnk-observation-ebre-title a {
    color: var(--accent);
    text-decoration: none;
}

.lnk-observation-roa-title a:hover,
.lnk-observation-roa-title a:focus,
.lnk-observation-senmes-title a:hover,
.lnk-observation-senmes-title a:focus,
.lnk-observation-ebre-title a:hover,
.lnk-observation-ebre-title a:focus {
    color: var(--accent-hover);
    text-decoration: none;
}

.lnk-observation-roa-description,
.lnk-observation-senmes-description,
.lnk-observation-ebre-description {
    margin: 0;
    color: var(--text-secondary);
    font-size: .84rem;
    line-height: 1.6;
}

@media (max-width: 767.98px) {
    .lnk-observation-roa-card,
    .lnk-observation-senmes-card,
    .lnk-observation-ebre-card {
        flex-direction: column;
        min-height: 0;
    }

    .lnk-observation-roa-logo-box,
    .lnk-observation-senmes-logo-box,
    .lnk-observation-ebre-logo-box {
        flex: none;
        width: 100%;
        min-height: 130px;
        padding: .85rem;
        border-right: 0;
        border-bottom: 1px solid var(--border);
    }

    .lnk-observation-roa-logo,
    .lnk-observation-senmes-logo,
    .lnk-observation-ebre-logo {
        width: 96px;
        height: 96px;
    }

    .lnk-observation-roa-content,
    .lnk-observation-senmes-content,
    .lnk-observation-ebre-content {
        padding: .85rem;
    }
}


/* =========================================================
   BUILD ADDITION: style-refactor-20260824-v55
   Links — Integrated Tools
   Dedicated lnk-tools-* classes only.
   ========================================================= */

.lnk-tools-panel {
    padding: 1rem;
}

.lnk-tools-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    align-items: stretch;
}

/* ISWA */
.lnk-tools-iswa-card {
    display: flex;
    min-width: 0;
    min-height: 210px;
    overflow: hidden;
    background: #091322;
    border: 1px solid var(--border);
    border-radius: 8px;
    transition: border-color .18s ease;
}

.lnk-tools-iswa-card:hover {
    border-color: var(--accent);
}

.lnk-tools-iswa-logo-box {
    display: flex;
    flex: 0 0 150px;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    background: rgba(255,255,255,.025);
    border-right: 1px solid var(--border);
}

.lnk-tools-iswa-logo {
    display: block;
    width: 112px;
    height: 112px;
    object-fit: contain;
}

.lnk-tools-iswa-content {
    min-width: 0;
    padding: 1rem;
}

.lnk-tools-iswa-title {
    margin: 0 0 .7rem;
    font-size: 1rem;
    line-height: 1.35;
}

.lnk-tools-iswa-title a {
    color: var(--accent);
    text-decoration: none;
}

.lnk-tools-iswa-title a:hover,
.lnk-tools-iswa-title a:focus {
    color: var(--accent-hover);
    text-decoration: none;
}

.lnk-tools-iswa-description {
    margin: 0;
    color: var(--text-secondary);
    font-size: .84rem;
    line-height: 1.6;
}

/* RayTRIX */
.lnk-tools-raytrix-card {
    display: flex;
    min-width: 0;
    min-height: 210px;
    overflow: hidden;
    background: #091322;
    border: 1px solid var(--border);
    border-radius: 8px;
    transition: border-color .18s ease;
}

.lnk-tools-raytrix-card:hover {
    border-color: var(--accent);
}

.lnk-tools-raytrix-logo-box {
    display: flex;
    flex: 0 0 150px;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    background: rgba(255,255,255,.025);
    border-right: 1px solid var(--border);
}

.lnk-tools-raytrix-logo {
    display: block;
    width: 112px;
    height: 112px;
    object-fit: contain;
}

.lnk-tools-raytrix-content {
    min-width: 0;
    padding: 1rem;
}

.lnk-tools-raytrix-title {
    margin: 0 0 .7rem;
    font-size: 1rem;
    line-height: 1.35;
}

.lnk-tools-raytrix-title a {
    color: var(--accent);
    text-decoration: none;
}

.lnk-tools-raytrix-title a:hover,
.lnk-tools-raytrix-title a:focus {
    color: var(--accent-hover);
    text-decoration: none;
}

.lnk-tools-raytrix-description {
    margin: 0;
    color: var(--text-secondary);
    font-size: .84rem;
    line-height: 1.6;
}

@media (max-width: 767.98px) {
    .lnk-tools-panel {
        padding: .75rem;
    }

    .lnk-tools-grid {
        grid-template-columns: 1fr;
        gap: .75rem;
    }

    .lnk-tools-iswa-card,
    .lnk-tools-raytrix-card {
        flex-direction: column;
        min-height: 0;
    }

    .lnk-tools-iswa-logo-box,
    .lnk-tools-raytrix-logo-box {
        flex: none;
        width: 100%;
        min-height: 130px;
        padding: .85rem;
        border-right: 0;
        border-bottom: 1px solid var(--border);
    }

    .lnk-tools-iswa-logo,
    .lnk-tools-raytrix-logo {
        width: 96px;
        height: 96px;
    }

    .lnk-tools-iswa-content,
    .lnk-tools-raytrix-content {
        padding: .85rem;
    }
}

/* BUILD ADDITION: style-refactor-20260825-v56 — Reports & Data Repositories */
.lnk-repositories-panel{padding:1rem}
.lnk-repositories-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;align-items:stretch}
.lnk-repositories-esa-current-card,
.lnk-repositories-esa-ionmon-card,
.lnk-repositories-noaa-report-card,
.lnk-repositories-noaa-images-card,
.lnk-repositories-noaa-text-card,
.lnk-repositories-noaa-nesdis-card,
.lnk-repositories-nasa-sdo-card,
.lnk-repositories-njit-bbso-card,
.lnk-repositories-senmes-alerts-card,
.lnk-repositories-bgs-data-card{display:flex;min-width:0;min-height:210px;overflow:hidden;background:#091322;border:1px solid var(--border);border-radius:8px;transition:border-color .18s ease}
.lnk-repositories-esa-current-card:hover,.lnk-repositories-esa-ionmon-card:hover,.lnk-repositories-noaa-report-card:hover,.lnk-repositories-noaa-images-card:hover,.lnk-repositories-noaa-text-card:hover,.lnk-repositories-noaa-nesdis-card:hover,.lnk-repositories-nasa-sdo-card:hover,.lnk-repositories-njit-bbso-card:hover,.lnk-repositories-senmes-alerts-card:hover,.lnk-repositories-bgs-data-card:hover{border-color:var(--accent)}
.lnk-repositories-esa-current-logo-box,
.lnk-repositories-esa-ionmon-logo-box,
.lnk-repositories-noaa-report-logo-box,
.lnk-repositories-noaa-images-logo-box,
.lnk-repositories-noaa-text-logo-box,
.lnk-repositories-noaa-nesdis-logo-box,
.lnk-repositories-nasa-sdo-logo-box,
.lnk-repositories-njit-bbso-logo-box,
.lnk-repositories-senmes-alerts-logo-box,
.lnk-repositories-bgs-data-logo-box{display:flex;flex:0 0 150px;align-items:center;justify-content:center;padding:1rem;background:rgba(255,255,255,.025);border-right:1px solid var(--border)}
.lnk-repositories-esa-current-logo,
.lnk-repositories-esa-ionmon-logo,
.lnk-repositories-noaa-report-logo,
.lnk-repositories-noaa-images-logo,
.lnk-repositories-noaa-text-logo,
.lnk-repositories-noaa-nesdis-logo,
.lnk-repositories-nasa-sdo-logo,
.lnk-repositories-njit-bbso-logo,
.lnk-repositories-senmes-alerts-logo,
.lnk-repositories-bgs-data-logo{display:block;width:112px;height:112px;object-fit:contain}
.lnk-repositories-esa-current-content,
.lnk-repositories-esa-ionmon-content,
.lnk-repositories-noaa-report-content,
.lnk-repositories-noaa-images-content,
.lnk-repositories-noaa-text-content,
.lnk-repositories-noaa-nesdis-content,
.lnk-repositories-nasa-sdo-content,
.lnk-repositories-njit-bbso-content,
.lnk-repositories-senmes-alerts-content,
.lnk-repositories-bgs-data-content{min-width:0;padding:1rem}
.lnk-repositories-esa-current-title,
.lnk-repositories-esa-ionmon-title,
.lnk-repositories-noaa-report-title,
.lnk-repositories-noaa-images-title,
.lnk-repositories-noaa-text-title,
.lnk-repositories-noaa-nesdis-title,
.lnk-repositories-nasa-sdo-title,
.lnk-repositories-njit-bbso-title,
.lnk-repositories-senmes-alerts-title,
.lnk-repositories-bgs-data-title{margin:0 0 .7rem;font-size:1rem;line-height:1.35}
.lnk-repositories-esa-current-title a,.lnk-repositories-esa-ionmon-title a,.lnk-repositories-noaa-report-title a,.lnk-repositories-noaa-images-title a,.lnk-repositories-noaa-text-title a,.lnk-repositories-noaa-nesdis-title a,.lnk-repositories-nasa-sdo-title a,.lnk-repositories-njit-bbso-title a,.lnk-repositories-senmes-alerts-title a,.lnk-repositories-bgs-data-title a{color:var(--accent);text-decoration:none}
.lnk-repositories-esa-current-title a:hover,.lnk-repositories-esa-current-title a:focus,.lnk-repositories-esa-ionmon-title a:hover,.lnk-repositories-esa-ionmon-title a:focus,.lnk-repositories-noaa-report-title a:hover,.lnk-repositories-noaa-report-title a:focus,.lnk-repositories-noaa-images-title a:hover,.lnk-repositories-noaa-images-title a:focus,.lnk-repositories-noaa-text-title a:hover,.lnk-repositories-noaa-text-title a:focus,.lnk-repositories-noaa-nesdis-title a:hover,.lnk-repositories-noaa-nesdis-title a:focus,.lnk-repositories-nasa-sdo-title a:hover,.lnk-repositories-nasa-sdo-title a:focus,.lnk-repositories-njit-bbso-title a:hover,.lnk-repositories-njit-bbso-title a:focus,.lnk-repositories-senmes-alerts-title a:hover,.lnk-repositories-senmes-alerts-title a:focus,.lnk-repositories-bgs-data-title a:hover,.lnk-repositories-bgs-data-title a:focus{color:var(--accent-hover);text-decoration:none}
.lnk-repositories-esa-current-description,
.lnk-repositories-esa-ionmon-description,
.lnk-repositories-noaa-report-description,
.lnk-repositories-noaa-images-description,
.lnk-repositories-noaa-text-description,
.lnk-repositories-noaa-nesdis-description,
.lnk-repositories-nasa-sdo-description,
.lnk-repositories-njit-bbso-description,
.lnk-repositories-senmes-alerts-description,
.lnk-repositories-bgs-data-description{margin:0;color:var(--text-secondary);font-size:.84rem;line-height:1.6}
@media(max-width:767.98px){
.lnk-repositories-panel{padding:.75rem}.lnk-repositories-grid{grid-template-columns:1fr;gap:.75rem}
.lnk-repositories-esa-current-card,
.lnk-repositories-esa-ionmon-card,
.lnk-repositories-noaa-report-card,
.lnk-repositories-noaa-images-card,
.lnk-repositories-noaa-text-card,
.lnk-repositories-noaa-nesdis-card,
.lnk-repositories-nasa-sdo-card,
.lnk-repositories-njit-bbso-card,
.lnk-repositories-senmes-alerts-card,
.lnk-repositories-bgs-data-card{flex-direction:column;min-height:0}
.lnk-repositories-esa-current-logo-box,
.lnk-repositories-esa-ionmon-logo-box,
.lnk-repositories-noaa-report-logo-box,
.lnk-repositories-noaa-images-logo-box,
.lnk-repositories-noaa-text-logo-box,
.lnk-repositories-noaa-nesdis-logo-box,
.lnk-repositories-nasa-sdo-logo-box,
.lnk-repositories-njit-bbso-logo-box,
.lnk-repositories-senmes-alerts-logo-box,
.lnk-repositories-bgs-data-logo-box{flex:none;width:100%;min-height:130px;padding:.85rem;border-right:0;border-bottom:1px solid var(--border)}
.lnk-repositories-esa-current-logo,
.lnk-repositories-esa-ionmon-logo,
.lnk-repositories-noaa-report-logo,
.lnk-repositories-noaa-images-logo,
.lnk-repositories-noaa-text-logo,
.lnk-repositories-noaa-nesdis-logo,
.lnk-repositories-nasa-sdo-logo,
.lnk-repositories-njit-bbso-logo,
.lnk-repositories-senmes-alerts-logo,
.lnk-repositories-bgs-data-logo{width:96px;height:96px}
.lnk-repositories-esa-current-content,
.lnk-repositories-esa-ionmon-content,
.lnk-repositories-noaa-report-content,
.lnk-repositories-noaa-images-content,
.lnk-repositories-noaa-text-content,
.lnk-repositories-noaa-nesdis-content,
.lnk-repositories-nasa-sdo-content,
.lnk-repositories-njit-bbso-content,
.lnk-repositories-senmes-alerts-content,
.lnk-repositories-bgs-data-content{padding:.85rem}
}

/* =========================================================
   BUILD ADDITION: style-refactor-20260825-v57
   Links — Forecasts and Solar Activity
   Dedicated classes only.
   ========================================================= */

.lnk-forecasts-panel {
    padding: 1rem;
}

.lnk-forecasts-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    align-items: stretch;
}

.lnk-forecasts-noaa-advisory-card,
.lnk-forecasts-bom-solar-card {
    display: flex;
    min-width: 0;
    min-height: 210px;
    overflow: hidden;
    background: #091322;
    border: 1px solid var(--border);
    border-radius: 8px;
    transition: border-color .18s ease;
}

.lnk-forecasts-noaa-advisory-card:hover,
.lnk-forecasts-bom-solar-card:hover {
    border-color: var(--accent);
}

.lnk-forecasts-noaa-advisory-logo-box,
.lnk-forecasts-bom-solar-logo-box {
    display: flex;
    flex: 0 0 150px;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    background: rgba(255,255,255,.025);
    border-right: 1px solid var(--border);
}

.lnk-forecasts-noaa-advisory-logo,
.lnk-forecasts-bom-solar-logo {
    display: block;
    width: 112px;
    height: 112px;
    object-fit: contain;
}

.lnk-forecasts-noaa-advisory-content,
.lnk-forecasts-bom-solar-content {
    min-width: 0;
    padding: 1rem;
}

.lnk-forecasts-noaa-advisory-title,
.lnk-forecasts-bom-solar-title {
    margin: 0 0 .7rem;
    font-size: 1rem;
    line-height: 1.35;
}

.lnk-forecasts-noaa-advisory-title a,
.lnk-forecasts-bom-solar-title a {
    color: var(--accent);
    text-decoration: none;
}

.lnk-forecasts-noaa-advisory-title a:hover,
.lnk-forecasts-noaa-advisory-title a:focus,
.lnk-forecasts-bom-solar-title a:hover,
.lnk-forecasts-bom-solar-title a:focus {
    color: var(--accent-hover);
    text-decoration: none;
}

.lnk-forecasts-noaa-advisory-description,
.lnk-forecasts-bom-solar-description {
    margin: 0;
    color: var(--text-secondary);
    font-size: .84rem;
    line-height: 1.6;
}

@media (max-width: 767.98px) {
    .lnk-forecasts-panel {
        padding: .75rem;
    }

    .lnk-forecasts-grid {
        grid-template-columns: 1fr;
        gap: .75rem;
    }

    .lnk-forecasts-noaa-advisory-card,
.lnk-forecasts-bom-solar-card {
        flex-direction: column;
        min-height: 0;
    }

    .lnk-forecasts-noaa-advisory-logo-box,
.lnk-forecasts-bom-solar-logo-box {
        flex: none;
        width: 100%;
        min-height: 130px;
        padding: .85rem;
        border-right: 0;
        border-bottom: 1px solid var(--border);
    }

    .lnk-forecasts-noaa-advisory-logo,
.lnk-forecasts-bom-solar-logo {
        width: 96px;
        height: 96px;
    }

    .lnk-forecasts-noaa-advisory-content,
.lnk-forecasts-bom-solar-content {
        padding: .85rem;
    }
}

.lnk-solar-panel {
    padding: 1rem;
}

.lnk-solar-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    align-items: stretch;
}

.lnk-solar-noaa-cycle-card,
.lnk-solar-ebre-solar-card {
    display: flex;
    min-width: 0;
    min-height: 210px;
    overflow: hidden;
    background: #091322;
    border: 1px solid var(--border);
    border-radius: 8px;
    transition: border-color .18s ease;
}

.lnk-solar-noaa-cycle-card:hover,
.lnk-solar-ebre-solar-card:hover {
    border-color: var(--accent);
}

.lnk-solar-noaa-cycle-logo-box,
.lnk-solar-ebre-solar-logo-box {
    display: flex;
    flex: 0 0 150px;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    background: rgba(255,255,255,.025);
    border-right: 1px solid var(--border);
}

.lnk-solar-noaa-cycle-logo,
.lnk-solar-ebre-solar-logo {
    display: block;
    width: 112px;
    height: 112px;
    object-fit: contain;
}

.lnk-solar-noaa-cycle-content,
.lnk-solar-ebre-solar-content {
    min-width: 0;
    padding: 1rem;
}

.lnk-solar-noaa-cycle-title,
.lnk-solar-ebre-solar-title {
    margin: 0 0 .7rem;
    font-size: 1rem;
    line-height: 1.35;
}

.lnk-solar-noaa-cycle-title a,
.lnk-solar-ebre-solar-title a {
    color: var(--accent);
    text-decoration: none;
}

.lnk-solar-noaa-cycle-title a:hover,
.lnk-solar-noaa-cycle-title a:focus,
.lnk-solar-ebre-solar-title a:hover,
.lnk-solar-ebre-solar-title a:focus {
    color: var(--accent-hover);
    text-decoration: none;
}

.lnk-solar-noaa-cycle-description,
.lnk-solar-ebre-solar-description {
    margin: 0;
    color: var(--text-secondary);
    font-size: .84rem;
    line-height: 1.6;
}

@media (max-width: 767.98px) {
    .lnk-solar-panel {
        padding: .75rem;
    }

    .lnk-solar-grid {
        grid-template-columns: 1fr;
        gap: .75rem;
    }

    .lnk-solar-noaa-cycle-card,
.lnk-solar-ebre-solar-card {
        flex-direction: column;
        min-height: 0;
    }

    .lnk-solar-noaa-cycle-logo-box,
.lnk-solar-ebre-solar-logo-box {
        flex: none;
        width: 100%;
        min-height: 130px;
        padding: .85rem;
        border-right: 0;
        border-bottom: 1px solid var(--border);
    }

    .lnk-solar-noaa-cycle-logo,
.lnk-solar-ebre-solar-logo {
        width: 96px;
        height: 96px;
    }

    .lnk-solar-noaa-cycle-content,
.lnk-solar-ebre-solar-content {
        padding: .85rem;
    }
}


/* =========================================================
   BUILD ADDITION: style-refactor-20260825-v58
   Links — Geomagnetism
   Dedicated lnk-geomagnetism-* classes only.
   ========================================================= */

.lnk-geomagnetism-panel {
    padding: 1rem;
}

.lnk-geomagnetism-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    align-items: stretch;
}

.lnk-geomagnetism-intermagnet-card,
.lnk-geomagnetism-ebre-horta-card,
.lnk-geomagnetism-ign-sanpablo-card,
.lnk-geomagnetism-ign-guimar-card,
.lnk-geomagnetism-ign-storms-card,
.lnk-geomagnetism-noaa-geospace-card,
.lnk-geomagnetism-usgs-card {
    display: flex;
    min-width: 0;
    min-height: 210px;
    overflow: hidden;
    background: #091322;
    border: 1px solid var(--border);
    border-radius: 8px;
    transition: border-color .18s ease;
}

.lnk-geomagnetism-intermagnet-card:hover,
.lnk-geomagnetism-ebre-horta-card:hover,
.lnk-geomagnetism-ign-sanpablo-card:hover,
.lnk-geomagnetism-ign-guimar-card:hover,
.lnk-geomagnetism-ign-storms-card:hover,
.lnk-geomagnetism-noaa-geospace-card:hover,
.lnk-geomagnetism-usgs-card:hover {
    border-color: var(--accent);
}

.lnk-geomagnetism-intermagnet-logo-box,
.lnk-geomagnetism-ebre-horta-logo-box,
.lnk-geomagnetism-ign-sanpablo-logo-box,
.lnk-geomagnetism-ign-guimar-logo-box,
.lnk-geomagnetism-ign-storms-logo-box,
.lnk-geomagnetism-noaa-geospace-logo-box,
.lnk-geomagnetism-usgs-logo-box {
    display: flex;
    flex: 0 0 150px;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    background: rgba(255,255,255,.025);
    border-right: 1px solid var(--border);
}

.lnk-geomagnetism-intermagnet-logo,
.lnk-geomagnetism-ebre-horta-logo,
.lnk-geomagnetism-ign-sanpablo-logo,
.lnk-geomagnetism-ign-guimar-logo,
.lnk-geomagnetism-ign-storms-logo,
.lnk-geomagnetism-noaa-geospace-logo,
.lnk-geomagnetism-usgs-logo {
    display: block;
    width: 112px;
    height: 112px;
    object-fit: contain;
}

.lnk-geomagnetism-intermagnet-content,
.lnk-geomagnetism-ebre-horta-content,
.lnk-geomagnetism-ign-sanpablo-content,
.lnk-geomagnetism-ign-guimar-content,
.lnk-geomagnetism-ign-storms-content,
.lnk-geomagnetism-noaa-geospace-content,
.lnk-geomagnetism-usgs-content {
    min-width: 0;
    padding: 1rem;
}

.lnk-geomagnetism-intermagnet-title,
.lnk-geomagnetism-ebre-horta-title,
.lnk-geomagnetism-ign-sanpablo-title,
.lnk-geomagnetism-ign-guimar-title,
.lnk-geomagnetism-ign-storms-title,
.lnk-geomagnetism-noaa-geospace-title,
.lnk-geomagnetism-usgs-title {
    margin: 0 0 .7rem;
    font-size: 1rem;
    line-height: 1.35;
}

.lnk-geomagnetism-intermagnet-title a,
.lnk-geomagnetism-ebre-horta-title a,
.lnk-geomagnetism-ign-sanpablo-title a,
.lnk-geomagnetism-ign-guimar-title a,
.lnk-geomagnetism-ign-storms-title a,
.lnk-geomagnetism-noaa-geospace-title a,
.lnk-geomagnetism-usgs-title a {
    color: var(--accent);
    text-decoration: none;
}

.lnk-geomagnetism-intermagnet-title a:hover,
.lnk-geomagnetism-intermagnet-title a:focus,
.lnk-geomagnetism-ebre-horta-title a:hover,
.lnk-geomagnetism-ebre-horta-title a:focus,
.lnk-geomagnetism-ign-sanpablo-title a:hover,
.lnk-geomagnetism-ign-sanpablo-title a:focus,
.lnk-geomagnetism-ign-guimar-title a:hover,
.lnk-geomagnetism-ign-guimar-title a:focus,
.lnk-geomagnetism-ign-storms-title a:hover,
.lnk-geomagnetism-ign-storms-title a:focus,
.lnk-geomagnetism-noaa-geospace-title a:hover,
.lnk-geomagnetism-noaa-geospace-title a:focus,
.lnk-geomagnetism-usgs-title a:hover,
.lnk-geomagnetism-usgs-title a:focus {
    color: var(--accent-hover);
    text-decoration: none;
}

.lnk-geomagnetism-intermagnet-description,
.lnk-geomagnetism-ebre-horta-description,
.lnk-geomagnetism-ign-sanpablo-description,
.lnk-geomagnetism-ign-guimar-description,
.lnk-geomagnetism-ign-storms-description,
.lnk-geomagnetism-noaa-geospace-description,
.lnk-geomagnetism-usgs-description {
    margin: 0;
    color: var(--text-secondary);
    font-size: .84rem;
    line-height: 1.6;
}

@media (max-width: 767.98px) {
    .lnk-geomagnetism-panel {
        padding: .75rem;
    }

    .lnk-geomagnetism-grid {
        grid-template-columns: 1fr;
        gap: .75rem;
    }

    .lnk-geomagnetism-intermagnet-card,
.lnk-geomagnetism-ebre-horta-card,
.lnk-geomagnetism-ign-sanpablo-card,
.lnk-geomagnetism-ign-guimar-card,
.lnk-geomagnetism-ign-storms-card,
.lnk-geomagnetism-noaa-geospace-card,
.lnk-geomagnetism-usgs-card {
        flex-direction: column;
        min-height: 0;
    }

    .lnk-geomagnetism-intermagnet-logo-box,
.lnk-geomagnetism-ebre-horta-logo-box,
.lnk-geomagnetism-ign-sanpablo-logo-box,
.lnk-geomagnetism-ign-guimar-logo-box,
.lnk-geomagnetism-ign-storms-logo-box,
.lnk-geomagnetism-noaa-geospace-logo-box,
.lnk-geomagnetism-usgs-logo-box {
        flex: none;
        width: 100%;
        min-height: 130px;
        padding: .85rem;
        border-right: 0;
        border-bottom: 1px solid var(--border);
    }

    .lnk-geomagnetism-intermagnet-logo,
.lnk-geomagnetism-ebre-horta-logo,
.lnk-geomagnetism-ign-sanpablo-logo,
.lnk-geomagnetism-ign-guimar-logo,
.lnk-geomagnetism-ign-storms-logo,
.lnk-geomagnetism-noaa-geospace-logo,
.lnk-geomagnetism-usgs-logo {
        width: 96px;
        height: 96px;
    }

    .lnk-geomagnetism-intermagnet-content,
.lnk-geomagnetism-ebre-horta-content,
.lnk-geomagnetism-ign-sanpablo-content,
.lnk-geomagnetism-ign-guimar-content,
.lnk-geomagnetism-ign-storms-content,
.lnk-geomagnetism-noaa-geospace-content,
.lnk-geomagnetism-usgs-content {
        padding: .85rem;
    }
}

/* BUILD ADDITION: style-refactor-20260826-v59 — Aurorae */
.lnk-aurorae-panel{padding:1rem}
.lnk-aurorae-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;align-items:stretch}
.lnk-aurorae-ovation-card,
.lnk-aurorae-aurorawatch-card{display:flex;min-width:0;min-height:210px;overflow:hidden;background:#091322;border:1px solid var(--border);border-radius:8px;transition:border-color .18s ease}
.lnk-aurorae-ovation-card:hover,.lnk-aurorae-aurorawatch-card:hover{border-color:var(--accent)}
.lnk-aurorae-ovation-logo-box,
.lnk-aurorae-aurorawatch-logo-box{display:flex;flex:0 0 150px;align-items:center;justify-content:center;padding:1rem;background:rgba(255,255,255,.025);border-right:1px solid var(--border)}
.lnk-aurorae-ovation-logo,
.lnk-aurorae-aurorawatch-logo{display:block;width:112px;height:112px;object-fit:contain}
.lnk-aurorae-ovation-content,
.lnk-aurorae-aurorawatch-content{min-width:0;padding:1rem}
.lnk-aurorae-ovation-title,
.lnk-aurorae-aurorawatch-title{margin:0 0 .7rem;font-size:1rem;line-height:1.35}
.lnk-aurorae-ovation-title a,.lnk-aurorae-aurorawatch-title a{color:var(--accent);text-decoration:none}
.lnk-aurorae-ovation-title a:hover,.lnk-aurorae-ovation-title a:focus,.lnk-aurorae-aurorawatch-title a:hover,.lnk-aurorae-aurorawatch-title a:focus{color:var(--accent-hover);text-decoration:none}
.lnk-aurorae-ovation-description,
.lnk-aurorae-aurorawatch-description{margin:0;color:var(--text-secondary);font-size:.84rem;line-height:1.6}
@media(max-width:767.98px){
.lnk-aurorae-panel{padding:.75rem}.lnk-aurorae-grid{grid-template-columns:1fr;gap:.75rem}
.lnk-aurorae-ovation-card,
.lnk-aurorae-aurorawatch-card{flex-direction:column;min-height:0}
.lnk-aurorae-ovation-logo-box,
.lnk-aurorae-aurorawatch-logo-box{flex:none;width:100%;min-height:130px;padding:.85rem;border-right:0;border-bottom:1px solid var(--border)}
.lnk-aurorae-ovation-logo,
.lnk-aurorae-aurorawatch-logo{width:96px;height:96px}
.lnk-aurorae-ovation-content,
.lnk-aurorae-aurorawatch-content{padding:.85rem}
}

/* BUILD ADDITION: style-refactor-20260826-v60 — Radio Communications */
.lnk-radio-panel{padding:1rem} .lnk-radio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;align-items:stretch}
.lnk-radio-remer-card,
.lnk-radio-ea3eph-card,
.lnk-radio-senmes-card,
.lnk-radio-iesc-card,
.lnk-radio-bom-global-card,
.lnk-radio-bom-fadeout-card,
.lnk-radio-noaa-radio-card,
.lnk-radio-noaa-aviation-card,
.lnk-radio-noaa-wwv-card,
.lnk-radio-giro-card,
.lnk-radio-greyline-card,
.lnk-radio-ionosfera-card{display:flex;min-width:0;min-height:210px;overflow:hidden;background:#091322;border:1px solid var(--border);border-radius:8px;transition:border-color .18s ease}
.lnk-radio-remer-card:hover,.lnk-radio-ea3eph-card:hover,.lnk-radio-senmes-card:hover,.lnk-radio-iesc-card:hover,.lnk-radio-bom-global-card:hover,.lnk-radio-bom-fadeout-card:hover,.lnk-radio-noaa-radio-card:hover,.lnk-radio-noaa-aviation-card:hover,.lnk-radio-noaa-wwv-card:hover,.lnk-radio-giro-card:hover,.lnk-radio-greyline-card:hover,.lnk-radio-ionosfera-card:hover{border-color:var(--accent)}
.lnk-radio-remer-logo-box,
.lnk-radio-ea3eph-logo-box,
.lnk-radio-senmes-logo-box,
.lnk-radio-iesc-logo-box,
.lnk-radio-bom-global-logo-box,
.lnk-radio-bom-fadeout-logo-box,
.lnk-radio-noaa-radio-logo-box,
.lnk-radio-noaa-aviation-logo-box,
.lnk-radio-noaa-wwv-logo-box,
.lnk-radio-giro-logo-box,
.lnk-radio-greyline-logo-box,
.lnk-radio-ionosfera-logo-box{display:flex;flex:0 0 150px;align-items:center;justify-content:center;padding:1rem;background:rgba(255,255,255,.025);border-right:1px solid var(--border)}
.lnk-radio-remer-logo,
.lnk-radio-ea3eph-logo,
.lnk-radio-senmes-logo,
.lnk-radio-iesc-logo,
.lnk-radio-bom-global-logo,
.lnk-radio-bom-fadeout-logo,
.lnk-radio-noaa-radio-logo,
.lnk-radio-noaa-aviation-logo,
.lnk-radio-noaa-wwv-logo,
.lnk-radio-giro-logo,
.lnk-radio-greyline-logo,
.lnk-radio-ionosfera-logo{display:block;width:112px;height:112px;object-fit:contain}
.lnk-radio-remer-content,
.lnk-radio-ea3eph-content,
.lnk-radio-senmes-content,
.lnk-radio-iesc-content,
.lnk-radio-bom-global-content,
.lnk-radio-bom-fadeout-content,
.lnk-radio-noaa-radio-content,
.lnk-radio-noaa-aviation-content,
.lnk-radio-noaa-wwv-content,
.lnk-radio-giro-content,
.lnk-radio-greyline-content,
.lnk-radio-ionosfera-content{min-width:0;padding:1rem} .lnk-radio-remer-title,
.lnk-radio-ea3eph-title,
.lnk-radio-senmes-title,
.lnk-radio-iesc-title,
.lnk-radio-bom-global-title,
.lnk-radio-bom-fadeout-title,
.lnk-radio-noaa-radio-title,
.lnk-radio-noaa-aviation-title,
.lnk-radio-noaa-wwv-title,
.lnk-radio-giro-title,
.lnk-radio-greyline-title,
.lnk-radio-ionosfera-title{margin:0 0 .7rem;font-size:1rem;line-height:1.35}
.lnk-radio-remer-title a,.lnk-radio-ea3eph-title a,.lnk-radio-senmes-title a,.lnk-radio-iesc-title a,.lnk-radio-bom-global-title a,.lnk-radio-bom-fadeout-title a,.lnk-radio-noaa-radio-title a,.lnk-radio-noaa-aviation-title a,.lnk-radio-noaa-wwv-title a,.lnk-radio-giro-title a,.lnk-radio-greyline-title a,.lnk-radio-ionosfera-title a{color:var(--accent);text-decoration:none}
.lnk-radio-remer-title a:hover,.lnk-radio-remer-title a:focus,.lnk-radio-ea3eph-title a:hover,.lnk-radio-ea3eph-title a:focus,.lnk-radio-senmes-title a:hover,.lnk-radio-senmes-title a:focus,.lnk-radio-iesc-title a:hover,.lnk-radio-iesc-title a:focus,.lnk-radio-bom-global-title a:hover,.lnk-radio-bom-global-title a:focus,.lnk-radio-bom-fadeout-title a:hover,.lnk-radio-bom-fadeout-title a:focus,.lnk-radio-noaa-radio-title a:hover,.lnk-radio-noaa-radio-title a:focus,.lnk-radio-noaa-aviation-title a:hover,.lnk-radio-noaa-aviation-title a:focus,.lnk-radio-noaa-wwv-title a:hover,.lnk-radio-noaa-wwv-title a:focus,.lnk-radio-giro-title a:hover,.lnk-radio-giro-title a:focus,.lnk-radio-greyline-title a:hover,.lnk-radio-greyline-title a:focus,.lnk-radio-ionosfera-title a:hover,.lnk-radio-ionosfera-title a:focus{color:var(--accent-hover);text-decoration:none}
.lnk-radio-remer-description,
.lnk-radio-ea3eph-description,
.lnk-radio-senmes-description,
.lnk-radio-iesc-description,
.lnk-radio-bom-global-description,
.lnk-radio-bom-fadeout-description,
.lnk-radio-noaa-radio-description,
.lnk-radio-noaa-aviation-description,
.lnk-radio-noaa-wwv-description,
.lnk-radio-giro-description,
.lnk-radio-greyline-description,
.lnk-radio-ionosfera-description{margin:0;color:var(--text-secondary);font-size:.84rem;line-height:1.6}
@media(max-width:767.98px){.lnk-radio-panel{padding:.75rem}.lnk-radio-grid{grid-template-columns:1fr;gap:.75rem}.lnk-radio-remer-card,
.lnk-radio-ea3eph-card,
.lnk-radio-senmes-card,
.lnk-radio-iesc-card,
.lnk-radio-bom-global-card,
.lnk-radio-bom-fadeout-card,
.lnk-radio-noaa-radio-card,
.lnk-radio-noaa-aviation-card,
.lnk-radio-noaa-wwv-card,
.lnk-radio-giro-card,
.lnk-radio-greyline-card,
.lnk-radio-ionosfera-card{flex-direction:column;min-height:0}.lnk-radio-remer-logo-box,
.lnk-radio-ea3eph-logo-box,
.lnk-radio-senmes-logo-box,
.lnk-radio-iesc-logo-box,
.lnk-radio-bom-global-logo-box,
.lnk-radio-bom-fadeout-logo-box,
.lnk-radio-noaa-radio-logo-box,
.lnk-radio-noaa-aviation-logo-box,
.lnk-radio-noaa-wwv-logo-box,
.lnk-radio-giro-logo-box,
.lnk-radio-greyline-logo-box,
.lnk-radio-ionosfera-logo-box{flex:none;width:100%;min-height:130px;padding:.85rem;border-right:0;border-bottom:1px solid var(--border)}.lnk-radio-remer-logo,
.lnk-radio-ea3eph-logo,
.lnk-radio-senmes-logo,
.lnk-radio-iesc-logo,
.lnk-radio-bom-global-logo,
.lnk-radio-bom-fadeout-logo,
.lnk-radio-noaa-radio-logo,
.lnk-radio-noaa-aviation-logo,
.lnk-radio-noaa-wwv-logo,
.lnk-radio-giro-logo,
.lnk-radio-greyline-logo,
.lnk-radio-ionosfera-logo{width:96px;height:96px}.lnk-radio-remer-content,
.lnk-radio-ea3eph-content,
.lnk-radio-senmes-content,
.lnk-radio-iesc-content,
.lnk-radio-bom-global-content,
.lnk-radio-bom-fadeout-content,
.lnk-radio-noaa-radio-content,
.lnk-radio-noaa-aviation-content,
.lnk-radio-noaa-wwv-content,
.lnk-radio-giro-content,
.lnk-radio-greyline-content,
.lnk-radio-ionosfera-content{padding:.85rem}}


/* =========================================================
   BUILD ADDITION: style-refactor-20260826-v61
   Links — Research and Education
   Dedicated lnk-research-* classes only.
   ========================================================= */

.lnk-research-panel {
    padding: 1rem;
}

.lnk-research-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    align-items: stretch;
}

.lnk-research-arrl-card,
.lnk-research-rsgb-card,
.lnk-research-bom-hf-card,
.lnk-research-stanford-vlf-card,
.lnk-research-ises-card,
.lnk-research-agu-card,
.lnk-research-ssi-card {
    display: flex;
    min-width: 0;
    min-height: 210px;
    overflow: hidden;
    background: #091322;
    border: 1px solid var(--border);
    border-radius: 8px;
    transition: border-color .18s ease;
}

.lnk-research-arrl-card:hover,.lnk-research-rsgb-card:hover,.lnk-research-bom-hf-card:hover,.lnk-research-stanford-vlf-card:hover,.lnk-research-ises-card:hover,.lnk-research-agu-card:hover,.lnk-research-ssi-card:hover {
    border-color: var(--accent);
}

.lnk-research-arrl-logo-box,
.lnk-research-rsgb-logo-box,
.lnk-research-bom-hf-logo-box,
.lnk-research-stanford-vlf-logo-box,
.lnk-research-ises-logo-box,
.lnk-research-agu-logo-box,
.lnk-research-ssi-logo-box {
    display: flex;
    flex: 0 0 150px;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    background: rgba(255,255,255,.025);
    border-right: 1px solid var(--border);
}

.lnk-research-arrl-logo,
.lnk-research-rsgb-logo,
.lnk-research-bom-hf-logo,
.lnk-research-stanford-vlf-logo,
.lnk-research-ises-logo,
.lnk-research-agu-logo,
.lnk-research-ssi-logo {
    display: block;
    width: 112px;
    height: 112px;
    object-fit: contain;
}

.lnk-research-arrl-content,
.lnk-research-rsgb-content,
.lnk-research-bom-hf-content,
.lnk-research-stanford-vlf-content,
.lnk-research-ises-content,
.lnk-research-agu-content,
.lnk-research-ssi-content {
    min-width: 0;
    padding: 1rem;
}

.lnk-research-arrl-title,
.lnk-research-rsgb-title,
.lnk-research-bom-hf-title,
.lnk-research-stanford-vlf-title,
.lnk-research-ises-title,
.lnk-research-agu-title,
.lnk-research-ssi-title {
    margin: 0 0 .7rem;
    font-size: 1rem;
    line-height: 1.35;
}

.lnk-research-arrl-title a,.lnk-research-rsgb-title a,.lnk-research-bom-hf-title a,.lnk-research-stanford-vlf-title a,.lnk-research-ises-title a,.lnk-research-agu-title a,.lnk-research-ssi-title a {
    color: var(--accent);
    text-decoration: none;
}

.lnk-research-arrl-title a:hover,.lnk-research-arrl-title a:focus,.lnk-research-rsgb-title a:hover,.lnk-research-rsgb-title a:focus,.lnk-research-bom-hf-title a:hover,.lnk-research-bom-hf-title a:focus,.lnk-research-stanford-vlf-title a:hover,.lnk-research-stanford-vlf-title a:focus,.lnk-research-ises-title a:hover,.lnk-research-ises-title a:focus,.lnk-research-agu-title a:hover,.lnk-research-agu-title a:focus,.lnk-research-ssi-title a:hover,.lnk-research-ssi-title a:focus {
    color: var(--accent-hover);
    text-decoration: none;
}

.lnk-research-arrl-description,
.lnk-research-rsgb-description,
.lnk-research-bom-hf-description,
.lnk-research-stanford-vlf-description,
.lnk-research-ises-description,
.lnk-research-agu-description,
.lnk-research-ssi-description {
    margin: 0;
    color: var(--text-secondary);
    font-size: .84rem;
    line-height: 1.6;
}

@media (max-width: 767.98px) {
    .lnk-research-panel {
        padding: .75rem;
    }

    .lnk-research-grid {
        grid-template-columns: 1fr;
        gap: .75rem;
    }

    .lnk-research-arrl-card,
.lnk-research-rsgb-card,
.lnk-research-bom-hf-card,
.lnk-research-stanford-vlf-card,
.lnk-research-ises-card,
.lnk-research-agu-card,
.lnk-research-ssi-card {
        flex-direction: column;
        min-height: 0;
    }

    .lnk-research-arrl-logo-box,
.lnk-research-rsgb-logo-box,
.lnk-research-bom-hf-logo-box,
.lnk-research-stanford-vlf-logo-box,
.lnk-research-ises-logo-box,
.lnk-research-agu-logo-box,
.lnk-research-ssi-logo-box {
        flex: none;
        width: 100%;
        min-height: 130px;
        padding: .85rem;
        border-right: 0;
        border-bottom: 1px solid var(--border);
    }

    .lnk-research-arrl-logo,
.lnk-research-rsgb-logo,
.lnk-research-bom-hf-logo,
.lnk-research-stanford-vlf-logo,
.lnk-research-ises-logo,
.lnk-research-agu-logo,
.lnk-research-ssi-logo {
        width: 96px;
        height: 96px;
    }

    .lnk-research-arrl-content,
.lnk-research-rsgb-content,
.lnk-research-bom-hf-content,
.lnk-research-stanford-vlf-content,
.lnk-research-ises-content,
.lnk-research-agu-content,
.lnk-research-ssi-content {
        padding: .85rem;
    }
}

/* BUILD ADDITION: style-refactor-20260826-v62 — Space Weather Missions */
.lnk-missions-panel{padding:1rem}.lnk-missions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;align-items:stretch}
.lnk-missions-sdo-card,
.lnk-missions-soho-card,
.lnk-missions-goes-card,
.lnk-missions-ace-card,
.lnk-missions-dscovr-card,
.lnk-missions-stereo-card,
.lnk-missions-solar-orbiter-card{display:flex;min-width:0;min-height:210px;overflow:hidden;background:#091322;border:1px solid var(--border);border-radius:8px;transition:border-color .18s ease}
.lnk-missions-sdo-card:hover,.lnk-missions-soho-card:hover,.lnk-missions-goes-card:hover,.lnk-missions-ace-card:hover,.lnk-missions-dscovr-card:hover,.lnk-missions-stereo-card:hover,.lnk-missions-solar-orbiter-card:hover{border-color:var(--accent)}
.lnk-missions-sdo-logo-box,
.lnk-missions-soho-logo-box,
.lnk-missions-goes-logo-box,
.lnk-missions-ace-logo-box,
.lnk-missions-dscovr-logo-box,
.lnk-missions-stereo-logo-box,
.lnk-missions-solar-orbiter-logo-box{display:flex;flex:0 0 150px;align-items:center;justify-content:center;padding:1rem;background:rgba(255,255,255,.025);border-right:1px solid var(--border)}
.lnk-missions-sdo-logo,
.lnk-missions-soho-logo,
.lnk-missions-goes-logo,
.lnk-missions-ace-logo,
.lnk-missions-dscovr-logo,
.lnk-missions-stereo-logo,
.lnk-missions-solar-orbiter-logo{display:block;width:112px;height:112px;object-fit:contain}.lnk-missions-sdo-content,
.lnk-missions-soho-content,
.lnk-missions-goes-content,
.lnk-missions-ace-content,
.lnk-missions-dscovr-content,
.lnk-missions-stereo-content,
.lnk-missions-solar-orbiter-content{min-width:0;padding:1rem}.lnk-missions-sdo-title,
.lnk-missions-soho-title,
.lnk-missions-goes-title,
.lnk-missions-ace-title,
.lnk-missions-dscovr-title,
.lnk-missions-stereo-title,
.lnk-missions-solar-orbiter-title{margin:0 0 .7rem;font-size:1rem;line-height:1.35}
.lnk-missions-sdo-title a,.lnk-missions-soho-title a,.lnk-missions-goes-title a,.lnk-missions-ace-title a,.lnk-missions-dscovr-title a,.lnk-missions-stereo-title a,.lnk-missions-solar-orbiter-title a{color:var(--accent);text-decoration:none}
.lnk-missions-sdo-title a:hover,.lnk-missions-sdo-title a:focus,.lnk-missions-soho-title a:hover,.lnk-missions-soho-title a:focus,.lnk-missions-goes-title a:hover,.lnk-missions-goes-title a:focus,.lnk-missions-ace-title a:hover,.lnk-missions-ace-title a:focus,.lnk-missions-dscovr-title a:hover,.lnk-missions-dscovr-title a:focus,.lnk-missions-stereo-title a:hover,.lnk-missions-stereo-title a:focus,.lnk-missions-solar-orbiter-title a:hover,.lnk-missions-solar-orbiter-title a:focus{color:var(--accent-hover);text-decoration:none}
.lnk-missions-sdo-description,
.lnk-missions-soho-description,
.lnk-missions-goes-description,
.lnk-missions-ace-description,
.lnk-missions-dscovr-description,
.lnk-missions-stereo-description,
.lnk-missions-solar-orbiter-description{margin:0;color:var(--text-secondary);font-size:.84rem;line-height:1.6}
@media(max-width:767.98px){.lnk-missions-panel{padding:.75rem}.lnk-missions-grid{grid-template-columns:1fr;gap:.75rem}.lnk-missions-sdo-card,
.lnk-missions-soho-card,
.lnk-missions-goes-card,
.lnk-missions-ace-card,
.lnk-missions-dscovr-card,
.lnk-missions-stereo-card,
.lnk-missions-solar-orbiter-card{flex-direction:column;min-height:0}.lnk-missions-sdo-logo-box,
.lnk-missions-soho-logo-box,
.lnk-missions-goes-logo-box,
.lnk-missions-ace-logo-box,
.lnk-missions-dscovr-logo-box,
.lnk-missions-stereo-logo-box,
.lnk-missions-solar-orbiter-logo-box{flex:none;width:100%;min-height:130px;padding:.85rem;border-right:0;border-bottom:1px solid var(--border)}.lnk-missions-sdo-logo,
.lnk-missions-soho-logo,
.lnk-missions-goes-logo,
.lnk-missions-ace-logo,
.lnk-missions-dscovr-logo,
.lnk-missions-stereo-logo,
.lnk-missions-solar-orbiter-logo{width:96px;height:96px}.lnk-missions-sdo-content,
.lnk-missions-soho-content,
.lnk-missions-goes-content,
.lnk-missions-ace-content,
.lnk-missions-dscovr-content,
.lnk-missions-stereo-content,
.lnk-missions-solar-orbiter-content{padding:.85rem}}


/* =========================================================
   BUILD ADDITION: style-refactor-20260826-v63
   Space Weather Missions — section heading/spacing correction
   Match the typography and vertical rhythm of all other sections.
   ========================================================= */

.lnk-missions-section {
    margin-bottom: 2.5rem;
}

.lnk-missions-heading {
    margin-bottom: 1rem;
}

.lnk-missions-heading h2 {
    margin: 0;
    color: var(--text-primary);
    font-size: 1.35rem;
    font-weight: 650;
}


/* =========================================================
   BUILD ADDITION: style-refactor-20260826-v64
   Observation and Prediction Centers — five additional cards
   Dedicated per-card lnk-centers-* classes.
   ========================================================= */

.lnk-centers-nasa-heliophysics-card,
.lnk-centers-ipg-russia-card,
.lnk-centers-sidc-card,
.lnk-centers-canada-card,
.lnk-centers-dlr-card {
    display: flex;
    min-width: 0;
    min-height: 210px;
    overflow: hidden;
    background: #091322;
    border: 1px solid var(--border);
    border-radius: 8px;
    transition: border-color .18s ease;
}

.lnk-centers-nasa-heliophysics-card:hover,.lnk-centers-ipg-russia-card:hover,.lnk-centers-sidc-card:hover,.lnk-centers-canada-card:hover,.lnk-centers-dlr-card:hover {
    border-color: var(--accent);
}

.lnk-centers-nasa-heliophysics-logo-box,
.lnk-centers-ipg-russia-logo-box,
.lnk-centers-sidc-logo-box,
.lnk-centers-canada-logo-box,
.lnk-centers-dlr-logo-box {
    display: flex;
    flex: 0 0 150px;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    background: rgba(255,255,255,.025);
    border-right: 1px solid var(--border);
}

.lnk-centers-nasa-heliophysics-logo,
.lnk-centers-ipg-russia-logo,
.lnk-centers-sidc-logo,
.lnk-centers-canada-logo,
.lnk-centers-dlr-logo {
    display: block;
    width: 112px;
    height: 112px;
    object-fit: contain;
}

.lnk-centers-nasa-heliophysics-content,
.lnk-centers-ipg-russia-content,
.lnk-centers-sidc-content,
.lnk-centers-canada-content,
.lnk-centers-dlr-content {
    min-width: 0;
    padding: 1rem;
}

.lnk-centers-nasa-heliophysics-title,
.lnk-centers-ipg-russia-title,
.lnk-centers-sidc-title,
.lnk-centers-canada-title,
.lnk-centers-dlr-title {
    margin: 0 0 .7rem;
    font-size: 1rem;
    line-height: 1.35;
}

.lnk-centers-nasa-heliophysics-title a,.lnk-centers-ipg-russia-title a,.lnk-centers-sidc-title a,.lnk-centers-canada-title a,.lnk-centers-dlr-title a {
    color: var(--accent);
    text-decoration: none;
}

.lnk-centers-nasa-heliophysics-title a:hover,.lnk-centers-nasa-heliophysics-title a:focus,.lnk-centers-ipg-russia-title a:hover,.lnk-centers-ipg-russia-title a:focus,.lnk-centers-sidc-title a:hover,.lnk-centers-sidc-title a:focus,.lnk-centers-canada-title a:hover,.lnk-centers-canada-title a:focus,.lnk-centers-dlr-title a:hover,.lnk-centers-dlr-title a:focus {
    color: var(--accent-hover);
    text-decoration: none;
}

.lnk-centers-nasa-heliophysics-description,
.lnk-centers-ipg-russia-description,
.lnk-centers-sidc-description,
.lnk-centers-canada-description,
.lnk-centers-dlr-description {
    margin: 0;
    color: var(--text-secondary);
    font-size: .84rem;
    line-height: 1.6;
}

@media (max-width: 767.98px) {
    .lnk-centers-nasa-heliophysics-card,
.lnk-centers-ipg-russia-card,
.lnk-centers-sidc-card,
.lnk-centers-canada-card,
.lnk-centers-dlr-card {
        flex-direction: column;
        min-height: 0;
    }

    .lnk-centers-nasa-heliophysics-logo-box,
.lnk-centers-ipg-russia-logo-box,
.lnk-centers-sidc-logo-box,
.lnk-centers-canada-logo-box,
.lnk-centers-dlr-logo-box {
        flex: none;
        width: 100%;
        min-height: 130px;
        padding: .85rem;
        border-right: 0;
        border-bottom: 1px solid var(--border);
    }

    .lnk-centers-nasa-heliophysics-logo,
.lnk-centers-ipg-russia-logo,
.lnk-centers-sidc-logo,
.lnk-centers-canada-logo,
.lnk-centers-dlr-logo {
        width: 96px;
        height: 96px;
    }

    .lnk-centers-nasa-heliophysics-content,
.lnk-centers-ipg-russia-content,
.lnk-centers-sidc-content,
.lnk-centers-canada-content,
.lnk-centers-dlr-content {
        padding: .85rem;
    }
}


/* =========================================================
   BUILD ADDITION: style-refactor-20260826-v65
   TEST — white background for logo spaces only
   ========================================================= */

[class^="lnk-"][class$="-logo-box"] {
    background: #fff;
}


/* =========================================================
   BUILD ADDITION: style-refactor-20260826-v66
   Radio Communications — NOAA and BOM-AUS Radio Alerts
   Dedicated page classes only; index classes are not shared.
   ========================================================= */

/* ---------- NOAA Radio Alerts ---------- */
.rco-noaa-alerts-section {
    margin-bottom: 2.5rem;
}

.rco-noaa-alerts-heading {
    margin-bottom: 1rem;
}

.rco-noaa-alerts-heading h2 {
    margin: 0;
    color: var(--text-primary);
    font-size: 1.35rem;
    font-weight: 650;
}

.rco-noaa-alerts-card {
    overflow: hidden;
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
}

.rco-noaa-alerts-provider-header {
    padding: 0.85rem 1rem;
    border-bottom: 1px solid var(--border);
}

.rco-noaa-alerts-provider-heading {
    display: flex;
    align-items: center;
    min-width: 0;
}

.rco-noaa-alerts-provider-logo {
    display: block;
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    margin-right: 0.65rem;
    object-fit: contain;
}

.rco-noaa-alerts-provider-title {
    flex: 0 0 auto;
    margin: 0;
    color: var(--text-primary);
    font-size: 1rem;
    font-weight: 650;
}

.rco-noaa-alerts-provider-source {
    margin-left: 0.75rem;
    padding: 0.28rem 0.5rem;
    color: var(--text-secondary);
    background: rgba(255,255,255,.045);
    border: 1px solid var(--border);
    border-radius: 5px;
    font-size: .75rem;
    line-height: 1.3;
    white-space: nowrap;
}

.rco-noaa-alerts-provider-source a {
    color: var(--accent);
    text-decoration: none;
    font-weight: 550;
}

.rco-noaa-alerts-provider-source a:hover,
.rco-noaa-alerts-provider-source a:focus {
    color: var(--accent-hover);
    text-decoration: none;
}

.rco-noaa-alerts-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 145px));
    justify-content: center;
    gap: 1rem;
    padding: 1rem 1.25rem 1.15rem;
}

.rco-noaa-alerts-blackout-tile,
.rco-noaa-alerts-geomagnetic-tile,
.rco-noaa-alerts-radiation-tile {
    min-width: 0;
    overflow: hidden;
    background: var(--bg-card-soft);
    border: 1px solid var(--border);
    border-radius: 8px;
    text-align: center;
}

.rco-noaa-alerts-blackout-image,
.rco-noaa-alerts-geomagnetic-image,
.rco-noaa-alerts-radiation-image {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 0;
    padding: .55rem;
    background: #0b1729;
}

.rco-noaa-alerts-blackout-image img,
.rco-noaa-alerts-geomagnetic-image img,
.rco-noaa-alerts-radiation-image img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 115px;
    margin: 0 auto;
    object-fit: contain;
}

.rco-noaa-alerts-blackout-tile p,
.rco-noaa-alerts-geomagnetic-tile p,
.rco-noaa-alerts-radiation-tile p {
    margin: 0;
    padding: .5rem .35rem .6rem;
    color: var(--text-secondary);
    font-size: .76rem;
    line-height: 1.25;
}

.rco-noaa-alerts-interpretation {
    padding: 1.15rem 1.25rem;
    color: var(--text-secondary);
    font-size: .9rem;
    line-height: 1.65;
    border-top: 1px solid var(--border);
}

.rco-noaa-alerts-interpretation-label {
    display: flex;
    align-items: center;
    gap: .55rem;
    margin-bottom: .65rem;
    color: var(--text-primary);
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.rco-noaa-alerts-interpretation-icon {
    display: block;
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    object-fit: contain;
}

.rco-noaa-alerts-interpretation p {
    margin: 0;
}

.rco-noaa-alerts-interpretation p + p {
    margin-top: 1rem;
}

.rco-noaa-alerts-interpretation-list {
    margin: .75rem 0 1rem;
    padding-left: 1.35rem;
}

.rco-noaa-alerts-interpretation-list li + li {
    margin-top: .45rem;
}

.rco-noaa-alerts-interpretation a {
    color: var(--accent);
    text-decoration: none;
}

.rco-noaa-alerts-interpretation a:hover,
.rco-noaa-alerts-interpretation a:focus {
    color: var(--accent-hover);
    text-decoration: none;
}


/* ---------- BOM-AUS Radio Alerts ---------- */
.rco-bom-alerts-section {
    margin-bottom: 2.5rem;
}

.rco-bom-alerts-heading {
    margin-bottom: 1rem;
}

.rco-bom-alerts-heading h2 {
    margin: 0;
    color: var(--text-primary);
    font-size: 1.35rem;
    font-weight: 650;
}

.rco-bom-alerts-card {
    overflow: hidden;
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
}

.rco-bom-alerts-provider-header {
    padding: .85rem 1rem;
    border-bottom: 1px solid var(--border);
}

.rco-bom-alerts-provider-heading {
    display: flex;
    align-items: center;
    min-width: 0;
}

.rco-bom-alerts-provider-logo {
    display: block;
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    margin-right: .65rem;
    object-fit: contain;
}

.rco-bom-alerts-provider-title {
    flex: 0 0 auto;
    margin: 0;
    color: var(--text-primary);
    font-size: 1rem;
    font-weight: 650;
}

.rco-bom-alerts-provider-source {
    margin-left: .75rem;
    padding: .28rem .5rem;
    color: var(--text-secondary);
    background: rgba(255,255,255,.045);
    border: 1px solid var(--border);
    border-radius: 5px;
    font-size: .75rem;
    line-height: 1.3;
    white-space: nowrap;
}

.rco-bom-alerts-provider-source a {
    color: var(--accent);
    text-decoration: none;
    font-weight: 550;
}

.rco-bom-alerts-provider-source a:hover,
.rco-bom-alerts-provider-source a:focus {
    color: var(--accent-hover);
    text-decoration: none;
}

.rco-bom-alerts-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 145px));
    justify-content: center;
    gap: 1rem;
    padding: 1rem 1.25rem 1.15rem;
}

.rco-bom-alerts-hf-warning-tile,
.rco-bom-alerts-current-fadeout-tile,
.rco-bom-alerts-fadeout-warning-tile,
.rco-bom-alerts-pca-tile,
.rco-bom-alerts-geo-warning-tile,
.rco-bom-alerts-geostat-tile,
.rco-bom-alerts-geo-alert-tile,
.rco-bom-alerts-aurora-tile,
.rco-bom-alerts-xray-tile,
.rco-bom-alerts-proton-tile {
    min-width: 0;
    overflow: hidden;
    background: var(--bg-card-soft);
    border: 1px solid var(--border);
    border-radius: 8px;
    text-align: center;
}

.rco-bom-alerts-xray-tile {
    grid-column: 2;
}

.rco-bom-alerts-hf-warning-image,
.rco-bom-alerts-current-fadeout-image,
.rco-bom-alerts-fadeout-warning-image,
.rco-bom-alerts-pca-image,
.rco-bom-alerts-geo-warning-image,
.rco-bom-alerts-geostat-image,
.rco-bom-alerts-geo-alert-image,
.rco-bom-alerts-aurora-image,
.rco-bom-alerts-xray-image,
.rco-bom-alerts-proton-image {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 0;
    padding: .55rem;
    background: #0b1729;
}

.rco-bom-alerts-hf-warning-image img,
.rco-bom-alerts-current-fadeout-image img,
.rco-bom-alerts-fadeout-warning-image img,
.rco-bom-alerts-pca-image img,
.rco-bom-alerts-geo-warning-image img,
.rco-bom-alerts-geostat-image img,
.rco-bom-alerts-geo-alert-image img,
.rco-bom-alerts-aurora-image img,
.rco-bom-alerts-xray-image img,
.rco-bom-alerts-proton-image img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 115px;
    margin: 0 auto;
    object-fit: contain;
}

.rco-bom-alerts-hf-warning-tile p,
.rco-bom-alerts-current-fadeout-tile p,
.rco-bom-alerts-fadeout-warning-tile p,
.rco-bom-alerts-pca-tile p,
.rco-bom-alerts-geo-warning-tile p,
.rco-bom-alerts-geostat-tile p,
.rco-bom-alerts-geo-alert-tile p,
.rco-bom-alerts-aurora-tile p,
.rco-bom-alerts-xray-tile p,
.rco-bom-alerts-proton-tile p {
    margin: 0;
    padding: .5rem .35rem .6rem;
    color: var(--text-secondary);
    font-size: .76rem;
    line-height: 1.25;
}

.rco-bom-alerts-interpretation {
    padding: 1.15rem 1.25rem;
    color: var(--text-secondary);
    font-size: .9rem;
    line-height: 1.65;
    border-top: 1px solid var(--border);
}

.rco-bom-alerts-interpretation-label {
    display: flex;
    align-items: center;
    gap: .55rem;
    margin-bottom: .65rem;
    color: var(--text-primary);
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.rco-bom-alerts-interpretation-icon {
    display: block;
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    object-fit: contain;
}

.rco-bom-alerts-interpretation p {
    margin: 0;
}

.rco-bom-alerts-interpretation-list {
    margin: .75rem 0 0;
    padding-left: 1.35rem;
}

.rco-bom-alerts-interpretation-list li + li {
    margin-top: .45rem;
}


/* ---------- Alerts mobile layout copied from index behavior ---------- */
@media (max-width: 767.98px) {
    .rco-noaa-alerts-section,
    .rco-bom-alerts-section {
        margin-bottom: 2rem;
    }

    .rco-noaa-alerts-provider-heading,
    .rco-bom-alerts-provider-heading {
        flex-wrap: nowrap;
        overflow: hidden;
    }

    .rco-noaa-alerts-provider-logo,
    .rco-bom-alerts-provider-logo {
        width: 28px;
        height: 28px;
        flex-basis: 28px;
        margin-right: .5rem;
    }

    .rco-noaa-alerts-provider-title,
    .rco-bom-alerts-provider-title {
        font-size: .98rem;
        white-space: nowrap;
    }

    .rco-noaa-alerts-provider-source,
    .rco-bom-alerts-provider-source {
        margin-left: .55rem;
        padding: .25rem .4rem;
        font-size: .7rem;
    }

    .rco-noaa-alerts-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: .65rem;
        padding-inline: .75rem;
    }

    .rco-noaa-alerts-blackout-image,
    .rco-noaa-alerts-geomagnetic-image,
    .rco-noaa-alerts-radiation-image {
        padding: .4rem;
    }

    .rco-noaa-alerts-blackout-image img,
    .rco-noaa-alerts-geomagnetic-image img,
    .rco-noaa-alerts-radiation-image img {
        max-height: 95px;
    }

    .rco-noaa-alerts-blackout-tile p,
    .rco-noaa-alerts-geomagnetic-tile p,
    .rco-noaa-alerts-radiation-tile p {
        padding-inline: .25rem;
        font-size: .72rem;
    }

    .rco-bom-alerts-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .75rem;
        padding-inline: .9rem;
    }

    .rco-bom-alerts-xray-tile {
        grid-column: auto;
    }

    .rco-bom-alerts-hf-warning-image img,
    .rco-bom-alerts-current-fadeout-image img,
    .rco-bom-alerts-fadeout-warning-image img,
    .rco-bom-alerts-pca-image img,
    .rco-bom-alerts-geo-warning-image img,
    .rco-bom-alerts-geostat-image img,
    .rco-bom-alerts-geo-alert-image img,
    .rco-bom-alerts-aurora-image img,
    .rco-bom-alerts-xray-image img,
    .rco-bom-alerts-proton-image img {
        max-height: 110px;
    }

    .rco-noaa-alerts-interpretation,
    .rco-bom-alerts-interpretation {
        padding: 1rem;
        font-size: .86rem;
    }

    .rco-noaa-alerts-interpretation-icon,
    .rco-bom-alerts-interpretation-icon {
        width: 30px;
        height: 30px;
        flex-basis: 30px;
    }
}
/* =========================================================
   SUN–EARTH INTERACTION — INLINE TEXT LINKS
   Match the site's standard inline-link presentation.
   ========================================================= */
.sei-intro-text a,
.sei-solarwind-introduction a,
.sei-solarwind-interpretation a,
.sei-imf-introduction a,
.sei-imf-interpretation a,
.sei-magnetopause-introduction a,
.sei-magnetopause-interpretation a {
    color: var(--accent);
    text-decoration: none;
}

.sei-intro-text a:hover,
.sei-intro-text a:focus,
.sei-solarwind-introduction a:hover,
.sei-solarwind-introduction a:focus,
.sei-solarwind-interpretation a:hover,
.sei-solarwind-interpretation a:focus,
.sei-imf-introduction a:hover,
.sei-imf-introduction a:focus,
.sei-imf-interpretation a:hover,
.sei-imf-interpretation a:focus,
.sei-magnetopause-introduction a:hover,
.sei-magnetopause-introduction a:focus,
.sei-magnetopause-interpretation a:hover,
.sei-magnetopause-interpretation a:focus {
    color: var(--accent-hover);
    text-decoration: underline;
}


/* =========================================================
   Solar Activity — Solar X-Rays mobile layout fix
   BUILD: 20260830-v01
   ========================================================= */
@media (max-width: 767.98px) {
    /* Prevent the legacy 120% gallery enlargement that causes visual overlap. */
    .sa-xray-mobile-fix .sa-xray-gallery {
        width: 100%;
        max-width: 100%;
        transform: none;
        box-sizing: border-box;
        padding: 1.1rem 0.75rem 1.25rem;
        gap: 1rem;
    }

    /* Keep each GOES plot within the available mobile width. */
    .sa-xray-mobile-fix .sa-xray-gallery .sa-figure {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }

    .sa-xray-mobile-fix .sa-xray-gallery .sa-figure img,
    .sa-xray-mobile-fix .sa-xray-gallery .sa-xray-native-image {
        display: block;
        width: auto;
        max-width: 100%;
        height: auto;
        margin: 0 auto;
        transform: none;
        transform-origin: center;
    }

    /* Let long captions and source text wrap cleanly on narrow screens. */
    .sa-xray-mobile-fix .sa-figure figcaption,
    .sa-xray-mobile-fix .sa-figure figcaption .sa-source,
    .sa-xray-mobile-fix .sa-figure figcaption a {
        max-width: 100%;
        white-space: normal;
        overflow-wrap: anywhere;
        word-break: normal;
    }

    /* Ensure clear separation between the second plot and Interpretation. */
    .sa-xray-mobile-fix .sa-interpretation {
        position: relative;
        clear: both;
        margin-top: 0;
    }
}

/* =========================================================
   Sun–Earth Interaction — solar-wind speed table
   and contact-form link refinement
   BUILD: 20260830-v02
   ========================================================= */
.sei-solarwind-speed-table-wrap {
    overflow-x: auto;
    margin-top: 1rem;
    margin-bottom: 2rem;
}

.sei-solarwind-speed-table {
    width: 100%;
    border-collapse: collapse;
    color: var(--text-secondary);
    font-size: 0.84rem;
}

.sei-solarwind-speed-table th,
.sei-solarwind-speed-table td {
    padding: 0.65rem 0.75rem;
    border: 1px solid var(--border);
    vertical-align: top;
    text-align: left;
}

.sei-solarwind-speed-table th {
    color: var(--text-primary);
    background: rgba(255, 255, 255, 0.045);
    font-weight: 650;
}

.sei-solarwind-speed-table td:first-child {
    width: 24%;
    color: var(--text-primary);
    font-weight: 650;
    white-space: nowrap;
}

.site-notice a.sei-contact-form-link {
    color: var(--accent);
    text-decoration: none;
}

.site-notice a.sei-contact-form-link:hover,
.site-notice a.sei-contact-form-link:focus {
    color: var(--accent-hover);
    text-decoration: underline;
}

@media (max-width: 767.98px) {
    .sei-solarwind-speed-table {
        min-width: 620px;
        font-size: 0.8rem;
    }
}

/* =========================================================
   BUILD ADDITION: Links — EA4FSI Resources
   Dedicated lnk-ea4fsi-* classes only.
   ========================================================= */

.lnk-ea4fsi-section {
    margin-bottom: 2.5rem;
}

.lnk-ea4fsi-heading {
    margin-bottom: 1rem;
}

.lnk-ea4fsi-heading h2 {
    margin: 0;
    color: var(--text-primary);
    font-size: 1.35rem;
    font-weight: 650;
}

.lnk-ea4fsi-panel {
    padding: 1rem;
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
}

.lnk-ea4fsi-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    align-items: stretch;
}

.lnk-ea4fsi-hf-card,
.lnk-ea4fsi-vhf-uhf-card,
.lnk-ea4fsi-articles-card,
.lnk-ea4fsi-emercomms-card {
    display: flex;
    min-width: 0;
    min-height: 210px;
    overflow: hidden;
    background: #091322;
    border: 1px solid var(--border);
    border-radius: 8px;
    transition: border-color .18s ease;
}

.lnk-ea4fsi-hf-card:hover,
.lnk-ea4fsi-vhf-uhf-card:hover,
.lnk-ea4fsi-articles-card:hover,
.lnk-ea4fsi-emercomms-card:hover {
    border-color: var(--accent);
}

.lnk-ea4fsi-hf-logo-box,
.lnk-ea4fsi-vhf-uhf-logo-box,
.lnk-ea4fsi-articles-logo-box,
.lnk-ea4fsi-emercomms-logo-box {
    display: flex;
    flex: 0 0 150px;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    background: rgba(255,255,255,.025);
    border-right: 1px solid var(--border);
}

.lnk-ea4fsi-hf-logo,
.lnk-ea4fsi-vhf-uhf-logo,
.lnk-ea4fsi-articles-logo,
.lnk-ea4fsi-emercomms-logo {
    display: block;
    width: 112px;
    height: 112px;
    object-fit: contain;
}

.lnk-ea4fsi-hf-content,
.lnk-ea4fsi-vhf-uhf-content,
.lnk-ea4fsi-articles-content,
.lnk-ea4fsi-emercomms-content {
    min-width: 0;
    padding: 1rem;
}

.lnk-ea4fsi-hf-title,
.lnk-ea4fsi-vhf-uhf-title,
.lnk-ea4fsi-articles-title,
.lnk-ea4fsi-emercomms-title {
    margin: 0 0 .7rem;
    font-size: 1rem;
    line-height: 1.35;
}

.lnk-ea4fsi-hf-title a,
.lnk-ea4fsi-vhf-uhf-title a,
.lnk-ea4fsi-articles-title a,
.lnk-ea4fsi-emercomms-title a {
    color: var(--accent);
    text-decoration: none;
}

.lnk-ea4fsi-hf-title a:hover,
.lnk-ea4fsi-hf-title a:focus,
.lnk-ea4fsi-vhf-uhf-title a:hover,
.lnk-ea4fsi-vhf-uhf-title a:focus,
.lnk-ea4fsi-articles-title a:hover,
.lnk-ea4fsi-articles-title a:focus,
.lnk-ea4fsi-emercomms-title a:hover,
.lnk-ea4fsi-emercomms-title a:focus {
    color: var(--accent-hover);
    text-decoration: none;
}

.lnk-ea4fsi-hf-description,
.lnk-ea4fsi-vhf-uhf-description,
.lnk-ea4fsi-articles-description,
.lnk-ea4fsi-emercomms-description {
    margin: 0;
    color: var(--text-secondary);
    font-size: .84rem;
    line-height: 1.6;
}

@media (max-width: 767.98px) {
    .lnk-ea4fsi-panel {
        padding: .75rem;
    }

    .lnk-ea4fsi-grid {
        grid-template-columns: 1fr;
        gap: .75rem;
    }

    .lnk-ea4fsi-hf-card,
    .lnk-ea4fsi-vhf-uhf-card,
    .lnk-ea4fsi-articles-card,
    .lnk-ea4fsi-emercomms-card {
        flex-direction: column;
        min-height: 0;
    }

    .lnk-ea4fsi-hf-logo-box,
    .lnk-ea4fsi-vhf-uhf-logo-box,
    .lnk-ea4fsi-articles-logo-box,
    .lnk-ea4fsi-emercomms-logo-box {
        flex: none;
        width: 100%;
        min-height: 130px;
        padding: .85rem;
        border-right: 0;
        border-bottom: 1px solid var(--border);
    }

    .lnk-ea4fsi-hf-logo,
    .lnk-ea4fsi-vhf-uhf-logo,
    .lnk-ea4fsi-articles-logo,
    .lnk-ea4fsi-emercomms-logo {
        width: 96px;
        height: 96px;
    }

    .lnk-ea4fsi-hf-content,
    .lnk-ea4fsi-vhf-uhf-content,
    .lnk-ea4fsi-articles-content,
    .lnk-ea4fsi-emercomms-content {
        padding: .85rem;
    }
}

/* =========================================================
   INDEX.PHP — page-scoped refresh/link refinements
   BUILD: 20260903-v09
   ========================================================= */

/* Index refresh line: equal visual spacing on both sides of the | separator. */
.idx-page .refresh-indicator {
    gap: 0;
}

.idx-page .refresh-divider {
    width: auto;
    height: auto;
    margin-inline: 0.5rem;
    background: none;
    color: var(--text-muted);
    line-height: inherit;
}

.idx-page .utc-clock,
.idx-page .refresh-countdown-status {
    gap: 0;
}

/* Index-page hyperlinks use the site's accent treatment without underlines. */
.idx-page a,
.idx-page a:hover,
.idx-page a:focus {
    text-decoration: none;
}

.idx-page a:hover,
.idx-page a:focus {
    color: var(--accent-hover);
}

/* Preserve section-card heading color while suppressing inherited link decoration. */
.idx-page .section-card:hover h3,
.idx-page .section-card:focus h3 {
    color: var(--text-primary);
}
