/* =====================================================================
   SWMM5.ORG  —  DARK DASHBOARD CUSTOM CSS  (FULL REPLACEMENT)
   Target: WordPress + Astra 4.11.18 (wp-theme-astra), no JavaScript.
   Paste this file into  Appearance > Customize > Additional CSS,
   replacing ALL existing custom CSS (keep a backup of the old file).

   Sections:
     0. Design tokens
     1. Base, selection, accessibility & focus states
     2. Typography
     3. Sticky glass header, site identity, nav, dropdowns, mobile nav
     4. Homepage hero -> two-column dark dashboard (metric cards)
     5. Homepage sections -> dark translucent panels
     6. Custom HTML homepage variant (.swmm-*) — /welcome/ + cached home
     7. Blog / archive / search cards, pills, meta, read-more
     8. Sidebar & widgets
     9. Single post: panel, headings, links, tables, code, quotes, images
    10. Comments & forms
    11. Buttons, pills, scroll-top
    12. Footer, pagination, breadcrumbs
    13. Responsive (1024 / 768 / 480)
    14. Reduced motion

   NOTE ON INLINE STYLES
   The homepage markup carries inline styles, some with !important.
   Inline !important cannot be beaten by a stylesheet, so this file uses
   two pure-CSS techniques where needed:
     - an inset box-shadow "veil" that paints a dark panel OVER an
       inline light background (box-shadow is not set inline);
     - -webkit-text-fill-color to repaint inline !important text colors
       (supported by all current Chrome/Edge/Safari/Firefox).
   ===================================================================== */

/* ---------------------------------------------------------------------
   0. DESIGN TOKENS
   --------------------------------------------------------------------- */
:root {
    /* Surfaces — near-black navy */
    --bg-abyss:    #050b18;   /* deepest page background            */
    --bg-deep:     #081226;   /* main page background               */
    --bg-panel:    #0d1a2e;   /* panels, widgets, footer, inputs    */
    --bg-panel-2:  #122540;   /* lighter panel / gradient end       */
    --panel-veil:  rgba(10, 20, 38, 0.93);   /* veil over inline bg  */
    --panel-veil-soft: rgba(13, 26, 46, 0.90);
    --panel-grad:  linear-gradient(160deg, rgba(18, 37, 64, 0.78), rgba(9, 18, 34, 0.92));

    /* Text */
    --text-hi:     #f2f7fc;   /* primary light text                 */
    --text-soft:   #c7d6e6;   /* readable body text on dark         */
    --text-muted:  #8ba3bb;   /* nav links, metadata                */
    --text-dim:    #7495ad;   /* footer, captions (>=4.5:1 on panels) */

    /* Accents */
    --cyan:        #00d4ff;
    --blue:        #3b82f6;
    --violet:      #8b5cf6;
    --amber:       #ffc44d;
    --teal:        #2dd4bf;

    /* Accent tints */
    --cyan-08:  rgba(0, 212, 255, 0.08);
    --cyan-12:  rgba(0, 212, 255, 0.12);
    --cyan-18:  rgba(0, 212, 255, 0.18);
    --cyan-30:  rgba(0, 212, 255, 0.30);
    --cyan-45:  rgba(0, 212, 255, 0.45);
    --line-cyan: rgba(0, 212, 255, 0.16);   /* default hairline border */

    /* Gradients */
    --grad-cyan:   linear-gradient(135deg, var(--cyan), var(--teal));
    --grad-headline: linear-gradient(115deg, #ffffff 0%, #cfe8ff 38%, var(--cyan) 68%, var(--violet) 100%);

    /* Type */
    --font-serif: "Playfair Display", Georgia, "Times New Roman", serif;
    --font-sans:  -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    --font-mono:  "SFMono-Regular", Consolas, "Liberation Mono", Menlo, "Courier New", monospace;

    /* Shape + depth */
    --radius-sm:   8px;
    --radius:      14px;
    --radius-lg:   20px;
    --shadow-panel: 0 14px 40px rgba(0, 0, 0, 0.42);
    --shadow-glow-cyan: 0 0 32px -6px rgba(0, 212, 255, 0.35);
    --ease: cubic-bezier(0.22, 0.61, 0.36, 1);
}

/* ---------------------------------------------------------------------
   1. BASE, SELECTION, ACCESSIBILITY & FOCUS STATES
   --------------------------------------------------------------------- */
html { scroll-behavior: smooth; }

body,
.ast-separate-container,
.ast-plain-container,
.site,
#content,
.site-content {
    background-color: var(--bg-deep) !important;
    color: var(--text-soft);
}

/* Faint dashboard grid over the whole page, no external assets */
body {
    background-image:
        radial-gradient(60rem 34rem at 85% -8%, rgba(139, 92, 246, 0.07), transparent 60%),
        radial-gradient(70rem 40rem at -10% 30%, rgba(0, 212, 255, 0.06), transparent 60%),
        linear-gradient(rgba(0, 212, 255, 0.025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 212, 255, 0.025) 1px, transparent 1px);
    background-size: auto, auto, 56px 56px, 56px 56px;
    background-attachment: fixed;
    font-family: var(--font-sans);
}

.site-content .ast-container { background: transparent !important; }

::selection { background: rgba(0, 212, 255, 0.32); color: #ffffff; }

a { color: var(--cyan); }
a:hover, a:focus { color: var(--teal); }

a:focus-visible,
button:focus-visible,
.menu-toggle:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
[tabindex]:focus-visible {
    outline: 2px solid var(--cyan) !important;
    outline-offset: 2px;
    border-radius: 4px;
}

.screen-reader-text:focus {
    background: var(--bg-panel) !important;
    color: var(--text-hi) !important;
    border: 1px solid var(--cyan);
}

/* ---------------------------------------------------------------------
   2. TYPOGRAPHY
   --------------------------------------------------------------------- */
h1, h2, h3, h4, h5, h6,
.entry-content :where(h1, h2, h3, h4, h5, h6),
.entry-title, .entry-title a,
.ast-archive-entry-title, .ast-archive-entry-title a,
.widget-title, .wp-block-heading {
    color: var(--text-hi) !important;
}
h1, h2, .entry-title { font-family: var(--font-serif); }
.entry-title a:hover, .ast-archive-entry-title a:hover { color: var(--cyan) !important; }

/* ---------------------------------------------------------------------
   3. STICKY GLASS HEADER, IDENTITY, NAV, DROPDOWNS, MOBILE NAV
   --------------------------------------------------------------------- */
#masthead.site-header,
#ast-mobile-header {
    position: sticky;
    top: 0;
    z-index: 1000;
}
.site-header,
.main-header-bar,
.ast-primary-header-bar,
.ast-below-header-bar,
.ast-above-header-bar,
.ast-mobile-header-wrap .main-header-bar,
#ast-fixed-header .ast-primary-header-bar,
.ast-sticky-active .ast-primary-header-bar {
    background: rgba(5, 11, 24, 0.80) !important;
    -webkit-backdrop-filter: blur(14px) saturate(1.35);
    backdrop-filter: blur(14px) saturate(1.35);
    border-bottom: 1px solid var(--line-cyan) !important;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.35);
}

/* Site identity */
.site-title, .site-title a, .ast-site-title-wrap a {
    font-family: var(--font-serif) !important;
    font-size: 1.35rem !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    color: var(--text-hi) !important;
    text-decoration: none !important;
}
.site-title a:hover { color: var(--cyan) !important; }
.site-header .site-description,
.site-description {
    color: var(--text-muted) !important;
    font-size: 0.82rem !important;
    max-width: 62ch;
}

/* Primary nav */
.main-header-menu a,
.ast-header-sections-navigation a,
.main-navigation a,
.menu-item a,
.ast-builder-menu a {
    color: var(--text-muted) !important;
    font-weight: 500 !important;
    font-family: var(--font-sans);
    transition: color 0.2s var(--ease);
}
.main-header-menu a:hover,
.main-header-menu .current-menu-item > a,
.main-header-menu .current_page_item > a,
.ast-builder-menu .current-menu-item > a,
.menu-item a:hover {
    color: var(--cyan) !important;
}
.main-header-menu .menu-item > a:focus-visible { color: var(--cyan) !important; }

/* Dropdown panels — compact, content-sized, multi-column when long */
.main-header-menu .sub-menu,
.ast-header-sections-navigation .sub-menu,
.sub-menu {
    background: rgba(13, 26, 46, 0.97) !important;
    border: 1px solid var(--line-cyan) !important;
    border-radius: var(--radius-sm) !important;
    box-shadow: var(--shadow-panel);
    padding: 8px !important;
    width: max-content !important;
    min-width: 250px !important;
    max-width: min(780px, calc(100vw - 40px)) !important;
    height: auto !important;
    min-height: 0 !important;
    box-sizing: border-box;
}
.main-header-menu .sub-menu li,
.ast-header-sections-navigation .sub-menu li,
.sub-menu li,
.sub-menu .menu-item {
    padding: 0 !important;
    margin: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    line-height: 1 !important;
    border: none !important;
}
.main-header-menu .sub-menu li a,
.ast-header-sections-navigation .sub-menu li a,
.sub-menu li a,
.sub-menu .menu-item a {
    display: block !important;
    padding: 10px 16px !important;
    margin: 0 !important;
    line-height: 1.35 !important;
    font-size: 0.92rem !important;
    border: none !important;
    color: var(--text-muted) !important;
    white-space: normal !important;
    overflow-wrap: anywhere;
}
.sub-menu li a:hover, .sub-menu .menu-item a:hover {
    color: var(--cyan) !important;
    background: var(--cyan-08) !important;
}

/* Desktop top-level dropdowns: seven rows per column, so long category
   menus use a second compact column instead of a huge empty panel. Empty
   grid tracks collapse to zero, preserving a narrow panel for short menus. */
@media (min-width: 922px) {
    .main-header-menu > li > .sub-menu,
    .ast-header-sections-navigation .main-header-menu > li > .sub-menu {
        display: grid !important;
        grid-auto-flow: column;
        grid-template-rows: repeat(7, auto);
        grid-auto-columns: 250px;
        column-gap: 0;
        align-content: start;
        justify-content: start;
        max-height: calc(100vh - 150px);
        overflow: auto;
        overscroll-behavior: contain;
    }
    .main-header-menu > li > .sub-menu > li {
        width: 250px;
        max-width: 250px;
    }
    .main-header-menu > li:last-child > .sub-menu,
    .main-header-menu > li:nth-last-child(2) > .sub-menu {
        left: auto !important;
        right: 0 !important;
    }
}

/* Mobile nav trigger + drawer */
.ast-mobile-menu-trigger-minimal,
.menu-toggle,
.ast-button-wrap .menu-toggle,
.ast-mobile-menu-wrap .menu-toggle {
    background: transparent !important;
    color: var(--cyan) !important;
    border: 1px solid var(--cyan-30) !important;
    border-radius: var(--radius-sm) !important;
}
.ast-mobile-popup-drawer,
.ast-mobile-popup-drawer .ast-mobile-popup-inner,
.ast-mobile-menu-wrap .main-header-menu {
    background: rgba(8, 18, 38, 0.98) !important;
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
}
.ast-mobile-popup-drawer a,
.ast-mobile-menu-wrap .main-header-menu a {
    color: var(--text-muted) !important;
}
.ast-mobile-popup-drawer a:hover,
.ast-mobile-menu-wrap .main-header-menu a:hover {
    color: var(--cyan) !important;
}
.ast-mobile-popup-drawer .sub-menu { background: rgba(18, 37, 64, 0.9) !important; }
.menu-toggle-close, .ast-mobile-popup-drawer .menu-toggle-close { color: var(--cyan) !important; }

/* ---------------------------------------------------------------------
   4. HOMEPAGE HERO — TWO-COLUMN DARK DASHBOARD
   The first direct div inside .home .entry-content is the hero. It
   contains one h1, two paragraphs and a CTA div with four links.
   CSS grid turns that flat structure into: left = eyebrow + gradient
   headline + copy, right = 2x2 glowing metric cards built from the
   four links. Link text is visually replaced by CSS pseudo-content
   showing the real site metrics (original text stays in the DOM for
   screen readers and SEO).
   --------------------------------------------------------------------- */

/* Hide the default "Welcome1" page title on home only */
body.home .entry-header,
body.home header.entry-header,
body.home .ast-article-single > header.entry-header {
    display: none !important;
}

/* Strip the page container so the hero can breathe edge-to-edge */
body.home article,
body.home .ast-article-single,
body.home .type-page,
body.home .ast-separate-container .ast-article-single,
body.home .ast-plain-container .ast-article-single {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
}
body.home .site-content .ast-container,
body.home .ast-separate-container .ast-article-single,
body.home .entry-content {
    max-width: 100% !important;
}
body.home .ast-container,
body.home #primary,
body.home .site-content { padding-top: 0 !important; }
body.home .entry-content > *:first-child { margin-top: 0 !important; }

/* Tame the empty spacer paragraphs WordPress wraps around comments */
body.home .entry-content > p {
    margin-bottom: 1.1rem !important;
    line-height: 1.6;
}
body.home .entry-content > p:has(> br:only-child) { display: none !important; }

/* --- Hero shell --- */
body.home .entry-content > div:first-of-type {
    position: relative !important;
    isolation: isolate;
    display: grid !important;
    grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
    column-gap: clamp(28px, 4vw, 60px);
    align-items: center;
    align-content: center;   /* keep left-column rows packed, no stretch gaps */
    padding: clamp(2.6rem, 5vw, 4.6rem) clamp(1.4rem, 4vw, 3.6rem) !important;
    margin: 0 0 3rem !important;
    border-radius: var(--radius-lg) !important;
    border: 1px solid var(--line-cyan);
    text-align: left !important;
    overflow: hidden;
    box-shadow: var(--shadow-panel);
}

/* Grid lines + radial glows painted OVER the inline gradient background
   (z-index:-1 inside an isolated stacking context keeps it behind text) */
body.home .entry-content > div:first-of-type::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background:
        radial-gradient(42rem 26rem at 84% -12%, rgba(139, 92, 246, 0.22), transparent 62%),
        radial-gradient(50rem 30rem at -10% 114%, rgba(0, 212, 255, 0.17), transparent 62%),
        radial-gradient(30rem 20rem at 55% 122%, rgba(45, 212, 191, 0.10), transparent 65%),
        linear-gradient(rgba(0, 212, 255, 0.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 212, 255, 0.05) 1px, transparent 1px),
        linear-gradient(160deg, #060d1d 0%, #081226 55%, #0a1830 100%);
    background-size: auto, auto, auto, 44px 44px, 44px 44px, auto;
}

/* Eyebrow / kicker (grid item, left column, first row) */
body.home .entry-content > div:first-of-type::before {
    content: "EPA SWMM5 \00b7 ICM INFOWORKS \00b7 RUBY AUTOMATION";
    grid-column: 1;
    grid-row: 1;
    align-self: start;
    font-family: var(--font-sans);
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: var(--cyan);
    margin-bottom: 1.15rem;
}

/* Editorial gradient headline */
body.home .entry-content > div:first-of-type > h1 {
    grid-column: 1;
    font-family: var(--font-serif) !important;
    font-size: clamp(2.1rem, 4.2vw, 3.4rem) !important;
    font-weight: 700 !important;
    line-height: 1.12 !important;
    letter-spacing: -0.01em;
    margin: 0 0 1.25rem !important;
    text-align: left !important;
}
@supports ((-webkit-background-clip: text) or (background-clip: text)) {
    body.home .entry-content > div:first-of-type > h1 {
        background: var(--grad-headline);
        -webkit-background-clip: text !important;
        background-clip: text !important;
        -webkit-text-fill-color: transparent !important;
    }
}

/* Hero copy (repaint inline white to a softer dashboard tone) */
body.home .entry-content > div:first-of-type > p {
    grid-column: 1;
    font-size: 1.06rem !important;
    line-height: 1.7 !important;
    max-width: 60ch !important;
    margin: 0 0 1.1rem !important;
    text-align: left !important;
    -webkit-text-fill-color: var(--text-soft) !important;
}
body.home .entry-content > div:first-of-type > p strong {
    -webkit-text-fill-color: var(--text-hi) !important;
    font-weight: 600;
}

/* --- Right column: CTA div becomes a 2x2 metric card grid --- */
body.home .entry-content > div:first-of-type > div {
    grid-column: 2;
    /* span the four left-column rows (eyebrow, h1, p, p). Note: 1 / -1
       would collapse to row 1 here because the hero has no explicit rows. */
    grid-row: 1 / span 4;
    align-self: center;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin: 0 !important;
    align-content: center;
}
body.home .entry-content > div:first-of-type > div > br { display: none !important; }

body.home .entry-content > div:first-of-type > div > a {
    position: relative;
    display: flex !important;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 8px;
    min-height: 142px;
    padding: 1.15rem 1.25rem !important;
    margin: 0 !important;
    border: 1px solid var(--cyan-30) !important;
    border-radius: var(--radius) !important;
    font-size: 0 !important;        /* hide inline-styled CTA text visually */
    line-height: 1 !important;
    text-decoration: none !important;
    overflow: hidden;
    /* The inset shadow veils any inline !important background color */
    box-shadow: inset 0 0 0 1200px var(--panel-veil);
    transition: transform 0.25s var(--ease), box-shadow 0.25s var(--ease), border-color 0.25s var(--ease);
}
body.home .entry-content > div:first-of-type > div > a:hover {
    transform: translateY(-4px);
}
body.home .entry-content > div:first-of-type > div > a:focus-visible {
    outline: 2px solid var(--cyan) !important;
    outline-offset: 3px;
}

/* Metric number + label via pseudo-content (real site metrics) */
body.home .entry-content > div:first-of-type > div > a::before {
    font-family: var(--font-serif);
    font-size: clamp(1.85rem, 2.4vw, 2.4rem);
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0;
}
body.home .entry-content > div:first-of-type > div > a::after {
    font-family: var(--font-sans);
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    line-height: 1.5;
}

/* Card 1 — articles (cyan) */
body.home .entry-content > div:first-of-type > div > a[href*="inside-swmm5"] {
    border-color: rgba(0, 212, 255, 0.50) !important;
    box-shadow: inset 0 0 0 1200px var(--panel-veil), 0 0 30px -8px rgba(0, 212, 255, 0.55);
}
body.home .entry-content > div:first-of-type > div > a[href*="inside-swmm5"]::before {
    content: "1,729+";
    color: var(--cyan);
}
body.home .entry-content > div:first-of-type > div > a[href*="inside-swmm5"]::after {
    content: "Articles & Guides";
    color: var(--text-muted);
}
body.home .entry-content > div:first-of-type > div > a[href*="inside-swmm5"]:hover {
    box-shadow: inset 0 0 0 1200px var(--panel-veil), 0 14px 42px -6px rgba(0, 212, 255, 0.55);
}

/* Card 2 — tools / vibe apps (violet) */
body.home .entry-content > div:first-of-type > div > a[href*="repl-gallery"] {
    border-color: rgba(139, 92, 246, 0.55) !important;
    box-shadow: inset 0 0 0 1200px var(--panel-veil), 0 0 30px -8px rgba(139, 92, 246, 0.55);
}
body.home .entry-content > div:first-of-type > div > a[href*="repl-gallery"]::before {
    content: "99+";
    color: var(--violet);
}
body.home .entry-content > div:first-of-type > div > a[href*="repl-gallery"]::after {
    content: "Tools & Vibe Apps";
    color: var(--text-muted);
}
body.home .entry-content > div:first-of-type > div > a[href*="repl-gallery"]:hover {
    box-shadow: inset 0 0 0 1200px var(--panel-veil), 0 14px 42px -6px rgba(139, 92, 246, 0.55);
}

/* Card 3 — Ruby scripts (teal) */
body.home .entry-content > div:first-of-type > div > a[href*="category/ruby"] {
    border-color: rgba(45, 212, 191, 0.50) !important;
    box-shadow: inset 0 0 0 1200px var(--panel-veil), 0 0 30px -8px rgba(45, 212, 191, 0.50);
}
body.home .entry-content > div:first-of-type > div > a[href*="category/ruby"]::before {
    content: "150+";
    color: var(--teal);
}
body.home .entry-content > div:first-of-type > div > a[href*="category/ruby"]::after {
    content: "Ruby Scripts";
    color: var(--text-muted);
}
body.home .entry-content > div:first-of-type > div > a[href*="category/ruby"]:hover {
    box-shadow: inset 0 0 0 1200px var(--panel-veil), 0 14px 42px -6px rgba(45, 212, 191, 0.50);
}

/* Card 4 — years of SWMM (amber) */
body.home .entry-content > div:first-of-type > div > a[href="#road-to-swmm6"] {
    border-color: rgba(255, 196, 77, 0.50) !important;
    box-shadow: inset 0 0 0 1200px var(--panel-veil), 0 0 30px -8px rgba(255, 196, 77, 0.45);
}
body.home .entry-content > div:first-of-type > div > a[href="#road-to-swmm6"]::before {
    content: "50";
    color: var(--amber);
}
body.home .entry-content > div:first-of-type > div > a[href="#road-to-swmm6"]::after {
    content: "Years of SWMM";
    color: var(--text-muted);
}
body.home .entry-content > div:first-of-type > div > a[href="#road-to-swmm6"]:hover {
    box-shadow: inset 0 0 0 1200px var(--panel-veil), 0 14px 42px -6px rgba(255, 196, 77, 0.45);
}

/* ---------------------------------------------------------------------
   5. HOMEPAGE SECTIONS — INLINE LIGHT CARDS -> DARK PANELS
   Broad but scoped to body.home .entry-content. Light inline
   backgrounds are veiled with an inset shadow; dark inline text
   colors are repainted with -webkit-text-fill-color.
   --------------------------------------------------------------------- */

/* Repaint inline dark text colors that would vanish on dark panels */
body.home .entry-content [style*="color: #1a4d7a"],
body.home .entry-content [style*="color:#1a4d7a"],
body.home .entry-content [style*="color: #2c7fb8"],
body.home .entry-content [style*="color:#2c7fb8"] {
    -webkit-text-fill-color: var(--cyan) !important;
}
body.home .entry-content [style*="color: #333333"],
body.home .entry-content [style*="color:#333333"],
body.home .entry-content [style*="color: #555555"],
body.home .entry-content [style*="color:#555555"] {
    -webkit-text-fill-color: var(--text-soft) !important;
}

/* Light utility cards (#f5f9fc) -> translucent navy panels */
body.home .entry-content div[style*="background: #f5f9fc"],
body.home .entry-content div[style*="background:#f5f9fc"],
body.home .entry-content div[style*="background: #F5F9FC"],
body.home .entry-content div[style*="background:#F5F9FC"] {
    border: 1px solid var(--line-cyan) !important;
    border-left: 3px solid var(--cyan) !important;
    border-radius: var(--radius) !important;
    box-shadow: inset 0 0 0 1200px var(--panel-veil-soft), 0 10px 30px rgba(0, 0, 0, 0.35);
    transition: transform 0.25s var(--ease), box-shadow 0.25s var(--ease);
}
body.home .entry-content div[style*="background: #f5f9fc"]:hover,
body.home .entry-content div[style*="background:#f5f9fc"]:hover,
body.home .entry-content div[style*="background: #F5F9FC"]:hover,
body.home .entry-content div[style*="background:#F5F9FC"]:hover {
    transform: translateY(-5px);
    box-shadow: inset 0 0 0 1200px var(--panel-veil-soft), 0 16px 44px rgba(0, 212, 255, 0.18);
}

/* Navy cards and bands (#0f2744) -> glowing dashboard panels */
body.home .entry-content div[style*="background: #0f2744"],
body.home .entry-content div[style*="background:#0f2744"] {
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35);
    transition: transform 0.25s var(--ease), box-shadow 0.25s var(--ease), border-color 0.25s var(--ease);
}
body.home .entry-content div[style*="background: #0f2744"]:hover,
body.home .entry-content div[style*="background:#0f2744"]:hover {
    transform: translateY(-5px);
    border-color: rgba(0, 212, 255, 0.55) !important;
    box-shadow: 0 16px 44px rgba(0, 212, 255, 0.18);
}

/* Ghost-pill action links inside the navy app cards */
body.home .entry-content div[style*="background: #0f2744"] a[style],
body.home .entry-content div[style*="background:#0f2744"] a[style] {
    display: inline-block;
    margin-top: 6px;
    padding: 0.5rem 1.05rem;
    border: 1px solid rgba(0, 212, 255, 0.40) !important;
    border-radius: 999px !important;
    transition: all 0.25s var(--ease);
}
body.home .entry-content div[style*="background: #0f2744"] a[style]:hover,
body.home .entry-content div[style*="background:#0f2744"] a[style]:hover {
    background: var(--cyan) !important;
    -webkit-text-fill-color: #04222c !important;
    box-shadow: 0 8px 22px rgba(0, 212, 255, 0.30);
}

/* Author credibility band (#1a4d7a) -> deep navy panel, keep amber accents */
body.home .entry-content div[style*="background: #1a4d7a"],
body.home .entry-content div[style*="background:#1a4d7a"] {
    border: 1px solid var(--line-cyan);
    border-radius: var(--radius-lg) !important;
    box-shadow: inset 0 0 0 1200px rgba(9, 18, 34, 0.55), var(--shadow-panel);
}

/* "Road to SWMM6" inner glass tiles: subtle cyan edge */
body.home .entry-content div[style*="rgba(255,255,255,0.06)"],
body.home .entry-content div[style*="rgba(255, 255, 255, 0.06)"] {
    border-left-color: var(--amber) !important;
}

/* Stats band: hairline cyan rules + serif figures */
body.home .entry-content div[style*="border-top"] {
    border-top: 1px solid var(--line-cyan) !important;
    border-bottom: 1px solid var(--line-cyan) !important;
}
body.home .entry-content div[style*="border-top"] strong {
    font-family: var(--font-serif);
    font-size: 1.35rem;
    letter-spacing: 0.01em;
}

/* Homepage section headings keep the dashboard accent */
body.home .entry-content h2 { letter-spacing: 0.01em; }

/* ---------------------------------------------------------------------
   6. CUSTOM HTML HOMEPAGE VARIANT (.swmm-*) — /welcome/ AND CACHED HOME
   Because of Batcache/staging the site serves TWO homepage variants:
     A) body.home.page-id-26924 — old inline-styled hero (Section 4).
     B) body.page-id-26556      — /welcome/ "Custom HTML" block built
        from .swmm-* classes. The same markup can also be served on the
        front page (body.home) while the Batcache entry is stale.
   Variant B prints an in-content <style> block AFTER Additional CSS, so
   every rule below is scoped with a body class (plus !important wherever
   the in-content block uses it) to win the cascade without editing the
   page. Where Section 4 selectors would ALSO match variant-B markup on
   body.home, the rules below deliberately use equal-or-higher specificity
   and later source order to neutralize them.
   --------------------------------------------------------------------- */

/* Strip the page container on /welcome/ so the .swmm-* bands can breathe
   edge-to-edge, mirroring the body.home strip in Section 4 */
body.page-id-26556 article,
body.page-id-26556 .ast-article-single,
body.page-id-26556 .type-page,
body.page-id-26556 .ast-separate-container .ast-article-single,
body.page-id-26556 .ast-plain-container .ast-article-single {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
}
body.page-id-26556 .entry-content > *:first-child { margin-top: 0 !important; }
body.page-id-26556 .entry-content > p:has(> br:only-child) { display: none !important; }

/* --- 6a. HERO BAND — rounded dark dashboard panel ---------------------
   div.swmm-hero in the selector (equal specificity to Section 4's
   div:first-of-type rules, later source order) disables the Section-4
   grid whenever Batcache serves this markup on body.home. */
body.home .entry-content > div.swmm-hero,
body.page-id-26556 .entry-content > div.swmm-hero {
    position: relative !important;
    isolation: isolate;
    display: block !important;
    padding: clamp(2.6rem, 5vw, 4.4rem) clamp(1.4rem, 4vw, 3.4rem) !important;
    margin: 0 0 3rem !important;
    max-width: none !important;
    border: 1px solid var(--line-cyan) !important;
    border-radius: var(--radius-lg) !important;
    background: linear-gradient(160deg, #060d1d 0%, #081226 55%, #0a1830 100%) !important;
    text-align: left !important;
    overflow: hidden !important;
    box-shadow: var(--shadow-panel);
}

/* Kill the Section-4 eyebrow pseudo-text (body.home) and the in-content
   glow layer (::before); ::after below repaints grid + radial glows */
body.home .entry-content > div.swmm-hero::before,
body.page-id-26556 .entry-content > div.swmm-hero::before {
    content: none !important;
}
body.home .entry-content > div.swmm-hero::after,
body.page-id-26556 .entry-content > div.swmm-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background:
        radial-gradient(42rem 26rem at 84% -12%, rgba(139, 92, 246, 0.20), transparent 62%),
        radial-gradient(50rem 30rem at -10% 114%, rgba(0, 212, 255, 0.16), transparent 62%),
        radial-gradient(30rem 20rem at 55% 122%, rgba(45, 212, 191, 0.10), transparent 65%),
        linear-gradient(rgba(0, 212, 255, 0.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 212, 255, 0.05) 1px, transparent 1px);
    background-size: auto, auto, auto, 44px 44px, 44px 44px;
}

/* --- 6b. HERO CONTENT — two-column dashboard grid ---------------------
   Left: eyebrow + Playfair headline + subtitle + CTA buttons.
   Right: .swmm-stats rebuilt as a 2x2 grid of glowing metric cards. */
body.home .entry-content > div.swmm-hero > div.swmm-hero-content,
body.page-id-26556 .entry-content > div.swmm-hero > div.swmm-hero-content {
    position: relative;
    z-index: 1;
    display: grid !important;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr) !important;
    column-gap: clamp(28px, 4vw, 60px);
    align-items: center;
    align-content: center;
    max-width: 1120px !important;
    margin: 0 auto !important;
    text-align: left !important;
}

/* Eyebrow / kicker (pure-CSS, no markup changes) */
body.home .entry-content > div.swmm-hero > div.swmm-hero-content::before,
body.page-id-26556 .entry-content > div.swmm-hero > div.swmm-hero-content::before {
    content: "EPA SWMM5 \00b7 ICM INFOWORKS \00b7 RUBY AUTOMATION";
    grid-column: 1;
    grid-row: 1;
    align-self: start;
    font-family: var(--font-sans);
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: var(--cyan);
    margin-bottom: 1.15rem;
}

/* Editorial headline */
body.home .swmm-hero .swmm-hero-content > h1,
body.page-id-26556 .swmm-hero .swmm-hero-content > h1 {
    grid-column: 1;
    font-family: var(--font-serif) !important;
    font-size: clamp(2.1rem, 4.2vw, 3.35rem) !important;
    font-weight: 700 !important;
    line-height: 1.12 !important;
    letter-spacing: -0.01em;
    color: var(--text-hi) !important;
    text-align: left !important;
    margin: 0 0 1.25rem !important;
}
body.home .swmm-hero h1 .highlight-years,
body.page-id-26556 .swmm-hero h1 .highlight-years {
    background: linear-gradient(115deg, var(--cyan) 0%, var(--blue) 52%, var(--violet) 100%) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    font-weight: 700 !important;
}
body.home .swmm-hero h1 .highlight-cyan,
body.page-id-26556 .swmm-hero h1 .highlight-cyan {
    color: var(--cyan) !important;
    font-style: italic;
}

/* Readable subtitle */
body.home .swmm-hero .swmm-hero-subtitle,
body.page-id-26556 .swmm-hero .swmm-hero-subtitle {
    grid-column: 1;
    font-size: 1.06rem !important;
    line-height: 1.7 !important;
    max-width: 58ch !important;
    margin: 0 0 1.6rem !important;
    color: var(--text-soft) !important;
    text-align: left !important;
}
body.home .swmm-hero .swmm-hero-subtitle strong,
body.page-id-26556 .swmm-hero .swmm-hero-subtitle strong {
    color: var(--text-soft) !important;
    font-weight: 500;
}

/* CTA buttons */
body.home .swmm-hero .swmm-hero-buttons,
body.page-id-26556 .swmm-hero .swmm-hero-buttons {
    grid-column: 1;
    justify-content: flex-start !important;
    gap: 14px !important;
    margin: 0.2rem 0 0;
}
body.home .swmm-hero .swmm-btn-primary,
body.home .swmm-hero .swmm-btn-primary:visited,
body.page-id-26556 .swmm-hero .swmm-btn-primary,
body.page-id-26556 .swmm-hero .swmm-btn-primary:visited {
    background: var(--grad-cyan) !important;
    color: #04222c !important;
    padding: 0.85rem 1.6rem !important;
    border: none !important;
    border-radius: var(--radius) !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    text-shadow: none !important;
    transition: transform 0.25s var(--ease), box-shadow 0.25s var(--ease) !important;
}
body.home .swmm-hero .swmm-btn-primary:hover,
body.home .swmm-hero .swmm-btn-primary:focus,
body.page-id-26556 .swmm-hero .swmm-btn-primary:hover,
body.page-id-26556 .swmm-hero .swmm-btn-primary:focus {
    transform: translateY(-3px);
    box-shadow: 0 12px 30px var(--cyan-45) !important;
    color: #04222c !important;
}
body.home .swmm-hero .swmm-btn-secondary,
body.home .swmm-hero .swmm-btn-secondary:visited,
body.page-id-26556 .swmm-hero .swmm-btn-secondary,
body.page-id-26556 .swmm-hero .swmm-btn-secondary:visited {
    background: rgba(13, 26, 46, 0.72) !important;
    color: var(--text-hi) !important;
    padding: 0.85rem 1.6rem !important;
    border: 1px solid var(--cyan-30) !important;
    border-radius: var(--radius) !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: all 0.25s var(--ease) !important;
}
body.home .swmm-hero .swmm-btn-secondary:hover,
body.home .swmm-hero .swmm-btn-secondary:focus,
body.page-id-26556 .swmm-hero .swmm-btn-secondary:hover,
body.page-id-26556 .swmm-hero .swmm-btn-secondary:focus {
    background: var(--cyan-12) !important;
    border-color: var(--cyan) !important;
    color: var(--cyan) !important;
    transform: translateY(-3px);
}

/* Right column: .swmm-stats -> 2x2 metric card grid */
body.home .entry-content > div.swmm-hero .swmm-stats,
body.page-id-26556 .entry-content > div.swmm-hero .swmm-stats {
    grid-column: 2;
    /* span the four left-column rows (eyebrow, h1, subtitle, buttons) */
    grid-row: 1 / span 4;
    align-self: center;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important;
    margin: 0 !important;
    align-content: center;
}
body.home .swmm-hero .swmm-stat,
body.page-id-26556 .swmm-hero .swmm-stat {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 8px;
    min-height: 138px;
    padding: 1.15rem 1.25rem !important;
    background: var(--panel-veil-soft) !important;
    border: 1px solid var(--cyan-30) !important;
    border-radius: var(--radius) !important;
    text-align: left !important;
    overflow: hidden;
    transition: transform 0.25s var(--ease), box-shadow 0.25s var(--ease), border-color 0.25s var(--ease);
}
body.home .swmm-hero .swmm-stat:hover,
body.page-id-26556 .swmm-hero .swmm-stat:hover { transform: translateY(-4px); }
body.home .swmm-hero .swmm-stat-number,
body.page-id-26556 .swmm-hero .swmm-stat-number {
    font-family: var(--font-serif) !important;
    font-size: clamp(1.85rem, 2.4vw, 2.4rem) !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    color: var(--cyan) !important;
}
body.home .swmm-hero .swmm-stat-label,
body.page-id-26556 .swmm-hero .swmm-stat-label {
    font-family: var(--font-sans) !important;
    font-size: 0.68rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    line-height: 1.5 !important;
    color: var(--text-muted) !important;
    margin-top: 0 !important;
}

/* Metric card color variants: 1 cyan, 2 violet, 3 teal, 4 amber */
body.home .swmm-hero .swmm-stat:nth-child(1),
body.page-id-26556 .swmm-hero .swmm-stat:nth-child(1) {
    border-color: rgba(0, 212, 255, 0.50) !important;
    box-shadow: 0 0 30px -8px rgba(0, 212, 255, 0.55);
}
body.home .swmm-hero .swmm-stat:nth-child(1) .swmm-stat-number,
body.page-id-26556 .swmm-hero .swmm-stat:nth-child(1) .swmm-stat-number { color: var(--cyan) !important; }
body.home .swmm-hero .swmm-stat:nth-child(1):hover,
body.page-id-26556 .swmm-hero .swmm-stat:nth-child(1):hover {
    box-shadow: 0 14px 42px -6px rgba(0, 212, 255, 0.55);
}
body.home .swmm-hero .swmm-stat:nth-child(2),
body.page-id-26556 .swmm-hero .swmm-stat:nth-child(2) {
    border-color: rgba(139, 92, 246, 0.55) !important;
    box-shadow: 0 0 30px -8px rgba(139, 92, 246, 0.55);
}
body.home .swmm-hero .swmm-stat:nth-child(2) .swmm-stat-number,
body.page-id-26556 .swmm-hero .swmm-stat:nth-child(2) .swmm-stat-number { color: var(--violet) !important; }
body.home .swmm-hero .swmm-stat:nth-child(2):hover,
body.page-id-26556 .swmm-hero .swmm-stat:nth-child(2):hover {
    box-shadow: 0 14px 42px -6px rgba(139, 92, 246, 0.55);
}
body.home .swmm-hero .swmm-stat:nth-child(3),
body.page-id-26556 .swmm-hero .swmm-stat:nth-child(3) {
    border-color: rgba(45, 212, 191, 0.50) !important;
    box-shadow: 0 0 30px -8px rgba(45, 212, 191, 0.50);
}
body.home .swmm-hero .swmm-stat:nth-child(3) .swmm-stat-number,
body.page-id-26556 .swmm-hero .swmm-stat:nth-child(3) .swmm-stat-number { color: var(--teal) !important; }
body.home .swmm-hero .swmm-stat:nth-child(3):hover,
body.page-id-26556 .swmm-hero .swmm-stat:nth-child(3):hover {
    box-shadow: 0 14px 42px -6px rgba(45, 212, 191, 0.50);
}
body.home .swmm-hero .swmm-stat:nth-child(4),
body.page-id-26556 .swmm-hero .swmm-stat:nth-child(4) {
    border-color: rgba(255, 196, 77, 0.50) !important;
    box-shadow: 0 0 30px -8px rgba(255, 196, 77, 0.45);
}
body.home .swmm-hero .swmm-stat:nth-child(4) .swmm-stat-number,
body.page-id-26556 .swmm-hero .swmm-stat:nth-child(4) .swmm-stat-number { color: var(--amber) !important; }
body.home .swmm-hero .swmm-stat:nth-child(4):hover,
body.page-id-26556 .swmm-hero .swmm-stat:nth-child(4):hover {
    box-shadow: 0 14px 42px -6px rgba(255, 196, 77, 0.45);
}

/* --- 6c. SEARCH SECTION ---------------------------------------------- */
body.home .swmm-search-section,
body.page-id-26556 .swmm-search-section {
    background: linear-gradient(135deg, var(--bg-panel) 0%, var(--bg-panel-2) 100%) !important;
    border: 1px solid var(--line-cyan) !important;
    border-radius: var(--radius-lg);
    padding: 50px 20px;
    margin: 0 0 3rem;
    text-align: center;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.30);
}
body.home .swmm-search-content,
body.page-id-26556 .swmm-search-content { max-width: 700px; margin: 0 auto; }
body.home .swmm-search-title,
body.page-id-26556 .swmm-search-title {
    color: var(--text-hi) !important;
    font-family: var(--font-serif);
    font-size: 1.75rem;
    margin-bottom: 10px;
}
body.home .swmm-search-subtitle,
body.page-id-26556 .swmm-search-subtitle { color: var(--text-muted) !important; margin-bottom: 25px; }
body.home .swmm-search-form,
body.page-id-26556 .swmm-search-form {
    display: flex; gap: 10px; max-width: 600px;
    margin: 0 auto 20px; flex-wrap: wrap; justify-content: center;
}
body.home .swmm-search-input,
body.page-id-26556 .swmm-search-input {
    flex: 1; min-width: 260px;
    padding: 15px 20px !important;
    border: 1px solid var(--cyan-30) !important;
    border-radius: var(--radius) !important;
    background: rgba(5, 11, 24, 0.85) !important;
    color: var(--text-hi) !important;
}
body.home .swmm-search-input::placeholder,
body.page-id-26556 .swmm-search-input::placeholder { color: var(--text-dim) !important; }
body.home .swmm-search-input:focus,
body.page-id-26556 .swmm-search-input:focus {
    outline: none !important;
    border-color: var(--cyan) !important;
    box-shadow: 0 0 0 3px var(--cyan-18) !important;
}
body.home .swmm-search-button,
body.page-id-26556 .swmm-search-button {
    padding: 15px 30px !important;
    background: var(--grad-cyan) !important;
    color: #04222c !important;
    font-weight: 600 !important;
    border: none !important;
    border-radius: var(--radius) !important;
    cursor: pointer;
    transition: all 0.25s var(--ease);
}
body.home .swmm-search-button:hover,
body.page-id-26556 .swmm-search-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px var(--cyan-45);
}
body.home .swmm-search-tags,
body.page-id-26556 .swmm-search-tags {
    display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; align-items: center;
}
body.home .swmm-search-tags span,
body.page-id-26556 .swmm-search-tags span { color: var(--text-dim) !important; font-size: 0.85rem; }
body.home .swmm-search-tags a,
body.page-id-26556 .swmm-search-tags a {
    background: var(--cyan-08) !important;
    color: var(--cyan) !important;
    padding: 6px 14px !important;
    border: 1px solid var(--cyan-30) !important;
    border-radius: 20px !important;
    font-size: 0.8rem !important;
    text-decoration: none !important;
    transition: all 0.25s var(--ease);
}
body.home .swmm-search-tags a:hover,
body.page-id-26556 .swmm-search-tags a:hover {
    background: var(--cyan-18) !important;
    border-color: var(--cyan) !important;
}

/* --- 6d. CONTENT SECTIONS (.swmm-section headers) --------------------- */
body.home .swmm-section,
body.page-id-26556 .swmm-section { margin: 0 auto 3rem; }
body.home .swmm-section-title,
body.page-id-26556 .swmm-section-title {
    font-family: var(--font-serif) !important;
    font-size: clamp(1.6rem, 3vw, 2.25rem) !important;
    font-weight: 700 !important;
    color: var(--text-hi) !important;
    letter-spacing: 0.01em;
    margin: 0 !important;
}
body.home .swmm-section-title span,
body.page-id-26556 .swmm-section-title span {
    color: var(--cyan) !important;
    font-style: italic;
}
body.home .swmm-view-all,
body.page-id-26556 .swmm-view-all {
    color: var(--cyan) !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    padding: 0.45rem 1.05rem !important;
    border: 1px solid var(--cyan-30) !important;
    border-radius: 999px !important;
    transition: all 0.25s var(--ease) !important;
}
body.home .swmm-view-all:hover,
body.page-id-26556 .swmm-view-all:hover {
    background: var(--cyan-12) !important;
    border-color: var(--cyan) !important;
    color: var(--cyan) !important;
    text-decoration: none !important;
}

/* --- 6e. APP CARDS — white inline cards -> dark dashboard panels ------ */
body.home .swmm-app-card,
body.page-id-26556 .swmm-app-card {
    background: var(--panel-grad) !important;
    border: 1px solid var(--line-cyan) !important;
    border-radius: var(--radius) !important;
    padding: 25px !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35) !important;
    transition: transform 0.25s var(--ease), box-shadow 0.25s var(--ease), border-color 0.25s var(--ease) !important;
}
body.home .swmm-app-card:hover,
body.page-id-26556 .swmm-app-card:hover {
    transform: translateY(-6px);
    border-color: var(--cyan-45) !important;
    box-shadow: 0 18px 44px rgba(0, 212, 255, 0.18) !important;
}
body.home .swmm-app-card.featured,
body.page-id-26556 .swmm-app-card.featured {
    background: linear-gradient(150deg, rgba(18, 37, 64, 0.92), rgba(10, 22, 40, 0.96)) !important;
    border-color: var(--cyan-45) !important;
    box-shadow: 0 14px 40px rgba(0, 0, 0, 0.42), 0 0 34px -8px rgba(0, 212, 255, 0.40) !important;
}
body.home .swmm-app-card .swmm-app-icon,
body.page-id-26556 .swmm-app-card .swmm-app-icon {
    background: var(--cyan-08) !important;
    border: 1px solid var(--cyan-30) !important;
    border-radius: 14px !important;
    box-shadow: inset 0 0 18px rgba(0, 212, 255, 0.10);
}
body.home .swmm-app-card .swmm-app-tag,
body.page-id-26556 .swmm-app-card .swmm-app-tag {
    background: var(--cyan-12) !important;
    color: var(--cyan) !important;
    border: 1px solid var(--cyan-30) !important;
}
body.home .swmm-app-card.featured .swmm-app-tag,
body.page-id-26556 .swmm-app-card.featured .swmm-app-tag {
    background: var(--cyan-18) !important;
    color: var(--cyan) !important;
    border-color: var(--cyan-45) !important;
}
body.home .swmm-app-card .swmm-app-title,
body.page-id-26556 .swmm-app-card .swmm-app-title {
    color: var(--text-hi) !important;
    font-weight: 600 !important;
}
body.home .swmm-app-card .swmm-app-desc,
body.page-id-26556 .swmm-app-card .swmm-app-desc {
    color: var(--text-soft) !important;
}
body.home .swmm-app-card .swmm-app-link,
body.page-id-26556 .swmm-app-card .swmm-app-link {
    color: var(--cyan) !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}
body.home .swmm-app-card .swmm-app-link:hover,
body.page-id-26556 .swmm-app-card .swmm-app-link:hover {
    color: var(--teal) !important;
}

/* --- 6f. CATEGORY CARDS ----------------------------------------------- */
body.home .swmm-category-card,
body.page-id-26556 .swmm-category-card {
    background: rgba(13, 26, 46, 0.72) !important;
    border: 1px solid var(--line-cyan) !important;
    border-radius: var(--radius) !important;
    transition: transform 0.25s var(--ease), box-shadow 0.25s var(--ease), border-color 0.25s var(--ease) !important;
}
body.home .swmm-category-card:hover,
body.page-id-26556 .swmm-category-card:hover {
    background: var(--cyan-08) !important;
    border-color: var(--cyan) !important;
    transform: translateY(-4px);
    box-shadow: 0 14px 34px rgba(0, 212, 255, 0.16) !important;
}
body.home .swmm-category-card .swmm-category-name,
body.page-id-26556 .swmm-category-card .swmm-category-name {
    color: var(--text-hi) !important;
}
body.home .swmm-category-card .swmm-category-count,
body.page-id-26556 .swmm-category-card .swmm-category-count {
    color: var(--text-dim) !important;
}

/* --- 6g. LATEST POSTS -------------------------------------------------- */
body.home .swmm-latest-posts,
body.page-id-26556 .swmm-latest-posts {
    background: rgba(13, 26, 46, 0.45) !important;
    border: 1px solid var(--line-cyan) !important;
    border-radius: var(--radius-lg);
    padding: 50px 20px;
    margin: 0 0 3rem;
}
body.home .swmm-post-card,
body.page-id-26556 .swmm-post-card {
    background: var(--panel-grad) !important;
    border: 1px solid var(--line-cyan) !important;
    border-radius: var(--radius) !important;
    padding: 25px !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35) !important;
    transition: transform 0.25s var(--ease), box-shadow 0.25s var(--ease), border-color 0.25s var(--ease) !important;
}
body.home .swmm-post-card:hover,
body.page-id-26556 .swmm-post-card:hover {
    transform: translateY(-5px);
    border-color: var(--cyan-45) !important;
    box-shadow: 0 16px 40px rgba(0, 212, 255, 0.16) !important;
}
body.home .swmm-post-card h3,
body.page-id-26556 .swmm-post-card h3 { color: var(--text-hi) !important; }
body.home .swmm-post-card h3 a,
body.page-id-26556 .swmm-post-card h3 a {
    color: var(--text-hi) !important;
    text-decoration: none !important;
}
body.home .swmm-post-card h3 a:hover,
body.page-id-26556 .swmm-post-card h3 a:hover { color: var(--cyan) !important; }
body.home .swmm-post-card .swmm-post-meta,
body.page-id-26556 .swmm-post-card .swmm-post-meta { color: var(--text-dim) !important; }
body.home .swmm-post-card .swmm-post-excerpt,
body.page-id-26556 .swmm-post-card .swmm-post-excerpt { color: var(--text-soft) !important; }

/* --- 6h. ABOUT BAND + SOCIAL LINKS ------------------------------------- */
body.home .swmm-about,
body.page-id-26556 .swmm-about {
    background: linear-gradient(160deg, rgba(18, 37, 64, 0.85), rgba(9, 18, 34, 0.95)) !important;
    border: 1px solid var(--line-cyan) !important;
    border-radius: var(--radius-lg);
    padding: 50px 30px !important;
    margin: 0 0 3rem;
    box-shadow: var(--shadow-panel);
}
body.home .swmm-about .swmm-about-avatar,
body.page-id-26556 .swmm-about .swmm-about-avatar {
    background: var(--grad-cyan) !important;
    color: #04222c !important;
    font-family: var(--font-serif) !important;
    border: 2px solid rgba(0, 212, 255, 0.55) !important;
    box-shadow: 0 0 34px -6px rgba(0, 212, 255, 0.50) !important;
}
body.home .swmm-about .swmm-about-text h3,
body.page-id-26556 .swmm-about .swmm-about-text h3 {
    color: var(--text-hi) !important;
}
body.home .swmm-about .swmm-about-text p,
body.page-id-26556 .swmm-about .swmm-about-text p {
    color: var(--text-soft) !important;
}
body.home .swmm-social-link,
body.page-id-26556 .swmm-social-link {
    background: rgba(13, 26, 46, 0.80) !important;
    border: 1px solid var(--cyan-30) !important;
    border-radius: 12px !important;
    color: var(--text-muted) !important;
    text-decoration: none !important;
    transition: all 0.25s var(--ease) !important;
}
body.home .swmm-social-link:hover,
body.page-id-26556 .swmm-social-link:hover {
    background: var(--cyan) !important;
    color: #04222c !important;
    border-color: var(--cyan) !important;
    transform: translateY(-3px);
    box-shadow: 0 10px 26px rgba(0, 212, 255, 0.30) !important;
}

/* ---------------------------------------------------------------------
   7. BLOG / ARCHIVE / SEARCH — DARK CARD GRID
   --------------------------------------------------------------------- */
body.blog article,
body.archive article,
body.search article,
.blog .ast-article-post,
.archive .ast-article-post,
.ast-blog-layout-1 article,
.ast-grid-common-col article,
article.ast-article-post {
    background: var(--panel-grad) !important;
    border: 1px solid var(--line-cyan) !important;
    border-radius: var(--radius-lg) !important;
    overflow: hidden;
    margin-bottom: 1.75rem !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35);
    transition: transform 0.25s var(--ease), box-shadow 0.25s var(--ease), border-color 0.25s var(--ease);
}
body.blog article:hover,
body.archive article:hover,
body.search article:hover,
.blog .ast-article-post:hover,
.archive .ast-article-post:hover {
    transform: translateY(-5px);
    border-color: var(--cyan-45) !important;
    box-shadow: 0 18px 48px rgba(0, 212, 255, 0.16);
}

/* Thumbnails */
.ast-blog-featured-section,
.post-thumb-img-content {
    border-bottom: 1px solid var(--line-cyan);
    overflow: hidden;
}
.post-thumb-img-content img,
.ast-blog-featured-section img,
article .wp-post-image {
    border-radius: 0 !important;
    transition: transform 0.4s var(--ease), filter 0.4s var(--ease);
    filter: saturate(0.92) brightness(0.96);
}
article:hover .post-thumb-img-content img,
article:hover .ast-blog-featured-section img {
    transform: scale(1.03);
    filter: saturate(1) brightness(1);
}

/* Category pills */
.cat-links a,
.tag-links a,
.ast-terms-link a,
.ast-taxonomy-container a,
a[rel="category tag"],
a[rel="tag"] {
    display: inline-block;
    background: var(--cyan-12) !important;
    color: var(--cyan) !important;
    padding: 0.28rem 0.8rem !important;
    border: 1px solid var(--cyan-30) !important;
    border-radius: 999px !important;
    font-size: 0.68rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.08em;
    text-transform: uppercase !important;
    text-decoration: none !important;
    margin: 0 0.5rem 0.5rem 0;
    transition: all 0.25s var(--ease);
}
.cat-links a:hover,
.tag-links a:hover,
.ast-taxonomy-container a:hover,
a[rel="category tag"]:hover {
    background: var(--cyan) !important;
    color: #04222c !important;
    border-color: var(--cyan) !important;
}

/* Post titles + excerpts on cards */
body.blog .entry-title, body.archive .entry-title,
body.blog .entry-title a, body.archive .entry-title a,
.ast-article-post .entry-title a {
    font-family: var(--font-serif) !important;
    color: var(--text-hi) !important;
    font-size: 1.45rem !important;
    line-height: 1.3 !important;
    text-decoration: none !important;
}
body.blog .entry-title a:hover, body.archive .entry-title a:hover {
    color: var(--cyan) !important;
}
body.blog article p,
body.blog article .entry-content,
body.blog article .entry-summary,
body.archive article p,
body.archive article .entry-summary,
.ast-article-post p {
    color: var(--text-soft) !important;
    line-height: 1.7;
}

/* Metadata (date / author / comments) */
.entry-meta,
.ast-blog-meta-container,
.entry-meta a,
.posted-on, .byline, .cat-links,
.entry-meta .comments-link a {
    color: var(--text-muted) !important;
    font-size: 0.82rem;
}
.entry-meta a:hover { color: var(--cyan) !important; }

/* Read-more links */
.read-more a,
.ast-read-more-container a,
.more-link {
    display: inline-block;
    color: var(--cyan) !important;
    font-weight: 600 !important;
    font-size: 0.9rem !important;
    text-decoration: none !important;
    transition: color 0.2s var(--ease);
}
.read-more a::after,
.ast-read-more-container a::after,
.more-link::after { content: " \2192"; }
.read-more a:hover,
.ast-read-more-container a:hover,
.more-link:hover { color: var(--teal) !important; }

/* Archive headers + Jetpack sharing blocks stay on-brand */
.ast-archive-description { background: transparent !important; }
.ast-archive-description .ast-archive-title {
    color: var(--text-hi) !important;
    font-family: var(--font-serif);
}
.sharedaddy .sd-title { color: var(--text-muted) !important; }

/* ---------------------------------------------------------------------
   8. SIDEBAR & WIDGETS
   --------------------------------------------------------------------- */
.widget-area, .sidebar-main, #secondary { background: transparent !important; }
.widget, .ast-separate-container .widget {
    background: var(--panel-grad) !important;
    border: 1px solid var(--line-cyan) !important;
    border-radius: var(--radius) !important;
    padding: 1.4rem !important;
    margin-bottom: 1.5rem !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.30);
}
.widget-title, .widget h2.widget-title {
    font-family: var(--font-sans) !important;
    font-size: 0.82rem !important;
    font-weight: 600 !important;
    color: var(--text-hi) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.14em !important;
    border-bottom: 1px solid var(--line-cyan) !important;
    padding-bottom: 0.7rem !important;
    margin-bottom: 1rem !important;
}
.widget ul { list-style: none !important; padding: 0 !important; margin: 0 !important; }
.widget li {
    padding: 0.5rem 0 !important;
    border-bottom: 1px solid var(--cyan-08) !important;
    font-size: 0.9rem !important;
    color: var(--text-soft);
}
.widget li:last-child { border-bottom: none !important; }
.widget a { color: var(--text-muted) !important; text-decoration: none !important; }
.widget a:hover { color: var(--cyan) !important; }
.widget .search-field, .widget input[type="search"] { width: 100%; }
.tagcloud a {
    background: var(--cyan-08) !important;
    color: var(--cyan) !important;
    border: 1px solid var(--cyan-30) !important;
    border-radius: 999px !important;
}

/* ---------------------------------------------------------------------
   9. SINGLE POST — READABLE ARTICLE PANEL
   --------------------------------------------------------------------- */
body.single .ast-article-single,
body.single-post .ast-article-single,
article.ast-article-single {
    background: var(--panel-grad) !important;
    border: 1px solid var(--line-cyan) !important;
    border-radius: var(--radius-lg) !important;
    padding: 2rem !important;
    box-shadow: var(--shadow-panel);
}
body.single .entry-title,
.ast-article-single .entry-title {
    font-size: clamp(1.7rem, 3vw, 2.4rem) !important;
    color: var(--text-hi) !important;
}
.ast-single-post .entry-content,
.ast-single-post .entry-header {
    background-color: transparent;
    color: var(--text-soft);
}
.ast-single-post .entry-content p,
.ast-single-post .entry-content li,
.ast-single-post .entry-content span {
    color: var(--text-soft);
    line-height: 1.75;
}
.ast-single-post .entry-content h1,
.ast-single-post .entry-content h2,
.ast-single-post .entry-content h3,
.ast-single-post .entry-content h4,
.ast-single-post .entry-content h5,
.ast-single-post .entry-content h6 {
    color: var(--text-hi) !important;
    border-bottom: 1px solid var(--line-cyan);
    padding-bottom: 6px;
}
.ast-single-post .entry-content strong { color: var(--teal); }
.ast-single-post .entry-content a {
    color: var(--teal) !important;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.ast-single-post .entry-content a:hover { color: #5eead4 !important; }
/* Gutenberg / Astra button links: keep dark text on the cyan button fill,
   no underline (Section 11 already supplies background, padding, hover) */
.ast-single-post .entry-content a.wp-block-button__link,
.ast-single-post .entry-content a.ast-button {
    color: #04222c !important;
    text-decoration: none !important;
}
.ast-single-post .entry-content a.wp-block-button__link:hover,
.ast-single-post .entry-content a.ast-button:hover,
.ast-single-post .entry-content a.wp-block-button__link:focus,
.ast-single-post .entry-content a.ast-button:focus {
    color: #04222c !important;
    text-decoration: none !important;
}

/* Tables: scroll horizontally inside the panel instead of forcing
   whole-page overflow on narrow viewports. With display:block the rows
   generate an anonymous inner table box, so cell layout is preserved and
   border-collapse (an inherited property) still applies to it. */
.ast-single-post .entry-content table {
    display: block;
    overflow-x: auto;
    max-width: 100%;
    border-collapse: collapse;
    border: 1px solid var(--teal) !important;
}
.ast-single-post .entry-content table th {
    background-color: #0f3d3d !important;
    color: var(--teal) !important;
    border-bottom: 2px solid var(--teal) !important;
    padding: 0.6rem 0.8rem;
}
.ast-single-post .entry-content table td {
    background-color: #14273a !important;
    color: var(--text-soft) !important;
    border-bottom: 1px solid #1e3a4a !important;
    padding: 0.55rem 0.8rem;
}
.ast-single-post .entry-content table tr:nth-child(even) td { background-color: #10202f !important; }

/* Code */
code, pre, .wp-block-code {
    font-family: var(--font-mono) !important;
    background: #071420 !important;
    color: #7dd3c0 !important;
    border: 1px solid #14555a !important;
    border-radius: var(--radius-sm);
}
code { padding: 0.2em 0.5em; font-size: 0.88em !important; }
pre, .wp-block-code { padding: 1.25rem !important; overflow-x: auto; }
pre code { padding: 0; background: transparent !important; border: none !important; }

/* Blockquotes */
blockquote, .wp-block-quote,
.ast-single-post .entry-content blockquote {
    background: #14273a !important;
    border-left: 4px solid var(--teal) !important;
    border-radius: 0 var(--radius) var(--radius) 0 !important;
    padding: 1.25rem 1.5rem !important;
    margin: 1.5rem 0 !important;
    color: #cfe8e6 !important;
}
blockquote p { color: #cfe8e6 !important; }

/* Images */
img, .wp-block-image img { border-radius: var(--radius); }
.ast-single-post .entry-content img { border: 1px solid var(--line-cyan); }
figcaption, .wp-caption-text { color: var(--text-dim) !important; font-size: 0.85rem; }

/* Keep grouped blocks transparent inside post content */
.entry-content .wp-block-group { background-color: transparent !important; color: inherit !important; }

/* Post navigation (prev / next) */
.single .nav-links .nav-previous a,
.single .nav-links .nav-next a,
.post-navigation a {
    color: var(--text-muted) !important;
}
.post-navigation a:hover { color: var(--cyan) !important; }

/* ---------------------------------------------------------------------
   10. COMMENTS & FORMS
   --------------------------------------------------------------------- */
.ast-separate-container .ast-comment-list li,
.ast-comment-list li {
    background: var(--panel-grad) !important;
    border: 1px solid var(--line-cyan) !important;
    border-radius: var(--radius) !important;
}
.ast-comment-list .comment-content p { color: var(--text-soft) !important; }
.ast-comment-list .comment-meta a { color: var(--text-muted) !important; }
.comments-title, .comment-reply-title { color: var(--text-hi) !important; }

input[type="search"], input[type="text"], input[type="email"],
input[type="url"], input[type="password"], input[type="number"],
textarea, select {
    background: var(--bg-panel) !important;
    border: 1px solid var(--line-cyan) !important;
    border-radius: var(--radius-sm) !important;
    color: var(--text-hi) !important;
    padding: 0.72rem 1rem !important;
}
input::placeholder, textarea::placeholder { color: var(--text-dim) !important; }
input:focus, textarea:focus, select:focus {
    outline: none !important;
    border-color: var(--cyan) !important;
    box-shadow: 0 0 0 3px var(--cyan-12) !important;
}
label, .comment-form label { color: var(--text-muted); }

/* ---------------------------------------------------------------------
   11. BUTTONS, PILLS, SCROLL-TOP
   --------------------------------------------------------------------- */
.ast-button, .button, button,
input[type="submit"], input#submit,
.wp-block-button__link, #comments .submit, .search .search-submit {
    background: var(--grad-cyan) !important;
    color: #04222c !important;
    font-weight: 600 !important;
    padding: 0.75rem 1.5rem !important;
    border: none !important;
    border-radius: var(--radius) !important;
    transition: transform 0.25s var(--ease), box-shadow 0.25s var(--ease) !important;
}
.ast-button:hover, .button:hover, button:hover,
input[type="submit"]:hover, .wp-block-button__link:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 12px 30px var(--cyan-45) !important;
    color: #04222c !important;
}
.swmm-btn-primary, .swmm-btn-primary:hover, .swmm-btn-primary:focus, .swmm-btn-primary:visited {
    color: #04222c !important;
    background: var(--grad-cyan) !important;
    text-shadow: none !important;
}
.ast-scroll-top-icon, #ast-scroll-top {
    background: var(--grad-cyan) !important;
    color: #04222c !important;
    border-radius: var(--radius) !important;
}

/* ---------------------------------------------------------------------
   12. FOOTER, PAGINATION, BREADCRUMBS
   --------------------------------------------------------------------- */
#colophon, .site-footer,
.ast-footer-overlay, .ast-small-footer,
.site-footer .ast-builder-footer {
    background: rgba(5, 11, 24, 0.92) !important;
    border-top: 1px solid var(--line-cyan) !important;
}
.site-footer, .site-footer p, .site-footer a,
.ast-small-footer a, .ast-footer-copyright,
.footer-widget-area .widget, .site-footer .widget-title {
    color: var(--text-dim) !important;
}
.site-footer .widget-title { color: var(--text-muted) !important; }
.site-footer a:hover, .ast-small-footer a:hover { color: var(--cyan) !important; }

.ast-pagination a, .page-numbers, .nav-links a,
.ast-pagination span.page-numbers {
    background: rgba(13, 26, 46, 0.7) !important;
    border: 1px solid var(--line-cyan) !important;
    color: var(--text-muted) !important;
    padding: 0.5rem 0.95rem !important;
    border-radius: var(--radius-sm) !important;
    text-decoration: none !important;
    transition: all 0.2s var(--ease);
}
.ast-pagination a:hover, .page-numbers:hover,
.page-numbers.current, .nav-links a:hover {
    background: var(--cyan) !important;
    color: #04222c !important;
    border-color: var(--cyan) !important;
}

.ast-breadcrumbs, .ast-breadcrumbs a {
    color: var(--text-muted) !important;
    font-size: 0.85rem !important;
}
.ast-breadcrumbs a:hover { color: var(--cyan) !important; }

/* ---------------------------------------------------------------------
   13. RESPONSIVE
   --------------------------------------------------------------------- */
@media (max-width: 1024px) {
    /* Hero collapses to a single column; metric cards stay 2x2 below */
    body.home .entry-content > div:first-of-type {
        grid-template-columns: minmax(0, 1fr);
        row-gap: 0;
    }
    body.home .entry-content > div:first-of-type::before,
    body.home .entry-content > div:first-of-type > h1,
    body.home .entry-content > div:first-of-type > p { grid-column: 1; }
    body.home .entry-content > div:first-of-type > div {
        grid-column: 1;
        grid-row: auto;
        margin-top: 2rem !important;
    }
    /* .swmm-* hero collapses to a single column; stat cards stay 2x2 below */
    body.home .entry-content > div.swmm-hero > div.swmm-hero-content,
    body.page-id-26556 .entry-content > div.swmm-hero > div.swmm-hero-content {
        grid-template-columns: minmax(0, 1fr) !important;
        row-gap: 0;
    }
    body.home .entry-content > div.swmm-hero > div.swmm-hero-content::before,
    body.page-id-26556 .entry-content > div.swmm-hero > div.swmm-hero-content::before,
    body.home .swmm-hero .swmm-hero-content > h1,
    body.page-id-26556 .swmm-hero .swmm-hero-content > h1,
    body.home .swmm-hero .swmm-hero-subtitle,
    body.page-id-26556 .swmm-hero .swmm-hero-subtitle { grid-column: 1; }
    /* keep CTAs right after the subtitle, metric cards below */
    body.home .swmm-hero .swmm-hero-buttons,
    body.page-id-26556 .swmm-hero .swmm-hero-buttons {
        grid-column: 1;
        grid-row: 4;
    }
    body.home .entry-content > div.swmm-hero .swmm-stats,
    body.page-id-26556 .entry-content > div.swmm-hero .swmm-stats {
        grid-column: 1;
        grid-row: 5;
        margin-top: 2rem !important;
    }
}

@media (max-width: 768px) {
    body.home .entry-content > div:first-of-type {
        padding: 2rem 1.25rem !important;
        margin-bottom: 2rem !important;
    }
    body.home .entry-content > div:first-of-type > h1 {
        font-size: clamp(1.7rem, 6.5vw, 2.3rem) !important;
    }
    body.home .entry-content > div:first-of-type > div > a { min-height: 120px; }
    /* .swmm-* hero + cards on tablets */
    body.home .entry-content > div.swmm-hero,
    body.page-id-26556 .entry-content > div.swmm-hero {
        padding: 2rem 1.25rem !important;
        margin-bottom: 2rem !important;
    }
    body.home .swmm-hero .swmm-hero-content > h1,
    body.page-id-26556 .swmm-hero .swmm-hero-content > h1 {
        font-size: clamp(1.7rem, 6.5vw, 2.3rem) !important;
    }
    body.home .swmm-hero .swmm-stat,
    body.page-id-26556 .swmm-hero .swmm-stat { min-height: 118px; }
    body.home .swmm-app-card.featured,
    body.page-id-26556 .swmm-app-card.featured { grid-column: span 1 !important; }
    body.single .ast-article-single,
    body.single-post .ast-article-single { padding: 1.4rem !important; }
    body.blog article, body.archive article { margin-bottom: 1.25rem !important; }
    .site-title, .site-title a { font-size: 1.1rem !important; }
    .site-header .site-description { font-size: 0.75rem !important; }
}

@media (max-width: 480px) {
    /* Metric cards go single-column on small phones */
    body.home .entry-content > div:first-of-type > div {
        grid-template-columns: minmax(0, 1fr);
    }
    body.home .entry-content > div:first-of-type > div > a { min-height: 104px; }
    body.home .entry-content > div:first-of-type::before { letter-spacing: 0.16em; }
    /* .swmm-* hero on small phones: stat cards single-column, full-width CTAs */
    body.home .entry-content > div.swmm-hero .swmm-stats,
    body.page-id-26556 .entry-content > div.swmm-hero .swmm-stats {
        grid-template-columns: minmax(0, 1fr) !important;
    }
    body.home .swmm-hero .swmm-stat,
    body.page-id-26556 .swmm-hero .swmm-stat { min-height: 100px; }
    body.home .entry-content > div.swmm-hero > div.swmm-hero-content::before,
    body.page-id-26556 .entry-content > div.swmm-hero > div.swmm-hero-content::before {
        letter-spacing: 0.16em;
    }
    body.home .swmm-hero .swmm-btn-primary,
    body.home .swmm-hero .swmm-btn-secondary,
    body.page-id-26556 .swmm-hero .swmm-btn-primary,
    body.page-id-26556 .swmm-hero .swmm-btn-secondary {
        width: 100%;
        justify-content: center;
    }
    .widget, .ast-separate-container .widget { padding: 1.1rem !important; }
}

/* ---------------------------------------------------------------------
   14. REDUCED MOTION
   --------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after {
        animation-duration: 0.001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.001ms !important;
    }
    body.home .entry-content > div:first-of-type > div > a:hover,
    body.home .entry-content div[style*="background"]:hover,
    .swmm-hero .swmm-stat:hover,
    .swmm-hero .swmm-btn-primary:hover,
    .swmm-hero .swmm-btn-secondary:hover,
    .swmm-app-card:hover,
    .swmm-post-card:hover,
    .swmm-category-card:hover,
    .swmm-social-link:hover,
    body.blog article:hover,
    body.archive article:hover,
    article:hover .post-thumb-img-content img,
    article:hover .ast-blog-featured-section img,
    .ast-button:hover, .button:hover, button:hover {
        transform: none !important;
    }
}
.site-header .site-description,
.site-description {
    display: block;
    color: var(--text-muted) !important;
    font-size: 0.82rem !important;
    line-height: 1.45 !important;
    width: min(72ch, 100%) !important;
    max-width: none !important;
    text-wrap: balance;
}
 body.home .entry-content > p:first-of-type {
    display: none !important;
}< 

body.home .entry-content > p:empty,
body.home .entry-content > p:not(:has(*)),
body.home .entry-content > p:blank {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
    line-height: 0 !important;
}

body.home .entry-content {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

body.home .entry-content > div:first-of-type {
    margin-top: 0 !important;
}

body.home #primary,
body.home .site-content,
body.home .ast-container {
    padding-top: 0 !important;
    margin-top: 0 !important;
}</style>