/*
Theme Name: Nuclear AI Directory Child
Theme URI: https://nuclearaidatacenters.com
Description: Blockstrap child theme for Nuclear AI Data Centers with GeoDirectory page heroes, clean inner-page hero assets, and directory marketplace styling.
Author: Global AI Pros
Template: blockstrap
Version: 3.1.86
Requires at least: 6.0
Tested up to: 6.9
Requires PHP: 8.0
Text Domain: nuclear-ai-directory-child
*/


/* Nuclear AI Data Centers homepage additions */
.nuclear-home-hero {
	position: relative;
	isolation: isolate;
	min-height: 72vh;
}

.nuclear-home-hero__inner {
	max-width: 1280px;
	margin: 0 auto;
	padding: clamp(5rem, 8vw, 8.5rem) 1.25rem clamp(4rem, 7vw, 6rem);
}

.nuclear-home-hero__grid {
	gap: clamp(1.5rem, 4vw, 3rem);
}

.nuclear-eyebrow,
.nuclear-section-kicker,
.nuclear-card-kicker {
	margin: 0 0 .85rem;
	font-size: .85rem;
	font-weight: 700;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: #b8d7ff;
}

.nuclear-hero-title {
	margin: 0 0 1rem;
	font-size: clamp(2.6rem, 6vw, 4.9rem);
	line-height: .96;
	font-weight: 800;
	letter-spacing: -.03em;
	color: #ffffff;
	max-width: 9ch;
}

.nuclear-hero-copy {
	max-width: 41rem;
	font-size: clamp(1.05rem, 2vw, 1.3rem);
	line-height: 1.75;
	color: rgba(255,255,255,.88);
}

.nuclear-hero-actions {
	gap: .85rem;
	margin-top: 1.5rem;
}

.nuclear-home-hero .wp-block-button__link {
	border-radius: 999px;
	padding: .95rem 1.45rem;
	font-weight: 700;
	box-shadow: 0 12px 30px rgba(6, 27, 72, .25);
}

.nuclear-home-hero .is-style-outline .wp-block-button__link,
.nuclear-home-content .is-style-outline .wp-block-button__link {
	border: 1px solid rgba(180, 214, 255, .35);
	background: rgba(8, 22, 46, .55);
	color: #fff;
}

.nuclear-card-grid {
	gap: 1rem;
}

.nuclear-glass-card,
.nuclear-module-shell,
.nuclear-home-band {
	background: linear-gradient(180deg, rgba(17,33,66,.84) 0%, rgba(9,20,40,.88) 100%);
	border: 1px solid rgba(157, 197, 255, .16);
	box-shadow: 0 18px 40px rgba(2, 9, 24, .28);
	backdrop-filter: blur(12px);
}

.nuclear-glass-card {
	padding: 1.35rem;
	border-radius: 1.35rem;
	height: 100%;
}

.nuclear-glass-card h3,
.nuclear-module-shell h3 {
	margin-top: 0;
	margin-bottom: .7rem;
	font-size: clamp(1.25rem, 2vw, 1.8rem);
	line-height: 1.05;
	color: #fff;
}

.nuclear-glass-card p,
.nuclear-module-shell p,
.nuclear-home-band p,
.nuclear-home-content li {
	color: rgba(233, 242, 255, .84);
	line-height: 1.75;
}

.nuclear-home-content {
	background: linear-gradient(180deg, #071426 0%, #081a32 100%);
}

.nuclear-home-section {
	max-width: 1280px;
	margin: 0 auto;
	padding: clamp(2.5rem, 5vw, 4rem) 1.25rem;
}

.nuclear-home-section h2 {
	margin-top: 0;
	margin-bottom: 1rem;
	font-size: clamp(2rem, 4vw, 3rem);
	line-height: 1.05;
	color: #fff;
}

.nuclear-home-band {
	border-radius: 1.75rem;
	padding: clamp(1.5rem, 3vw, 2.2rem);
}

.nuclear-checklist {
	margin: 0;
	padding-left: 1.25rem;
}

.nuclear-module-grid {
	gap: 1rem;
}

.nuclear-module-shell {
	padding: 1.5rem;
	border-radius: 1.35rem;
	height: 100%;
}

.nuclear-module-shell .wp-block-shortcode {
	margin-top: 1rem;
}

.nuclear-home-content a {
	color: #b8d7ff;
}

@media (max-width: 991.98px) {
	.nuclear-home-hero {
		min-height: auto;
	}

	.nuclear-home-hero__inner {
		padding-top: 4.75rem;
		padding-bottom: 3.5rem;
	}

	.nuclear-home-hero__copy,
	.nuclear-home-hero__cards {
		flex-basis: 100% !important;
	}

	.nuclear-hero-title {
		max-width: 12ch;
	}
}

@media (max-width: 781px) {
	.nuclear-home-hero {
		background-position: 72% center !important;
	}

	.nuclear-home-hero__inner {
		padding-top: 4rem;
		padding-bottom: 3rem;
	}

	.nuclear-hero-title {
		font-size: clamp(2.25rem, 12vw, 3.45rem);
		max-width: 9.5ch;
	}

	.nuclear-home-band,
	.nuclear-module-shell,
	.nuclear-glass-card {
		border-radius: 1.1rem;
	}
}


.nuclear-home-hero {
    position: relative;
    isolation: isolate;
    min-height: 72vh;
    background: linear-gradient(115deg, rgba(242,249,255,0.96) 0%, rgba(220,238,255,0.93) 34%, rgba(194,221,246,0.92) 62%, rgba(160,196,232,0.95) 100%);
    overflow: hidden;
}

.nuclear-home-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 78% 18%, rgba(255,255,255,0.55), transparent 26%),
        linear-gradient(90deg, rgba(255,255,255,0.28) 0%, rgba(255,255,255,0.06) 28%, rgba(255,255,255,0) 60%);
    pointer-events: none;
}

.nuclear-home-hero__inner,
.nuclear-home-content {
    position: relative;
    z-index: 2;
}

.nuclear-eyebrow,
.nuclear-section-kicker,
.nuclear-card-kicker {
    color: #2d5d88;
}

.nuclear-hero-title,
.nuclear-home-section h2,
.nuclear-glass-card h3,
.nuclear-module-shell h3,
.nuclear-home-band h2 {
    color: #0c2340;
}

.nuclear-hero-copy,
.nuclear-glass-card p,
.nuclear-module-shell p,
.nuclear-home-band p,
.nuclear-home-content li,
.nuclear-rss-shell__source,
.nuclear-rss-item__date,
.nuclear-rss-fallback {
    color: rgba(12,35,64,0.78);
}

.nuclear-home-hero .wp-block-button__link {
    box-shadow: 0 18px 35px rgba(83, 143, 204, 0.28);
}

.nuclear-home-hero .is-style-outline .wp-block-button__link,
.nuclear-home-content .is-style-outline .wp-block-button__link {
    border: 1px solid rgba(94, 145, 196, 0.35);
    background: rgba(255,255,255,0.54);
    color: #0c2340;
}

.nuclear-glass-card,
.nuclear-module-shell,
.nuclear-home-band,
.nuclear-rss-shell,
.nuclear-player-pill {
    background: linear-gradient(180deg, rgba(255,255,255,0.82) 0%, rgba(231,242,255,0.74) 100%);
    border: 1px solid rgba(151, 188, 225, 0.52);
    box-shadow: 0 18px 45px rgba(73, 118, 168, 0.16), inset 0 1px 0 rgba(255,255,255,0.65);
    backdrop-filter: blur(14px);
}

.nuclear-home-content {
    background: linear-gradient(180deg, #f7fbff 0%, #eef6ff 35%, #f5f9ff 100%);
}

.nuclear-home-band {
    box-shadow: 0 24px 56px rgba(86, 129, 177, 0.16), 0 0 0 1px rgba(180, 210, 240, 0.35);
}

.nuclear-rss-shell {
    border-radius: 1.35rem;
    padding: 1.2rem 1.2rem 1rem;
    overflow: hidden;
}
.nuclear-rss-shell__header {
    display:flex;
    justify-content:space-between;
    gap:1rem;
    align-items:center;
    margin-bottom: .85rem;
    flex-wrap:wrap;
}
.nuclear-rss-shell__source {
    font-size: .85rem;
}
.nuclear-rss-marquee,
.nuclear-player-marquee {
    overflow: hidden;
    position: relative;
}
.nuclear-rss-marquee__track,
.nuclear-player-marquee__track {
    display:flex;
    gap:1rem;
    width:max-content;
    animation: nuclearTicker 48s linear infinite;
}
.nuclear-rss-item {
    display:flex;
    align-items:center;
    gap:.8rem;
    text-decoration:none;
    color:#0c2340;
    padding:.85rem 1rem;
    border-radius:999px;
    background: rgba(255,255,255,0.68);
    border:1px solid rgba(167,196,225,0.45);
    box-shadow: 0 8px 24px rgba(91, 135, 184, 0.12);
    min-width: 22rem;
}
.nuclear-rss-item__title {
    font-weight:700;
    font-size:.95rem;
    line-height:1.35;
}
.nuclear-rss-item__date {
    font-size:.78rem;
    white-space:nowrap;
}
.nuclear-player-pill {
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-width: 13rem;
    border-radius: 1.2rem;
    padding: 1rem 1.15rem;
}
.nuclear-player-pill__name {
    font-size: 1.2rem;
    font-weight: 800;
    color:#0c2340;
    letter-spacing:-.02em;
}
.nuclear-player-pill__role {
    font-size:.82rem;
    color:rgba(12,35,64,.68);
    margin-top:.28rem;
}
.nuclear-home-section--ticker {
    padding-bottom: 0;
}
@keyframes nuclearTicker {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}
@media (max-width: 781px) {
    .nuclear-home-hero {
        background: linear-gradient(180deg, rgba(245,250,255,0.98) 0%, rgba(220,238,255,0.94) 48%, rgba(191,220,248,0.92) 100%);
    }
    .nuclear-rss-item {
        min-width: 18rem;
    }
    .nuclear-player-pill {
        min-width: 11rem;
    }
}



/* Premium luxury homepage pass */
.nuclear-home-content {
    background:
        radial-gradient(circle at top left, rgba(255,255,255,.88) 0, rgba(255,255,255,0) 28%),
        linear-gradient(180deg, #edf3fb 0%, #e8f0fa 44%, #e3ecf8 100%);
}

.nuclear-home-section {
    max-width: 1380px;
    padding-top: clamp(3.35rem, 5vw, 5rem);
    padding-bottom: clamp(3.35rem, 5vw, 5rem);
}

.nuclear-home-band,
.nuclear-module-shell,
.nuclear-glass-card,
.nuclear-rss-shell,
.nuclear-player-pill {
    position: relative;
    overflow: hidden;
    border-radius: 30px;
    border: 1px solid rgba(182, 199, 220, 0.95);
    background:
        linear-gradient(180deg, rgba(255,255,255,.92) 0%, rgba(243,247,252,.98) 100%);
    box-shadow:
        0 26px 60px rgba(71, 96, 129, 0.14),
        0 2px 0 rgba(255,255,255,.92) inset,
        0 -1px 0 rgba(204, 216, 229, .55) inset;
    backdrop-filter: blur(14px);
}

.nuclear-home-band::before,
.nuclear-module-shell::before,
.nuclear-glass-card::before,
.nuclear-rss-shell::before,
.nuclear-player-pill::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(140deg, rgba(255,255,255,.68) 0%, rgba(255,255,255,0) 28%, rgba(255,255,255,0) 72%, rgba(185,204,226,.12) 100%);
    pointer-events: none;
}

.nuclear-home-band::after,
.nuclear-module-shell::after,
.nuclear-glass-card::after,
.nuclear-rss-shell::after {
    content: "";
    position: absolute;
    left: 22px;
    right: 22px;
    bottom: 12px;
    height: 24px;
    border-radius: 999px;
    background: radial-gradient(circle at center, rgba(137, 181, 235, 0.22) 0%, rgba(137,181,235,0) 72%);
    filter: blur(10px);
    pointer-events: none;
}

.nuclear-home-band {
    padding: clamp(1.7rem, 3vw, 2.5rem);
}

.nuclear-module-shell {
    padding: clamp(1.45rem, 2.4vw, 2rem);
    min-height: 100%;
}

.nuclear-module-shell--luxury {
    min-height: 100%;
}

.nuclear-module-shell--category {
    min-height: 100%;
}

.nuclear-module-shell--news {
    padding: 1.1rem;
}

.nuclear-home-band h2,
.nuclear-module-shell h3,
.nuclear-glass-card h3,
.nuclear-home-section h2 {
    color: #182f4a;
    letter-spacing: -.03em;
    line-height: 1.02;
}

.nuclear-home-band p,
.nuclear-module-shell p,
.nuclear-home-content li,
.nuclear-home-section p {
    color: rgba(24,47,74,.84);
    line-height: 1.72;
}

.nuclear-section-kicker,
.nuclear-card-kicker,
.nuclear-eyebrow {
    color: #567da7;
    letter-spacing: .18em;
}

.nuclear-checklist li {
    margin-bottom: .55rem;
}

.nuclear-player-marquee__track {
    display: flex;
    gap: 1rem;
}

.nuclear-player-pill {
    min-width: 13.25rem;
    padding: .95rem 1rem 1rem;
}

.nuclear-player-pill__name {
    display: block;
    color: #193456;
    font-weight: 800;
    font-size: 1.02rem;
}

.nuclear-player-pill__role {
    display: block;
    color: rgba(25,52,86,.70);
    font-size: .9rem;
    margin-top: .2rem;
}

.nuclear-rss-shell {
    padding: 1.15rem;
}

.nuclear-rss-shell__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: .8rem;
    margin-bottom: .85rem;
}

.nuclear-rss-shell__source {
    color: rgba(24,47,74,.62);
    font-size: .88rem;
}

.nuclear-rss-item {
    border-radius: 18px;
    border: 1px solid rgba(192,205,220,.95);
    background: linear-gradient(180deg, rgba(255,255,255,.92) 0%, rgba(246,249,253,.97) 100%);
    box-shadow: 0 12px 28px rgba(70, 101, 142, 0.10);
    min-width: 20rem;
}

.nuclear-rss-item__title {
    color: #18314e;
}

.nuclear-rss-item__date {
    color: rgba(24,49,78,.58);
}

.nuclear-home-hero .nuclear-hero-actions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    align-items: stretch;
    width: 100%;
    max-width: 840px;
}

.nuclear-home-hero .nuclear-hero-actions .wp-block-button,
.nuclear-home-hero .nuclear-hero-actions .wp-block-button__link {
    width: 100%;
}

.nuclear-home-hero .wp-block-button__link {
    min-height: 64px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 20px;
    font-size: 1.02rem;
    font-weight: 700;
    letter-spacing: -.01em;
}

.nuclear-home-hero .nuclear-button-primary .wp-block-button__link {
    background: linear-gradient(180deg, #79ace8 0%, #4d90db 100%);
    border: 1px solid rgba(122,171,230,.9);
    color: #fff;
    box-shadow:
        0 18px 42px rgba(68, 123, 190, 0.24),
        0 1px 0 rgba(255,255,255,.35) inset;
}

.nuclear-home-hero .nuclear-button-secondary .wp-block-button__link,
.nuclear-home-content .is-style-outline .wp-block-button__link {
    background: rgba(255,255,255,.54);
    border: 1px solid rgba(147, 169, 196, .92);
    color: #203954;
    box-shadow:
        0 14px 30px rgba(80, 108, 146, 0.12),
        0 1px 0 rgba(255,255,255,.72) inset;
}

.nuclear-home-hero__copy {
    background: rgba(255,255,255,.18);
    border: 1px solid rgba(200,220,239,.40);
    box-shadow: 0 18px 40px rgba(82, 113, 147, .08);
    backdrop-filter: blur(10px);
    border-radius: 32px;
    padding: clamp(1.35rem, 2vw, 1.8rem);
}

@media (max-width: 991.98px) {
    .nuclear-home-hero .nuclear-hero-actions {
        grid-template-columns: 1fr 1fr;
    }
    .nuclear-home-hero .nuclear-hero-actions .wp-block-button:last-child {
        grid-column: 1 / -1;
    }
}

@media (max-width: 781px) {
    .nuclear-home-hero__cards {
        display: none !important;
    }

    .nuclear-home-hero__copy {
        max-width: 100%;
        width: 100%;
        padding: 1.1rem;
        border-radius: 24px;
    }

    .nuclear-home-hero .nuclear-hero-actions {
        grid-template-columns: 1fr;
        gap: .85rem;
        max-width: 100%;
    }

    .nuclear-home-hero .nuclear-hero-actions .wp-block-button:last-child {
        grid-column: auto;
    }

    .nuclear-home-hero .wp-block-button__link {
        min-height: 58px;
    }

    .nuclear-home-band,
    .nuclear-module-shell,
    .nuclear-glass-card,
    .nuclear-rss-shell,
    .nuclear-player-pill {
        border-radius: 24px;
    }
}




/* Homepage formatting cleanup */
.nuclear-home-content > .nuclear-home-section:first-child {
    padding-top: 2.2rem;
}

.nuclear-home-content .wp-block-columns {
    align-items: stretch;
}

.nuclear-home-content .wp-block-column > .nuclear-home-band,
.nuclear-home-content .wp-block-column > .nuclear-module-shell,
.nuclear-home-content .wp-block-column > .nuclear-rss-shell {
    height: 100%;
}

.nuclear-home-section--ticker {
    padding-bottom: 1.2rem;
}

.nuclear-module-shell .wp-block-shortcode,
.nuclear-module-shell .wp-block-buttons {
    margin-top: 1rem;
}

@media (max-width: 781px) {
    .nuclear-home-content > .nuclear-home-section:first-child {
        padding-top: 1.5rem;
    }

    .nuclear-home-section .wp-block-columns {
        gap: 1rem;
    }
}




/* ===== Hardwired homepage luxury styling ===== */
.nuclear-homepage-master {
    background:
        radial-gradient(circle at 10% 0%, rgba(255,255,255,.92) 0%, rgba(255,255,255,0) 30%),
        linear-gradient(180deg, #eef4fb 0%, #e8f0fa 45%, #e3ebf7 100%);
    color: #1a3049;
}

.nuclear-master-hero {
    position: relative;
    overflow: hidden;
    min-height: 88vh;
    background-image:
        linear-gradient(90deg, rgba(241,247,255,.82) 0%, rgba(241,247,255,.54) 38%, rgba(241,247,255,.18) 62%, rgba(241,247,255,.06) 100%),
        url('http://nuclearaidatacenters.com/wp-content/uploads/2026/04/hero-nuclear-ai.png');
    background-repeat: no-repeat;
    background-size: cover, cover;
    background-position: left top, right center;
    border-bottom: 1px solid rgba(190,205,223,.65);
}

.nuclear-master-hero::after {
    content: "";
    position: absolute;
    inset: auto 0 0 0;
    height: 140px;
    background: linear-gradient(180deg, rgba(238,244,251,0) 0%, rgba(238,244,251,.92) 100%);
    pointer-events: none;
}

.nuclear-master-hero__inner {
    max-width: 1380px;
    margin: 0 auto;
    padding: clamp(3rem, 5vw, 5rem) 1.25rem clamp(3.2rem, 5vw, 5rem);
    position: relative;
    z-index: 1;
}

.nuclear-master-hero__content {
    max-width: 760px;
    padding: clamp(1.3rem, 2vw, 1.9rem);
    border-radius: 32px;
    border: 1px solid rgba(201,217,236,.75);
    background:
        linear-gradient(180deg, rgba(255,255,255,.44) 0%, rgba(244,249,255,.26) 100%);
    backdrop-filter: blur(12px);
    box-shadow:
        0 28px 60px rgba(73, 101, 137, .12),
        0 1px 0 rgba(255,255,255,.78) inset,
        0 -1px 0 rgba(198,212,229,.48) inset;
}

.nuclear-kicker {
    margin: 0 0 .85rem;
    color: #5e81aa;
    text-transform: uppercase;
    letter-spacing: .18em;
    font-size: .84rem;
    font-weight: 800;
}

.nuclear-master-hero__title {
    margin: 0 0 1rem;
    max-width: 10ch;
    color: #182f4a;
    font-size: clamp(3rem, 6.2vw, 5.25rem);
    line-height: .96;
    letter-spacing: -.04em;
    text-shadow: 0 1px 0 rgba(255,255,255,.3);
}

.nuclear-master-hero__copy {
    margin: 0;
    max-width: 42rem;
    color: rgba(24,47,74,.9);
    font-size: clamp(1.06rem, 1.6vw, 1.24rem);
    line-height: 1.72;
}

.nuclear-master-hero__actions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    width: 100%;
    max-width: 860px;
    margin-top: 1.6rem;
    margin-bottom: 1rem;
}

.nuclear-master-hero__actions .wp-block-button,
.nuclear-master-hero__actions .wp-block-button__link {
    width: 100%;
}

.nuclear-master-hero__actions .wp-block-button__link {
    min-height: 64px;
    border-radius: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 1rem;
    letter-spacing: -.01em;
    text-decoration: none;
}

.nuclear-cta--primary .wp-block-button__link {
    background: linear-gradient(180deg, #77ade9 0%, #4c91dc 100%);
    border: 1px solid rgba(115,167,229,.94);
    color: #fff;
    box-shadow:
        0 18px 40px rgba(70,123,189,.24),
        0 1px 0 rgba(255,255,255,.34) inset;
}

.nuclear-cta--secondary .wp-block-button__link {
    background: linear-gradient(180deg, rgba(255,255,255,.70) 0%, rgba(245,248,252,.58) 100%);
    border: 1px solid rgba(145,168,194,.88);
    color: #223a54;
    box-shadow:
        0 15px 32px rgba(78,107,146,.12),
        0 1px 0 rgba(255,255,255,.74) inset;
}

.nuclear-master-hero__mini-grid {
    gap: .8rem;
    margin-top: 0;
}

.nuclear-master-hero__mini-grid .wp-block-column {
    flex-basis: 25% !important;
}

.nuclear-mini-card {
    padding: .9rem 1rem;
    border-radius: 20px;
    border: 1px solid rgba(190,205,222,.88);
    background: linear-gradient(180deg, rgba(255,255,255,.78) 0%, rgba(245,248,252,.92) 100%);
    box-shadow: 0 14px 28px rgba(76, 102, 136, .10);
    text-align: center;
}

.nuclear-mini-card p {
    margin: 0;
    color: #294567;
    font-size: .94rem;
    font-weight: 700;
    letter-spacing: -.01em;
}

.nuclear-home-section {
    max-width: 1380px;
    margin: 0 auto;
    padding: clamp(3.2rem, 4.8vw, 5rem) 1.25rem;
}

.nuclear-grid {
    gap: 1.25rem;
}

.nuclear-home-section .wp-block-columns {
    align-items: stretch;
}

.nuclear-card,
.nuclear-player-pill,
.nuclear-rss-shell {
    position: relative;
    overflow: hidden;
    min-height: 100%;
    padding: clamp(1.45rem, 2.3vw, 2rem);
    border-radius: 30px;
    border: 1px solid rgba(183,198,217,.95);
    background:
        linear-gradient(180deg, rgba(255,255,255,.93) 0%, rgba(243,247,252,.98) 100%);
    box-shadow:
        0 24px 56px rgba(71,98,132,.14),
        0 1px 0 rgba(255,255,255,.92) inset,
        0 -1px 0 rgba(200,213,227,.55) inset;
    backdrop-filter: blur(14px);
}

.nuclear-card::before,
.nuclear-player-pill::before,
.nuclear-rss-shell::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(145deg, rgba(255,255,255,.72) 0%, rgba(255,255,255,0) 28%, rgba(255,255,255,0) 72%, rgba(176,199,225,.12) 100%);
    pointer-events: none;
}

.nuclear-card::after,
.nuclear-rss-shell::after {
    content: "";
    position: absolute;
    left: 22px;
    right: 22px;
    bottom: 12px;
    height: 24px;
    border-radius: 999px;
    background: radial-gradient(circle at center, rgba(130,176,230,.22) 0%, rgba(130,176,230,0) 72%);
    filter: blur(10px);
    pointer-events: none;
}

.nuclear-card h2,
.nuclear-card h3,
.nuclear-home-section h2 {
    color: #182f4a;
    letter-spacing: -.03em;
    line-height: 1.04;
    margin-top: 0;
}

.nuclear-card p,
.nuclear-card li,
.nuclear-home-section > p,
.nuclear-home-section .nuclear-rss-shell {
    color: rgba(24,47,74,.84);
    line-height: 1.72;
}

.nuclear-card .wp-block-buttons,
.nuclear-card .wp-block-button,
.nuclear-card .wp-block-shortcode {
    margin-top: 1rem;
}

.nuclear-card .wp-block-button__link {
    min-height: 52px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(180deg, #78abe7 0%, #5495de 100%);
    color: #fff;
    text-decoration: none;
    box-shadow: 0 14px 30px rgba(66,118,182,.18);
}

.nuclear-card .is-style-outline .wp-block-button__link {
    background: rgba(255,255,255,.54);
    border: 1px solid rgba(145,168,194,.88);
    color: #223a54;
}

.nuclear-checklist {
    margin: 1rem 0 0;
    padding-left: 1.2rem;
}

.nuclear-checklist li {
    margin-bottom: .55rem;
}

.nuclear-player-marquee {
    overflow: hidden;
}

.nuclear-player-marquee__track {
    display: flex;
    gap: 1rem;
}

.nuclear-player-pill {
    min-width: 13.4rem;
    padding: 1rem 1rem .95rem;
}

.nuclear-player-pill__name {
    display: block;
    color: #173154;
    font-weight: 800;
}

.nuclear-player-pill__role {
    display: block;
    color: rgba(23,49,84,.68);
    margin-top: .18rem;
    font-size: .9rem;
}

.nuclear-rss-shell {
    padding: 1.1rem;
}

.nuclear-rss-shell__header {
    display: flex;
    justify-content: space-between;
    gap: .75rem;
    align-items: center;
    margin-bottom: .8rem;
}

.nuclear-rss-shell__source {
    color: rgba(23,49,84,.62);
    font-size: .88rem;
}

.nuclear-rss-item {
    border-radius: 18px;
    border: 1px solid rgba(192,205,220,.95);
    background: linear-gradient(180deg, rgba(255,255,255,.92) 0%, rgba(246,249,253,.97) 100%);
    box-shadow: 0 12px 28px rgba(70,101,142,.10);
    min-width: 20rem;
}

.nuclear-rss-item__title {
    color: #18314e;
}

.nuclear-rss-item__date {
    color: rgba(24,49,78,.58);
}

.nuclear-grid--categories .wp-block-column,
.nuclear-grid--rails .wp-block-column,
.nuclear-grid--videos .wp-block-column {
    min-width: 0;
}

@media (max-width: 991.98px) {
    .nuclear-master-hero__actions {
        grid-template-columns: 1fr 1fr;
    }
    .nuclear-master-hero__actions .wp-block-button:last-child {
        grid-column: 1 / -1;
    }
    .nuclear-master-hero__mini-grid .wp-block-column {
        flex-basis: 50% !important;
    }
}

@media (max-width: 781px) {
    .nuclear-master-hero {
        min-height: 86vh;
        background-size: cover, 165% auto;
        background-position: left top, 76% top;
    }

    .nuclear-master-hero__inner {
        padding-top: 1.3rem;
        padding-bottom: 2.5rem;
    }

    .nuclear-master-hero__content {
        padding: 1.1rem;
        border-radius: 24px;
    }

    .nuclear-master-hero__title {
        font-size: clamp(2.7rem, 11vw, 3.85rem);
        max-width: 9ch;
    }

    .nuclear-master-hero__copy {
        font-size: 1rem;
        line-height: 1.55;
    }

    .nuclear-master-hero__actions {
        grid-template-columns: 1fr;
        gap: .85rem;
        max-width: 100%;
    }

    .nuclear-master-hero__actions .wp-block-button:last-child {
        grid-column: auto;
    }

    .nuclear-master-hero__actions .wp-block-button__link {
        min-height: 58px;
    }

    .nuclear-master-hero__mini-grid .wp-block-column {
        flex-basis: 100% !important;
    }

    .nuclear-home-section {
        padding-top: 2.35rem;
        padding-bottom: 2.35rem;
    }

    .nuclear-card,
    .nuclear-player-pill,
    .nuclear-rss-shell,
    .nuclear-mini-card {
        border-radius: 24px;
    }
}


/* ==========================================================
   Nuclear AI v3.1.28 — production corrective layer
   Full theme build based on Directory child theme, not blank baseline.
   ========================================================== */

/* Do not show duplicate hero-injected logos or text-brands */
.nuclear-v310-hero__brand,
.nuclear-page-hero-v98__brand,
.nai-jobs-tophero-v3111__logo,
.nai-jobs-tophero-v3111__badge,
.nai-jobs-tophero-v3111__actions,
.nai-jobs-tophero-v3111__subnav {
  display:none!important;
}

/* Remove duplicate text title next to/over logo */
.site-title,
.wp-block-site-title,
.bs-site-title,
.navbar-brand .site-title,
header .site-title,
header .wp-block-site-title {
  display:none!important;
}

/* Header overlays hero, clean and transparent */
.site-header,
.wp-site-blocks > header,
header.wp-block-template-part {
  position:absolute!important;
  top:0!important;
  left:0!important;
  right:0!important;
  z-index:999!important;
  background:linear-gradient(180deg, rgba(255,255,255,.96) 0%, rgba(255,255,255,.72) 44%, rgba(255,255,255,0) 100%)!important;
  box-shadow:none!important;
  border:0!important;
}

/* Desktop logo: left aligned */
.custom-logo,
.site-logo img,
.wp-block-site-logo img {
  width:auto!important;
  max-width:300px!important;
  max-height:80px!important;
  object-fit:contain!important;
}

/* Mobile logo: centered and broad across screen */
@media (max-width: 782px) {
  .site-logo,
  .wp-block-site-logo,
  .navbar-brand,
  header .custom-logo-link {
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
    width:100%!important;
    margin:0 auto!important;
    text-align:center!important;
  }

  .custom-logo,
  .site-logo img,
  .wp-block-site-logo img {
    width:min(94vw, 480px)!important;
    max-width:94vw!important;
    max-height:108px!important;
    height:auto!important;
    margin:0 auto!important;
    display:block!important;
  }

  .site-header,
  .wp-site-blocks > header,
  header.wp-block-template-part {
    min-height:96px!important;
    padding-top:4px!important;
  }
}

/* Unified hero polish */
.nuclear-v310-hero,
.nuclear-page-hero-v98,
.nai-jobs-tophero-v3111__image {
  position:relative!important;
  overflow:hidden!important;
  border-radius:16px!important;
  background-color:#f7fbff!important;
}

/* Soft fade only, no whitewash */
.nuclear-v310-hero::before,
.nuclear-page-hero-v98::before,
.nai-jobs-tophero-v3111__image::before {
  content:""!important;
  position:absolute!important;
  inset:0!important;
  pointer-events:none!important;
  z-index:1!important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.94) 0%, rgba(255,255,255,.38) 23%, rgba(255,255,255,0) 48%),
    linear-gradient(90deg, rgba(255,255,255,.78) 0%, rgba(255,255,255,.20) 35%, rgba(255,255,255,0) 68%)!important;
}

.nuclear-v310-hero__content,
.nuclear-page-hero-v98__content,
.nai-jobs-tophero-v3111__inner {
  position:relative!important;
  z-index:2!important;
}

/* Mobile hero framing */
@media (max-width: 782px) {
  .nuclear-v310-hero,
  .nuclear-page-hero-v98,
  .nai-jobs-tophero-v3111__image {
    min-height:430px!important;
    background-size:cover!important;
    background-position:64% center!important;
  }

  .nuclear-v310-hero__image {
    background-position:64% center!important;
    background-size:cover!important;
  }

  .nuclear-v310-hero__content,
  .nuclear-page-hero-v98__content,
  .nai-jobs-tophero-v3111__inner {
    padding-top:96px!important;
  }
}


/* ==========================================================
   Nuclear AI v3.1.29 — precision cleanup
   - Keeps the real WordPress/Blockstrap header menu active
   - Removes ONLY duplicated hero-injected logo/brand
   - Adds smart Jobs employer/job-seeker interface
   ========================================================== */

/* Remove only duplicate logos/brands inside custom hero modules */
.nai-v3121-hero__brand,
.nuclear-v310-hero__brand,
.nuclear-page-hero-v98__brand,
.nai-jobs-tophero-v3111__logo,
.nai-jobs-tophero-v3111__badge {
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  width:0!important;
  height:0!important;
  overflow:hidden!important;
}

/* Keep real site header and real menu visible/clickable */
.site-header,
.wp-site-blocks > header,
header.wp-block-template-part,
header {
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  z-index:99999!important;
}

/* Real nav menu remains functional */
.site-header nav,
.wp-site-blocks > header nav,
header nav,
.wp-block-navigation,
.navbar-nav,
.main-navigation {
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
  z-index:100000!important;
}

/* Hide text title only; do not hide nav/menu */
.site-title,
.wp-block-site-title,
.bs-site-title {
  display:none!important;
}

/* Header logo rule */
@media (min-width:783px){
  .custom-logo,
  .site-logo img,
  .wp-block-site-logo img{
    max-width:300px!important;
    max-height:78px!important;
    width:auto!important;
    height:auto!important;
    object-fit:contain!important;
  }
}

/* Mobile: logo centered and wide, hamburger remains accessible */
@media (max-width:782px){
  .site-logo,
  .wp-block-site-logo,
  header .custom-logo-link,
  .navbar-brand {
    width:100%!important;
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
    text-align:center!important;
    margin:0 auto!important;
  }

  .custom-logo,
  .site-logo img,
  .wp-block-site-logo img {
    width:min(94vw,480px)!important;
    max-width:94vw!important;
    height:auto!important;
    max-height:108px!important;
    display:block!important;
    margin:0 auto!important;
  }
}

/* Jobs smart pathway */
.nai-v3129-job-pathway{
  width:min(1390px,calc(100vw - 28px));
  margin:0 auto 22px;
  color:#173250;
}

.nai-v3129-job-pathway__shell{
  border:1px solid rgba(172,193,218,.82);
  border-radius:22px;
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(247,252,255,.98));
  box-shadow:0 20px 48px rgba(25,50,80,.08);
  padding:24px;
}

.nai-v3129-job-pathway__eyebrow{
  display:block;
  margin:0 0 8px;
  color:#557da8;
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.nai-v3129-job-pathway h2{
  margin:0;
  color:#173250;
  font-size:clamp(1.7rem,2.6vw,3.2rem);
  letter-spacing:-.045em;
  line-height:1.03;
}

.nai-v3129-job-pathway__intro{
  max-width:980px;
  margin:12px 0 20px;
  color:rgba(23,50,80,.78);
  line-height:1.58;
  font-size:1.02rem;
}

.nai-v3129-job-tabs{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin:18px 0;
}

.nai-v3129-job-tab{
  border:1px solid rgba(132,164,204,.88);
  border-radius:16px;
  padding:18px;
  background:linear-gradient(180deg,#fff,#eef7ff);
  color:#173250!important;
  text-decoration:none!important;
  font-weight:900;
  box-shadow:0 12px 24px rgba(25,50,80,.08);
  cursor:pointer;
}

.nai-v3129-job-tab.is-active{
  background:linear-gradient(180deg,#1f5f9f,#0b2c4d);
  color:#fff!important;
  border-color:#12365d;
}

.nai-v3129-job-panels{
  margin-top:14px;
}

.nai-v3129-job-panel{
  display:none;
  border:1px solid rgba(174,196,220,.78);
  border-radius:18px;
  background:#fff;
  padding:22px;
}

.nai-v3129-job-panel.is-active{
  display:block;
}

.nai-v3129-job-panel-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin-top:16px;
}

.nai-v3129-job-card{
  padding:18px;
  border:1px solid rgba(174,196,220,.72);
  border-radius:16px;
  background:linear-gradient(180deg,#ffffff,#f7fbff);
}

.nai-v3129-job-card h3{
  margin:0 0 8px;
  color:#173250;
  font-size:1.1rem;
}

.nai-v3129-job-card p{
  margin:0;
  color:rgba(23,50,80,.76);
  line-height:1.52;
}

.nai-v3129-job-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px;
}

.nai-v3129-action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:.72rem 1rem;
  border-radius:10px;
  border:1px solid rgba(145,170,205,.9);
  text-decoration:none!important;
  font-weight:900;
  color:#173250!important;
  background:linear-gradient(180deg,#fff,#edf6ff);
}

.nai-v3129-action--primary{
  background:linear-gradient(180deg,#76b8ff,#4a90e2);
  color:#fff!important;
  border-color:#4f91e5;
}

.nai-v3129-action--dark{
  background:linear-gradient(180deg,#1d446c,#112a46);
  color:#fff!important;
  border-color:#173250;
}

@media(max-width:782px){
  .nai-v3129-job-pathway{width:calc(100vw - 20px)}
  .nai-v3129-job-pathway__shell{padding:18px}
  .nai-v3129-job-tabs,
  .nai-v3129-job-panel-grid{grid-template-columns:1fr}
}


/* ==========================================================
   Nuclear AI v3.1.30 — true Blockstrap child / header repair
   ========================================================== */

/* Real Blockstrap/Directory header must remain visible everywhere */
.site-header,
header.site-header,
.bs-header,
.wp-site-blocks > header,
header.wp-block-template-part,
.navbar,
.navbar-expand,
.navbar-light {
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
  z-index:99999!important;
}

/* Real menu must remain functional */
.site-header nav,
header nav,
.navbar-nav,
.main-navigation,
.wp-block-navigation,
.wp-block-navigation__container,
.menu,
.menu-main-menu-container {
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
}

/* Remove duplicate site title text, never the actual logo/menu */
.site-title,
.wp-block-site-title,
.bs-site-title,
.navbar-brand .site-title {
  display:none!important;
}

/* Kill only duplicated hero-injected logo/brand pieces */
.nai-v3121-hero__brand,
.nuclear-v310-hero__brand,
.nuclear-page-hero-v98__brand,
.nai-jobs-tophero-v3111__logo,
.nai-jobs-tophero-v3111__badge,
.nai-hero-logo,
.nai-hero-brand {
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  width:0!important;
  height:0!important;
  max-width:0!important;
  max-height:0!important;
  overflow:hidden!important;
}

/* Desktop logo left */
@media (min-width:783px) {
  .custom-logo,
  .site-logo img,
  .wp-block-site-logo img,
  .navbar-brand img {
    width:auto!important;
    max-width:300px!important;
    max-height:78px!important;
    height:auto!important;
    object-fit:contain!important;
  }
}

/* Mobile logo centered full-width, hamburger/menu remains on top */
@media (max-width:782px) {
  .site-logo,
  .wp-block-site-logo,
  header .custom-logo-link,
  .navbar-brand {
    width:100%!important;
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
    text-align:center!important;
    margin:0 auto!important;
  }

  .custom-logo,
  .site-logo img,
  .wp-block-site-logo img,
  .navbar-brand img {
    width:min(94vw,480px)!important;
    max-width:94vw!important;
    height:auto!important;
    max-height:108px!important;
    object-fit:contain!important;
    margin:0 auto!important;
    display:block!important;
  }
}

/* Jobs pathway styling: load even if inserted by PHP fallback */
.nai-v3130-job-pathway{
  width:min(1390px,calc(100vw - 28px));
  margin:18px auto 24px;
  font-family:inherit;
  color:#173250;
}
.nai-v3130-job-pathway *{box-sizing:border-box}
.nai-v3130-job-shell{
  border:1px solid rgba(172,193,218,.82);
  border-radius:22px;
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(247,252,255,.98));
  box-shadow:0 20px 48px rgba(25,50,80,.08);
  padding:24px;
}
.nai-v3130-eyebrow{
  display:block;margin:0 0 8px;color:#557da8;font-size:.76rem;font-weight:900;letter-spacing:.18em;text-transform:uppercase;
}
.nai-v3130-job-pathway h2{
  margin:0;color:#173250;font-size:clamp(1.7rem,2.6vw,3.2rem);letter-spacing:-.045em;line-height:1.03;
}
.nai-v3130-intro{
  max-width:980px;margin:12px 0 20px;color:rgba(23,50,80,.78);line-height:1.58;font-size:1.02rem;
}
.nai-v3130-tabs{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0;}
.nai-v3130-tab{
  border:1px solid rgba(132,164,204,.88);
  border-radius:16px;
  padding:18px;
  background:linear-gradient(180deg,#fff,#eef7ff);
  color:#173250!important;
  text-decoration:none!important;
  font-weight:900;
  box-shadow:0 12px 24px rgba(25,50,80,.08);
  cursor:pointer;
  font:inherit;
  text-align:left;
}
.nai-v3130-tab.is-active{background:linear-gradient(180deg,#1f5f9f,#0b2c4d);color:#fff!important;border-color:#12365d;}
.nai-v3130-panel{display:none;border:1px solid rgba(174,196,220,.78);border-radius:18px;background:#fff;padding:22px;}
.nai-v3130-panel.is-active{display:block;}
.nai-v3130-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:16px;}
.nai-v3130-card{padding:18px;border:1px solid rgba(174,196,220,.72);border-radius:16px;background:linear-gradient(180deg,#fff,#f7fbff);}
.nai-v3130-card h3{margin:0 0 8px;color:#173250;font-size:1.1rem;}
.nai-v3130-card p{margin:0;color:rgba(23,50,80,.76);line-height:1.52;}
.nai-v3130-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px;}
.nai-v3130-action{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.72rem 1rem;border-radius:10px;border:1px solid rgba(145,170,205,.9);text-decoration:none!important;font-weight:900;color:#173250!important;background:linear-gradient(180deg,#fff,#edf6ff);}
.nai-v3130-action.primary{background:linear-gradient(180deg,#76b8ff,#4a90e2);color:#fff!important;border-color:#4f91e5;}
.nai-v3130-action.dark{background:linear-gradient(180deg,#1d446c,#112a46);color:#fff!important;border-color:#173250;}
@media(max-width:782px){.nai-v3130-job-pathway{width:calc(100vw - 20px)}.nai-v3130-job-shell{padding:18px}.nai-v3130-tabs,.nai-v3130-grid{grid-template-columns:1fr}}


/* Nuclear AI v3.1.32 — clean hero rollout */
.site-title,.wp-block-site-title,.bs-site-title,.navbar-brand .site-title{display:none!important;}
.nai-v3121-hero__brand,.nuclear-v310-hero__brand,.nuclear-page-hero-v98__brand,.nai-jobs-tophero-v3111__logo,.nai-jobs-tophero-v3111__badge,.nai-hero-logo,.nai-hero-brand{display:none!important;visibility:hidden!important;opacity:0!important;width:0!important;height:0!important;overflow:hidden!important;}
.site-header,header.site-header,.bs-header,.wp-site-blocks>header,header.wp-block-template-part,.navbar{display:block!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;z-index:99999!important;}
.site-header nav,header nav,.navbar-nav,.main-navigation,.wp-block-navigation,.wp-block-navigation__container,.menu,.menu-main-menu-container{visibility:visible!important;opacity:1!important;pointer-events:auto!important;z-index:100000!important;}
@media(min-width:783px){.custom-logo,.site-logo img,.wp-block-site-logo img,.navbar-brand img{width:auto!important;max-width:300px!important;max-height:78px!important;height:auto!important;object-fit:contain!important;}}
@media(max-width:782px){.site-logo,.wp-block-site-logo,header .custom-logo-link,.navbar-brand{width:100%!important;display:flex!important;justify-content:center!important;align-items:center!important;text-align:center!important;margin:0 auto!important}.custom-logo,.site-logo img,.wp-block-site-logo img,.navbar-brand img{width:min(94vw,480px)!important;max-width:94vw!important;height:auto!important;max-height:108px!important;object-fit:contain!important;margin:0 auto!important;display:block!important}}
.nuclear-page-hero-v98,.nuclear-v310-hero,.nai-v3121-hero,.nai-jobs-tophero-v3111__image{background-size:cover!important;background-position:center center!important;overflow:hidden!important;}
.nuclear-page-hero-v98::before,.nuclear-v310-hero::before,.nai-v3121-hero::before,.nai-jobs-tophero-v3111__image::before{content:""!important;position:absolute!important;inset:0!important;pointer-events:none!important;z-index:1!important;background:linear-gradient(180deg,rgba(255,255,255,.94) 0%,rgba(255,255,255,.54) 18%,rgba(255,255,255,0) 42%)!important;}
.nuclear-page-hero-v98>*,.nuclear-v310-hero>*,.nai-v3121-hero>*,.nai-jobs-tophero-v3111__image>*{position:relative;z-index:2;}
@media(max-width:782px){.nuclear-page-hero-v98,.nuclear-v310-hero,.nai-v3121-hero,.nai-jobs-tophero-v3111__image{background-position:64% center!important;}}


/* ==========================================================
   Nuclear AI v3.1.34 — real menu restoration + logo cleanup
   ========================================================== */

/* Preserve the real Blockstrap/WP menu everywhere */
.nai-global-menu-v3134 {
  position:absolute;
  top:14px;
  left:0;
  right:0;
  z-index:100000;
  pointer-events:none;
}

.nai-global-menu-v3134__inner {
  width:min(1380px, calc(100vw - 34px));
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  pointer-events:auto;
}

.nai-global-menu-v3134__logo {
  display:flex;
  align-items:center;
  text-decoration:none!important;
  min-width:220px;
}

.nai-global-menu-v3134__logo img {
  width:auto;
  max-width:300px;
  max-height:78px;
  object-fit:contain;
  display:block;
}

.nai-global-menu-v3134__nav {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:20px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(175,196,220,.7);
  border-radius:999px;
  padding:10px 16px;
  backdrop-filter:saturate(130%);
}

.nai-global-menu-v3134__nav a {
  color:#173250!important;
  font-weight:800;
  font-size:14px;
  text-decoration:none!important;
  white-space:nowrap;
}

.nai-global-menu-v3134__nav a:hover {
  color:#1c76d2!important;
}

.nai-global-menu-v3134__toggle {
  display:none;
  border:1px solid rgba(23,50,80,.35);
  background:rgba(255,255,255,.72);
  color:#173250;
  border-radius:12px;
  width:48px;
  height:42px;
  font-size:26px;
  line-height:1;
}

.nai-global-menu-v3134__drawer {
  display:none;
}

/* Stop competing built-in header fragments/title text, but keep admin bar untouched */
.site-title,
.wp-block-site-title,
.bs-site-title,
.navbar-brand .site-title {
  display:none!important;
}

/* Existing duplicate/hero-injected brand layers hidden */
.nai-v3121-hero__brand,
.nuclear-v310-hero__brand,
.nuclear-page-hero-v98__brand,
.nai-jobs-tophero-v3111__logo,
.nai-jobs-tophero-v3111__badge,
.nai-hero-logo,
.nai-hero-brand {
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  width:0!important;
  height:0!important;
  overflow:hidden!important;
}

/* Keep room for the absolute menu on inner-page heroes */
.nai-v3121-hero,
.nuclear-v310-hero,
.nuclear-page-hero-v98,
.nai-jobs-tophero-v3111__image {
  position:relative!important;
}

/* Mobile: centered full-width logo + hamburger */
@media(max-width:782px) {
  .nai-global-menu-v3134 {
    top:8px;
  }

  .nai-global-menu-v3134__inner {
    width:calc(100vw - 20px);
    display:grid;
    grid-template-columns:1fr 48px;
    align-items:start;
    gap:8px;
  }

  .nai-global-menu-v3134__logo {
    justify-content:center;
    width:100%;
    min-width:0;
  }

  .nai-global-menu-v3134__logo img {
    width:min(82vw, 440px);
    max-width:82vw;
    max-height:96px;
    height:auto;
  }

  .nai-global-menu-v3134__nav {
    display:none;
  }

  .nai-global-menu-v3134__toggle {
    display:flex;
    align-items:center;
    justify-content:center;
    justify-self:end;
  }

  .nai-global-menu-v3134__drawer {
    grid-column:1 / -1;
    display:none;
    flex-direction:column;
    gap:2px;
    margin-top:8px;
    background:rgba(255,255,255,.96);
    border:1px solid rgba(175,196,220,.78);
    border-radius:16px;
    padding:10px;
    box-shadow:0 18px 38px rgba(20,50,80,.12);
  }

  .nai-global-menu-v3134.is-open .nai-global-menu-v3134__drawer {
    display:flex;
  }

  .nai-global-menu-v3134__drawer a {
    color:#173250!important;
    text-decoration:none!important;
    font-weight:900;
    padding:12px 10px;
    border-radius:10px;
  }

  .nai-global-menu-v3134__drawer a:hover {
    background:#eef7ff;
  }
}


/* Catch WordPress/custom-logo output on non-home mobile pages only. */
  body:not(.home):not(.front-page) .custom-logo,
  body:not(.home):not(.front-page) .site-logo img,
  body:not(.home):not(.front-page) img[src*="nuclear-ai-logo3"] {
    width: 360px !important;
    max-width: calc(100vw - 150px) !important;
    min-width: 255px !important;
    height: auto !important;
    max-height: 112px !important;
    object-fit: contain !important;
  }
}


/* ==========================================================
   v3.1.60 — TEMPLATE LOGO SYSTEM
   Purpose:
   - Stop relying on the default Blockstrap/custom-logo element for
     Nuclear AI hero branding.
   - Use one active, clickable hero logo + one active menu toggle
     across homepage, pages, GeoDirectory archives, and GD detail views.
   - Preserve existing hero imagery/content and GD output.
   ========================================================== */

:root {
  --nai-logo-url: url("http://nuclearaidatacenters.com/wp-content/uploads/2026/04/nuclear-ai-logo3.png");
  --nai-ink: #0b263d;
  --nai-glass: rgba(255,255,255,.74);
  --nai-line: rgba(101,126,146,.34);
}

/* Hide inactive duplicate branding sources that were causing double logos. */
body .site-branding,
body .bs-site-branding,
body .site-logo:not(.nai-site-logo),
body .custom-logo-link:not(.nai-brand-link),
body img.custom-logo:not(.nai-brand-img),
body .wp-block-site-logo:not(.nai-site-logo),
body header .navbar-brand:not(.nai-brand-link) {
  display: none !important;
}

/* Make the native page skip link invisible unless keyboard-focused. */
body .skip-link,
body a.skip-link,
body .skip-to-content,
body a[href="#content"].skip-link,
body a[href="#main"].skip-link {
  position: absolute !important;
  left: -9999px !important;
  top: auto !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip-path: inset(50%) !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
body .skip-link:focus,
body a.skip-link:focus {
  left: 1rem !important;
  top: 1rem !important;
  width: auto !important;
  height: auto !important;
  overflow: visible !important;
  clip-path: none !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

/* Universal active overlay bar. */
.nai-global-hero-nav {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  min-height: 118px;
  z-index: 200;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(255,255,255,.92) 0%, rgba(255,255,255,.72) 48%, rgba(255,255,255,0) 100%);
}

body.admin-bar .nai-global-hero-nav {
  top: 32px;
}

.nai-global-hero-nav .nai-nav-inner {
  width: min(1480px, 100%);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 18px clamp(18px, 3vw, 54px);
  pointer-events: auto;
}

.nai-brand-link {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  text-decoration: none !important;
  pointer-events: auto !important;
}

.nai-brand-img {
  display: block !important;
  width: clamp(280px, 24vw, 440px) !important;
  max-width: 440px !important;
  height: auto !important;
  object-fit: contain !important;
  filter: drop-shadow(0 1px 0 rgba(255,255,255,.92)) drop-shadow(0 10px 24px rgba(17,46,70,.18));
}

/* Desktop real menu — glassy but sharp. */
.nai-primary-menu {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 2px;
  margin-left: auto;
  pointer-events: auto;
}

.nai-primary-menu ul,
.nai-primary-menu li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.nai-primary-menu > ul,
.nai-primary-menu .menu {
  display: flex;
  align-items: center;
  gap: 2px;
  padding: 8px 10px !important;
  border: 1px solid var(--nai-line);
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(255,255,255,.88), rgba(255,255,255,.62));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.95), 0 10px 28px rgba(19,45,69,.08);
}

.nai-primary-menu a {
  display: block;
  padding: 9px 13px;
  color: var(--nai-ink) !important;
  text-decoration: none !important;
  font-weight: 700;
  font-size: 14px;
  line-height: 1;
  border-radius: 999px;
  white-space: nowrap;
}

.nai-primary-menu a:hover,
.nai-primary-menu .current-menu-item > a,
.nai-primary-menu .current_page_item > a {
  background: rgba(255,255,255,.82);
  box-shadow: inset 0 0 0 1px rgba(101,126,146,.18);
}

/* Submenus */
.nai-primary-menu li {
  position: relative;
}
.nai-primary-menu li ul {
  display: none !important;
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  min-width: 220px;
  padding: 8px !important;
  border: 1px solid var(--nai-line);
  border-radius: 18px;
  background: rgba(255,255,255,.92);
  box-shadow: 0 18px 36px rgba(19,45,69,.14);
}
.nai-primary-menu li:hover > ul,
.nai-primary-menu li:focus-within > ul {
  display: block !important;
}
.nai-primary-menu li ul a {
  border-radius: 12px;
  padding: 10px 12px;
}

/* Active mobile hamburger */
.nai-mobile-toggle {
  display: none;
  width: 74px;
  height: 74px;
  flex: 0 0 74px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(101,126,146,.42);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(255,255,255,.86), rgba(241,248,252,.72));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.95), 0 18px 42px rgba(18,50,76,.16);
  cursor: pointer;
  pointer-events: auto;
}
.nai-mobile-toggle span,
.nai-mobile-toggle span::before,
.nai-mobile-toggle span::after {
  display: block;
  width: 34px;
  height: 4px;
  border-radius: 0;
  background: var(--nai-ink);
  content: "";
}
.nai-mobile-toggle span::before { transform: translateY(-11px); }
.nai-mobile-toggle span::after { transform: translateY(7px); }

.nai-mobile-panel {
  display: none;
}

/* Ensure hero containers can hold overlay nav. */
.nai-hero,
.nai-home-hero,
.nai-page-hero,
.nai-gd-hero,
.entry-content > section:first-child,
body.home .entry-content,
body.front-page .entry-content {
  position: relative;
}

/* Prevent inactive old hamburger images/buttons from intercepting clicks. */
.nai-fake-menu,
.nai-baked-menu,
.nai-hero-menu-dummy {
  display: none !important;
  pointer-events: none !important;
}

/* Mobile: exact homepage style across all main and GD pages. */
@media (max-width: 782px) {
  .nai-global-hero-nav {
    min-height: 136px;
  }

  body.admin-bar .nai-global-hero-nav {
    top: 46px;
  }

  .nai-global-hero-nav .nai-nav-inner {
    position: relative;
    min-height: 112px;
    padding: 16px 14px 12px;
    justify-content: center;
  }

  .nai-brand-link {
    position: absolute;
    top: 17px;
    left: 50%;
    transform: translateX(-50%);
    width: 390px !important;
    max-width: calc(100vw - 142px) !important;
    min-width: 300px !important;
    z-index: 202;
  }

  .nai-brand-img {
    width: 390px !important;
    max-width: calc(100vw - 142px) !important;
    min-width: 300px !important;
    max-height: 108px !important;
  }

  .nai-primary-menu {
    display: none !important;
  }

  .nai-mobile-toggle {
    display: inline-flex;
    position: absolute;
    top: 15px;
    right: 12px;
    z-index: 204;
  }

  .nai-mobile-panel {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 99999;
    width: min(88vw, 380px);
    max-height: 100vh;
    overflow-y: auto;
    padding: 22px 18px 26px;
    border-left: 1px solid rgba(101,126,146,.32);
    background: rgba(255,255,255,.94);
    box-shadow: -28px 0 60px rgba(12,35,54,.22);
  }

  body.admin-bar .nai-mobile-panel {
    top: 46px;
    max-height: calc(100vh - 46px);
  }

  body.nai-menu-open .nai-mobile-panel {
    display: block;
  }

  body.nai-menu-open::after {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 99990;
    background: rgba(255,255,255,.48);
  }

  .nai-mobile-panel ul,
  .nai-mobile-panel li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .nai-mobile-panel a {
    display: block;
    margin: 0 0 8px;
    padding: 14px 16px;
    border: 1px solid rgba(101,126,146,.22);
    border-radius: 15px;
    background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(242,248,252,.76));
    color: var(--nai-ink) !important;
    text-decoration: none !important;
    font-weight: 800;
  }

  .nai-mobile-panel .sub-menu a {
    margin-left: 16px;
    font-size: 14px;
  }

  .nai-mobile-close {
    display: block;
    width: 100%;
    margin: 0 0 14px;
    padding: 14px 16px;
    border: 1px solid rgba(101,126,146,.24);
    border-radius: 15px;
    background: #fff;
    color: var(--nai-ink);
    font-weight: 900;
  }
}

/* Desktop logo enlargement only — no mobile changes. */
@media (min-width: 783px) {
  .nai-global-hero-nav .nai-nav-inner {
    align-items: center;
  }

  .nai-brand-img {
    width: clamp(360px, 23vw, 520px) !important;
    max-width: 520px !important;
  }
}


/* ==========================================================
   v3.1.70 — HOMEPAGE PRESERVE PATCH
   Do not inject or display the template-level nav/logo overlay on the
   front page/homepage. The homepage hero already contains the approved
   logo/menu layout and must remain untouched.
   ========================================================== */

body.home .nai-global-hero-nav,
body.front-page .nai-global-hero-nav,
body.home .nai-mobile-panel,
body.front-page .nai-mobile-panel,
body.home .nai-mobile-toggle,
body.front-page .nai-mobile-toggle,
body.home .nai-primary-menu,
body.front-page .nai-primary-menu,
body.home .nai-brand-link,
body.front-page .nai-brand-link {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Keep the v3.1.60 active logo/menu system limited to subpages and GeoDirectory archives. */
body:not(.home):not(.front-page) .nai-global-hero-nav {
  display: flex !important;
}

/* Stop fallback WordPress menu lists from breaking into raw bullets if a menu location is not assigned. */
.nai-primary-menu ul.menu,
.nai-mobile-panel-menu ul.menu {
  list-style: none !important;
}

.nai-primary-menu li::marker,
.nai-mobile-panel-menu li::marker {
  content: "" !important;
}

/* Mobile subpage-only logo match: larger, centered, active, homepage-scale. */
@media (max-width: 782px) {
  body:not(.home):not(.front-page) .nai-brand-link {
    top: 18px !important;
    width: 430px !important;
    max-width: calc(100vw - 124px) !important;
    min-width: 330px !important;
  }

  body:not(.home):not(.front-page) .nai-brand-img {
    width: 430px !important;
    max-width: calc(100vw - 124px) !important;
    min-width: 330px !important;
    max-height: 116px !important;
  }

  body:not(.home):not(.front-page) .nai-global-hero-nav .nai-nav-inner {
    min-height: 116px !important;
  }
}

/* Desktop: larger logo across subpages only. */
@media (min-width: 783px) {
  body:not(.home):not(.front-page) .nai-brand-img {
    width: clamp(420px, 28vw, 620px) !important;
    max-width: 620px !important;
  }
}


/* ==========================================================
   v3.1.72 — HOMEPAGE RESTORE + HUGE CENTERED MOBILE LOGO
   Based on the uploaded v3.1.71 working theme.
   - Keep the approved homepage layout and hero structure.
   - Use the confirmed Nuclear AI logo, cropped locally for real visual scale.
   - Make the homepage logo huge and centered on mobile.
   - Prevent the subpage overlay menu/logo system from appearing on homepage.
   ========================================================== */

:root {
  --nai-logo-url: url("/wp-content/themes/directory-child/assets/images/nuclear-ai-logo3-cropped-v3172.png");
}

/* Ensure only the intended homepage logo is visible on the homepage. */
body.home .nai-global-hero-nav,
body.front-page .nai-global-hero-nav,
body.home .nai-mobile-panel,
body.front-page .nai-mobile-panel,
body.home .nai-mobile-toggle,
body.front-page .nai-mobile-toggle,
body.home .nai-primary-menu,
body.front-page .nai-primary-menu,
body.home .nai-brand-link,
body.front-page .nai-brand-link {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Desktop keeps the original homepage feel, but the logo is now crisp and visible. */
body.home .nuclear-brand-row--hero,
body.front-page .nuclear-brand-row--hero {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100% !important;
  margin: 0 auto clamp(.85rem, 1.6vw, 1.25rem) !important;
  padding: 0 !important;
  position: relative !important;
  z-index: 4 !important;
}

body.home .nuclear-brand-logo-image,
body.front-page .nuclear-brand-logo-image,
body.home .nuclear-brand-logo-image figure,
body.front-page .nuclear-brand-logo-image figure {
  width: 100% !important;
  max-width: none !important;
  margin: 0 auto !important;
  text-align: center !important;
  display: flex !important;
  justify-content: center !important;
  background: transparent !important;
}

body.home .nuclear-brand-row--hero img,
body.front-page .nuclear-brand-row--hero img,
body.home .nuclear-brand-logo-image img,
body.front-page .nuclear-brand-logo-image img {
  content: url("/wp-content/themes/directory-child/assets/images/nuclear-ai-logo3-cropped-v3172.png") !important;
  display: block !important;
  width: min(58vw, 760px) !important;
  max-width: min(58vw, 760px) !important;
  max-height: none !important;
  height: auto !important;
  margin: 0 auto !important;
  object-fit: contain !important;
  object-position: center center !important;
  transform: none !important;
  opacity: 1 !important;
  filter: drop-shadow(0 1px 0 rgba(255,255,255,.96)) drop-shadow(0 16px 34px rgba(54,82,116,.18)) !important;
}

/* Keep the homepage from collapsing into the blank upper section shown in the screenshots. */
body.home .nuclear-master-hero__inner,
body.front-page .nuclear-master-hero__inner {
  padding-top: clamp(1.25rem, 2vw, 2.25rem) !important;
}

body.home .nuclear-master-hero__overlay,
body.front-page .nuclear-master-hero__overlay {
  position: relative !important;
  z-index: 3 !important;
}

/* Mobile: huge, centered, brand-forward. */
@media (max-width: 781px) {
  body.home .nuclear-master-hero,
  body.front-page .nuclear-master-hero {
    min-height: 100svh !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
    background-size: cover, 178% auto !important;
    background-position: left top, 64% top !important;
    overflow: hidden !important;
  }

  body.home .nuclear-master-hero__inner,
  body.front-page .nuclear-master-hero__inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: .7rem .85rem 5.2rem !important;
    margin: 0 auto !important;
  }

  body.home .nuclear-brand-row--hero,
  body.front-page .nuclear-brand-row--hero {
    justify-content: center !important;
    align-items: center !important;
    width: 100vw !important;
    max-width: 100vw !important;
    margin: 0 auto .75rem !important;
    padding: 0 4.5rem 0 4.5rem !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
  }

  body.home .nuclear-brand-row--hero img,
  body.front-page .nuclear-brand-row--hero img,
  body.home .nuclear-brand-logo-image img,
  body.front-page .nuclear-brand-logo-image img {
    width: min(96vw, 680px) !important;
    max-width: min(96vw, 680px) !important;
    min-width: min(88vw, 560px) !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 auto !important;
    transform: none !important;
  }

  body.home .nuclear-master-hero__overlay,
  body.front-page .nuclear-master-hero__overlay {
    width: min(100%, 720px) !important;
    max-width: min(100%, 720px) !important;
    margin: 0 auto !important;
    text-align: center !important;
    padding: 0 !important;
  }

  body.home .nuclear-kicker,
  body.front-page .nuclear-kicker {
    justify-content: center !important;
    text-align: center !important;
    white-space: normal !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: .15rem auto .8rem !important;
    letter-spacing: .14em !important;
    font-size: .72rem !important;
  }

  body.home .nuclear-master-hero__title,
  body.front-page .nuclear-master-hero__title {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto .85rem !important;
    text-align: center !important;
    font-size: clamp(2.55rem, 12.8vw, 4.25rem) !important;
    line-height: .9 !important;
    letter-spacing: -.055em !important;
  }

  body.home .nuclear-master-hero__copy,
  body.front-page .nuclear-master-hero__copy {
    width: min(100%, 680px) !important;
    max-width: min(100%, 680px) !important;
    margin: 0 auto !important;
    text-align: center !important;
    font-size: clamp(1rem, 4.2vw, 1.18rem) !important;
    line-height: 1.46 !important;
  }

  body.home .nuclear-home-section--hero-actions,
  body.front-page .nuclear-home-section--hero-actions {
    margin-top: -4.25rem !important;
    position: relative !important;
    z-index: 5 !important;
  }
}

/* Very narrow mobile phones: keep the logo centered and prominent without clipping. */
@media (max-width: 430px) {
  body.home .nuclear-brand-row--hero,
  body.front-page .nuclear-brand-row--hero {
    padding-left: 3.6rem !important;
    padding-right: 3.6rem !important;
  }

  body.home .nuclear-brand-row--hero img,
  body.front-page .nuclear-brand-row--hero img,
  body.home .nuclear-brand-logo-image img,
  body.front-page .nuclear-brand-logo-image img {
    width: 104vw !important;
    max-width: 104vw !important;
    min-width: 96vw !important;
  }

  body.home .nuclear-master-hero__title,
  body.front-page .nuclear-master-hero__title {
    font-size: clamp(2.35rem, 12.2vw, 3.55rem) !important;
  }
}


/* ==========================================================
   v3.1.73 — MOBILE + PC PRECISION PASS
   Purpose:
   - Keep the working uploaded homepage design.
   - Make the confirmed Nuclear AI logo huge and centered on mobile.
   - Leave enough room for the menu button.
   - Restore text legibility with sharp glass/shadow layers.
   - Stop mobile/desktop horizontal overflow and half-width pages.
   - Remove duplicate raw nav/menu/footer artifacts.
   ========================================================== */

:root {
  --nai-logo-url: url("/wp-content/themes/directory-child/assets/images/nuclear-ai-logo3-cropped-v3173.png");
  --nai-v3173-ink: #102033;
  --nai-v3173-blue: #2c77bd;
  --nai-v3173-glass: rgba(248,252,255,.78);
  --nai-v3173-line: rgba(110,135,160,.32);
}

html,
body {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
}

body,
.wp-site-blocks,
.site,
.site-content,
#page,
#content,
main,
.entry-content,
.wp-block-post-content {
  max-width: 100vw !important;
  overflow-x: clip !important;
}

body img,
body iframe,
body video,
body canvas,
body svg {
  max-width: 100% !important;
}

/* Full-width containment for Blockstrap, GD, and legacy page shells. */
body .container,
body .container-fluid,
body .bsui .container,
body .bsui .container-fluid,
body .wp-block-group.alignfull,
body .wp-block-cover.alignfull,
body .nuclear-homepage-master,
body .nuclear-master-hero,
body .geodir-page,
body .geodir-wrapper,
body .geodir-category-list-view,
body .geodir-listings,
body .gd_map_canvas,
body .gd-map-wrapper {
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Kill duplicate/raw menu strips showing under the footer in screenshots. */
body > .nai-global-hero-nav:nth-of-type(n+2),
body > .nai-mobile-panel:nth-of-type(n+2),
body footer + .nai-global-hero-nav,
body footer + .nai-global-hero-nav + .nai-mobile-panel,
body .site-footer + .nai-global-hero-nav,
body .site-footer + .nai-global-hero-nav + .nai-mobile-panel,
body .wp-block-template-part + .nai-global-hero-nav,
body .wp-block-template-part + .nai-global-hero-nav + .nai-mobile-panel {
  display: none !important;
}

/* Keep the actual active menu available on homepage while preventing duplicate template menus from creating overflow. */
body.home .wp-block-template-part header,
body.front-page .wp-block-template-part header,
body.home header.wp-block-template-part,
body.front-page header.wp-block-template-part {
  max-width: 100vw !important;
  overflow: hidden !important;
}

/* Universal active nav: sharp glass, no friendly rounding, PC-safe. */
.nai-global-hero-nav {
  background:
    linear-gradient(180deg, rgba(255,255,255,.96) 0%, rgba(255,255,255,.82) 56%, rgba(255,255,255,0) 100%) !important;
  min-height: 118px !important;
}

.nai-global-hero-nav .nai-nav-inner {
  width: min(1480px, 100%) !important;
  max-width: 100vw !important;
  box-sizing: border-box !important;
}

.nai-primary-menu > ul,
.nai-primary-menu .menu {
  border-radius: 0 !important;
  border-color: rgba(85,105,126,.28) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(245,249,253,.78)) !important;
  box-shadow: 0 8px 0 rgba(20,42,62,.05), 0 18px 40px rgba(20,42,62,.08) !important;
}

.nai-primary-menu a {
  border-radius: 0 !important;
  font-weight: 850 !important;
}

/* Homepage: preserve hero, add legibility depth. */
body.home .nuclear-master-hero,
body.front-page .nuclear-master-hero {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  background-image:
    linear-gradient(90deg, rgba(242,248,255,.42) 0%, rgba(242,248,255,.28) 34%, rgba(242,248,255,.12) 58%, rgba(242,248,255,.05) 100%),
    url("http://nuclearaidatacenters.com/wp-content/uploads/2026/04/hero-nuclear-ai.png") !important;
}

body.home .nuclear-master-hero::before,
body.front-page .nuclear-master-hero::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  pointer-events: none !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.80) 0%, rgba(255,255,255,.14) 18%, rgba(255,255,255,.00) 42%),
    linear-gradient(90deg, rgba(255,255,255,.50) 0%, rgba(255,255,255,.18) 42%, rgba(255,255,255,.00) 78%) !important;
}

body.home .nuclear-master-hero::after,
body.front-page .nuclear-master-hero::after {
  content: "" !important;
  position: absolute !important;
  inset: auto 0 0 0 !important;
  height: 180px !important;
  z-index: 0 !important;
  pointer-events: none !important;
  background: linear-gradient(180deg, rgba(238,244,251,0) 0%, rgba(238,244,251,.96) 100%) !important;
}

body.home .nuclear-master-hero__inner,
body.front-page .nuclear-master-hero__inner,
body.home .nuclear-master-hero__overlay,
body.front-page .nuclear-master-hero__overlay,
body.home .nuclear-brand-row--hero,
body.front-page .nuclear-brand-row--hero {
  position: relative !important;
  z-index: 2 !important;
}

/* Logo: desktop large, mobile screen-filling. */
body.home .nuclear-brand-row--hero,
body.front-page .nuclear-brand-row--hero {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  margin: 0 auto clamp(.75rem, 1.5vw, 1.1rem) !important;
  padding: 0 !important;
  background: transparent !important;
}

body.home .nuclear-brand-row--hero figure,
body.front-page .nuclear-brand-row--hero figure,
body.home .nuclear-brand-logo-image,
body.front-page .nuclear-brand-logo-image {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 auto !important;
  padding: 0 !important;
  background: transparent !important;
}

body.home .nuclear-brand-row--hero img,
body.front-page .nuclear-brand-row--hero img,
body.home .nuclear-brand-logo-image img,
body.front-page .nuclear-brand-logo-image img {
  content: url("/wp-content/themes/directory-child/assets/images/nuclear-ai-logo3-cropped-v3173.png") !important;
  display: block !important;
  width: min(62vw, 820px) !important;
  max-width: min(62vw, 820px) !important;
  height: auto !important;
  max-height: none !important;
  margin: 0 auto !important;
  object-fit: contain !important;
  object-position: center center !important;
  opacity: 1 !important;
  transform: none !important;
  filter:
    drop-shadow(0 1px 0 rgba(255,255,255,.98))
    drop-shadow(0 0 1px rgba(0,18,36,.82))
    drop-shadow(0 14px 26px rgba(18,42,68,.24)) !important;
}

/* Text legibility without hiding the hero art. */
body.home .nuclear-master-hero__overlay,
body.front-page .nuclear-master-hero__overlay {
  background:
    linear-gradient(180deg, rgba(255,255,255,.48), rgba(247,251,255,.28)) !important;
  border: 1px solid rgba(130,154,178,.28) !important;
  box-shadow:
    0 10px 0 rgba(18,42,68,.045),
    0 24px 52px rgba(18,42,68,.12),
    inset 0 1px 0 rgba(255,255,255,.82) !important;
  backdrop-filter: saturate(150%) blur(2px) !important;
  padding: clamp(1rem, 2vw, 1.45rem) !important;
  border-radius: 0 !important;
}

body.home .nuclear-kicker,
body.front-page .nuclear-kicker {
  color: rgba(31,55,78,.90) !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.72) !important;
}

body.home .nuclear-master-hero__title,
body.front-page .nuclear-master-hero__title {
  color: #102033 !important;
  text-shadow:
    0 1px 0 rgba(255,255,255,.96),
    0 12px 30px rgba(255,255,255,.56),
    0 0 1px rgba(10,24,42,.38) !important;
}

body.home .nuclear-master-hero__copy,
body.front-page .nuclear-master-hero__copy {
  color: rgba(24,43,62,.94) !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.72) !important;
}

/* PC optimization. */
@media (min-width: 783px) {
  body.home .nuclear-master-hero,
  body.front-page .nuclear-master-hero {
    min-height: 84vh !important;
    background-size: cover, cover !important;
    background-position: left top, center center !important;
  }

  body.home .nuclear-master-hero__inner,
  body.front-page .nuclear-master-hero__inner {
    max-width: 1420px !important;
    padding-top: clamp(1.2rem, 2.2vw, 2rem) !important;
    padding-left: clamp(1rem, 2.4vw, 2rem) !important;
    padding-right: clamp(1rem, 2.4vw, 2rem) !important;
  }

  body.home .nuclear-master-hero__overlay,
  body.front-page .nuclear-master-hero__overlay {
    max-width: 850px !important;
  }

  .nai-brand-img {
    width: clamp(360px, 26vw, 620px) !important;
    max-width: 620px !important;
  }

  body:not(.home):not(.front-page) .entry-content,
  body:not(.home):not(.front-page) main,
  body:not(.home):not(.front-page) .site-content {
    width: 100% !important;
  }
}

/* Mobile: logo fills screen with menu clearance, no overflow, readable hero. */
@media (max-width: 782px) {
  body.admin-bar .nai-global-hero-nav {
    top: 46px !important;
  }

  .nai-global-hero-nav {
    min-height: 128px !important;
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: none !important;
  }

  .nai-global-hero-nav .nai-nav-inner {
    min-height: 122px !important;
    padding: 10px 8px 8px !important;
    justify-content: center !important;
    align-items: flex-start !important;
  }

  .nai-brand-link {
    top: 8px !important;
    left: 0 !important;
    right: 88px !important;
    transform: none !important;
    width: calc(100vw - 96px) !important;
    max-width: calc(100vw - 96px) !important;
    min-width: 0 !important;
    height: 112px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 202 !important;
    pointer-events: auto !important;
  }

  .nai-brand-img {
    content: url("/wp-content/themes/directory-child/assets/images/nuclear-ai-logo3-cropped-v3173.png") !important;
    width: calc(100vw - 102px) !important;
    max-width: calc(100vw - 102px) !important;
    min-width: 0 !important;
    max-height: 112px !important;
    height: auto !important;
    object-fit: contain !important;
    object-position: center center !important;
    filter:
      drop-shadow(0 1px 0 rgba(255,255,255,.98))
      drop-shadow(0 0 1px rgba(0,18,36,.82))
      drop-shadow(0 13px 24px rgba(18,42,68,.24)) !important;
  }

  .nai-mobile-toggle {
    display: inline-flex !important;
    position: absolute !important;
    top: 12px !important;
    right: 10px !important;
    width: 74px !important;
    height: 74px !important;
    flex: 0 0 74px !important;
    border-radius: 0 !important;
    z-index: 204 !important;
    background: linear-gradient(180deg, rgba(255,255,255,.94), rgba(242,248,252,.82)) !important;
    border: 1px solid rgba(28,48,68,.42) !important;
    box-shadow: 0 8px 0 rgba(18,42,68,.08), 0 20px 42px rgba(18,42,68,.16) !important;
    pointer-events: auto !important;
  }

  .nai-primary-menu {
    display: none !important;
  }

  body.home .nuclear-master-hero,
  body.front-page .nuclear-master-hero {
    min-height: 100svh !important;
    padding-top: 126px !important;
    background-size: cover, 182% auto !important;
    background-position: left top, 65% 0 !important;
  }

  body.home .nuclear-master-hero__inner,
  body.front-page .nuclear-master-hero__inner {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: .5rem .9rem 5.25rem !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    box-sizing: border-box !important;
  }

  body.home .nuclear-brand-row--hero,
  body.front-page .nuclear-brand-row--hero {
    width: calc(100vw - 96px) !important;
    max-width: calc(100vw - 96px) !important;
    margin: -122px 88px 10px 0 !important;
    padding: 0 !important;
    min-height: 112px !important;
    transform: none !important;
    left: auto !important;
  }

  body.home .nuclear-brand-row--hero img,
  body.front-page .nuclear-brand-row--hero img,
  body.home .nuclear-brand-logo-image img,
  body.front-page .nuclear-brand-logo-image img {
    width: calc(100vw - 104px) !important;
    max-width: calc(100vw - 104px) !important;
    min-width: 0 !important;
    max-height: 112px !important;
    height: auto !important;
  }

  body.home .nuclear-master-hero__overlay,
  body.front-page .nuclear-master-hero__overlay {
    width: min(100%, 760px) !important;
    max-width: min(100%, 760px) !important;
    margin: 0 auto !important;
    padding: 1.05rem .95rem 1.15rem !important;
    text-align: center !important;
    background:
      linear-gradient(180deg, rgba(255,255,255,.70), rgba(247,251,255,.46)) !important;
    border: 1px solid rgba(94,122,150,.34) !important;
    box-shadow:
      0 8px 0 rgba(18,42,68,.045),
      0 22px 46px rgba(18,42,68,.13),
      inset 0 1px 0 rgba(255,255,255,.86) !important;
  }

  body.home .nuclear-kicker,
  body.front-page .nuclear-kicker {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto .7rem !important;
    text-align: center !important;
    white-space: normal !important;
    font-size: .70rem !important;
    line-height: 1.35 !important;
    letter-spacing: .13em !important;
  }

  body.home .nuclear-master-hero__title,
  body.front-page .nuclear-master-hero__title {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto .85rem !important;
    text-align: center !important;
    font-size: clamp(2.35rem, 12vw, 4rem) !important;
    line-height: .91 !important;
    letter-spacing: -.052em !important;
  }

  body.home .nuclear-master-hero__copy,
  body.front-page .nuclear-master-hero__copy {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    text-align: center !important;
    font-size: clamp(.98rem, 4vw, 1.15rem) !important;
    line-height: 1.45 !important;
    font-weight: 560 !important;
  }

  body.home .nuclear-home-section--hero-actions,
  body.front-page .nuclear-home-section--hero-actions {
    margin-top: -3.8rem !important;
    position: relative !important;
    z-index: 5 !important;
    padding-left: .85rem !important;
    padding-right: .85rem !important;
  }

  body.home .nuclear-master-hero__actions,
  body.front-page .nuclear-master-hero__actions,
  body.home .nuclear-home-section--hero-actions .wp-block-buttons,
  body.front-page .nuclear-home-section--hero-actions .wp-block-buttons {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  /* Subpages and GeoDirectory pages: stop half-width layouts and map/list overflow. */
  body:not(.home):not(.front-page) .entry-content,
  body:not(.home):not(.front-page) main,
  body:not(.home):not(.front-page) .site-content,
  body:not(.home):not(.front-page) .wp-block-group,
  body:not(.home):not(.front-page) .wp-block-columns,
  body:not(.home):not(.front-page) .wp-block-column,
  body:not(.home):not(.front-page) .geodir-page,
  body:not(.home):not(.front-page) .geodir-wrapper,
  body:not(.home):not(.front-page) .gd-container,
  body:not(.home):not(.front-page) .gd-content,
  body:not(.home):not(.front-page) .geodir-archive {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  body:not(.home):not(.front-page) .wp-block-columns {
    display: block !important;
  }

  body:not(.home):not(.front-page) .gd_map_canvas,
  body:not(.home):not(.front-page) .gd-map-wrapper,
  body:not(.home):not(.front-page) .leaflet-container {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 420px !important;
  }

  body .geodir-search,
  body .geodir-search form,
  body .geodir-search .row,
  body .geodir-search .col,
  body .gd-search-field-search,
  body .gd-search-field-near {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  body .geodir-search input,
  body .geodir-search select,
  body .geodir-search button {
    max-width: 100% !important;
  }

  .nai-mobile-panel {
    width: min(92vw, 410px) !important;
    border-radius: 0 !important;
    background: rgba(255,255,255,.97) !important;
  }

  .nai-mobile-panel a,
  .nai-mobile-close {
    border-radius: 0 !important;
    font-weight: 900 !important;
  }
}

@media (max-width: 430px) {
  .nai-brand-link {
    right: 82px !important;
    width: calc(100vw - 90px) !important;
    max-width: calc(100vw - 90px) !important;
  }

  .nai-brand-img {
    width: calc(100vw - 94px) !important;
    max-width: calc(100vw - 94px) !important;
  }

  .nai-mobile-toggle {
    width: 70px !important;
    height: 70px !important;
    right: 8px !important;
  }

  body.home .nuclear-brand-row--hero,
  body.front-page .nuclear-brand-row--hero {
    width: calc(100vw - 90px) !important;
    max-width: calc(100vw - 90px) !important;
    margin-right: 82px !important;
  }

  body.home .nuclear-brand-row--hero img,
  body.front-page .nuclear-brand-row--hero img,
  body.home .nuclear-brand-logo-image img,
  body.front-page .nuclear-brand-logo-image img {
    width: calc(100vw - 94px) !important;
    max-width: calc(100vw - 94px) !important;
  }
}


/* ==========================================================
   v3.1.74 — Consultancy / Deal-Maker Positioning
   ========================================================== */

body .nuclear-master-hero__title,
body .nuclear-hero-title {
  max-width: 13ch !important;
}

.nai-consultancy-page {
  background:
    radial-gradient(circle at 15% 0%, rgba(255,255,255,.96), rgba(255,255,255,0) 34%),
    linear-gradient(180deg, #f4f8fc 0%, #e8f0f8 52%, #ffffff 100%);
  color: #102033;
  overflow-x: hidden;
}

.nai-gap-shell {
  width: min(1220px, calc(100% - 32px));
  margin: 0 auto;
}

.nai-gap-hero {
  position: relative;
  padding: clamp(7.5rem, 12vw, 10rem) 0 clamp(3rem, 6vw, 5rem);
  background:
    linear-gradient(90deg, rgba(255,255,255,.92), rgba(255,255,255,.64), rgba(255,255,255,.26)),
    url("http://nuclearaidatacenters.com/wp-content/uploads/2026/04/hero-nuclear-ai.png") center right / cover no-repeat;
  border-bottom: 1px solid rgba(100,125,150,.24);
}

.nai-gap-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(16,32,51,.08) 1px, transparent 1px),
    linear-gradient(180deg, rgba(16,32,51,.07) 1px, transparent 1px);
  background-size: 56px 56px;
  mask-image: linear-gradient(90deg, #000, transparent 78%);
}

.nai-gap-hero-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 430px);
  gap: clamp(1.25rem, 3vw, 2.5rem);
  align-items: end;
}

.nai-gap-kicker {
  margin: 0 0 .9rem;
  font-size: .78rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  font-weight: 900;
  color: rgba(42,72,102,.82);
}

.nai-gap-hero h1,
.nai-gap-section h2 {
  margin: 0 0 1rem;
  color: #0a1523;
  font-weight: 950;
  letter-spacing: -.055em;
  line-height: .95;
  text-transform: uppercase;
}

.nai-gap-hero h1 {
  font-size: clamp(3rem, 7vw, 6.2rem);
  max-width: 900px;
}

.nai-gap-section h2 {
  font-size: clamp(2.35rem, 5vw, 4.65rem);
}

.nai-gap-hero p,
.nai-gap-lead,
.nai-gap-section p {
  color: rgba(30,52,75,.92);
  font-size: clamp(1rem, 1.5vw, 1.18rem);
  line-height: 1.62;
}

.nai-gap-hero-copy,
.nai-gap-command-card {
  background: linear-gradient(180deg, rgba(255,255,255,.72), rgba(244,249,253,.50));
  border: 1px solid rgba(105,132,158,.32);
  box-shadow: 0 8px 0 rgba(18,42,68,.045), 0 28px 58px rgba(18,42,68,.13), inset 0 1px 0 rgba(255,255,255,.86);
  padding: clamp(1.25rem, 2.3vw, 2rem);
  backdrop-filter: saturate(150%) blur(3px);
}

.nai-gap-command-card h2 {
  font-size: clamp(1.35rem, 2.2vw, 2rem);
  letter-spacing: -.025em;
  line-height: 1.08;
}

.nai-gap-command-card ul {
  margin: 1rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: .55rem;
}

.nai-gap-command-card li {
  padding: .7rem .85rem;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(105,132,158,.22);
  font-weight: 750;
}

.nai-gap-section {
  padding: clamp(3.2rem, 6vw, 5rem) 0;
}

.nai-gap-section-silver {
  background: linear-gradient(180deg, rgba(255,255,255,.86), rgba(232,240,248,.72));
  border-block: 1px solid rgba(100,125,150,.16);
}

.nai-gap-grid {
  display: grid;
  gap: 1rem;
  margin-top: 1.5rem;
}

.nai-gap-grid-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.nai-gap-grid-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.nai-gap-card {
  position: relative;
  min-height: 100%;
  padding: clamp(1.15rem, 2vw, 1.65rem);
  border: 1px solid rgba(95,120,145,.30);
  background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(240,246,252,.88));
  box-shadow: 0 7px 0 rgba(18,42,68,.05), 0 20px 42px rgba(18,42,68,.09);
  color: #102033;
  text-decoration: none !important;
}

.nai-gap-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 3px;
  background: linear-gradient(90deg, #102033, #2d7dff, #78ff96, #e8edf2);
}

.nai-gap-card span {
  display: block;
  margin-bottom: .8rem;
  font-size: .72rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  font-weight: 950;
  color: rgba(65,88,112,.80);
}

.nai-gap-card h3 {
  margin: 0 0 .65rem;
  font-size: clamp(1.18rem, 1.8vw, 1.55rem);
  line-height: 1.06;
  text-transform: uppercase;
  letter-spacing: -.025em;
  font-weight: 950;
}

.nai-gap-link-card:hover {
  border-color: rgba(16,32,51,.72);
  transform: translateY(-2px);
}

.nai-gap-two-col {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 440px);
  gap: clamp(1.25rem, 3vw, 2.5rem);
  align-items: start;
}

.nai-gap-stack {
  display: grid;
  gap: .85rem;
}

.nai-gap-mini {
  display: block;
  padding: 1rem 1.1rem;
  border: 1px solid rgba(95,120,145,.30);
  background: rgba(255,255,255,.78);
  color: #102033;
  text-decoration: none !important;
  box-shadow: 0 6px 0 rgba(18,42,68,.045);
}

.nai-gap-mini strong,
.nai-gap-mini span {
  display: block;
}

.nai-gap-mini strong {
  margin-bottom: .35rem;
  text-transform: uppercase;
  letter-spacing: .06em;
  font-size: .86rem;
}

.nai-gap-mini span {
  color: rgba(42,65,88,.88);
  line-height: 1.45;
}

.nai-gap-cta-row {
  display: flex;
  flex-wrap: wrap;
  gap: .8rem;
  margin-top: 1.35rem;
}

.nai-gap-cta-center {
  justify-content: center;
}

.nai-gap-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: .85rem 1.1rem;
  border: 1px solid rgba(16,32,51,.55);
  background: rgba(255,255,255,.74);
  color: #102033 !important;
  text-decoration: none !important;
  text-transform: uppercase;
  letter-spacing: .07em;
  font-weight: 950;
  font-size: .76rem;
  box-shadow: 0 5px 0 rgba(18,42,68,.10);
}

.nai-gap-btn-primary {
  background: linear-gradient(180deg, #ffffff, #dfeaf4 48%, #a7bdd0) !important;
}

.nai-gap-final {
  text-align: center;
  background: linear-gradient(180deg, #f8fbfe, #ffffff);
}

@media (max-width: 1024px) {
  .nai-gap-hero-grid,
  .nai-gap-two-col {
    grid-template-columns: 1fr;
  }

  .nai-gap-grid-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .nai-gap-grid-3 {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 782px) {
  .nai-gap-hero {
    padding-top: 8.6rem;
    background-position: 66% top;
    background-size: auto 100%;
  }

  .nai-gap-shell {
    width: min(100% - 22px, 1220px);
  }

  .nai-gap-hero h1 {
    font-size: clamp(2.55rem, 12vw, 4.25rem);
  }

  .nai-gap-section h2 {
    font-size: clamp(2.1rem, 10vw, 3.45rem);
  }

  .nai-gap-grid-4,
  .nai-gap-grid-3 {
    grid-template-columns: 1fr;
  }

  .nai-gap-cta-row {
    display: grid;
    grid-template-columns: 1fr;
  }

  .nai-gap-btn {
    width: 100%;
  }

  .nai-gap-hero-copy,
  .nai-gap-command-card {
    padding: 1rem;
  }
}


/* ==========================================================
   v3.1.75 — HERO TEXT INTEGRATION PATCH
   Request:
   - Remove the homepage text background box completely.
   - Place text into the lighter white area below the robot arm.
   - Keep text legible with typography shadowing only, not a panel.
   - Preserve large centered mobile logo and menu clearance.
   ========================================================== */

/* Remove the hero text box/panel completely. */
body.home .nuclear-master-hero__overlay,
body.front-page .nuclear-master-hero__overlay {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
  outline: 0 !important;
}

/* No pseudo panel behind the text. */
body.home .nuclear-master-hero__overlay::before,
body.home .nuclear-master-hero__overlay::after,
body.front-page .nuclear-master-hero__overlay::before,
body.front-page .nuclear-master-hero__overlay::after {
  display: none !important;
  content: none !important;
}

/* Softer image wash only; no boxed text surface. */
body.home .nuclear-master-hero::before,
body.front-page .nuclear-master-hero::before {
  background:
    linear-gradient(180deg, rgba(255,255,255,.58) 0%, rgba(255,255,255,.18) 21%, rgba(255,255,255,.00) 48%),
    linear-gradient(90deg, rgba(255,255,255,.36) 0%, rgba(255,255,255,.16) 38%, rgba(255,255,255,.00) 74%) !important;
}

/* Text is integrated into the hero image. */
body.home .nuclear-kicker,
body.front-page .nuclear-kicker,
body.home .nuclear-master-hero__title,
body.front-page .nuclear-master-hero__title,
body.home .nuclear-master-hero__copy,
body.front-page .nuclear-master-hero__copy {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.home .nuclear-kicker,
body.front-page .nuclear-kicker {
  color: rgba(24,45,66,.86) !important;
  text-shadow:
    0 1px 0 rgba(255,255,255,.88),
    0 8px 24px rgba(255,255,255,.72) !important;
}

body.home .nuclear-master-hero__title,
body.front-page .nuclear-master-hero__title {
  color: #0b1828 !important;
  text-shadow:
    0 1px 0 rgba(255,255,255,.98),
    0 2px 0 rgba(255,255,255,.42),
    0 14px 36px rgba(255,255,255,.82),
    0 0 1px rgba(8,18,30,.34) !important;
}

body.home .nuclear-master-hero__copy,
body.front-page .nuclear-master-hero__copy {
  color: rgba(23,42,62,.94) !important;
  text-shadow:
    0 1px 0 rgba(255,255,255,.94),
    0 10px 28px rgba(255,255,255,.78),
    0 0 1px rgba(8,18,30,.22) !important;
}

/* Desktop / PC: keep text in the broad light area, not over robot face. */
@media (min-width: 783px) {
  body.home .nuclear-master-hero,
  body.front-page .nuclear-master-hero {
    background-size: cover, cover !important;
    background-position: left top, center center !important;
  }

  body.home .nuclear-master-hero__inner,
  body.front-page .nuclear-master-hero__inner {
    align-items: flex-start !important;
    text-align: left !important;
    padding-top: clamp(1rem, 1.8vw, 1.8rem) !important;
  }

  body.home .nuclear-master-hero__overlay,
  body.front-page .nuclear-master-hero__overlay {
    width: min(760px, 58vw) !important;
    max-width: min(760px, 58vw) !important;
    margin: clamp(1.25rem, 4.5vw, 4rem) auto 0 0 !important;
    text-align: left !important;
  }

  body.home .nuclear-master-hero__title,
  body.front-page .nuclear-master-hero__title {
    max-width: 11.5ch !important;
    font-size: clamp(3.05rem, 5.65vw, 6.05rem) !important;
    line-height: .91 !important;
    letter-spacing: -.058em !important;
  }

  body.home .nuclear-master-hero__copy,
  body.front-page .nuclear-master-hero__copy {
    max-width: 720px !important;
    font-size: clamp(1.05rem, 1.5vw, 1.25rem) !important;
    line-height: 1.56 !important;
  }
}

/* Mobile: logo stays huge; text drops into the light lower-left field below the robot arm. */
@media (max-width: 782px) {
  body.home .nuclear-master-hero,
  body.front-page .nuclear-master-hero {
    min-height: 100svh !important;
    padding-top: 126px !important;
    background-size: cover, 178% auto !important;
    background-position: left top, 64% 0 !important;
  }

  body.home .nuclear-master-hero__inner,
  body.front-page .nuclear-master-hero__inner {
    align-items: stretch !important;
    text-align: left !important;
    padding: .5rem .95rem 5.25rem !important;
  }

  body.home .nuclear-master-hero__overlay,
  body.front-page .nuclear-master-hero__overlay {
    width: min(70vw, 430px) !important;
    max-width: min(70vw, 430px) !important;
    margin: clamp(5.7rem, 20svh, 9.2rem) auto 0 .25rem !important;
    text-align: left !important;
    position: relative !important;
    z-index: 4 !important;
  }

  body.home .nuclear-kicker,
  body.front-page .nuclear-kicker {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 .55rem !important;
    text-align: left !important;
    white-space: normal !important;
    font-size: .64rem !important;
    line-height: 1.3 !important;
    letter-spacing: .105em !important;
  }

  body.home .nuclear-master-hero__title,
  body.front-page .nuclear-master-hero__title {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 .7rem !important;
    text-align: left !important;
    font-size: clamp(2.05rem, 9.45vw, 3.3rem) !important;
    line-height: .92 !important;
    letter-spacing: -.055em !important;
  }

  body.home .nuclear-master-hero__copy,
  body.front-page .nuclear-master-hero__copy {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    text-align: left !important;
    font-size: clamp(.88rem, 3.55vw, 1.02rem) !important;
    line-height: 1.38 !important;
    font-weight: 570 !important;
  }

  body.home .nuclear-home-section--hero-actions,
  body.front-page .nuclear-home-section--hero-actions {
    margin-top: -3.4rem !important;
  }
}

/* Narrow phones: text remains in the clear left-side white field and avoids the menu/logo zone. */
@media (max-width: 430px) {
  body.home .nuclear-master-hero__overlay,
  body.front-page .nuclear-master-hero__overlay {
    width: 72vw !important;
    max-width: 72vw !important;
    margin-top: clamp(5.5rem, 19svh, 8.6rem) !important;
    margin-left: .15rem !important;
  }

  body.home .nuclear-master-hero__title,
  body.front-page .nuclear-master-hero__title {
    font-size: clamp(1.95rem, 9.2vw, 3.05rem) !important;
  }

  body.home .nuclear-master-hero__copy,
  body.front-page .nuclear-master-hero__copy {
    font-size: clamp(.84rem, 3.45vw, .98rem) !important;
  }
}


/* ==========================================================
   v3.1.76 — CLEAN LOWER-HERO TEXT PLACEMENT
   Request:
   - Desktop headline should fit cleanly on 3 lines.
   - Logo and hero text bumped down.
   - All hero text remains inside the hero image.
   - No text background box.
   ========================================================== */

/* Keep the panel fully removed. */
body.home .nuclear-master-hero__overlay,
body.front-page .nuclear-master-hero__overlay {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  padding: 0 !important;
}

/* Keep hero text inside the hero image and readable without a box. */
body.home .nuclear-master-hero,
body.front-page .nuclear-master-hero {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
}

body.home .nuclear-master-hero::before,
body.front-page .nuclear-master-hero::before {
  background:
    linear-gradient(180deg, rgba(255,255,255,.42) 0%, rgba(255,255,255,.12) 24%, rgba(255,255,255,0) 50%),
    linear-gradient(90deg, rgba(255,255,255,.44) 0%, rgba(255,255,255,.22) 44%, rgba(255,255,255,0) 78%) !important;
}

body.home .nuclear-master-hero__title,
body.front-page .nuclear-master-hero__title {
  text-wrap: balance;
  color: #102033 !important;
  text-shadow:
    0 1px 0 rgba(255,255,255,.98),
    0 10px 28px rgba(255,255,255,.86),
    0 0 1px rgba(8,18,30,.42) !important;
}

body.home .nuclear-master-hero__copy,
body.front-page .nuclear-master-hero__copy,
body.home .nuclear-kicker,
body.front-page .nuclear-kicker {
  text-shadow:
    0 1px 0 rgba(255,255,255,.94),
    0 9px 24px rgba(255,255,255,.82),
    0 0 1px rgba(8,18,30,.18) !important;
}

/* PC: lower placement, 3-line headline, clean negative-space position. */
@media (min-width: 783px) {
  body.home .nuclear-master-hero,
  body.front-page .nuclear-master-hero {
    min-height: 86vh !important;
    background-size: cover, cover !important;
    background-position: left top, center center !important;
  }

  body.home .nuclear-master-hero__inner,
  body.front-page .nuclear-master-hero__inner {
    max-width: 1420px !important;
    padding-top: clamp(2.5rem, 4vw, 4.4rem) !important;
    padding-left: clamp(1.25rem, 2.7vw, 2.4rem) !important;
    padding-right: clamp(1.25rem, 2.7vw, 2.4rem) !important;
    align-items: flex-start !important;
    text-align: left !important;
  }

  body.home .nuclear-brand-row--hero,
  body.front-page .nuclear-brand-row--hero {
    margin-top: clamp(.35rem, 1.6vw, 1.4rem) !important;
    margin-bottom: clamp(2.35rem, 5.4vw, 5.25rem) !important;
  }

  body.home .nuclear-brand-row--hero img,
  body.front-page .nuclear-brand-row--hero img,
  body.home .nuclear-brand-logo-image img,
  body.front-page .nuclear-brand-logo-image img {
    width: min(54vw, 760px) !important;
    max-width: min(54vw, 760px) !important;
  }

  body.home .nuclear-master-hero__overlay,
  body.front-page .nuclear-master-hero__overlay {
    width: min(930px, 72vw) !important;
    max-width: min(930px, 72vw) !important;
    margin: 0 auto 0 clamp(.5rem, 2.5vw, 2.2rem) !important;
    text-align: left !important;
  }

  body.home .nuclear-kicker,
  body.front-page .nuclear-kicker {
    margin-bottom: .75rem !important;
    font-size: clamp(.72rem, .85vw, .88rem) !important;
    letter-spacing: .17em !important;
  }

  body.home .nuclear-master-hero__title,
  body.front-page .nuclear-master-hero__title {
    width: 100% !important;
    max-width: 930px !important;
    font-size: clamp(3.9rem, 5.45vw, 6.25rem) !important;
    line-height: .91 !important;
    letter-spacing: -.06em !important;
    margin: 0 0 1.05rem !important;
  }

  body.home .nuclear-master-hero__copy,
  body.front-page .nuclear-master-hero__copy {
    width: min(880px, 72vw) !important;
    max-width: min(880px, 72vw) !important;
    font-size: clamp(1.08rem, 1.45vw, 1.30rem) !important;
    line-height: 1.48 !important;
    margin: 0 !important;
  }

  body.home .nuclear-home-section--hero-actions,
  body.front-page .nuclear-home-section--hero-actions {
    margin-top: -2.85rem !important;
  }
}

/* Medium desktop/laptop: still 3 lines, not oversized. */
@media (min-width: 783px) and (max-width: 1180px) {
  body.home .nuclear-master-hero__overlay,
  body.front-page .nuclear-master-hero__overlay {
    width: min(860px, 78vw) !important;
    max-width: min(860px, 78vw) !important;
  }

  body.home .nuclear-master-hero__title,
  body.front-page .nuclear-master-hero__title {
    max-width: 860px !important;
    font-size: clamp(3.35rem, 6.1vw, 5.15rem) !important;
  }
}

/* Mobile: keep text in the lower white zone and inside the image, not on the robot face. */
@media (max-width: 782px) {
  body.home .nuclear-master-hero,
  body.front-page .nuclear-master-hero {
    min-height: 100svh !important;
    padding-top: 126px !important;
    background-size: cover, 178% auto !important;
    background-position: left top, 64% 0 !important;
  }

  body.home .nuclear-master-hero__inner,
  body.front-page .nuclear-master-hero__inner {
    padding: .5rem .95rem 5.1rem !important;
    align-items: stretch !important;
    text-align: left !important;
  }

  body.home .nuclear-brand-row--hero,
  body.front-page .nuclear-brand-row--hero {
    margin-top: -118px !important;
    margin-bottom: clamp(3.9rem, 14svh, 6.8rem) !important;
  }

  body.home .nuclear-master-hero__overlay,
  body.front-page .nuclear-master-hero__overlay {
    width: min(76vw, 470px) !important;
    max-width: min(76vw, 470px) !important;
    margin: 0 auto 0 0 !important;
    text-align: left !important;
    position: relative !important;
    z-index: 4 !important;
  }

  body.home .nuclear-kicker,
  body.front-page .nuclear-kicker {
    margin: 0 0 .5rem !important;
    text-align: left !important;
    font-size: .63rem !important;
    letter-spacing: .095em !important;
    line-height: 1.25 !important;
  }

  body.home .nuclear-master-hero__title,
  body.front-page .nuclear-master-hero__title {
    margin: 0 0 .62rem !important;
    text-align: left !important;
    font-size: clamp(1.95rem, 8.65vw, 3.05rem) !important;
    line-height: .93 !important;
    letter-spacing: -.055em !important;
    max-width: 100% !important;
  }

  body.home .nuclear-master-hero__copy,
  body.front-page .nuclear-master-hero__copy {
    text-align: left !important;
    font-size: clamp(.82rem, 3.25vw, .96rem) !important;
    line-height: 1.36 !important;
    max-width: 100% !important;
  }

  body.home .nuclear-home-section--hero-actions,
  body.front-page .nuclear-home-section--hero-actions {
    margin-top: -3.0rem !important;
  }
}

/* Tight mobile: avoid clipping and keep the CTA visible below the hero. */
@media (max-width: 430px) {
  body.home .nuclear-brand-row--hero,
  body.front-page .nuclear-brand-row--hero {
    margin-bottom: clamp(3.45rem, 12svh, 5.8rem) !important;
  }

  body.home .nuclear-master-hero__overlay,
  body.front-page .nuclear-master-hero__overlay {
    width: 78vw !important;
    max-width: 78vw !important;
  }

  body.home .nuclear-master-hero__title,
  body.front-page .nuclear-master-hero__title {
    font-size: clamp(1.88rem, 8.4vw, 2.85rem) !important;
  }

  body.home .nuclear-master-hero__copy,
  body.front-page .nuclear-master-hero__copy {
    font-size: clamp(.80rem, 3.18vw, .92rem) !important;
  }
}


/* ==========================================================
   v3.1.77 — LOGO + MENU ALIGNMENT PASS
   Request:
   - Homepage logo bumped up above robot head.
   - Homepage menu directly next to the logo.
   - Subpage logo larger.
   - Preserve clean hero text placement from v3.1.76.
   ========================================================== */

/* Homepage brand row now carries logo + menu together. */
body.home .nuclear-brand-row--hero,
body.front-page .nuclear-brand-row--hero {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: clamp(.75rem, 1.7vw, 1.4rem) !important;
  position: relative !important;
  z-index: 20 !important;
}

/* Give the actual logo block controlled width so the menu can sit beside it. */
body.home .nuclear-brand-row--hero .nuclear-brand-logo-image,
body.front-page .nuclear-brand-row--hero .nuclear-brand-logo-image,
body.home .nuclear-brand-row--hero figure,
body.front-page .nuclear-brand-row--hero figure {
  width: auto !important;
  max-width: none !important;
  flex: 0 1 auto !important;
}

/* Homepage desktop logo/menu line: higher, larger, cleanly over the upper hero image. */
@media (min-width: 783px) {
  body.home .nuclear-master-hero__inner,
  body.front-page .nuclear-master-hero__inner {
    padding-top: clamp(.55rem, 1.15vw, 1.15rem) !important;
  }

  body.home .nuclear-brand-row--hero,
  body.front-page .nuclear-brand-row--hero {
    width: min(1320px, calc(100vw - 38px)) !important;
    max-width: min(1320px, calc(100vw - 38px)) !important;
    margin-top: 0 !important;
    margin-bottom: clamp(2.85rem, 5.9vw, 5.8rem) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 0 !important;
  }

  body.home .nuclear-brand-row--hero img,
  body.front-page .nuclear-brand-row--hero img,
  body.home .nuclear-brand-logo-image img,
  body.front-page .nuclear-brand-logo-image img {
    width: clamp(430px, 39vw, 720px) !important;
    max-width: clamp(430px, 39vw, 720px) !important;
    max-height: 128px !important;
  }

  body.home .nuclear-master-hero__overlay,
  body.front-page .nuclear-master-hero__overlay {
    margin-top: 0 !important;
  }
}

/* Homepage desktop menu next to logo. */
.nai-home-brand-menu {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 2px;
  padding: 7px 9px;
  border: 1px solid rgba(80,105,130,.26);
  background: linear-gradient(180deg, rgba(255,255,255,.86), rgba(243,248,252,.68));
  box-shadow: 0 6px 0 rgba(18,42,68,.045), 0 18px 36px rgba(18,42,68,.08);
  backdrop-filter: saturate(150%) blur(3px);
  -webkit-backdrop-filter: saturate(150%) blur(3px);
  flex: 0 1 auto;
  max-width: min(720px, 50vw);
  overflow: hidden;
}

.nai-home-brand-menu a {
  display: block;
  padding: 9px 10px;
  color: #102033 !important;
  text-decoration: none !important;
  text-transform: uppercase;
  letter-spacing: .055em;
  font-size: clamp(.58rem, .72vw, .74rem);
  line-height: 1;
  font-weight: 900;
  white-space: nowrap;
  border: 1px solid transparent;
}

.nai-home-brand-menu a:hover {
  border-color: rgba(16,32,51,.34);
  background: rgba(255,255,255,.74);
}

.nai-home-menu-toggle,
.nai-home-mobile-panel {
  display: none;
}

/* Homepage mobile: logo up above robot head with menu immediately beside it. */
@media (max-width: 782px) {
  body.home .nuclear-master-hero,
  body.front-page .nuclear-master-hero {
    padding-top: 0 !important;
  }

  body.home .nuclear-master-hero__inner,
  body.front-page .nuclear-master-hero__inner {
    padding-top: .25rem !important;
  }

  body.home .nuclear-brand-row--hero,
  body.front-page .nuclear-brand-row--hero {
    width: calc(100vw - 16px) !important;
    max-width: calc(100vw - 16px) !important;
    min-height: 108px !important;
    justify-content: center !important;
    align-items: center !important;
    margin: .1rem auto clamp(4.35rem, 13svh, 6.6rem) !important;
    padding: 0 86px 0 4px !important;
    gap: 0 !important;
    transform: none !important;
    left: auto !important;
  }

  body.home .nuclear-brand-row--hero img,
  body.front-page .nuclear-brand-row--hero img,
  body.home .nuclear-brand-logo-image img,
  body.front-page .nuclear-brand-logo-image img {
    width: calc(100vw - 112px) !important;
    max-width: calc(100vw - 112px) !important;
    max-height: 106px !important;
    min-width: 0 !important;
  }

  .nai-home-brand-menu {
    display: none !important;
  }

  .nai-home-menu-toggle {
    display: inline-flex !important;
    position: absolute !important;
    top: 12px !important;
    right: 8px !important;
    width: 74px !important;
    height: 74px !important;
    align-items: center !important;
    justify-content: center !important;
    flex-direction: column !important;
    gap: 5px !important;
    border: 1px solid rgba(28,48,68,.42) !important;
    background: linear-gradient(180deg, rgba(255,255,255,.94), rgba(242,248,252,.82)) !important;
    color: #102033 !important;
    box-shadow: 0 8px 0 rgba(18,42,68,.08), 0 20px 42px rgba(18,42,68,.16) !important;
    z-index: 60 !important;
  }

  .nai-home-menu-toggle span,
  .nai-home-menu-toggle span::before,
  .nai-home-menu-toggle span::after {
    display: block !important;
    content: "" !important;
    width: 30px !important;
    height: 3px !important;
    background: #102033 !important;
  }

  .nai-home-menu-toggle span::before {
    transform: translateY(-9px) !important;
  }

  .nai-home-menu-toggle span::after {
    transform: translateY(6px) !important;
  }

  .nai-home-menu-toggle b {
    display: block !important;
    margin-top: 4px !important;
    font-size: 9px !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
    letter-spacing: .12em !important;
    font-weight: 950 !important;
  }

  .nai-home-mobile-panel {
    display: none;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 999999;
    width: min(92vw, 410px);
    max-height: 100vh;
    overflow-y: auto;
    padding: 18px 16px 24px;
    border-left: 1px solid rgba(80,105,130,.28);
    background: rgba(255,255,255,.98);
    box-shadow: -24px 0 62px rgba(18,42,68,.22);
  }

  body.admin-bar .nai-home-mobile-panel {
    top: 46px;
    max-height: calc(100vh - 46px);
  }

  body.nai-home-menu-open .nai-home-mobile-panel {
    display: grid;
    gap: 8px;
  }

  .nai-home-mobile-panel a,
  .nai-home-mobile-close {
    display: block;
    width: 100%;
    padding: 14px 15px;
    border: 1px solid rgba(80,105,130,.24);
    background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(243,248,252,.78));
    color: #102033 !important;
    text-decoration: none !important;
    text-align: left;
    text-transform: uppercase;
    letter-spacing: .06em;
    font-weight: 900;
  }

  .nai-home-mobile-close {
    text-align: center;
  }

  body.home .nuclear-master-hero__overlay,
  body.front-page .nuclear-master-hero__overlay {
    margin-top: 0 !important;
  }
}

/* Larger active subpage logos. */
@media (min-width: 783px) {
  body:not(.home):not(.front-page) .nai-global-hero-nav .nai-nav-inner {
    min-height: 132px !important;
    padding-top: 16px !important;
    padding-bottom: 12px !important;
  }

  body:not(.home):not(.front-page) .nai-brand-img {
    width: clamp(520px, 34vw, 760px) !important;
    max-width: 760px !important;
    max-height: 140px !important;
  }
}

@media (max-width: 782px) {
  body:not(.home):not(.front-page) .nai-brand-link {
    top: 6px !important;
    right: 86px !important;
    left: 8px !important;
    width: calc(100vw - 104px) !important;
    max-width: calc(100vw - 104px) !important;
    height: 118px !important;
  }

  body:not(.home):not(.front-page) .nai-brand-img {
    width: calc(100vw - 110px) !important;
    max-width: calc(100vw - 110px) !important;
    max-height: 118px !important;
  }

  body:not(.home):not(.front-page) .nai-global-hero-nav {
    min-height: 134px !important;
  }

  body:not(.home):not(.front-page) .nai-global-hero-nav .nai-nav-inner {
    min-height: 128px !important;
  }
}


/* ==========================================================
   v3.1.78 — LOCK LOGO PLACEMENT + GLASS MENU + SUBPAGE HERO PARITY
   Request:
   - Lock homepage logo placement and menu location.
   - Make menu modern, glassy, rounded, small, and tight.
   - Adjust subpage header/hero to mimic homepage hero style with relevant images.
   ========================================================== */

/* LOCK: Do not move homepage logo/menu coordinates from v3.1.77.
   Only refine surface treatment, sizing, and polish. */
body.home .nuclear-brand-row--hero,
body.front-page .nuclear-brand-row--hero {
  position: relative !important;
}

/* Homepage menu: small/tight modern glass pill in the same location. */
body.home .nai-home-brand-menu,
body.front-page .nai-home-brand-menu {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 1px !important;
  max-width: min(680px, 50vw) !important;
  padding: 5px 7px !important;
  border: 1px solid rgba(255,255,255,.62) !important;
  border-radius: 999px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.70), rgba(237,246,253,.40)) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.88) inset,
    0 -1px 0 rgba(128,154,180,.18) inset,
    0 8px 22px rgba(18,42,68,.10) !important;
  backdrop-filter: saturate(170%) blur(8px) !important;
  -webkit-backdrop-filter: saturate(170%) blur(8px) !important;
  overflow: hidden !important;
}

body.home .nai-home-brand-menu a,
body.front-page .nai-home-brand-menu a {
  padding: 7px 9px !important;
  border-radius: 999px !important;
  border: 1px solid transparent !important;
  color: rgba(13,30,48,.90) !important;
  font-size: clamp(.52rem, .62vw, .68rem) !important;
  line-height: 1 !important;
  letter-spacing: .045em !important;
  font-weight: 850 !important;
  text-transform: uppercase !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.78) !important;
  transition: background .16s ease, border-color .16s ease, box-shadow .16s ease, transform .16s ease !important;
}

body.home .nai-home-brand-menu a:hover,
body.front-page .nai-home-brand-menu a:hover {
  background: rgba(255,255,255,.76) !important;
  border-color: rgba(74,105,132,.18) !important;
  box-shadow: 0 1px 0 rgba(255,255,255,.72) inset !important;
  transform: translateY(-1px) !important;
}

/* Homepage mobile button: same location, smaller/tighter glass. */
@media (max-width: 782px) {
  body.home .nai-home-menu-toggle,
  body.front-page .nai-home-menu-toggle {
    width: 68px !important;
    height: 68px !important;
    top: 15px !important;
    right: 10px !important;
    border-radius: 18px !important;
    border: 1px solid rgba(255,255,255,.66) !important;
    background:
      linear-gradient(180deg, rgba(255,255,255,.76), rgba(238,247,253,.46)) !important;
    box-shadow:
      0 1px 0 rgba(255,255,255,.88) inset,
      0 -1px 0 rgba(128,154,180,.18) inset,
      0 10px 26px rgba(18,42,68,.16) !important;
    backdrop-filter: saturate(170%) blur(8px) !important;
    -webkit-backdrop-filter: saturate(170%) blur(8px) !important;
  }

  body.home .nai-home-menu-toggle span,
  body.front-page .nai-home-menu-toggle span,
  body.home .nai-home-menu-toggle span::before,
  body.home .nai-home-menu-toggle span::after,
  body.front-page .nai-home-menu-toggle span::before,
  body.front-page .nai-home-menu-toggle span::after {
    width: 28px !important;
    height: 3px !important;
    border-radius: 99px !important;
    background: rgba(13,30,48,.92) !important;
  }

  body.home .nai-home-menu-toggle b,
  body.front-page .nai-home-menu-toggle b {
    font-size: 8px !important;
    letter-spacing: .115em !important;
  }

  body.home .nai-home-mobile-panel,
  body.front-page .nai-home-mobile-panel {
    border-radius: 22px 0 0 22px !important;
    background: rgba(255,255,255,.92) !important;
    backdrop-filter: saturate(180%) blur(14px) !important;
    -webkit-backdrop-filter: saturate(180%) blur(14px) !important;
  }

  body.home .nai-home-mobile-panel a,
  body.front-page .nai-home-mobile-panel a,
  body.home .nai-home-mobile-close,
  body.front-page .nai-home-mobile-close {
    border-radius: 16px !important;
    background: linear-gradient(180deg, rgba(255,255,255,.88), rgba(238,247,253,.64)) !important;
    box-shadow: 0 1px 0 rgba(255,255,255,.86) inset !important;
  }
}

/* Page-specific relevant hero images for subpages using current theme assets. */
body.page-id-0 { --nai-subpage-hero: url("/wp-content/themes/directory-child/assets/images/hero-directory.jpg"); }

body.page-slug-global-ai-pros,
body.page-id-global-ai-pros,
body[class*="global-ai-pros"] {
  --nai-subpage-hero: url("/wp-content/themes/directory-child/assets/images/hero-partnerships.jpg");
}

body[class*="nuclear-landman"],
body[class*="landman"],
body[class*="submit-land"] {
  --nai-subpage-hero: url("/wp-content/themes/directory-child/assets/images/hero-nuclear-landman.jpg");
}

body[class*="nuclear-ai-jobs"],
body[class*="jobs"] {
  --nai-subpage-hero: url("/wp-content/themes/directory-child/assets/images/hero-jobs-v3121.png");
}

body[class*="opportunities"],
body[class*="featured-projects"] {
  --nai-subpage-hero: url("/wp-content/themes/directory-child/assets/images/hero-opportunities.jpg");
}

body[class*="professional-services"] {
  --nai-subpage-hero: url("/wp-content/themes/directory-child/assets/images/hero-professional-services.jpg");
}

body[class*="energy-smr"],
body[class*="smr"] {
  --nai-subpage-hero: url("/wp-content/themes/directory-child/assets/images/hero-energy-smr.jpg");
}

body[class*="data-centers"] {
  --nai-subpage-hero: url("/wp-content/themes/directory-child/assets/images/hero-data-centers.jpg");
}

body[class*="advertising"] {
  --nai-subpage-hero: url("/wp-content/themes/directory-child/assets/images/hero-advertising.jpg");
}

body[class*="contact"] {
  --nai-subpage-hero: url("/wp-content/themes/directory-child/assets/images/hero-contact-network.jpg");
}

body[class*="blog"],
body[class*="news"] {
  --nai-subpage-hero: url("/wp-content/themes/directory-child/assets/images/hero-news.jpg");
}

/* Subpage active logo/menu: glassy small/tight menu, larger logo, similar to homepage. */
body:not(.home):not(.front-page) .nai-global-hero-nav {
  min-height: 126px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.82), rgba(255,255,255,.52) 62%, rgba(255,255,255,0)) !important;
}

body:not(.home):not(.front-page) .nai-global-hero-nav .nai-nav-inner {
  align-items: center !important;
  gap: clamp(.75rem, 1.7vw, 1.35rem) !important;
}

body:not(.home):not(.front-page) .nai-primary-menu > ul,
body:not(.home):not(.front-page) .nai-primary-menu .menu {
  gap: 1px !important;
  padding: 5px 7px !important;
  border: 1px solid rgba(255,255,255,.62) !important;
  border-radius: 999px !important;
  background: linear-gradient(180deg, rgba(255,255,255,.72), rgba(237,246,253,.42)) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.88) inset,
    0 -1px 0 rgba(128,154,180,.18) inset,
    0 8px 22px rgba(18,42,68,.10) !important;
  backdrop-filter: saturate(170%) blur(8px) !important;
  -webkit-backdrop-filter: saturate(170%) blur(8px) !important;
}

body:not(.home):not(.front-page) .nai-primary-menu a {
  padding: 7px 9px !important;
  border-radius: 999px !important;
  font-size: clamp(.52rem, .62vw, .68rem) !important;
  letter-spacing: .045em !important;
  font-weight: 850 !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.78) !important;
}

/* Subpage hero mimicry: broad cinematic hero image, logo/menu over top, text inside image. */
body:not(.home):not(.front-page) .nai-gap-hero,
body:not(.home):not(.front-page) .nai-page-hero,
body:not(.home):not(.front-page) .nai-hero,
body:not(.home):not(.front-page) .nuclear-page-hero,
body:not(.home):not(.front-page) .nuclear-master-hero,
body:not(.home):not(.front-page) main > section:first-child,
body:not(.home):not(.front-page) .wp-site-blocks > main > *:first-child {
  position: relative !important;
  min-height: clamp(520px, 72vh, 820px) !important;
  overflow: hidden !important;
  isolation: isolate !important;
  background-image:
    linear-gradient(90deg, rgba(242,248,255,.52), rgba(242,248,255,.22) 50%, rgba(242,248,255,.05)),
    var(--nai-subpage-hero, url("/wp-content/themes/directory-child/assets/images/hero-directory.jpg")) !important;
  background-size: cover, cover !important;
  background-position: left top, center center !important;
  background-repeat: no-repeat !important;
  border-bottom: 1px solid rgba(130,154,178,.22) !important;
}

body:not(.home):not(.front-page) .nai-gap-hero::before,
body:not(.home):not(.front-page) .nai-page-hero::before,
body:not(.home):not(.front-page) .nai-hero::before,
body:not(.home):not(.front-page) .nuclear-page-hero::before,
body:not(.home):not(.front-page) .nuclear-master-hero::before,
body:not(.home):not(.front-page) main > section:first-child::before,
body:not(.home):not(.front-page) .wp-site-blocks > main > *:first-child::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  pointer-events: none !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.62) 0%, rgba(255,255,255,.18) 26%, rgba(255,255,255,0) 54%),
    linear-gradient(90deg, rgba(255,255,255,.46), rgba(255,255,255,.16) 48%, rgba(255,255,255,0) 82%) !important;
}

/* Remove heavy boxes from subpage hero text where present, but keep page cards below untouched. */
body:not(.home):not(.front-page) .nai-gap-hero-copy,
body:not(.home):not(.front-page) .nai-page-hero__content,
body:not(.home):not(.front-page) .nuclear-page-hero__content,
body:not(.home):not(.front-page) main > section:first-child > .wp-block-group:first-child {
  position: relative !important;
  z-index: 2 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Subpage hero text: homepage-like clean typography with light shadow. */
body:not(.home):not(.front-page) .nai-gap-hero h1,
body:not(.home):not(.front-page) .nai-page-hero h1,
body:not(.home):not(.front-page) .nuclear-page-hero h1,
body:not(.home):not(.front-page) main > section:first-child h1 {
  color: #102033 !important;
  text-shadow:
    0 1px 0 rgba(255,255,255,.98),
    0 10px 28px rgba(255,255,255,.86),
    0 0 1px rgba(8,18,30,.34) !important;
}

body:not(.home):not(.front-page) .nai-gap-hero p,
body:not(.home):not(.front-page) .nai-page-hero p,
body:not(.home):not(.front-page) .nuclear-page-hero p,
body:not(.home):not(.front-page) main > section:first-child p {
  text-shadow:
    0 1px 0 rgba(255,255,255,.90),
    0 8px 22px rgba(255,255,255,.76) !important;
}

/* Keep subpage content from becoming oversized in non-hero cards. */
body:not(.home):not(.front-page) main > section:first-child + section,
body:not(.home):not(.front-page) main > section:nth-child(n+2) {
  min-height: auto !important;
  background-image: none !important;
}

/* Subpage mobile: larger logo, small glass hamburger, hero-like image treatment. */
@media (max-width: 782px) {
  body:not(.home):not(.front-page) .nai-mobile-toggle {
    width: 68px !important;
    height: 68px !important;
    top: 15px !important;
    right: 10px !important;
    border-radius: 18px !important;
    border: 1px solid rgba(255,255,255,.66) !important;
    background: linear-gradient(180deg, rgba(255,255,255,.76), rgba(238,247,253,.46)) !important;
    box-shadow:
      0 1px 0 rgba(255,255,255,.88) inset,
      0 -1px 0 rgba(128,154,180,.18) inset,
      0 10px 26px rgba(18,42,68,.16) !important;
    backdrop-filter: saturate(170%) blur(8px) !important;
    -webkit-backdrop-filter: saturate(170%) blur(8px) !important;
  }

  body:not(.home):not(.front-page) .nai-brand-link {
    top: 6px !important;
    left: 8px !important;
    right: 86px !important;
    width: calc(100vw - 104px) !important;
    max-width: calc(100vw - 104px) !important;
    height: 118px !important;
  }

  body:not(.home):not(.front-page) .nai-brand-img {
    width: calc(100vw - 110px) !important;
    max-width: calc(100vw - 110px) !important;
    max-height: 118px !important;
  }

  body:not(.home):not(.front-page) .nai-gap-hero,
  body:not(.home):not(.front-page) .nai-page-hero,
  body:not(.home):not(.front-page) .nai-hero,
  body:not(.home):not(.front-page) .nuclear-page-hero,
  body:not(.home):not(.front-page) .nuclear-master-hero,
  body:not(.home):not(.front-page) main > section:first-child,
  body:not(.home):not(.front-page) .wp-site-blocks > main > *:first-child {
    min-height: 100svh !important;
    padding-top: 132px !important;
    background-size: cover, auto 100% !important;
    background-position: left top, 62% top !important;
  }
}


/* ==========================================================
   v3.1.79 — MOBILE HEADLINE, SUBPAGE MENU FIX, ROGUE FOOTER REMOVAL,
   PAGE DEPTH + RELATED GEODIRECTORY SECTIONS
   ========================================================== */

/* Homepage title line control:
   desktop = 3 lines; mobile = 4 lines. */
.nai-title-break {
  display: block !important;
}
.nai-title-break-mobile {
  display: none !important;
}

@media (max-width: 782px) {
  .nai-title-break-mobile {
    display: block !important;
  }

  body.home .nuclear-master-hero__overlay,
  body.front-page .nuclear-master-hero__overlay {
    width: min(82vw, 520px) !important;
    max-width: min(82vw, 520px) !important;
  }

  body.home .nuclear-master-hero__title,
  body.front-page .nuclear-master-hero__title {
    font-size: clamp(2.0rem, 8.45vw, 3.05rem) !important;
    line-height: .94 !important;
    letter-spacing: -.055em !important;
  }
}

/* Remove rogue old subpage/footer brand/menu artifacts completely. */
.nai-subpage-brandbar,
.nai-subpage-menu-panel,
footer + .nai-global-hero-nav,
footer + .nai-global-hero-nav + .nai-mobile-panel,
.site-footer + .nai-global-hero-nav,
.site-footer + .nai-global-hero-nav + .nai-mobile-panel,
.wp-site-blocks > .nai-global-hero-nav:not(:first-child),
.wp-site-blocks > .nai-mobile-panel:not(:first-child) {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  height: 0 !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

/* Subpage menu must be clickable above all hero/media layers. */
body:not(.home):not(.front-page) .nai-global-hero-nav,
body:not(.home):not(.front-page) .nai-global-hero-nav * {
  pointer-events: auto !important;
}

body:not(.home):not(.front-page) .nai-global-hero-nav {
  z-index: 999990 !important;
}

body:not(.home):not(.front-page) .nai-mobile-toggle {
  z-index: 999995 !important;
  pointer-events: auto !important;
  cursor: pointer !important;
}

body:not(.home):not(.front-page) .nai-mobile-panel {
  z-index: 999999 !important;
  pointer-events: auto !important;
}

body.nai-menu-open .nai-mobile-panel {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Undo v3.1.78 overly broad subpage hero targeting for normal content blocks. */
body:not(.home):not(.front-page) main > section:first-child,
body:not(.home):not(.front-page) .wp-site-blocks > main > *:first-child {
  min-height: auto !important;
}

/* Only explicit hero/page-intro classes receive homepage-like hero treatment. */
body:not(.home):not(.front-page) .nai-gap-hero,
body:not(.home):not(.front-page) .nai-page-hero,
body:not(.home):not(.front-page) .nai-hero,
body:not(.home):not(.front-page) .nuclear-page-hero,
body:not(.home):not(.front-page) .nuclear-master-hero {
  min-height: clamp(520px, 72vh, 820px) !important;
  background-image:
    linear-gradient(90deg, rgba(242,248,255,.52), rgba(242,248,255,.22) 50%, rgba(242,248,255,.05)),
    var(--nai-subpage-hero, url("/wp-content/themes/directory-child/assets/images/hero-directory.jpg")) !important;
  background-size: cover, cover !important;
  background-position: left top, center center !important;
  background-repeat: no-repeat !important;
}

/* Some current pages use simple first image blocks/cover groups. Keep them clean and sized without huge whitespace. */
body:not(.home):not(.front-page) .entry-content > .wp-block-group:first-child,
body:not(.home):not(.front-page) .entry-content > .wp-block-cover:first-child {
  max-width: 100% !important;
  overflow: hidden !important;
}

/* Detailed content sections added to each key page. */
.nai-v3179-detail,
.nai-v3179-related {
  position: relative;
  background:
    radial-gradient(circle at 14% 0%, rgba(255,255,255,.96), rgba(255,255,255,0) 34%),
    linear-gradient(180deg, #f7fbff 0%, #eef5fb 100%);
  border-top: 1px solid rgba(120,145,170,.18);
  padding: clamp(2.8rem, 5vw, 4.6rem) 0;
  color: #102033;
}

.nai-v3179-related {
  background: linear-gradient(180deg, #ffffff 0%, #f3f8fc 100%);
}

.nai-v3179-shell {
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto;
}

.nai-v3179-kicker {
  margin: 0 0 .8rem;
  font-size: .76rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: rgba(54,78,104,.78);
  font-weight: 950;
}

.nai-v3179-detail h2,
.nai-v3179-related h2 {
  margin: 0 0 1rem;
  font-size: clamp(2.15rem, 4.7vw, 4.45rem);
  line-height: .96;
  letter-spacing: -.05em;
  text-transform: uppercase;
  font-weight: 950;
  color: #0d1b2c;
}

.nai-v3179-lead,
.nai-v3179-related .nai-v3179-shell > p:not(.nai-v3179-kicker) {
  max-width: 920px;
  margin: 0 0 1.35rem;
  font-size: clamp(1rem, 1.6vw, 1.18rem);
  line-height: 1.62;
  color: rgba(34,56,80,.92);
}

.nai-v3179-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1.4rem;
}

.nai-v3179-card,
.nai-v3179-listing-fallback article {
  position: relative;
  padding: clamp(1.15rem, 2vw, 1.55rem);
  border: 1px solid rgba(96,122,148,.28);
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(255,255,255,.88), rgba(241,248,253,.74));
  box-shadow:
    0 1px 0 rgba(255,255,255,.86) inset,
    0 14px 34px rgba(18,42,68,.09);
}

.nai-v3179-card::before,
.nai-v3179-listing-fallback article::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 3px;
  border-radius: 24px 24px 0 0;
  background: linear-gradient(90deg, #102033, #2d7dff, #78ff96, #e8edf2);
}

.nai-v3179-card span,
.nai-v3179-listing-fallback strong {
  display: block;
  margin-bottom: .55rem;
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: .76rem;
  font-weight: 950;
  color: #102033;
}

.nai-v3179-card p,
.nai-v3179-listing-fallback span {
  display: block;
  margin: 0;
  line-height: 1.55;
  color: rgba(44,66,90,.90);
}

.nai-v3179-listing-fallback {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1.4rem;
}

/* GeoDirectory feeds inside related sections should not overflow mobile. */
.nai-v3179-related .geodir-listings,
.nai-v3179-related .gd-listings,
.nai-v3179-related .row,
.nai-v3179-related [class*="geodir"] {
  max-width: 100% !important;
  box-sizing: border-box !important;
}

@media (max-width: 782px) {
  .nai-v3179-grid,
  .nai-v3179-listing-fallback {
    grid-template-columns: 1fr;
  }

  .nai-v3179-shell {
    width: min(100% - 24px, 1180px);
  }

  .nai-v3179-detail h2,
  .nai-v3179-related h2 {
    font-size: clamp(1.95rem, 9.2vw, 3.2rem);
  }

  .nai-v3179-detail,
  .nai-v3179-related {
    padding: 2.6rem 0;
  }

  body:not(.home):not(.front-page) .nai-mobile-panel {
    display: none;
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    width: min(92vw, 410px) !important;
    max-height: 100vh !important;
    overflow-y: auto !important;
    padding: 18px 16px 24px !important;
    background: rgba(255,255,255,.96) !important;
    backdrop-filter: saturate(180%) blur(14px) !important;
    -webkit-backdrop-filter: saturate(180%) blur(14px) !important;
    border-left: 1px solid rgba(80,105,130,.28) !important;
    box-shadow: -24px 0 62px rgba(18,42,68,.22) !important;
  }

  body.admin-bar:not(.home):not(.front-page) .nai-mobile-panel {
    top: 46px !important;
    max-height: calc(100vh - 46px) !important;
  }

  body.nai-menu-open:not(.home):not(.front-page) .nai-mobile-panel {
    display: grid !important;
    gap: 8px !important;
  }
}


/* v3.1.80 exact 4-line homepage headline */
.nai-title-break,
.nai-title-break-mobile { display:block !important; }


/* ==========================================================
   v3.1.81 — LOCK APPROVED HERO TEXT, ALIGN MENU, BUMP CTAS
   ========================================================== */

/* Locked headline structure. Do not override these breaks. */
body.home .nuclear-master-hero__title .nai-title-break,
body.home .nuclear-master-hero__title .nai-title-break-mobile,
body.front-page .nuclear-master-hero__title .nai-title-break,
body.front-page .nuclear-master-hero__title .nai-title-break-mobile {
  display: block !important;
}

/* Tiny homepage desktop menu alignment refinement only; location remains locked. */
@media (min-width: 783px) {
  body.home .nuclear-brand-row--hero,
  body.front-page .nuclear-brand-row--hero {
    align-items: center !important;
  }

  body.home .nai-home-brand-menu,
  body.front-page .nai-home-brand-menu {
    transform: translateY(-3px) !important;
    margin-left: clamp(.35rem, .85vw, .75rem) !important;
  }

  body.home .nuclear-brand-row--hero img,
  body.front-page .nuclear-brand-row--hero img,
  body.home .nuclear-brand-logo-image img,
  body.front-page .nuclear-brand-logo-image img {
    transform: translateY(-1px) !important;
  }
}

/* Mobile menu alignment: stay in same corner, just visually align with logo centerline. */
@media (max-width: 782px) {
  body.home .nai-home-menu-toggle,
  body.front-page .nai-home-menu-toggle {
    top: 13px !important;
    right: 10px !important;
  }

  body.home .nuclear-brand-row--hero,
  body.front-page .nuclear-brand-row--hero {
    align-items: center !important;
  }
}

/* CTAs move up to sit immediately under the hero image. */
body.home .nuclear-home-section--hero-actions,
body.front-page .nuclear-home-section--hero-actions {
  position: relative !important;
  z-index: 12 !important;
}

@media (min-width: 783px) {
  body.home .nuclear-home-section--hero-actions,
  body.front-page .nuclear-home-section--hero-actions {
    margin-top: -5.35rem !important;
    padding-top: 0 !important;
  }

  body.home .nuclear-cta-card,
  body.front-page .nuclear-cta-card {
    transform: translateY(-.35rem) !important;
  }
}

@media (max-width: 782px) {
  body.home .nuclear-home-section--hero-actions,
  body.front-page .nuclear-home-section--hero-actions {
    margin-top: -6.2rem !important;
    padding-top: 0 !important;
    padding-left: .85rem !important;
    padding-right: .85rem !important;
  }

  body.home .nuclear-cta-card,
  body.front-page .nuclear-cta-card {
    transform: translateY(-.45rem) !important;
  }
}

@media (max-width: 430px) {
  body.home .nuclear-home-section--hero-actions,
  body.front-page .nuclear-home-section--hero-actions {
    margin-top: -5.65rem !important;
  }
}


/* ==========================================================
   v3.1.82 — MENU FOCUS + CTA EDGE PLACEMENT
   Approved hero headline remains locked.
   ========================================================== */

/* Approved headline lock — no movement or line-break changes. */
body.home .nuclear-master-hero__title .nai-title-break,
body.home .nuclear-master-hero__title .nai-title-break-mobile,
body.front-page .nuclear-master-hero__title .nai-title-break,
body.front-page .nuclear-master-hero__title .nai-title-break-mobile {
  display: block !important;
}

/* Menu must always sit above hero layers and receive clicks. */
.nai-home-menu-toggle,
.nai-home-brand-menu,
.nai-home-mobile-panel,
.nai-global-hero-nav,
.nai-global-hero-nav *,
.nai-mobile-toggle,
.nai-mobile-panel {
  pointer-events: auto !important;
}

.nai-home-menu-toggle,
.nai-mobile-toggle {
  cursor: pointer !important;
  touch-action: manipulation !important;
  -webkit-tap-highlight-color: transparent !important;
}

body.home .nuclear-brand-row--hero,
body.front-page .nuclear-brand-row--hero {
  z-index: 99990 !important;
}

body.home .nai-home-menu-toggle,
body.front-page .nai-home-menu-toggle {
  z-index: 99995 !important;
}

body:not(.home):not(.front-page) .nai-global-hero-nav {
  z-index: 99990 !important;
}

body:not(.home):not(.front-page) .nai-mobile-toggle {
  z-index: 99995 !important;
}

/* Subpage mobile panel display/visibility fix. */
body:not(.home):not(.front-page) .nai-mobile-panel {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

body.nai-menu-open:not(.home):not(.front-page) .nai-mobile-panel {
  display: grid !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  gap: 8px !important;
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  z-index: 999999 !important;
  width: min(92vw, 410px) !important;
  max-height: 100vh !important;
  overflow-y: auto !important;
  padding: 18px 16px 24px !important;
  border-left: 1px solid rgba(80,105,130,.28) !important;
  border-radius: 22px 0 0 22px !important;
  background: rgba(255,255,255,.96) !important;
  box-shadow: -24px 0 62px rgba(18,42,68,.22) !important;
  backdrop-filter: saturate(180%) blur(14px) !important;
  -webkit-backdrop-filter: saturate(180%) blur(14px) !important;
}

body.admin-bar.nai-menu-open:not(.home):not(.front-page) .nai-mobile-panel {
  top: 46px !important;
  max-height: calc(100vh - 46px) !important;
}

body:not(.home):not(.front-page) .nai-mobile-panel a,
body:not(.home):not(.front-page) .nai-mobile-close {
  display: block !important;
  width: 100% !important;
  padding: 14px 15px !important;
  border: 1px solid rgba(80,105,130,.24) !important;
  border-radius: 16px !important;
  background: linear-gradient(180deg, rgba(255,255,255,.88), rgba(238,247,253,.64)) !important;
  color: #102033 !important;
  text-decoration: none !important;
  text-align: left !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
  font-weight: 900 !important;
}

body:not(.home):not(.front-page) .nai-mobile-close {
  text-align: center !important;
}

/* Homepage mobile menu panel display fix. */
body.home .nai-home-mobile-panel,
body.front-page .nai-home-mobile-panel {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

body.home.nai-home-menu-open .nai-home-mobile-panel,
body.front-page.nai-home-menu-open .nai-home-mobile-panel {
  display: grid !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  gap: 8px !important;
  z-index: 999999 !important;
}

/* Desktop menu alignment: tiny upward/center pass only. */
@media (min-width: 783px) {
  body.home .nai-home-brand-menu,
  body.front-page .nai-home-brand-menu {
    transform: translateY(-5px) !important;
    margin-left: clamp(.45rem, .95vw, .85rem) !important;
  }

  body:not(.home):not(.front-page) .nai-primary-menu > ul,
  body:not(.home):not(.front-page) .nai-primary-menu .menu {
    transform: translateY(-3px) !important;
  }
}

/* Mobile menu alignment: same location, cleaner visual alignment. */
@media (max-width: 782px) {
  body.home .nai-home-menu-toggle,
  body.front-page .nai-home-menu-toggle,
  body:not(.home):not(.front-page) .nai-mobile-toggle {
    top: 12px !important;
    right: 10px !important;
  }
}

/* CTAs brought up to the bottom edge of the hero. */
body.home .nuclear-home-section--hero-actions,
body.front-page .nuclear-home-section--hero-actions {
  position: relative !important;
  z-index: 30 !important;
  padding-top: 0 !important;
}

@media (min-width: 783px) {
  body.home .nuclear-home-section--hero-actions,
  body.front-page .nuclear-home-section--hero-actions {
    margin-top: -7.25rem !important;
  }

  body.home .nuclear-cta-card,
  body.front-page .nuclear-cta-card {
    transform: translateY(-.65rem) !important;
  }
}

@media (max-width: 782px) {
  body.home .nuclear-home-section--hero-actions,
  body.front-page .nuclear-home-section--hero-actions {
    margin-top: -8.05rem !important;
    padding-left: .85rem !important;
    padding-right: .85rem !important;
  }

  body.home .nuclear-cta-card,
  body.front-page .nuclear-cta-card {
    transform: translateY(-.75rem) !important;
  }
}

@media (max-width: 430px) {
  body.home .nuclear-home-section--hero-actions,
  body.front-page .nuclear-home-section--hero-actions {
    margin-top: -7.2rem !important;
  }
}

/* Prevent rogue duplicate menus/brandbars in footer region. */
body footer .nai-global-hero-nav,
body footer .nai-mobile-panel,
body footer .nai-home-mobile-panel,
body footer .nai-home-brand-menu,
body footer .nai-home-menu-toggle,
body .nai-subpage-brandbar,
body .nai-subpage-menu-panel {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
}


/* ==========================================================
   v3.1.83 — SUBPAGE MENU SHELL + HERO IMAGE + CTA EDGE FINAL
   ========================================================== */

/* Approved homepage headline remains locked. */
body.home .nuclear-master-hero__title .nai-title-break,
body.home .nuclear-master-hero__title .nai-title-break-mobile,
body.front-page .nuclear-master-hero__title .nai-title-break,
body.front-page .nuclear-master-hero__title .nai-title-break-mobile {
  display: block !important;
}

/* Homepage CTAs at the bottom edge of the hero, removing the white gap. */
body.home .nuclear-home-section--hero-actions,
body.front-page .nuclear-home-section--hero-actions {
  position: relative !important;
  z-index: 50 !important;
  padding-top: 0 !important;
  margin-bottom: 0 !important;
}

@media (min-width: 783px) {
  body.home .nuclear-home-section--hero-actions,
  body.front-page .nuclear-home-section--hero-actions {
    margin-top: -9.2rem !important;
  }

  body.home .nuclear-cta-card,
  body.front-page .nuclear-cta-card {
    transform: translateY(-1.15rem) !important;
  }
}

@media (max-width: 782px) {
  body.home .nuclear-home-section--hero-actions,
  body.front-page .nuclear-home-section--hero-actions {
    margin-top: -10.6rem !important;
    padding-left: .85rem !important;
    padding-right: .85rem !important;
  }

  body.home .nuclear-cta-card,
  body.front-page .nuclear-cta-card {
    transform: translateY(-1.15rem) !important;
  }
}

@media (max-width: 430px) {
  body.home .nuclear-home-section--hero-actions,
  body.front-page .nuclear-home-section--hero-actions {
    margin-top: -9.6rem !important;
  }
}

/* Make all hamburger shells visibly clickable, including subpages where the inner icon disappeared. */
.nai-mobile-toggle,
.nai-home-menu-toggle,
.nai-subpage-menu-toggle {
  position: absolute !important;
  z-index: 999995 !important;
  pointer-events: auto !important;
  cursor: pointer !important;
  touch-action: manipulation !important;
  -webkit-tap-highlight-color: transparent !important;
}

.nai-mobile-toggle {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-direction: column !important;
  gap: 5px !important;
  width: 68px !important;
  height: 68px !important;
  top: 12px !important;
  right: 10px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(255,255,255,.66) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.78), rgba(238,247,253,.50)) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.88) inset,
    0 -1px 0 rgba(128,154,180,.18) inset,
    0 10px 26px rgba(18,42,68,.16) !important;
  backdrop-filter: saturate(170%) blur(8px) !important;
  -webkit-backdrop-filter: saturate(170%) blur(8px) !important;
}

.nai-mobile-toggle span {
  display: none !important;
}

.nai-mobile-toggle::before {
  content: "" !important;
  display: block !important;
  width: 28px !important;
  height: 3px !important;
  border-radius: 99px !important;
  background: rgba(13,30,48,.92) !important;
  box-shadow: 0 9px 0 rgba(13,30,48,.92), 0 -9px 0 rgba(13,30,48,.92) !important;
}

.nai-mobile-toggle::after {
  content: "MENU" !important;
  display: block !important;
  margin-top: 5px !important;
  color: #102033 !important;
  font-size: 8px !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  letter-spacing: .115em !important;
  font-weight: 950 !important;
}

/* Subpage menu panel forced open when class is active. */
#nai-mobile-panel.nai-mobile-panel {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

body.nai-menu-open #nai-mobile-panel.nai-mobile-panel {
  display: grid !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  gap: 8px !important;
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  z-index: 999999 !important;
  width: min(92vw, 410px) !important;
  max-height: 100vh !important;
  overflow-y: auto !important;
  padding: 18px 16px 24px !important;
  border-left: 1px solid rgba(80,105,130,.28) !important;
  border-radius: 22px 0 0 22px !important;
  background: rgba(255,255,255,.96) !important;
  box-shadow: -24px 0 62px rgba(18,42,68,.22) !important;
  backdrop-filter: saturate(180%) blur(14px) !important;
  -webkit-backdrop-filter: saturate(180%) blur(14px) !important;
}

body.admin-bar.nai-menu-open #nai-mobile-panel.nai-mobile-panel {
  top: 46px !important;
  max-height: calc(100vh - 46px) !important;
}

#nai-mobile-panel.nai-mobile-panel a,
#nai-mobile-panel .nai-mobile-close {
  display: block !important;
  width: 100% !important;
  padding: 14px 15px !important;
  border: 1px solid rgba(80,105,130,.24) !important;
  border-radius: 16px !important;
  background: linear-gradient(180deg, rgba(255,255,255,.88), rgba(238,247,253,.64)) !important;
  color: #102033 !important;
  text-decoration: none !important;
  text-align: left !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
  font-weight: 900 !important;
}

#nai-mobile-panel .nai-mobile-close {
  text-align: center !important;
}

/* Page slug based hero images now reliable. */
body.page-slug-global-ai-pros { --nai-subpage-hero: url("/wp-content/themes/directory-child/assets/images/hero-partnerships.jpg"); }
body.page-slug-nuclear-landman,
body.page-slug-land,
body.page-slug-submit-land { --nai-subpage-hero: url("/wp-content/themes/directory-child/assets/images/hero-nuclear-landman.jpg"); }
body.page-slug-nuclear-ai-jobs,
body.page-slug-jobs { --nai-subpage-hero: url("/wp-content/themes/directory-child/assets/images/hero-jobs-v3121.png"); }
body.page-slug-opportunities,
body.page-slug-featured-projects { --nai-subpage-hero: url("/wp-content/themes/directory-child/assets/images/hero-opportunities.jpg"); }
body.page-slug-professional-services { --nai-subpage-hero: url("/wp-content/themes/directory-child/assets/images/hero-professional-services.jpg"); }
body.page-slug-energy-smr,
body.page-slug-smr { --nai-subpage-hero: url("/wp-content/themes/directory-child/assets/images/hero-energy-smr.jpg"); }
body.page-slug-data-centers { --nai-subpage-hero: url("/wp-content/themes/directory-child/assets/images/hero-data-centers.jpg"); }
body.page-slug-advertising { --nai-subpage-hero: url("/wp-content/themes/directory-child/assets/images/hero-advertising.jpg"); }
body.page-slug-contact-us,
body.page-slug-contact { --nai-subpage-hero: url("/wp-content/themes/directory-child/assets/images/hero-contact-network.jpg"); }
body.blog,
body.page-slug-blog,
body.page-slug-news { --nai-subpage-hero: url("/wp-content/themes/directory-child/assets/images/hero-news.jpg"); }

/* If a subpage hero lacks an image, force the relevant hero background onto the first visual hero area only. */
body:not(.home):not(.front-page) .nai-gap-hero,
body:not(.home):not(.front-page) .nai-page-hero,
body:not(.home):not(.front-page) .nai-hero,
body:not(.home):not(.front-page) .nuclear-page-hero,
body:not(.home):not(.front-page) .nuclear-master-hero {
  background-image:
    linear-gradient(90deg, rgba(242,248,255,.52), rgba(242,248,255,.22) 50%, rgba(242,248,255,.05)),
    var(--nai-subpage-hero, url("/wp-content/themes/directory-child/assets/images/hero-directory.jpg")) !important;
  background-size: cover, cover !important;
  background-position: left top, center center !important;
  background-repeat: no-repeat !important;
}

/* Clean old rogue subpage injected menus forever. */
.nai-subpage-brandbar,
.nai-subpage-menu-panel,
body footer .nai-global-hero-nav,
body footer .nai-mobile-panel,
body footer .nai-home-mobile-panel,
body footer .nai-home-brand-menu,
body footer .nai-home-menu-toggle {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  height: 0 !important;
  min-height: 0 !important;
  overflow: hidden !important;
}


/* ==========================================================
   v3.1.84 — ONE MOBILE MENU + HERO IMAGE FALLBACKS + CTA EDGE
   ========================================================== */

/* Approved headline remains locked. */
body.home .nuclear-master-hero__title .nai-title-break,
body.home .nuclear-master-hero__title .nai-title-break-mobile,
body.front-page .nuclear-master-hero__title .nai-title-break,
body.front-page .nuclear-master-hero__title .nai-title-break-mobile {
  display: block !important;
}

/* Hide every older mobile toggle/panel on mobile so only the unified menu shows. */
@media (max-width: 782px) {
  .nai-home-menu-toggle,
  .nai-mobile-toggle,
  .nai-subpage-menu-toggle,
  #nai-mobile-panel,
  #nai-home-mobile-panel,
  .nai-mobile-panel:not(#nai-unified-mobile-panel),
  .nai-home-mobile-panel:not(#nai-unified-mobile-panel),
  .nai-subpage-brandbar,
  .nai-subpage-menu-panel {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    height: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }
}

/* Unified menu button — one shell only, consistent on every mobile page. */
.nai-unified-menu-toggle {
  display: none;
}

@media (max-width: 782px) {
  .nai-unified-menu-toggle {
    display: inline-flex !important;
    position: absolute !important;
    top: 12px !important;
    right: 10px !important;
    z-index: 1000000 !important;
    width: 68px !important;
    height: 68px !important;
    align-items: center !important;
    justify-content: center !important;
    flex-direction: column !important;
    gap: 5px !important;
    border: 1px solid rgba(255,255,255,.66) !important;
    border-radius: 18px !important;
    background: linear-gradient(180deg, rgba(255,255,255,.78), rgba(238,247,253,.50)) !important;
    box-shadow:
      0 1px 0 rgba(255,255,255,.88) inset,
      0 -1px 0 rgba(128,154,180,.18) inset,
      0 10px 26px rgba(18,42,68,.16) !important;
    backdrop-filter: saturate(170%) blur(8px) !important;
    -webkit-backdrop-filter: saturate(170%) blur(8px) !important;
    cursor: pointer !important;
    pointer-events: auto !important;
    touch-action: manipulation !important;
    -webkit-tap-highlight-color: transparent !important;
    color: #102033 !important;
  }

  .nai-unified-menu-toggle span,
  .nai-unified-menu-toggle span::before,
  .nai-unified-menu-toggle span::after {
    display: block !important;
    content: "" !important;
    width: 28px !important;
    height: 3px !important;
    border-radius: 99px !important;
    background: rgba(13,30,48,.92) !important;
  }

  .nai-unified-menu-toggle span::before {
    transform: translateY(-9px) !important;
  }

  .nai-unified-menu-toggle span::after {
    transform: translateY(6px) !important;
  }

  .nai-unified-menu-toggle b {
    display: block !important;
    margin-top: 5px !important;
    color: #102033 !important;
    font-size: 8px !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
    letter-spacing: .115em !important;
    font-weight: 950 !important;
  }

  #nai-unified-mobile-panel {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  body.nai-unified-menu-open #nai-unified-mobile-panel {
    display: grid !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    gap: 8px !important;
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    z-index: 1000001 !important;
    width: min(92vw, 410px) !important;
    max-height: 100vh !important;
    overflow-y: auto !important;
    padding: 18px 16px 24px !important;
    border-left: 1px solid rgba(80,105,130,.28) !important;
    border-radius: 22px 0 0 22px !important;
    background: rgba(255,255,255,.96) !important;
    box-shadow: -24px 0 62px rgba(18,42,68,.22) !important;
    backdrop-filter: saturate(180%) blur(14px) !important;
    -webkit-backdrop-filter: saturate(180%) blur(14px) !important;
  }

  body.admin-bar.nai-unified-menu-open #nai-unified-mobile-panel {
    top: 46px !important;
    max-height: calc(100vh - 46px) !important;
  }

  #nai-unified-mobile-panel a,
  #nai-unified-mobile-panel .nai-unified-mobile-close {
    display: block !important;
    width: 100% !important;
    padding: 14px 15px !important;
    border: 1px solid rgba(80,105,130,.24) !important;
    border-radius: 16px !important;
    background: linear-gradient(180deg, rgba(255,255,255,.88), rgba(238,247,253,.64)) !important;
    color: #102033 !important;
    text-decoration: none !important;
    text-align: left !important;
    text-transform: uppercase !important;
    letter-spacing: .06em !important;
    font-weight: 900 !important;
  }

  #nai-unified-mobile-panel .nai-unified-mobile-close {
    text-align: center !important;
  }
}

/* Keep desktop menus unchanged; unified mobile button stays hidden above mobile breakpoint. */
@media (min-width: 783px) {
  .nai-unified-menu-toggle,
  #nai-unified-mobile-panel {
    display: none !important;
  }
}

/* Stronger CTA lift to the hero bottom edge. */
body.home .nuclear-home-section--hero-actions,
body.front-page .nuclear-home-section--hero-actions {
  position: relative !important;
  z-index: 70 !important;
  padding-top: 0 !important;
}

@media (min-width: 783px) {
  body.home .nuclear-home-section--hero-actions,
  body.front-page .nuclear-home-section--hero-actions {
    margin-top: -10.75rem !important;
  }

  body.home .nuclear-cta-card,
  body.front-page .nuclear-cta-card {
    transform: translateY(-1.65rem) !important;
  }
}

@media (max-width: 782px) {
  body.home .nuclear-home-section--hero-actions,
  body.front-page .nuclear-home-section--hero-actions {
    margin-top: -12.2rem !important;
    padding-left: .85rem !important;
    padding-right: .85rem !important;
  }

  body.home .nuclear-cta-card,
  body.front-page .nuclear-cta-card {
    transform: translateY(-1.65rem) !important;
  }
}

@media (max-width: 430px) {
  body.home .nuclear-home-section--hero-actions,
  body.front-page .nuclear-home-section--hero-actions {
    margin-top: -11.2rem !important;
  }
}

/* Reliable page/path-based hero image mapping. */
body.page-slug-global-ai-pros,
body.nai-path-global-ai-pros { --nai-subpage-hero: url("/wp-content/themes/directory-child/assets/images/hero-partnerships.jpg"); }

body.page-slug-nuclear-landman,
body.page-slug-land,
body.page-slug-submit-land,
body.nai-path-nuclear-landman { --nai-subpage-hero: url("/wp-content/themes/directory-child/assets/images/hero-nuclear-landman.jpg"); }

body.page-slug-nuclear-ai-jobs,
body.page-slug-jobs,
body.nai-path-nuclear-ai-jobs { --nai-subpage-hero: url("/wp-content/themes/directory-child/assets/images/hero-jobs-v3121.png"); }

body.page-slug-opportunities,
body.page-slug-featured-projects,
body.nai-path-opportunities { --nai-subpage-hero: url("/wp-content/themes/directory-child/assets/images/hero-opportunities.jpg"); }

body.page-slug-professional-services,
body.nai-path-professional-services { --nai-subpage-hero: url("/wp-content/themes/directory-child/assets/images/hero-professional-services.jpg"); }

body.page-slug-energy-smr,
body.page-slug-smr,
body.nai-path-energy-smr { --nai-subpage-hero: url("/wp-content/themes/directory-child/assets/images/hero-energy-smr.jpg"); }

body.page-slug-data-centers,
body.nai-path-data-centers { --nai-subpage-hero: url("/wp-content/themes/directory-child/assets/images/hero-data-centers.jpg"); }

body.page-slug-advertising,
body.nai-path-advertising { --nai-subpage-hero: url("/wp-content/themes/directory-child/assets/images/hero-advertising.jpg"); }

body.page-slug-contact-us,
body.page-slug-contact,
body.nai-path-contact { --nai-subpage-hero: url("/wp-content/themes/directory-child/assets/images/hero-contact-network.jpg"); }

body.blog,
body.page-slug-blog,
body.page-slug-news,
body.nai-path-news { --nai-subpage-hero: url("/wp-content/themes/directory-child/assets/images/hero-news.jpg"); }

body.search,
body.nai-path-search,
body.archive,
body.nai-path-archive { --nai-subpage-hero: url("/wp-content/themes/directory-child/assets/images/hero-directory.jpg"); }

/* Search/archive/GeoDirectory pages without a hero image get a soft hero background at the top. */
body.search .site-content,
body.search main,
body.archive .site-content,
body.archive main,
body[class*="geodir"] .site-content,
body[class*="geodir"] main {
  background-image:
    linear-gradient(180deg, rgba(255,255,255,.82) 0%, rgba(255,255,255,.30) 260px, rgba(255,255,255,1) 720px),
    var(--nai-subpage-hero, url("/wp-content/themes/directory-child/assets/images/hero-directory.jpg")) !important;
  background-size: cover, cover !important;
  background-position: left top, center top !important;
  background-repeat: no-repeat !important;
}

/* Explicit hero classes retain relevant images. */
body:not(.home):not(.front-page) .nai-gap-hero,
body:not(.home):not(.front-page) .nai-page-hero,
body:not(.home):not(.front-page) .nai-hero,
body:not(.home):not(.front-page) .nuclear-page-hero,
body:not(.home):not(.front-page) .nuclear-master-hero {
  background-image:
    linear-gradient(90deg, rgba(242,248,255,.52), rgba(242,248,255,.22) 50%, rgba(242,248,255,.05)),
    var(--nai-subpage-hero, url("/wp-content/themes/directory-child/assets/images/hero-directory.jpg")) !important;
  background-size: cover, cover !important;
  background-position: left top, center center !important;
  background-repeat: no-repeat !important;
}

/* Remove rogue legacy menu artifacts. */
.nai-subpage-brandbar,
.nai-subpage-menu-panel,
body footer .nai-global-hero-nav,
body footer .nai-mobile-panel,
body footer .nai-home-mobile-panel,
body footer .nai-home-brand-menu,
body footer .nai-home-menu-toggle {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  height: 0 !important;
  min-height: 0 !important;
  overflow: hidden !important;
}


/* ==========================================================
   v3.1.85 — SUBPAGE LOGO NUDGE ONLY
   Request:
   - Menu is perfect on subpages.
   - Only bump the subpage logo up a bit.
   - Do not change the menu behavior/location.
   ========================================================== */

@media (min-width: 783px) {
  body:not(.home):not(.front-page) .nai-brand-link {
    transform: translateY(-10px) !important;
  }

  body:not(.home):not(.front-page) .nai-brand-img {
    transform: translateY(-2px) !important;
  }
}

@media (max-width: 782px) {
  body:not(.home):not(.front-page) .nai-brand-link {
    top: -2px !important;
  }

  body:not(.home):not(.front-page) .nai-brand-img {
    transform: translateY(-7px) !important;
  }
}


/* ==========================================================
   v3.1.86 — PROPER PAGE HERO IMAGES + RELEVANT HERO COPY
   Homepage/menu remains untouched from v3.1.85.
   ========================================================== */

/* New standardized subpage hero. */
.nai-v3186-hero {
  position: relative;
  isolation: isolate;
  min-height: clamp(560px, 78vh, 860px);
  overflow: hidden;
  background-image:
    linear-gradient(180deg, rgba(255,255,255,.80) 0%, rgba(255,255,255,.18) 28%, rgba(255,255,255,0) 55%),
    linear-gradient(90deg, rgba(255,255,255,.56), rgba(255,255,255,.24) 44%, rgba(255,255,255,0) 82%),
    var(--nai-v3186-hero-image);
  background-size: cover, cover, cover;
  background-position: left top, left top, center center;
  background-repeat: no-repeat;
  border-bottom: 1px solid rgba(130,154,178,.22);
  margin: 0 0 clamp(1.25rem, 3vw, 2rem);
}

.nai-v3186-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(16,32,51,.055) 1px, transparent 1px),
    linear-gradient(180deg, rgba(16,32,51,.045) 1px, transparent 1px);
  background-size: 56px 56px;
  mask-image: linear-gradient(90deg, #000, transparent 80%);
}

.nai-v3186-hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  z-index: 0;
  height: 190px;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(239,246,252,0) 0%, rgba(239,246,252,.96) 100%);
}

.nai-v3186-hero__inner {
  position: relative;
  z-index: 2;
  width: min(1420px, calc(100% - 34px));
  min-height: inherit;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: clamp(8.5rem, 12vw, 10rem) 0 clamp(4rem, 6vw, 5.5rem);
}

.nai-v3186-hero__content {
  width: min(800px, 62vw);
  color: #102033;
}

.nai-v3186-kicker {
  margin: 0 0 .75rem;
  color: rgba(40,66,94,.88);
  text-transform: uppercase;
  letter-spacing: .22em;
  font-size: clamp(.70rem, .9vw, .88rem);
  line-height: 1.25;
  font-weight: 950;
  text-shadow: 0 1px 0 rgba(255,255,255,.90), 0 8px 22px rgba(255,255,255,.74);
}

.nai-v3186-hero h1 {
  margin: 0 0 1rem;
  color: #0d1b2c;
  text-transform: uppercase;
  letter-spacing: -.058em;
  line-height: .92;
  font-weight: 950;
  font-size: clamp(3.15rem, 6vw, 6.4rem);
  text-shadow:
    0 1px 0 rgba(255,255,255,.98),
    0 10px 28px rgba(255,255,255,.86),
    0 0 1px rgba(8,18,30,.36);
}

.nai-v3186-dek {
  max-width: 780px;
  margin: 0;
  color: rgba(24,44,66,.94);
  font-size: clamp(1.03rem, 1.55vw, 1.28rem);
  line-height: 1.52;
  font-weight: 560;
  text-shadow: 0 1px 0 rgba(255,255,255,.94), 0 10px 26px rgba(255,255,255,.78);
}

.nai-v3186-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .72rem;
  margin-top: 1.35rem;
}

.nai-v3186-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: .76rem 1rem;
  border: 1px solid rgba(16,32,51,.42);
  border-radius: 999px;
  background: rgba(255,255,255,.68);
  box-shadow: 0 1px 0 rgba(255,255,255,.86) inset, 0 8px 22px rgba(18,42,68,.09);
  backdrop-filter: saturate(170%) blur(8px);
  -webkit-backdrop-filter: saturate(170%) blur(8px);
  color: #102033 !important;
  text-decoration: none !important;
  text-transform: uppercase;
  letter-spacing: .06em;
  font-size: .72rem;
  line-height: 1;
  font-weight: 920;
}

.nai-v3186-btn-primary {
  background: linear-gradient(180deg, rgba(255,255,255,.88), rgba(179,211,241,.78)) !important;
}

/* Hide older top hero blocks immediately after the new authoritative hero. */
.nai-v3186-hero + .nai-gap-hero,
.nai-v3186-hero + .nai-page-hero,
.nai-v3186-hero + .nai-hero,
.nai-v3186-hero + .nuclear-page-hero,
.nai-v3186-hero + .nuclear-master-hero,
.nai-v3186-hero + .wp-block-cover,
.nai-v3186-hero + .wp-block-group:has(.nuclear-page-hero),
.nai-v3186-hero + .wp-block-group:has(.nai-page-hero) {
  display: none !important;
}

/* New strategic detail / related listing blocks. */
.nai-v3186-detail,
.nai-v3186-related {
  padding: clamp(3rem, 5vw, 4.75rem) 0;
  background: linear-gradient(180deg, #f7fbff, #edf5fb);
  color: #102033;
  border-top: 1px solid rgba(120,145,170,.18);
}

.nai-v3186-related {
  background: linear-gradient(180deg, #ffffff, #f3f8fc);
}

.nai-v3186-shell {
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto;
}

.nai-v3186-detail h2,
.nai-v3186-related h2 {
  margin: 0 0 1rem;
  font-size: clamp(2.1rem, 4.7vw, 4.4rem);
  line-height: .96;
  letter-spacing: -.052em;
  text-transform: uppercase;
  font-weight: 950;
  color: #0d1b2c;
}

.nai-v3186-lead,
.nai-v3186-related .nai-v3186-shell > p:not(.nai-v3186-kicker) {
  max-width: 920px;
  margin: 0 0 1.35rem;
  font-size: clamp(1rem, 1.6vw, 1.18rem);
  line-height: 1.62;
  color: rgba(34,56,80,.92);
}

.nai-v3186-cards,
.nai-v3186-feed-fallback {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1.4rem;
}

.nai-v3186-cards article,
.nai-v3186-feed-fallback article {
  position: relative;
  padding: clamp(1.15rem, 2vw, 1.55rem);
  border: 1px solid rgba(96,122,148,.28);
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(255,255,255,.88), rgba(241,248,253,.74));
  box-shadow: 0 1px 0 rgba(255,255,255,.86) inset, 0 14px 34px rgba(18,42,68,.09);
}

.nai-v3186-cards article::before,
.nai-v3186-feed-fallback article::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 3px;
  border-radius: 24px 24px 0 0;
  background: linear-gradient(90deg, #102033, #2d7dff, #78ff96, #e8edf2);
}

.nai-v3186-cards strong,
.nai-v3186-feed-fallback strong {
  display: block;
  margin-bottom: .55rem;
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: .76rem;
  font-weight: 950;
  color: #102033;
}

.nai-v3186-cards span,
.nai-v3186-feed-fallback span {
  display: block;
  line-height: 1.55;
  color: rgba(44,66,90,.90);
}

/* Mobile: same premium hero with page-specific image and readable text. */
@media (max-width: 782px) {
  .nai-v3186-hero {
    min-height: 100svh;
    background-size: cover, cover, auto 100%;
    background-position: left top, left top, 62% top;
    margin-bottom: 1rem;
  }

  .nai-v3186-hero__inner {
    width: min(100% - 24px, 760px);
    padding: 8.2rem 0 3.4rem;
    align-items: flex-end;
  }

  .nai-v3186-hero__content {
    width: min(84vw, 560px);
  }

  .nai-v3186-hero h1 {
    font-size: clamp(2.28rem, 10vw, 4rem);
    line-height: .94;
  }

  .nai-v3186-dek {
    font-size: clamp(.92rem, 3.6vw, 1.08rem);
    line-height: 1.42;
  }

  .nai-v3186-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: .6rem;
  }

  .nai-v3186-btn {
    width: 100%;
  }

  .nai-v3186-cards,
  .nai-v3186-feed-fallback {
    grid-template-columns: 1fr;
  }

  .nai-v3186-shell {
    width: min(100% - 24px, 1180px);
  }
}

/* Archive/search pages still get correct top hero-image atmosphere. */
body.search .site-content,
body.search main,
body.archive .site-content,
body.archive main,
body[class*="geodir"] .site-content,
body[class*="geodir"] main {
  background-image:
    linear-gradient(180deg, rgba(255,255,255,.85) 0%, rgba(255,255,255,.34) 260px, rgba(255,255,255,1) 720px),
    var(--nai-subpage-hero, url("/wp-content/themes/directory-child/assets/images/hero-directory.jpg")) !important;
  background-size: cover, cover !important;
  background-position: left top, center top !important;
  background-repeat: no-repeat !important;
}
