/* MINE */

:root {
    --prism-card-bg: rgba(17,17,17,0.84);
}

/* Keep the site constrained, but centered */
#page,
.site,
.site-content,
.content-area,
.site-main,
.inside-article,
.entry-content {
  margin-left: auto;
  margin-right: auto;
}

/* Make sure your custom wrapper also centers correctly */
.prism-content-wrap {
  width: 100%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}

/* Prevent any stray element from creating fake extra canvas width */
html,
body {
  overflow-x: hidden;
}

/* PRIMARY BUTTON */
.wp-block-button.prism-btn-primary .wp-block-button__link {
    position: relative;
    overflow: hidden;

    background-color: #142A9F !important;
    color: #FFFFFF !important;

    text-transform: uppercase;
    font-weight: 500;
    letter-spacing: 0.5px;

    padding: 16px 32px;
    min-height: 56px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    box-shadow: inset 2.5px 0 0 #AB954A !important;

    border: none;
    border-radius: 0 !important;

    text-decoration: none !important;

    transition:
        background-color 0.25s ease,
        box-shadow 0.25s ease,
        transform 0.18s ease;
}

/* BUTTON SHEEN */
.wp-block-button.prism-btn-primary .wp-block-button__link::after {
    content: "";
    position: absolute;
    top: 0;
    left: -35%;
    width: 22%;
    height: 100%;
    background: linear-gradient(
        100deg,
        rgba(255,255,255,0) 0%,
        rgba(255,255,255,0.10) 45%,
        rgba(255,255,255,0.22) 50%,
        rgba(255,255,255,0.10) 55%,
        rgba(255,255,255,0) 100%
    );
    transform: skewX(-22deg);
    transition: left 0.45s ease;
    pointer-events: none;
}

/* PRIMARY BUTTON HOVER */
.wp-block-button.prism-btn-primary .wp-block-button__link:hover {
    background-color: #132790 !important;
    color: #FFFFFF !important;
    text-decoration: none !important;

    box-shadow: inset 3px 0 0 #AB954A !important;
    transform: translateY(-1px);
}

.wp-block-button.prism-btn-primary .wp-block-button__link:hover::after {
    left: 115%;
}

/* ACTIVE CLICK FEEL */
.wp-block-button.prism-btn-primary .wp-block-button__link:active {
    transform: translateY(0);
}

/* SECONDARY BUTTON */
.wp-block-button.prism-btn-secondary .wp-block-button__link {
    background-color: transparent !important;
    color: #FFFFFF !important;
    text-transform: uppercase;
    font-weight: 500;
    letter-spacing: 0.5px;
    padding: 16px 32px;
    border: 1px solid rgba(255,255,255,0.20);
    border-radius: 0 !important;
    box-shadow: none !important;
    text-decoration: none;
}

/* SECONDARY BUTTON HOVER */
.wp-block-button.prism-btn-secondary .wp-block-button__link:hover {
    background-color: #161818 !important;
    color: #FFFFFF !important;
    border-color: rgba(255,255,255,0.18) !important;
    text-decoration: none !important;
}

/* LIGHT MODE SECONDARY BUTTON HOVER FIX */
html.prism-light-mode .wp-block-button.prism-btn-secondary .wp-block-button__link:hover {
    background-color: #eef2f7 !important;
    color: #0f172a !important;
    border-color: rgba(30,41,59,0.28) !important;
}

.wp-block-button__link {
    transition: all .28s ease;
}

.wp-block-buttons {
    gap: 16px;
}

/* BUILT ON PRACTICAL EXPERIENCE LIST */

.prism-philosophy-points {
    display: flex;
    flex-direction: column;
    gap: 24px;
    margin-top: 42px;
}

.prism-philosophy-item {
    display: flex;
    align-items: flex-start;
    gap: 16px;
}

.prism-philosophy-dot {
    position: relative;
    flex: 0 0 18px;
    width: 18px;
    height: 18px;
    
    /* muted gold like the boxes */
    border: 1px solid rgba(171,149,74,0.35);

    border-radius: 50%;

    top: 3.75px;

    box-sizing: border-box;

    transform: scale(1);
    transition: border-color 0.25s ease, transform 0.25s ease;
}

.prism-philosophy-dot::after {
    content: "";
    position: absolute;

    top: 50%;
    left: 50%;

    width: 8px;
    height: 8px;

    border-radius: 50%;

    background: #AB954A;

    transform: translate(-50%, -50%) scale(0.2);
    opacity: 0;

    transition: transform 0.25s ease, opacity 0.25s ease;
}

/* hover state */
.prism-philosophy-item:hover .prism-philosophy-dot {
    border-color: #AB954A;
	  transform: scale(1.05);
}

.prism-philosophy-item:hover .prism-philosophy-dot::after {
    transform: translate(-50%, -50%) scale(1);
    opacity: 1;
}

.prism-philosophy-text {
    color: rgba(255,255,255,0.82);
    font-size: 1.02rem;
    line-height: 1.42;
    font-weight: 600;
    transition: color 0.25s ease;
}

.prism-philosophy-item:hover .prism-philosophy-text {
    color: #ffffff;
}

/* LIGHT MODE PHILOSOPHY TEXT FIX */
html.prism-light-mode .prism-philosophy-text {
    color: #1e293b !important;
}

html.prism-light-mode .prism-philosophy-item:hover .prism-philosophy-text {
    color: #0f172a !important;
}

/* LIGHT MODE DOT VISIBILITY */
html.prism-light-mode .prism-philosophy-dot {
    border-color: rgba(30,41,59,0.25) !important;
}

html.prism-light-mode .prism-philosophy-dot::after {
    background: #AB954A !important;
}



@import url('https://fonts.googleapis.com/css2?family=Azeret+Mono:wght@400;500;600&display=swap');

/* BASE MONOTEXT STYLE FOR REAL H6 LABELS */
h6.wp-block-heading.prism-ui-monotext {
    font-family: "Azeret Mono", monospace !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    font-style: normal !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    line-height: 1.4em !important;
    letter-spacing: 0.1em !important;
    margin-top: 0 !important;
    margin-bottom: 20px !important;
    color: rgba(171,149,74,0.85) !important;
}

/*TERMINAL FONT FOR SERVICES SECTION*/
.prism-azeret-mono {
    font-family: "Azeret Mono", monospace !important;
    font-weight: 400;
    letter-spacing: 0.02em;
}

/* =========================
   SERVICES CARDS
========================= */

/* =========================
   GRID FADE
===========================*/
.prism-services-grid-fade {
    position: relative;
    overflow: visible;
}

.prism-services-grid-fade::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 1;
    background: radial-gradient(
        circle at center,
        rgba(0,0,0,0) 38%,
        rgba(0,0,0,0.10) 62%,
        rgba(0,0,0,0.24) 78%,
        rgba(0,0,0,0.48) 90%,
        rgba(0,0,0,72) 100%
    );
}

.prism-services-grid-fade .prism-services-grid,
.prism-services-grid-fade .prism-service-card,
.prism-services-grid-fade .prism-service-card-inner {
    position: relative;
    z-index: 2;
}

.prism-services-grid-fade .gb-shape-divider {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    opacity: 0.22;
}


/* =========================
   END GRID FADE
===========================*/



.prism-services-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.prism-service-card {
    min-width: 0;
    cursor: pointer;
}

.prism-service-card:focus-visible .prism-service-card-inner {
    outline: 2px solid #AB954A;
    outline-offset: 2px;
}

.prism-service-card-inner {
    position: relative;
    min-height: 364px;
    padding: 32px 32px 28px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    border: 1px solid rgba(255,255,255,0.07);
    background:
        linear-gradient(
            90deg,
            rgba(20,42,159,0.08) 0%,
            rgba(20,42,159,0.04) 16%,
            rgba(20,42,159,0.00) 34%
        ),
        linear-gradient(
            180deg,
            rgba(255,255,255,0.012) 0%,
            rgba(255,255,255,0.00) 100%
        ),
        var(--prism-card-bg);
    overflow: hidden;
    transition:
        border-color 0.24s ease,
        transform 0.24s ease,
        box-shadow 0.28s ease,
        background 0.32s ease;
}

.prism-service-card-inner::before {
    content: "";
    position: absolute;
    top: 0;
    left: -35%;
    width: 18%;
    height: 100%;
    background: linear-gradient(
        100deg,
        rgba(255,255,255,0) 0%,
        rgba(255,255,255,0.04) 35%,
        rgba(255,255,255,0.12) 50%,
        rgba(255,255,255,0.04) 65%,
        rgba(255,255,255,0) 100%
    );
    transform: skewX(-22deg);
    pointer-events: none;
    opacity: 0.7;
    animation: prism-service-sheen 7.5s ease-in-out infinite;
}

@keyframes prism-service-sheen {
    0% {
        left: -35%;
        opacity: 0;
    }
    8% {
        opacity: 0.7;
    }
    18% {
        left: 120%;
        opacity: 0;
    }
    100% {
        left: 120%;
        opacity: 0;
    }
}

.prism-service-icon-wrap {
    margin-bottom: 30px;
}

.prism-service-icon {
    width: 48px;
    height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,0.045);
    color: #c6ad5b;
    transition:
        background-color 0.18s ease 0.02s,
        color 0.18s ease 0.02s,
        box-shadow 0.24s ease 0.02s,
        transform 0.24s ease 0.02s;
}

.prism-service-icon svg {
    width: 22px;
    height: 22px;
    display: block;
}

.prism-service-card h3 {
    margin: 0 0 18px;
    max-width: 300px;
    min-height: 40px;
    color: #ffffff;
    font-size: 20px;
    line-height: 1.30;
    font-weight: 700;
    letter-spacing: 0.em;
    transition: color 0.18s ease 0.04s;
}

.prism-service-points {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 4px;
}

.prism-service-points li {
    position: relative;
    padding-left: 14px;
    color: #838187;
    font-size: 14px;
    line-height: 1.45;
    font-weight: 400;
    transition: color 0.18s ease 0.06s;
}

.prism-service-points li::before {
    content: "";
    position: absolute;
    top: 0.62em;
    left: 0;
    width: 4px;
    height: 4px;
    background: #c6ad5b;
    transform: translateY(-50%);
}

.prism-service-divider {
    width: 100%;
    margin: 22px 0 18px;
    height: 1px;
    background: linear-gradient(
        90deg,
        rgba(255,255,255,0.08) 0%,
        rgba(255,255,255,0.035) 72%,
        rgba(255,255,255,0.00) 100%
    );
}

.prism-service-copy {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    color: #838187;
    font-size: 14px;
    line-height: 1.65;
    font-weight: 300;
	  max-width: 285px;
    transition:
        max-height 0.7s ease,
        opacity 0.6s ease,
        margin 0.9s ease;
}

.prism-service-expand {
    margin-top: auto;
    padding-top: 16px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #c6ad5b;
    font-family: "Azeret Mono", monospace;
    font-size: 12px;
    letter-spacing: 0.04em;
    line-height: 1;
    text-transform: uppercase;
    opacity: 1;
    transform: translateY(0);
    transition:
        color 0.4s ease,
        opacity 0.5s ease,
        transform 0.5s ease;
}

.prism-service-card:hover .prism-service-expand {
    opacity: 0;
    transform: translateY(6px);
    pointer-events: none;
}

.prism-service-expand-arrow {
    position: relative;
    width: 14px;
    height: 12px;
    flex: 0 0 14px;
    display: inline-block;
}

/* arrow shaft */
.prism-service-expand-arrow::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 5px;
    height: 1px;
    background: currentColor;
    transform: translateY(-50%);
    transition: transform 0.22s cubic-bezier(0.4, 0, 0.2, 1);
}

/* arrow head */
.prism-service-expand-arrow::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 7px;
    width: 5px;
    height: 5px;
    border-top: 1.5px solid currentColor;
    border-right: 1.5px solid currentColor;
    transform: translateY(-50%) rotate(45deg);
    transition: transform 0.22s cubic-bezier(0.4, 0, 0.2, 1);
}

.prism-service-corner {
    position: absolute;
    top: 0;
    right: 0;
    width: 42px;
    height: 42px;
    background: #c6ad5b;
    clip-path: polygon(100% 0, 0 100%, 100% 100%);
    opacity: 0;
    transition: opacity 0.28s ease;
    pointer-events: none;
}

.prism-service-card:hover .prism-service-card-inner {
    transform: translateY(-2px);
    border-color: rgba(198,173,91,0.72);
    box-shadow: 0 16px 30px rgba(0,0,0,0.22);
}

.prism-service-card:hover .prism-service-icon {
    background: #142A9F;
    color: #ffffff;
    box-shadow: 0 0 0 1px rgba(20,42,159,0.24);
    transform: translateY(-1px);
}

.prism-service-card:hover h3 {
    color: #c6ad5b;
}

.prism-service-card:hover .prism-service-points li {
    color: #8f8b93;
}

.prism-service-card:hover .prism-service-copy {
    max-height: 230px;
    opacity: 1;
    margin-bottom: 0;
}

.prism-service-card:hover .prism-service-corner {
    opacity: 1;
}

.prism-service-card:hover .prism-service-expand-arrow::before {
    transform: translateY(-50%) translateX(2px);
}

.prism-service-card:hover .prism-service-expand-arrow::after {
    transform: translateY(-50%) rotate(45deg) translateX(2px);
}

@media (max-width: 1100px) {
    .prism-services-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .prism-services-grid {
        grid-template-columns: 1fr;
    }

    .prism-service-card-inner {
        min-height: auto;
        padding: 28px 24px 24px;
    }

    .prism-service-card h3 {
        max-width: 100%;
    }

    .prism-service-copy {
        max-height: none;
        opacity: 1;
    }

    .prism-service-corner {
        opacity: 0;
    }
}



/* =========================
   END SERVICES CARDS SECTION
========================= */

/* =========================
   SEPARATOR ANCHORS SECTION
========================= */

#prism-about-anchor,
#prism-services-anchor,
#prism-experience-anchor,
#prism-methodology-anchor,
#prism-contact-anchor {
    scroll-margin-top: 0px;
}

/* =========================
   END SEPARATOR ANCHORS SECTION
========================= */





/* MATCHED STYLE FOR THE INLINE LABEL PARAGRAPH */
p.prism-ui-monotext.prism-inline-fake-h6 {
    font-family: "Azeret Mono", monospace !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    font-style: normal !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    line-height: 1 !important;
    letter-spacing: 0.1em !important;
    margin: 0 !important;
    color: rgba(171,149,74,0.85) !important;
}

/* HERO TOP MONOTEXT DASH */
h6.wp-block-heading.prism-ui-monotext.prism-ui-dash {
    display: inline-flex;
    align-items: center;
}

h6.wp-block-heading.prism-ui-monotext.prism-ui-dash::before {
    content: "";
    display: inline-block;
    width: 48px;
    height: 1px;
    background-color: #AB954A;
    margin-right: 0px;
    flex-shrink: 0;
}

h6.wp-block-heading.prism-ui-monotext.prism-typing-line {
    display: inline-flex;
    align-items: center;
}

h6.wp-block-heading.prism-ui-monotext.prism-ui-dash::before,
h6.wp-block-heading.prism-ui-monotext.prism-typing-line.prism-ui-dash::before {
    content: "";
    display: inline-block;
    width: 48px;
    height: 1px;
    background-color: #AB954A;
    margin-right: 1em;
    flex-shrink: 0;
}

.prism-typing-wrap {
    display: inline-block;
    white-space: nowrap;
}

.prism-cursor {
    display: inline-block;
    width: 2px;
    height: 1em;
    background-color: #AB954A;
    margin-left: 2px;
    vertical-align: -0.08em;
    animation: prism-blink 1.2s steps(1, end) infinite;
}

@keyframes prism-blink {
    0%, 50% { opacity: 1; }
    50.01%, 100% { opacity: 0; }
}

.wp-block-separator {
    border: none;
    height: 1px;
    max-width: none;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    margin: 0px 0;
    background: linear-gradient(
        90deg,
        transparent,
        #AB954A,
        #AB954A,
        transparent
    );
    opacity: 0.35;
}

@media (max-width: 768px) {
    .prism-hero-buttons {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 16px;
    }

    .prism-hero-buttons .wp-block-button {
        width: 100%;
    }

    .prism-hero-buttons .wp-block-button__link {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
        box-sizing: border-box;
    }
}

.prism-hero-center {
    max-width: 720px;
    width: 100%;
}

.prism-hero-heading {
    background: linear-gradient(
        173deg,
        #ffffff 0%,
        #f0f0f0 50%,
        #bdbdbd 66%,
        #86848A 78%
    );
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    font-weight: 600;
    line-height: 1.08;
    letter-spacing: -0.02em;
    max-width: 760px;
}

/* SHARED CONTENT WRAPPER */
.prism-content-wrap {
    width: min(1280px, calc(100% - 64px));
    margin-left: auto;
    margin-right: auto;
}

/* HERO SECTION */
.prism-hero-section {
    padding-top: clamp(120px, 18vh, 220px);
    padding-bottom: 140px;
}

.prism-hero-copy {
    max-width: none;
}

.prism-hero-text {
    max-width: 680px;
}

/* MOBILE */
@media (max-width: 768px) {
    .prism-content-wrap {
        width: calc(100% - 40px);
    }

    .prism-hero-section {
        padding-top: 80px;
        padding-bottom: 100px;
    }

    .prism-hero-copy,
    .prism-hero-heading,
    .prism-hero-text,
    .prism-hero-center {
        max-width: 100%;
    }
}


.prism-guide-bg {
  position: relative;
  background-color: var(--base-2);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1600 900' fill='none'%3E%3Cline x1='390' y1='0' x2='390' y2='680' stroke='%234e4e4e' stroke-width='2' stroke-dasharray='7 4' opacity='0.2'/%3E%3Cline x1='805' y1='0' x2='805' y2='900' stroke='%234e4e4e' stroke-width='2' stroke-dasharray='7 4' opacity='0.2'/%3E%3Cline x1='0' y1='235' x2='1195' y2='235' stroke='%234e4e4e' stroke-width='2' stroke-dasharray='7 4' opacity='0.2'/%3E%3Cline x1='0' y1='462' x2='1600' y2='462' stroke='%234e4e4e' stroke-width='2' stroke-dasharray='7 4' opacity='0.2'/%3E%3Ccircle cx='390' cy='235' r='8' fill='%234e4e4e' opacity='0.2'/%3E%3Ccircle cx='805' cy='462' r='8' fill='%234e4e4e' opacity='0.2'/%3E%3C/svg%3E");
  background-repeat: repeat;
  background-position: -900px -60px;
  background-size: 800px 450px;
}


/* =========================
   PTTX METHOD
========================= */

.prism-method-section {
    background: transparent;
    overflow: hidden;
}

.prism-method-heading {
    text-align: center;
    margin-bottom: 56px;
}

.prism-method-heading .prism-ui-monotext {
    margin-bottom: 18px !important;
}

.prism-method-title {
    margin: 0;
    text-align: center;
}

.prism-method-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    column-gap: 64px;
    row-gap: 48px;
    align-items: start;
}

.prism-method-item {
    position: relative;
    min-width: 0;
}

/* top area for box + connector line */
.prism-method-top {
    position: relative;
    height: 96px;
    margin-bottom: 30px;
}

/* connector line from each step to the next */
.prism-method-top::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 96px;
    right: -64px;
    height: 1px;
    background: rgba(131,129,135,0.18);
    transform: translateY(-50%);
    z-index: 0;
    transition:
        background 0.28s ease,
        box-shadow 0.28s ease,
        opacity 0.28s ease;
}

/* hovered step = faded forward segment */
.prism-method-item.is-current .prism-method-top::after {
    background: linear-gradient(
        90deg,
        rgba(171,149,74,0.95) 0%,
        rgba(171,149,74,0.72) 55%,
        rgba(171,149,74,0.18) 82%,
        rgba(171,149,74,0.00) 100%
    );
    box-shadow: 0 0 8px rgba(171,149,74,0.18);
}

/* passed steps = solid completed segments */
.prism-method-item.is-complete .prism-method-top::after {
    background: rgba(171,149,74,0.95);
    box-shadow: 0 0 8px rgba(171,149,74,0.18);
}

/* no connector after final item */
.prism-method-item:last-child .prism-method-top::after {
    display: none;
}

.prism-method-box {
    position: relative;
    z-index: 1;
    width: 96px;
    height: 96px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: 1px solid rgba(131,129,135,0.16);
    box-sizing: border-box;
    transition:
        border-color 0.28s ease,
        box-shadow 0.28s ease,
        transform 0.28s ease;
}

.prism-method-box span {
    font-family: "Poppins", sans-serif;
    font-size: 24px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.02em;
    color: rgba(131,129,135,0.42);
    transition:
        color 0.28s ease,
        text-shadow 0.28s ease;
}

/* hover effect */
.prism-method-item:hover .prism-method-box {
    border-color: rgba(171,149,74,0.90);
    box-shadow:
        inset 0 0 0 1px rgba(171,149,74,0.05),
        0 0 14px rgba(171,149,74,0.08);
    transform: translateY(-1px);
}

.prism-method-item:hover .prism-method-box span {
    color: rgba(171,149,74,0.95);
    text-shadow:
        0 0 6px rgba(171,149,74,0.34),
        0 0 14px rgba(171,149,74,0.18),
        0 0 22px rgba(171,149,74,0.08);
}

.prism-method-item h3 {
    margin: 0 0 8px;
	  color: #ffffff;
}

/* keep your existing monotext look */
.prism-method-item .prism-ui-monotext {
    margin-bottom: 18px !important;
}

/* optional width control for paragraphs */
.prism-method-item p {
    margin-top: 0;
    margin-bottom: 0;
	  font-size: 14px;
	  line-height: 1.5;
	  max-width: 240px;
	  font-weight: 300;
}

/* tablet */
@media (max-width: 1100px) {
    .prism-method-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 48px;
        row-gap: 56px;
    }
	
	    .prism-method-top::after {
        left: calc(50% + 48px);
        right: -50%;
    }

    .prism-method-item:nth-child(2) .prism-method-top::after,
    .prism-method-item:nth-child(4) .prism-method-top::after {
        display: none;
    }
}


/* TABLET - CENTER PTTX METHOD TEXT */
@media (max-width: 1100px) {
    .prism-method-item {
        text-align: center;
    }

    .prism-method-box {
        margin-left: auto;
        margin-right: auto;
    }

    .prism-method-item h3,
    .prism-method-item .prism-ui-monotext,
    .prism-method-item p {
        text-align: center;
    }

    .prism-method-item p {
        margin-left: auto;
        margin-right: auto;
    }
}




/* mobile stacked */
@media (max-width: 768px) {
    .prism-method-section {
        padding: 56px 0 64px;
    }

    .prism-method-grid {
        grid-template-columns: 1fr;
        row-gap: 54px;
    }

    .prism-method-top {
        height: 88px;
        margin-bottom: 26px;
    }

    .prism-method-top::after {
        display: none;
    }

    .prism-method-box {
        width: 88px;
        height: 88px;
    }

    .prism-method-box span {
        font-size: 22px;
    }

    .prism-method-item {
        text-align: center;
    }

    .prism-method-box {
        margin-left: auto;
        margin-right: auto;
    }

    .prism-method-item h2,
    .prism-method-item .prism-ui-monotext,
    .prism-method-item p {
        text-align: center;
    }
}

/* METHODOLOGY HEADING SPACING */
.prism-method-heading .prism-ui-monotext {
    height: 15px;
    max-height: 15px;
    line-height: 15px;
}

/* CLIENT FEEDBACK SECTION */
.prism-feedback-section {
    position: relative;
    padding: 60px 0px 0px 0px;
    border-top: 1px solid rgba(255,255,255,0.05);
    background: transparent;
}

.prism-feedback-grid {
    display: grid;
    grid-template-columns: 360px 1fr;
    gap: 44px;
    align-items: start;
}

.prism-feedback-intro {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.prism-feedback-eyebrow {
    margin-bottom: 18px !important;
}

.prism-feedback-title {
    margin: 0 0 18px !important;
    font-size: clamp(34px, 4vw, 48px);
    line-height: 1.05;
    letter-spacing: -0.03em;
}

.prism-feedback-copy {
    margin: 0;
    max-width: 300px;
    color: #838187;
    font-size: 16px;
    line-height: 1.55;
}

.prism-feedback-trust-row {
    margin-top: 28px;
    display: inline-flex;
    flex-direction: column;
    gap: 8px;
    padding: 16px 18px;
    border: 1px solid rgba(255,255,255,0.08);
    background: rgba(255,255,255,0.02);
}

.prism-feedback-stars {
    color: #AB954A;
    font-size: 18px;
    letter-spacing: 0.18em;
    line-height: 1;
}

.prism-feedback-trust-label {
    color: #e9edf1;
    font-size: 13px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.prism-feedback-card-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.prism-feedback-card {
    background: #050505;
    border: 1px solid rgba(255,255,255,0.08);
    padding: 34px 32px 30px;
    min-height: 300px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.prism-feedback-card:hover {
    transform: translateY(-4px);
    border-color: rgba(171,149,74,0.45);
    box-shadow: 0 14px 34px rgba(0,0,0,0.22);
}

.prism-feedback-quote {
    margin: 20px 0 0;
    color: #838187;
    font-size: 16px;
	  font-weight: 400;
    line-height: 1.48;
    font-style: italic;
}

.prism-feedback-client-name {
    margin: 26px 0 4px;
    font-size: 14px;
    font-weight: 700;
    color: #ffffff;
}

.prism-feedback-client-role {
    margin: 0;
    color: #AB954A;
    font-size: 12px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.prism-feedback-badge-wrap {
    margin-top: 28px;
    display: flex;
    justify-content: center;
}

.prism-feedback-badge {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    background: #ffffff;
    color: #202124;
    border-radius: 999px;
    padding: 12px 18px;
    font-size: 14px;
    box-shadow: 0 10px 28px rgba(0,0,0,0.18);
}

.prism-feedback-badge-logo {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #00b67a;
    color: #ffffff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 15px;
    flex: 0 0 auto;
    text-transform: lowercase;
}

.prism-feedback-badge small {
    display: block;
    color: #5f6368;
    font-size: 11px;
    line-height: 1.2;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.prism-feedback-note {
    margin-top: 18px;
    text-align: center;
    color: #97a0a9;
    font-size: 13px;
}

@media (max-width: 980px) {
    .prism-feedback-grid {
        grid-template-columns: 1fr;
    }

    .prism-feedback-copy {
        max-width: 680px;
    }
}

@media (max-width: 760px) {
    .prism-feedback-card-grid {
        grid-template-columns: 1fr;
    }

    .prism-feedback-section {
        padding: 64px 20px;
    }
}

.prism-feedback-widget-anchor + .wp-block-shortcode,
.prism-feedback-widget-wrap {
    margin-top: 28px;
    display: flex;
    justify-content: center;
}

/* =========================
   VERIFIED TRUST - CARD READABILITY OVER FIXED BACKGROUND
========================= */

.gb-element-1a71af15 .prism-feedback-card {
    background: rgba(5, 5, 5, 0.72) !important;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);

    border: 1px solid rgba(255,255,255,0.10) !important;

    box-shadow:
        0 18px 40px rgba(0,0,0,0.28),
        inset 0 1px 0 rgba(255,255,255,0.04);
}



/* =========================
   END LIGHT MODE - FEATURE PARITY POLISH
========================= */

/* FLUENT FORM WRAPPER */
/* PRISM CONTACT FORM SHELL */
.prism-contact-shell {
    position: relative;
    background: #202022;
    border: 1px solid rgba(255,255,255,0.05);
    padding: 56px 48px 48px;
    box-sizing: border-box;
}

/* TOP BLUE LINE */
.prism-contact-shell::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background: #142A9F;
}

/* FORM SPACING */
.prism-contact-shell .fluentform {
    margin: 0;
}

.prism-contact-shell .ff-el-group {
    margin-bottom: 26px;
}

/* TWO COLUMN ROWS */
.prism-contact-shell .ff-t-cell {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.prism-contact-shell .ff-t-container {
    gap: 26px;
}

/* LABELS */
.prism-contact-shell .ff-el-form-label,
.prism-contact-shell .ff-el-input--label label,
.prism-contact-shell .ff-el-is-required.asterisk-right label {
    display: block;
    margin-bottom: 12px !important;
    color: #838187 !important;
    font-family: "Azeret Mono", monospace !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    font-weight: 400 !important;
}

/* REQUIRED ASTERISK */
.prism-contact-shell .ff-el-form-label .text-danger,
.prism-contact-shell .ff-el-input--label .text-danger,
.prism-contact-shell .asterisk-right .text-danger {
    color: #d96b6b !important;
}

/* INPUTS, SELECTS, TEXTAREAS */
.prism-contact-shell .ff-el-form-control,
.prism-contact-shell input[type="text"],
.prism-contact-shell input[type="email"],
.prism-contact-shell input[type="url"],
.prism-contact-shell input[type="tel"],
.prism-contact-shell select,
.prism-contact-shell textarea {
    width: 100% !important;
    background: #000000 !important;
    border: 1px solid rgba(255,255,255,0.10) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: #ffffff !important;
    font-family: "Inter", sans-serif !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;
    transition: border-color 0.2s ease, box-shadow 0.25s ease, color 0.2s ease, background-color 0.2s ease !important;
}

/* SINGLE LINE FIELD HEIGHT */
.prism-contact-shell input[type="text"],
.prism-contact-shell input[type="email"],
.prism-contact-shell input[type="url"],
.prism-contact-shell input[type="tel"],
.prism-contact-shell select,
.prism-contact-shell .ff-el-form-control:not(textarea) {
    min-height: 48px !important;
    height: 48px !important;
    padding: 0 16px !important;
}

/* TEXTAREA */
.prism-contact-shell textarea {
    min-height: 150px !important;
    padding: 14px 16px !important;
    resize: vertical !important;
}

/* PLACEHOLDERS */
.prism-contact-shell input::placeholder,
.prism-contact-shell textarea::placeholder {
    color: #68666B !important;
    opacity: 1 !important;
}

/* HOVER */
.prism-contact-shell input:hover,
.prism-contact-shell select:hover,
.prism-contact-shell textarea:hover,
.prism-contact-shell .ff-el-form-control:hover {
    border-color: rgba(255,255,255,0.18) !important;
}

/* FOCUS (PREMIUM INPUT EFFECT) */
.prism-contact-shell input:focus,
.prism-contact-shell select:focus,
.prism-contact-shell textarea:focus,
.prism-contact-shell .ff-el-form-control:focus {
    outline: none !important;
    border-color: #AB954A !important;

    box-shadow:
        0 0 0 1px rgba(171,149,74,0.35),
        0 0 10px rgba(171,149,74,0.15) !important;

    color: #ffffff !important;
    background: #000000 !important;
}





/* SERVICES NEEDED CHECKBOX FIELD */
.prism-contact-shell .prism-services-checks .ff-el-form-check-wrap,
.prism-contact-shell .prism-services-checks .ff-el-checkbox-group {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    align-items: flex-start !important;
}

/* EACH OPTION WRAPPER */
.prism-contact-shell .prism-services-checks .ff-el-form-check {
    display: inline-flex !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    width: auto !important;
    max-width: 100% !important;
}

/* HIDE DEFAULT CHECKBOX */
.prism-contact-shell .prism-services-checks .ff-el-form-check input[type="checkbox"] {
    position: absolute !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* DARK THEME BUTTON LOOK */
.prism-contact-shell .prism-services-checks .ff-el-form-check label,
.prism-contact-shell .prism-services-checks .ff-el-form-check .ff-el-form-check-label {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 10px 16px !important;
    box-sizing: border-box !important;

    background: #000000 !important;
    border: 1px solid rgba(255,255,255,0.10) !important;
    border-radius: 0 !important;
    box-shadow: none !important;

    color: #68666B  !important;
    font-family: "Inter", sans-serif !important;
    font-size: 15px !important;
    line-height: 1.2 !important;
    font-weight: 500 !important;
    text-align: center !important;
    white-space: nowrap !important;

    position: relative !important;
    cursor: pointer !important;

    transition:
        background-color 0.2s ease,
        border-color 0.2s ease,
        color 0.2s ease,
        box-shadow 0.2s ease !important;
}

/* REMOVE INNER DEFAULT WHITE CHIP STYLES */
.prism-contact-shell .prism-services-checks .ff-el-form-check label *,
.prism-contact-shell .prism-services-checks .ff-el-form-check .ff-el-form-check-label * {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    color: inherit !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* HOVER */
.prism-contact-shell .prism-services-checks .ff-el-form-check:hover label,
.prism-contact-shell .prism-services-checks .ff-el-form-check:hover .ff-el-form-check-label {
    border-color: rgba(255,255,255,0.22) !important;
    color: #ffffff !important;
    background: #0a0a0a !important;
}

/* FOCUS */
.prism-contact-shell .prism-services-checks .ff-el-form-check:focus-within label,
.prism-contact-shell .prism-services-checks .ff-el-form-check:focus-within .ff-el-form-check-label {
    border-color: #AB954A !important;
    box-shadow:
        0 0 0 1px rgba(171,149,74,0.28),
        0 0 10px rgba(171,149,74,0.10) !important;
}

/* CHECKED STATE */
.prism-contact-shell .prism-services-checks .ff-el-form-check:has(input[type="checkbox"]:checked) label,
.prism-contact-shell .prism-services-checks .ff-el-form-check:has(input[type="checkbox"]:checked) .ff-el-form-check-label {
    background: #142A9F !important;
    border-color: #AB954A !important;
    color: #ffffff !important;
    box-shadow: inset 2.5px 0 0 #AB954A !important;
}

/* SELECTED BUTTON MICRO ANIMATION */
.prism-contact-shell .prism-services-checks .ff-el-form-check label,
.prism-contact-shell .prism-services-checks .ff-el-form-check .ff-el-form-check-label {
    transform: translateY(0);
}

.prism-contact-shell .prism-services-checks .ff-el-form-check:has(input[type="checkbox"]:checked) label,
.prism-contact-shell .prism-services-checks .ff-el-form-check:has(input[type="checkbox"]:checked) .ff-el-form-check-label {
    transform: translateY(-1px);
	transition: all 0.18s ease;
}

/* MOBILE */
@media (max-width: 768px) {
    .prism-contact-shell .prism-services-checks .ff-el-form-check-wrap,
    .prism-contact-shell .prism-services-checks .ff-el-checkbox-group {
        gap: 8px !important;
    }

    .prism-contact-shell .prism-services-checks .ff-el-form-check label,
    .prism-contact-shell .prism-services-checks .ff-el-form-check .ff-el-form-check-label {
        white-space: normal !important;
    }
}

/* FORCE SIZE FOR THEME TOGGLE ICON (SUN + ARROW) */
.prism-theme-toggle button svg {
    width: 24px !important;
    height: 24px !important;
    min-width: 20px !important;
    min-height: 20px !important;
    display: block !important;
}

/* MAKE SURE ICON COLOR MATCHES */
.prism-theme-toggle button svg {
    color: #ffffff !important;
    fill: currentColor !important;
    stroke: currentColor !important;
}

.prism-theme-toggle button * {
    width: 20px !important;
    height: 20px !important;
}

button.prism-theme-toggle-floating svg {
    display: block !important;
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    min-height: 18px !important;
    flex: 0 0 18px !important;
}

/* START THEME BUTTON SECTION */

/* HERO BUTTON BAR - TRANSPARENT BACKGROUND */
.gb-element-fdd9fc22 {
    background-color: transparent !important;
}

/* LIGHT MODE HERO HEADING FIX */
html.prism-light-mode .prism-hero-heading {
    background: none !important;
    -webkit-background-clip: border-box !important;
    -webkit-text-fill-color: #1e293b !important;
    background-clip: border-box !important;
    color: #1e293b !important;
}

/* LIGHT MODE HERO BUTTON BAR FIX */
html.prism-light-mode .gb-element-fdd9fc22 {
    background-color: transparent !important;
}

/* LIGHT MODE HERO SECONDARY BUTTON FIX */
html.prism-light-mode .prism-hero-section .wp-block-button.prism-btn-secondary .wp-block-button__link {
    background-color: transparent !important;
    color: #1e293b !important;
    border: 1px solid rgba(30,41,59,0.28) !important;
    box-shadow: none !important;
}

html.prism-light-mode .prism-hero-section .wp-block-button.prism-btn-secondary .wp-block-button__link:hover {
    background-color: rgba(15,23,42,0.06) !important;
    color: #0f172a !important;
    border-color: rgba(30,41,59,0.42) !important;
}

/* GLOBAL LIGHT MODE BASE */
html.prism-light-mode,
html.prism-light-mode body {
  background: #ffffff !important;
  color: #000000 !important;
}

/* FORCE DARK SECTIONS TO LIGHT */
html.prism-light-mode .prism-hero-section,
html.prism-light-mode .prism-guide-bg,
html.prism-light-mode .prism-footer-section,
html.prism-light-mode .prism-footer-bottom,
html.prism-light-mode .gb-element-14a3c465,
html.prism-light-mode .gb-element-32740112,
html.prism-light-mode .gb-element-1a71af15,
html.prism-light-mode #prism-services,
html.prism-light-mode #prism-contact,
html.prism-light-mode #prism-methodology,
html.prism-light-mode #prism-experience,
html.prism-light-mode #prism-about {
  background: #f5f5f5 !important;
}

/* TEXT ADJUSTMENTS */
html.prism-light-mode h1,
html.prism-light-mode h2,
html.prism-light-mode h3,
html.prism-light-mode h4,
html.prism-light-mode p,
html.prism-light-mode li {
  color: #000000 !important;
}

html.prism-light-mode .prism-ui-monotext {
  color: #AB954A !important;
}

/* LIGHT MODE CONTACT PANEL */
html.prism-light-mode .prism-contact-shell {
  background: #ffffff !important;
  border: 1px solid rgba(0,0,0,0.08) !important;
  box-shadow:
    0 10px 30px rgba(0,0,0,0.08),
    inset 0 1px 0 rgba(0,0,0,0.02) !important;
}

html.prism-light-mode .prism-contact-shell .ff-el-form-control,
html.prism-light-mode .prism-contact-shell input[type="text"],
html.prism-light-mode .prism-contact-shell input[type="email"],
html.prism-light-mode .prism-contact-shell input[type="url"],
html.prism-light-mode .prism-contact-shell input[type="tel"],
html.prism-light-mode .prism-contact-shell select,
html.prism-light-mode .prism-contact-shell textarea {
  background: #ffffff !important;
  border: 1px solid rgba(0,0,0,0.14) !important;
  color: #000000 !important;
}

html.prism-light-mode .prism-contact-shell .prism-services-checks .ff-el-form-check label,
html.prism-light-mode .prism-contact-shell .prism-services-checks .ff-el-form-check .ff-el-form-check-label {
  background: #ffffff !important;
  border: 1px solid rgba(0,0,0,0.14) !important;
  color: #000000 !important;
}

html.prism-light-mode .prism-contact-shell .prism-services-checks .ff-el-form-check:hover label,
html.prism-light-mode .prism-contact-shell .prism-services-checks .ff-el-form-check:hover .ff-el-form-check-label {
  background: #f5f5f5 !important;
  border-color: rgba(0,0,0,0.22) !important;
  color: #000000 !important;
}

html.prism-light-mode .prism-contact-shell .prism-services-checks .ff-el-form-check:has(input[type="checkbox"]:checked) label,
html.prism-light-mode .prism-contact-shell .prism-services-checks .ff-el-form-check:has(input[type="checkbox"]:checked) .ff-el-form-check-label {
  background: #142A9F !important;
  border-color: #AB954A !important;
  color: #ffffff !important;
  box-shadow: inset 2.5px 0 0 #AB954A !important;
}

/* LIGHT MODE - keep gold default */
html.prism-light-mode .prism-op-trigger,
html.prism-light-mode .prism-op-trigger-text,
html.prism-light-mode .prism-op-trigger-icon {
    color: #c6ad5b !important;
}

/* LIGHT MODE - hover turns black */
html.prism-light-mode .prism-op-trigger:hover,
html.prism-light-mode .prism-op-trigger:hover .prism-op-trigger-text,
html.prism-light-mode .prism-op-trigger:hover .prism-op-trigger-icon,
html.prism-light-mode .prism-op-trigger:hover .prism-op-trigger-icon::before {
    color: #000000 !important;
    border-color: #000000 !important;
}

/* LIGHT MODE - smooth fade for Operational Experience trigger */
html.prism-light-mode .prism-op-trigger,
html.prism-light-mode .prism-op-trigger-text,
html.prism-light-mode .prism-op-trigger-icon,
html.prism-light-mode .prism-op-trigger-icon::before {
    transition:
        color 0.28s ease,
        border-color 0.28s ease,
        opacity 0.28s ease,
        transform 0.35s ease,
        top 0.35s ease !important;
}


/* LIGHT MODE - VERIFIED TRUST TEXT FIX */

/* Verified Reviews default */
html.prism-light-mode .gb-element-1a71af15 .prism-feedback-trigger,
html.prism-light-mode .gb-element-1a71af15 .prism-feedback-trigger:visited,
html.prism-light-mode .gb-element-1a71af15 .prism-feedback-trigger:active,
html.prism-light-mode .gb-element-1a71af15 .prism-feedback-trigger:focus,
html.prism-light-mode .gb-element-1a71af15 .prism-feedback-trigger-label,
html.prism-light-mode .gb-element-1a71af15 .prism-feedback-trigger-icon {
    color: rgba(255,255,255,0.82) !important;
}

/* Verified Reviews hover */
html.prism-light-mode .gb-element-1a71af15 .prism-feedback-trigger:hover,
html.prism-light-mode .gb-element-1a71af15 .prism-feedback-trigger:hover .prism-feedback-trigger-label,
html.prism-light-mode .gb-element-1a71af15 .prism-feedback-trigger:hover .prism-feedback-trigger-icon {
    color: #ffffff !important;
}

/* Confidential Client */
html.prism-light-mode .prism-feedback-client-name {
    color: #0f172a !important;
}

/* LIGHT MODE - VERIFIED PLATFORM CARD TEXT FIX */
html.prism-light-mode .gb-element-1a71af15 .prism-feedback-platform-trigger,
html.prism-light-mode .gb-element-1a71af15 .prism-feedback-platform-trigger:visited,
html.prism-light-mode .gb-element-1a71af15 .prism-feedback-platform-trigger:active,
html.prism-light-mode .gb-element-1a71af15 .prism-feedback-platform-trigger:focus {
    color: #d7d7d7 !important;
}

html.prism-light-mode .gb-element-1a71af15 .prism-feedback-platform-title {
    color: #ffffff !important;
}

html.prism-light-mode .gb-element-1a71af15 .prism-feedback-platform-status {
    color: #838187 !important;
}

html.prism-light-mode .gb-element-1a71af15 .prism-feedback-platform-trigger-icon {
    color: #ffffff !important;
}

html.prism-light-mode .gb-element-1a71af15 .prism-feedback-platform-trigger:hover,
html.prism-light-mode .gb-element-1a71af15 .prism-feedback-platform-trigger:hover .prism-feedback-platform-title,
html.prism-light-mode .gb-element-1a71af15 .prism-feedback-platform-trigger:hover .prism-feedback-platform-status,
html.prism-light-mode .gb-element-1a71af15 .prism-feedback-platform-trigger:hover .prism-feedback-platform-trigger-icon {
    color: #ffffff !important;
}


/* LIGHT MODE CONTACT INFO VALUES ONLY */
html.prism-light-mode #prism-contact .prism-wix-feature-item .prism-wix-feature-text p,
html.prism-light-mode #prism-contact .prism-wix-feature-item .prism-wix-feature-text p a,
html.prism-light-mode #prism-contact .prism-wix-feature-item .prism-wix-feature-text a {
    color: #0f172a !important;
}

/* =========================
   LIGHT MODE - SERVICES CARDS
========================= */

html.prism-light-mode .prism-service-card-inner {
    background:
        linear-gradient(
            90deg,
            rgba(20,42,159,0.05) 0%,
            rgba(20,42,159,0.025) 16%,
            rgba(20,42,159,0.00) 34%
        ),
        linear-gradient(
            180deg,
            rgba(255,255,255,0.18) 0%,
            rgba(255,255,255,0.00) 100%
        ),
        rgba(229,231,235,0.88) !important;

    border: 1px solid rgba(15,23,42,0.10) !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.35),
        0 0 0 rgba(0,0,0,0) !important;
}

html.prism-light-mode .prism-service-card h3,
html.prism-light-mode .prism-service-points li,
html.prism-light-mode .prism-service-copy {
    color: #555656  !important;
}

html.prism-light-mode .prism-service-divider {
    background: linear-gradient(
        90deg,
        rgba(255,255,255,0.42) 0%,
        rgba(255,255,255,0.18) 72%,
        rgba(255,255,255,0.00) 100%
    ) !important;
}

html.prism-light-mode .prism-service-expand {
    color: #AB954A !important;
}

html.prism-light-mode .prism-service-icon {
    background: rgba(255,255,255,0.14) !important;
    color: #AB954A !important;
}

html.prism-light-mode .prism-service-card:hover .prism-service-card-inner {
    border-color: rgba(171,149,74,0.42) !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.40),
        0 16px 30px rgba(15,23,42,0.10) !important;
}

html.prism-light-mode .prism-service-card:hover .prism-service-icon {
    background: #142A9F !important;
    color: #ffffff !important;
}

html.prism-light-mode .prism-service-card:hover h3 {
    color: #AB954A !important;
}

html.prism-light-mode .prism-service-card:hover .prism-service-points li,
html.prism-light-mode .prism-service-card:hover .prism-service-copy {
    color: #000000 !important;
}

/* reverse the grid fade for light mode */
html.prism-light-mode .prism-services-grid-fade::after {
    background: radial-gradient(
        circle at center,
        rgba(255,255,255,0) 38%,
        rgba(255,255,255,0.12) 62%,
        rgba(255,255,255,0.30) 78%,
        rgba(255,255,255,0.58) 90%,
        rgba(255,255,255,0.90) 100%
    ) !important;
}

/* reverse the shape itself for light mode */
html.prism-light-mode .prism-services-grid-fade .gb-shape-divider {
    opacity: 0.16 !important;
    filter: invert(1) brightness(1.55) !important;
}


/* =========================
   LIGHT MODE - BLUE GLASS PHOTO TREATMENT
   Targets section image locations instead of WordPress image IDs
========================= */

/* Shared treatment for the three main section photos */
html.prism-light-mode #prism-about figure.wp-block-image img,
html.prism-light-mode .gb-element-32740112 figure.wp-block-image img,
html.prism-light-mode #prism-experience figure.wp-block-image img {
    filter:
        grayscale(10%)
        contrast(0.96)
        brightness(1.04)
        saturate(0.88) !important;

    opacity: 0.96;
    transition:
        filter 0.45s ease,
        opacity 0.45s ease,
        transform 0.45s ease;
}

/* Creates the light-mode glass-blue overlay containers */
html.prism-light-mode #prism-about figure.wp-block-image,
html.prism-light-mode .gb-element-32740112 figure.wp-block-image,
html.prism-light-mode #prism-experience figure.wp-block-image {
    position: relative;
    overflow: hidden;
    isolation: isolate;
}

/* Soft shared blue glass wash */
html.prism-light-mode #prism-about figure.wp-block-image::after,
html.prism-light-mode .gb-element-32740112 figure.wp-block-image::after,
html.prism-light-mode #prism-experience figure.wp-block-image::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 2;

    background:
        linear-gradient(
            135deg,
            rgba(20,42,159,0.12) 0%,
            rgba(255,255,255,0.10) 44%,
            rgba(171,149,74,0.04) 100%
        );

    mix-blend-mode: soft-light;
    opacity: 0.58;

    transition:
        opacity 0.45s ease,
        background 0.45s ease;
}

/* Keeps the images beneath the glass wash */
html.prism-light-mode #prism-about figure.wp-block-image img,
html.prism-light-mode .gb-element-32740112 figure.wp-block-image img,
html.prism-light-mode #prism-experience figure.wp-block-image img {
    position: relative;
    z-index: 1;
    display: block;
}

/* =========================
   LIGHT MODE - EXTRA BOOST FOR TECHNICAL PHILOSOPHY IMAGE
========================= */

html.prism-light-mode #prism-about figure.wp-block-image img {
    filter:
        grayscale(6%)
        contrast(1.03)
        brightness(1.08)
        saturate(1.02) !important;

    opacity: 0.98 !important;
}

/* Stronger glass wash for the Technical Philosophy image only */
html.prism-light-mode #prism-about figure.wp-block-image::after {
    background:
        linear-gradient(
            135deg,
            rgba(20,42,159,0.18) 0%,
            rgba(0,0,0,0.13) 46%,
            rgba(171,149,74,0.05) 100%
        ) !important;

    mix-blend-mode: screen !important;
    opacity: .90 !important;
}

/* =========================
   END LIGHT MODE - BLUE GLASS PHOTO TREATMENT
========================= */

/* =========================
   LIGHT MODE - FEATURE PARITY POLISH
   Restores day-mode depth, grids, fades, and glass cards
========================= */

/* =========================
   LIGHT MODE - HERO SVG GRID
========================= */

html.prism-light-mode .prism-hero-section {
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #f7f8fb 52%,
            #f5f5f5 100%
        ) !important;
}

html.prism-light-mode .prism-hero-section .gb-shape-493f3075 {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    opacity: calc(0.98 * (1 - var(--prism-hero-grid-fade, 0))) !important;
    filter: invert(1) brightness(0.10) contrast(1.22) !important;
    mix-blend-mode: multiply;
    pointer-events: none;
}

html.prism-light-mode .prism-hero-section > .prism-content-wrap {
    position: relative;
    z-index: 3;
}

html.prism-light-mode .prism-hero-video-wrap {
    z-index: 2;
}


/* =========================
   LIGHT MODE - TECHNICAL PHILOSOPHY GRADIENT FADE
   Dynamic fixed top-down fade
========================= */

html.prism-light-mode #prism-about,
html.prism-light-mode .gb-element-14a3c465 {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    background: #f5f5f5 !important;
}

/* Keep content below the fixed fade layer */
html.prism-light-mode #prism-about > *,
html.prism-light-mode .gb-element-14a3c465 > * {
    position: relative;
    z-index: 2;
}

/* Fixed viewport fade that scrolls like the night-mode GenerateBlocks gradient */
html.prism-light-mode #prism-about::after,
html.prism-light-mode .gb-element-14a3c465::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 8;
    pointer-events: none;

    background-image:
    linear-gradient(
        0deg,
        rgba(245,245,245,0.00) 0%,
        rgba(245,245,245,0.00) 77%,
        rgba(241,241,241,0.72) 100%
    ) !important;

    background-size: cover !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-attachment: fixed !important;
}


/* =========================
   LIGHT MODE - OPERATIONAL EXPERIENCE GRADIENT FADE
   Dynamic fixed bottom-up fade
========================= */

html.prism-light-mode .gb-element-32740112 {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    background: #f5f5f5 !important;
}

/* Keep content below the fixed fade layer */
html.prism-light-mode .gb-element-32740112 > * {
    position: relative;
    z-index: 2;
}

/* Fixed viewport fade that scrolls like the night-mode GenerateBlocks gradient */
html.prism-light-mode .gb-element-32740112::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 8;
    pointer-events: none;

    background-image:
        linear-gradient(
            180deg,
            rgba(245,245,245,0.00) 0%,
        rgba(245,245,245,0.00) 77%,
        rgba(241,241,241,0.72) 100%
    ) !important;

    background-size: cover !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-attachment: fixed !important;
}


/* =========================
   LIGHT MODE - EXPERIENCE YOU CAN TRUST SVG GRID
========================= */

html.prism-light-mode #prism-experience .prism-guide-bg {
    position: relative;
    background-color: #f5f5f5 !important;

    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1600 900' fill='none'%3E%3Cline x1='390' y1='0' x2='390' y2='680' stroke='%2394a3b8' stroke-width='2' stroke-dasharray='7 4' opacity='0.28'/%3E%3Cline x1='805' y1='0' x2='805' y2='900' stroke='%2394a3b8' stroke-width='2' stroke-dasharray='7 4' opacity='0.28'/%3E%3Cline x1='0' y1='235' x2='1195' y2='235' stroke='%2394a3b8' stroke-width='2' stroke-dasharray='7 4' opacity='0.28'/%3E%3Cline x1='0' y1='462' x2='1600' y2='462' stroke='%2394a3b8' stroke-width='2' stroke-dasharray='7 4' opacity='0.28'/%3E%3Ccircle cx='390' cy='235' r='8' fill='%2394a3b8' opacity='0.28'/%3E%3Ccircle cx='805' cy='462' r='8' fill='%2394a3b8' opacity='0.28'/%3E%3C/svg%3E"),
        radial-gradient(
            circle at center,
            rgba(255,255,255,0) 34%,
            rgba(245,245,245,0.58) 76%,
            rgba(245,245,245,0.94) 100%
        ) !important;

    background-repeat: repeat, no-repeat !important;
    background-position: -900px -60px, center !important;
    background-size: 800px 450px, cover !important;
}


/* =========================
   LIGHT MODE - CLIENT FEEDBACK FIXED BACKGROUND
   Same image, no luminosity blend
========================= */

html.prism-light-mode .gb-element-1a71af15 {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    background-color: #f5f5f5 !important;
    background-image: url("https://prismtech.synology.me/wp-content/uploads/2026/04/PTTX-Crystal_5120x2882.png") !important;
    background-attachment: fixed !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-size: cover !important;
    background-blend-mode: normal !important;
}

html.prism-light-mode .gb-element-1a71af15::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: rgba(255,255,255,0.00);
}

html.prism-light-mode .gb-element-1a71af15 > .prism-content-wrap {
    position: relative;
    z-index: 2;
}


/* =========================
   LIGHT MODE - CLIENT FEEDBACK BLUE GLASS CARDS
   Borrowed from light-mode Services card treatment
========================= */

html.prism-light-mode .gb-element-1a71af15 .prism-feedback-card {
    background:
        linear-gradient(
            90deg,
            rgba(20,42,159,0.05) 0%,
            rgba(20,42,159,0.025) 16%,
            rgba(20,42,159,0.00) 34%
        ),
        linear-gradient(
            180deg,
            rgba(255,255,255,0.18) 0%,
            rgba(255,255,255,0.00) 100%
        ),
        rgba(229,231,235,0.76) !important;

    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);

    border: 1px solid rgba(15,23,42,0.10) !important;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.35),
        0 18px 40px rgba(15,23,42,0.12) !important;
}

html.prism-light-mode .gb-element-1a71af15 .prism-feedback-card:hover {
    border-color: rgba(171,149,74,0.42) !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.40),
        0 18px 40px rgba(15,23,42,0.16) !important;
}

/* Feedback card text tuning over the lighter glass */
html.prism-light-mode .gb-element-1a71af15 .prism-feedback-quote {
    color: #334155 !important;
}

html.prism-light-mode .gb-element-1a71af15 .prism-feedback-client-name {
    color: #0f172a !important;
}

html.prism-light-mode .gb-element-1a71af15 .prism-feedback-client-role {
    color: #AB954A !important;
}

/* =========================
   LIGHT MODE - CLIENT FEEDBACK TITLE + COPY ONLY
========================= */

html.prism-light-mode .gb-element-1a71af15 .prism-feedback-intro > .prism-feedback-title,
html.prism-light-mode .gb-element-1a71af15 .prism-feedback-intro > .prism-feedback-copy {
    color: #ffffff !important;
}

/* =========================
   SCROLL REVEAL - TECHNICAL PHILOSOPHY
   Scroll-driven from About anchor
========================= */

html.prism-section-anim-ready #prism-about .gb-element-24448b2b,
html.prism-section-anim-ready #prism-about .gb-element-eeba3ba7,
html.prism-section-anim-ready #prism-about .prism-philosophy-item {
    will-change: transform, opacity;
}

/* Image column */
html.prism-section-anim-ready #prism-about .gb-element-24448b2b {
    opacity: var(--prism-about-image-opacity, 0);
    transform:
        translate3d(
            calc(-34px + (34px * var(--prism-about-image-progress, 0))),
            calc(18px - (18px * var(--prism-about-image-progress, 0))),
            0
        )
        scale(calc(0.975 + (0.025 * var(--prism-about-image-progress, 0))));
}

/* Text column */
html.prism-section-anim-ready #prism-about .gb-element-eeba3ba7 {
    opacity: var(--prism-about-text-opacity, 0);
    transform:
        translate3d(
            calc(34px - (34px * var(--prism-about-text-progress, 0))),
            calc(18px - (18px * var(--prism-about-text-progress, 0))),
            0
        );
}

/* Philosophy bullet items */
html.prism-section-anim-ready #prism-about .prism-philosophy-item:nth-child(1) {
    opacity: var(--prism-about-item-1-opacity, 0);
    transform: translate3d(0, calc(18px - (18px * var(--prism-about-item-1-progress, 0))), 0);
}

html.prism-section-anim-ready #prism-about .prism-philosophy-item:nth-child(2) {
    opacity: var(--prism-about-item-2-opacity, 0);
    transform: translate3d(0, calc(18px - (18px * var(--prism-about-item-2-progress, 0))), 0);
}

html.prism-section-anim-ready #prism-about .prism-philosophy-item:nth-child(3) {
    opacity: var(--prism-about-item-3-opacity, 0);
    transform: translate3d(0, calc(18px - (18px * var(--prism-about-item-3-progress, 0))), 0);
}

/* Final image polish as the section completes */
html.prism-section-anim-ready #prism-about figure.wp-block-image img {
    transform: scale(calc(1 + (0.01 * var(--prism-about-image-progress, 0))));
}

/* Reduced motion safety */
@media (prefers-reduced-motion: reduce) {
    html.prism-section-anim-ready #prism-about .gb-element-24448b2b,
    html.prism-section-anim-ready #prism-about .gb-element-eeba3ba7,
    html.prism-section-anim-ready #prism-about .prism-philosophy-item,
    html.prism-section-anim-ready #prism-about figure.wp-block-image img {
        opacity: 1 !important;
        transform: none !important;
    }
}

/* =========================
   END SCROLL REVEAL - TECHNICAL PHILOSOPHY
========================= */

/* =========================
   SCROLL REVEAL - OPERATIONAL EXPERIENCE
   Scroll-driven section reveal
========================= */

html.prism-section-anim-ready .gb-element-32740112 .gb-element-b5f360fe,
html.prism-section-anim-ready .gb-element-32740112 .gb-element-4c28c378,
html.prism-section-anim-ready .gb-element-32740112 .prism-op-checklist li,
html.prism-section-anim-ready .gb-element-32740112 .prism-op-expander {
    will-change: transform, opacity;
}

/* Left content column */
html.prism-section-anim-ready .gb-element-32740112 .gb-element-b5f360fe {
    opacity: var(--prism-op-left-opacity, 0);
    transform:
        translate3d(
            calc(-30px + (30px * var(--prism-op-left-progress, 0))),
            calc(16px - (16px * var(--prism-op-left-progress, 0))),
            0
        );
}

/* Right image column */
html.prism-section-anim-ready .gb-element-32740112 .gb-element-4c28c378 {
    opacity: var(--prism-op-image-opacity, 0);
    transform:
        translate3d(
            calc(34px - (34px * var(--prism-op-image-progress, 0))),
            calc(18px - (18px * var(--prism-op-image-progress, 0))),
            0
        )
        scale(calc(0.975 + (0.025 * var(--prism-op-image-progress, 0))));
}

/* Checklist items */
html.prism-section-anim-ready .gb-element-32740112 .prism-op-checklist li:nth-child(1) {
    opacity: var(--prism-op-item-1-opacity, 0);
    transform: translate3d(0, calc(16px - (16px * var(--prism-op-item-1-progress, 0))), 0);
}

html.prism-section-anim-ready .gb-element-32740112 .prism-op-checklist li:nth-child(2) {
    opacity: var(--prism-op-item-2-opacity, 0);
    transform: translate3d(0, calc(16px - (16px * var(--prism-op-item-2-progress, 0))), 0);
}

html.prism-section-anim-ready .gb-element-32740112 .prism-op-checklist li:nth-child(3) {
    opacity: var(--prism-op-item-3-opacity, 0);
    transform: translate3d(0, calc(16px - (16px * var(--prism-op-item-3-progress, 0))), 0);
}

html.prism-section-anim-ready .gb-element-32740112 .prism-op-checklist li:nth-child(4) {
    opacity: var(--prism-op-item-4-opacity, 0);
    transform: translate3d(0, calc(16px - (16px * var(--prism-op-item-4-progress, 0))), 0);
}

html.prism-section-anim-ready .gb-element-32740112 .prism-op-checklist li:nth-child(5) {
    opacity: var(--prism-op-item-5-opacity, 0);
    transform: translate3d(0, calc(16px - (16px * var(--prism-op-item-5-progress, 0))), 0);
}

/* Expander button */
html.prism-section-anim-ready .gb-element-32740112 .prism-op-expander {
    opacity: var(--prism-op-trigger-opacity, 0);
    transform: translate3d(0, calc(16px - (16px * var(--prism-op-trigger-progress, 0))), 0);
}

/* Subtle final image polish */
html.prism-section-anim-ready .gb-element-32740112 figure.wp-block-image img {
    transform: scale(calc(1 + (0.01 * var(--prism-op-image-progress, 0))));
}

/* Reduced motion safety */
@media (prefers-reduced-motion: reduce) {
    html.prism-section-anim-ready .gb-element-32740112 .gb-element-b5f360fe,
    html.prism-section-anim-ready .gb-element-32740112 .gb-element-4c28c378,
    html.prism-section-anim-ready .gb-element-32740112 .prism-op-checklist li,
    html.prism-section-anim-ready .gb-element-32740112 .prism-op-expander,
    html.prism-section-anim-ready .gb-element-32740112 figure.wp-block-image img {
        opacity: 1 !important;
        transform: none !important;
    }
}

/* =========================
   END SCROLL REVEAL - OPERATIONAL EXPERIENCE
========================= */

/* =========================
   SCROLL REVEAL - SERVICES
   Scroll-driven card reveal
========================= */

html.prism-section-anim-ready #prism-services .gb-element-e6c75b4e > div:first-child,
html.prism-section-anim-ready #prism-services .gb-element-3a44709c,
html.prism-section-anim-ready #prism-services .prism-service-card {
    will-change: transform, opacity;
}

/* Services heading group */
html.prism-section-anim-ready #prism-services .gb-element-e6c75b4e > div:first-child {
    opacity: var(--prism-services-heading-opacity, 0);
    transform:
        translate3d(
            0,
            calc(22px - (22px * var(--prism-services-heading-progress, 0))),
            0
        );
}

/* Separator under heading */
html.prism-section-anim-ready #prism-services .gb-element-3a44709c {
    opacity: var(--prism-services-line-opacity, 0);
    transform:
        scaleX(calc(0.72 + (0.28 * var(--prism-services-line-progress, 0))));
    transform-origin: center;
}

/* Service cards */
html.prism-section-anim-ready #prism-services .prism-service-card:nth-child(1) {
    opacity: var(--prism-services-card-1-opacity, 0);
    transform: translate3d(0, calc(26px - (26px * var(--prism-services-card-1-progress, 0))), 0);
}

html.prism-section-anim-ready #prism-services .prism-service-card:nth-child(2) {
    opacity: var(--prism-services-card-2-opacity, 0);
    transform: translate3d(0, calc(26px - (26px * var(--prism-services-card-2-progress, 0))), 0);
}

html.prism-section-anim-ready #prism-services .prism-service-card:nth-child(3) {
    opacity: var(--prism-services-card-3-opacity, 0);
    transform: translate3d(0, calc(26px - (26px * var(--prism-services-card-3-progress, 0))), 0);
}

html.prism-section-anim-ready #prism-services .prism-service-card:nth-child(4) {
    opacity: var(--prism-services-card-4-opacity, 0);
    transform: translate3d(0, calc(26px - (26px * var(--prism-services-card-4-progress, 0))), 0);
}

html.prism-section-anim-ready #prism-services .prism-service-card:nth-child(5) {
    opacity: var(--prism-services-card-5-opacity, 0);
    transform: translate3d(0, calc(26px - (26px * var(--prism-services-card-5-progress, 0))), 0);
}

html.prism-section-anim-ready #prism-services .prism-service-card:nth-child(6) {
    opacity: var(--prism-services-card-6-opacity, 0);
    transform: translate3d(0, calc(26px - (26px * var(--prism-services-card-6-progress, 0))), 0);
}



/* Subtle grid background drift during reveal */
html.prism-section-anim-ready #prism-services .gb-element-6c02fdc0 {
    transform:
        translate3d(
            0,
            calc(18px - (18px * var(--prism-services-bg-progress, 0))),
            0
        );
}

/* Reduced motion safety */
@media (prefers-reduced-motion: reduce) {
    html.prism-section-anim-ready #prism-services .gb-element-ee2fef3d,
    html.prism-section-anim-ready #prism-services .gb-element-3a44709c,
    html.prism-section-anim-ready #prism-services .prism-service-card,
    html.prism-section-anim-ready #prism-services .gb-element-6c02fdc0 {
        opacity: 1 !important;
        transform: none !important;
    }
}

/* =========================
   END SCROLL REVEAL - SERVICES
========================= */

/* =========================
   SCROLL REVEAL - EXPERIENCE YOU CAN TRUST
   Scroll-driven section reveal
========================= */

html.prism-section-anim-ready #prism-experience .gb-element-237cb1a4 > div:first-child,
html.prism-section-anim-ready #prism-experience .gb-element-270df48f,
html.prism-section-anim-ready #prism-experience .prism-wix-feature-section,
html.prism-section-anim-ready #prism-experience .prism-wix-feature-item {
    will-change: transform, opacity;
}

/* Left intro column */
html.prism-section-anim-ready #prism-experience .gb-element-237cb1a4 > div:first-child {
    opacity: var(--prism-exp-left-opacity, 0);
    transform:
        translate3d(
            calc(-30px + (30px * var(--prism-exp-left-progress, 0))),
            calc(16px - (16px * var(--prism-exp-left-progress, 0))),
            0
        );
}

/* Right image column */
html.prism-section-anim-ready #prism-experience .gb-element-270df48f {
    opacity: var(--prism-exp-image-opacity, 0);
    transform:
        translate3d(
            calc(34px - (34px * var(--prism-exp-image-progress, 0))),
            calc(18px - (18px * var(--prism-exp-image-progress, 0))),
            0
        )
        scale(calc(0.975 + (0.025 * var(--prism-exp-image-progress, 0))));
}

/* Feature panel shell */
html.prism-section-anim-ready #prism-experience .prism-wix-feature-section {
    opacity: var(--prism-exp-panel-opacity, 0);
    transform:
        translate3d(
            0,
            calc(18px - (18px * var(--prism-exp-panel-progress, 0))),
            0
        );
}

/* Feature items stagger */
html.prism-section-anim-ready #prism-experience .prism-wix-feature-item:nth-child(1) {
    opacity: var(--prism-exp-item-1-opacity, 0);
    transform: translate3d(0, calc(14px - (14px * var(--prism-exp-item-1-progress, 0))), 0);
}

html.prism-section-anim-ready #prism-experience .prism-wix-feature-item:nth-child(2) {
    opacity: var(--prism-exp-item-2-opacity, 0);
    transform: translate3d(0, calc(14px - (14px * var(--prism-exp-item-2-progress, 0))), 0);
}

html.prism-section-anim-ready #prism-experience .prism-wix-feature-item:nth-child(3) {
    opacity: var(--prism-exp-item-3-opacity, 0);
    transform: translate3d(0, calc(14px - (14px * var(--prism-exp-item-3-progress, 0))), 0);
}

/* Subtle icon activation */
html.prism-section-anim-ready #prism-experience .prism-wix-feature-icon {
    box-shadow:
        0 0 calc(10px * var(--prism-exp-icons-glow, 0)) rgba(171,149,74,0.16);
}

/* Subtle final image polish */
html.prism-section-anim-ready #prism-experience figure.wp-block-image img {
    transform: scale(calc(1 + (0.01 * var(--prism-exp-image-progress, 0))));
}

/* Reduced motion safety */
@media (prefers-reduced-motion: reduce) {
    html.prism-section-anim-ready #prism-experience .gb-element-237cb1a4 > div:first-child,
    html.prism-section-anim-ready #prism-experience .gb-element-270df48f,
    html.prism-section-anim-ready #prism-experience .prism-wix-feature-section,
    html.prism-section-anim-ready #prism-experience .prism-wix-feature-item,
    html.prism-section-anim-ready #prism-experience figure.wp-block-image img {
        opacity: 1 !important;
        transform: none !important;
    }
}

/* =========================
   END SCROLL REVEAL - EXPERIENCE YOU CAN TRUST
========================= */

/* =========================
   SCROLL REVEAL - PTTX METHOD
   Scroll-driven method reveal
========================= */

html.prism-section-anim-ready #prism-methodology .prism-method-heading,
html.prism-section-anim-ready #prism-methodology .prism-method-item {
    will-change: transform, opacity;
}

/* Method heading */
html.prism-section-anim-ready #prism-methodology .prism-method-heading {
    opacity: var(--prism-method-heading-opacity, 0);
    transform:
        translate3d(
            0,
            calc(22px - (22px * var(--prism-method-heading-progress, 0))),
            0
        );
}

/* Method items */
html.prism-section-anim-ready #prism-methodology .prism-method-item:nth-child(1) {
    opacity: var(--prism-method-item-1-opacity, 0);
    transform: translate3d(0, calc(26px - (26px * var(--prism-method-item-1-progress, 0))), 0);
}

html.prism-section-anim-ready #prism-methodology .prism-method-item:nth-child(2) {
    opacity: var(--prism-method-item-2-opacity, 0);
    transform: translate3d(0, calc(26px - (26px * var(--prism-method-item-2-progress, 0))), 0);
}

html.prism-section-anim-ready #prism-methodology .prism-method-item:nth-child(3) {
    opacity: var(--prism-method-item-3-opacity, 0);
    transform: translate3d(0, calc(26px - (26px * var(--prism-method-item-3-progress, 0))), 0);
}

html.prism-section-anim-ready #prism-methodology .prism-method-item:nth-child(4) {
    opacity: var(--prism-method-item-4-opacity, 0);
    transform: translate3d(0, calc(26px - (26px * var(--prism-method-item-4-progress, 0))), 0);
}

/* Box sharpening during reveal */
html.prism-section-anim-ready #prism-methodology .prism-method-box {
    border-color: rgba(
        131,
        129,
        135,
        calc(0.16 + (0.14 * var(--prism-method-boxes-progress, 0)))
    );
}


/* Number visibility during reveal */
html.prism-section-anim-ready #prism-methodology .prism-method-box span {
    color: rgba(
        255,
        255,
        255,
        calc(0.34 + (0.60 * var(--prism-method-boxes-progress, 0)))
    );

    text-shadow:
        0 1px 2px rgba(0,0,0,0.20),
        0 0 8px rgba(0,0,0,0.42),
        0 0 14px rgba(20,42,159,0.18);
}

/* Connector line reveal */
html.prism-section-anim-ready #prism-methodology .prism-method-item:nth-child(1) .prism-method-top::after {
    transform-origin: left center;
    transform: translateY(-50%) scaleX(var(--prism-method-connector-1-progress, 0));
    opacity: var(--prism-method-connector-1-opacity, 0);
}

html.prism-section-anim-ready #prism-methodology .prism-method-item:nth-child(2) .prism-method-top::after {
    transform-origin: left center;
    transform: translateY(-50%) scaleX(var(--prism-method-connector-2-progress, 0));
    opacity: var(--prism-method-connector-2-opacity, 0);
}

html.prism-section-anim-ready #prism-methodology .prism-method-item:nth-child(3) .prism-method-top::after {
    transform-origin: left center;
    transform: translateY(-50%) scaleX(var(--prism-method-connector-3-progress, 0));
    opacity: var(--prism-method-connector-3-opacity, 0);
}

/* Reduced motion safety */
@media (prefers-reduced-motion: reduce) {
    html.prism-section-anim-ready #prism-methodology .prism-method-heading,
    html.prism-section-anim-ready #prism-methodology .prism-method-item {
        opacity: 1 !important;
        transform: none !important;
    }
}

/* =========================
   END SCROLL REVEAL - PTTX METHOD
========================= */

/* =========================
   SCROLL REVEAL - VERIFIED TRUST / CLIENT FEEDBACK
   Scroll-driven section reveal
========================= */

html.prism-section-anim-ready .prism-feedback-section .prism-feedback-intro,
html.prism-section-anim-ready .prism-feedback-section .prism-feedback-card,
html.prism-section-anim-ready .prism-feedback-section .prism-feedback-expander {
    will-change: transform, opacity;
}

/* Left intro column */
html.prism-section-anim-ready .prism-feedback-section .prism-feedback-intro {
    opacity: var(--prism-feedback-intro-opacity, 0);
    transform:
        translate3d(
            calc(-28px + (28px * var(--prism-feedback-intro-progress, 0))),
            calc(16px - (16px * var(--prism-feedback-intro-progress, 0))),
            0
        );
}

/* Feedback cards */
html.prism-section-anim-ready .prism-feedback-section .prism-feedback-card:nth-child(1) {
    opacity: var(--prism-feedback-card-1-opacity, 0);
    transform: translate3d(0, calc(24px - (24px * var(--prism-feedback-card-1-progress, 0))), 0);
}

html.prism-section-anim-ready .prism-feedback-section .prism-feedback-card:nth-child(2) {
    opacity: var(--prism-feedback-card-2-opacity, 0);
    transform: translate3d(0, calc(24px - (24px * var(--prism-feedback-card-2-progress, 0))), 0);
}

/* Verified Reviews button */
html.prism-section-anim-ready .prism-feedback-section .prism-feedback-expander {
    opacity: var(--prism-feedback-trigger-opacity, 0);
    transform: translate3d(0, calc(16px - (16px * var(--prism-feedback-trigger-progress, 0))), 0);
}

/* Star glow activation */
html.prism-section-anim-ready .prism-feedback-section .prism-feedback-stars {
    text-shadow:
        0 0 calc(8px * var(--prism-feedback-stars-glow, 0)) rgba(198,173,91,0.24),
        0 0 calc(16px * var(--prism-feedback-stars-glow, 0)) rgba(198,173,91,0.12);
}

/* Reduced motion safety */
@media (prefers-reduced-motion: reduce) {
    html.prism-section-anim-ready .prism-feedback-section .prism-feedback-intro,
    html.prism-section-anim-ready .prism-feedback-section .prism-feedback-card,
    html.prism-section-anim-ready .prism-feedback-section .prism-feedback-expander {
        opacity: 1 !important;
        transform: none !important;
    }
}

/* =========================
   END SCROLL REVEAL - VERIFIED TRUST / CLIENT FEEDBACK
========================= */

/* =========================
   SCROLL REVEAL - CONTACT
   Scroll-driven contact section reveal
========================= */

html.prism-section-anim-ready #prism-contact .gb-element-26433090,
html.prism-section-anim-ready #prism-contact .gb-element-59a6ba40,
html.prism-section-anim-ready #prism-contact .gb-element-290e766e,
html.prism-section-anim-ready #prism-contact .prism-wix-feature-section,
html.prism-section-anim-ready #prism-contact .prism-wix-feature-item,
html.prism-section-anim-ready #prism-contact .prism-contact-shell {
    will-change: transform, opacity;
}

/* Contact heading copy */
html.prism-section-anim-ready #prism-contact .gb-element-26433090,
html.prism-section-anim-ready #prism-contact .gb-element-59a6ba40,
html.prism-section-anim-ready #prism-contact .gb-element-290e766e {
    opacity: var(--prism-contact-heading-opacity, 0);
    transform:
        translate3d(
            calc(-26px + (26px * var(--prism-contact-heading-progress, 0))),
            calc(16px - (16px * var(--prism-contact-heading-progress, 0))),
            0
        );
}



/* Contact info panel */
html.prism-section-anim-ready #prism-contact .prism-wix-feature-section {
    opacity: var(--prism-contact-info-opacity, 0);
    transform:
        translate3d(
            calc(-28px + (28px * var(--prism-contact-info-progress, 0))),
            calc(16px - (16px * var(--prism-contact-info-progress, 0))),
            0
        );
}

/* Contact info rows */
html.prism-section-anim-ready #prism-contact .prism-wix-feature-item:nth-child(1) {
    opacity: var(--prism-contact-item-1-opacity, 0);
    transform: translate3d(0, calc(14px - (14px * var(--prism-contact-item-1-progress, 0))), 0);
}

html.prism-section-anim-ready #prism-contact .prism-wix-feature-item:nth-child(2) {
    opacity: var(--prism-contact-item-2-opacity, 0);
    transform: translate3d(0, calc(14px - (14px * var(--prism-contact-item-2-progress, 0))), 0);
}

html.prism-section-anim-ready #prism-contact .prism-wix-feature-item:nth-child(3) {
    opacity: var(--prism-contact-item-3-opacity, 0);
    transform: translate3d(0, calc(14px - (14px * var(--prism-contact-item-3-progress, 0))), 0);
}

/* Contact form shell */
html.prism-section-anim-ready #prism-contact .prism-contact-shell {
    opacity: var(--prism-contact-form-opacity, 0);
    transform:
        translate3d(
            calc(30px - (30px * var(--prism-contact-form-progress, 0))),
            calc(18px - (18px * var(--prism-contact-form-progress, 0))),
            0
        );
}

/* Top blue form line grows in */
html.prism-section-anim-ready #prism-contact .prism-contact-shell::before {
    transform-origin: left center;
    transform: scaleX(var(--prism-contact-line-progress, 0));
}

/* Soft final form glow */
html.prism-section-anim-ready #prism-contact .prism-contact-shell {
    box-shadow:
        0 0 calc(18px * var(--prism-contact-glow, 0)) rgba(20,42,159,0.10),
        0 0 calc(28px * var(--prism-contact-glow, 0)) rgba(171,149,74,0.06);
}

/* Reduced motion safety */
@media (prefers-reduced-motion: reduce) {
    html.prism-section-anim-ready #prism-contact .prism-wix-feature-section,
    html.prism-section-anim-ready #prism-contact .prism-wix-feature-item,
    html.prism-section-anim-ready #prism-contact .prism-contact-shell {
        opacity: 1 !important;
        transform: none !important;
    }

    html.prism-section-anim-ready #prism-contact .prism-contact-shell::before {
        transform: none !important;
    }
}

/* =========================
   END SCROLL REVEAL - CONTACT
========================= */



/* END THEME BUTTON SECTION */


/* SUBMIT BUTTON */
.prism-contact-shell .ff-btn-submit,
.prism-contact-shell button[type="submit"] {
    position: relative;
    overflow: hidden;

    width: 100% !important;
    min-height: 56px !important;
    height: 56px !important;

    border: 0 !important;
    border-radius: 0 !important;

    background: #142A9F !important;
    color: #ffffff !important;

    font-family: "Inter", sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    letter-spacing: 0.03em !important;
    text-transform: uppercase !important;

    box-shadow: inset 2.5px 0 0 #AB954A !important;

    transition:
        background-color 0.25s ease,
        box-shadow 0.25s ease,
        transform 0.18s ease !important;
}

/* BUTTON SHEEN EFFECT */
.prism-contact-shell .ff-btn-submit::after,
.prism-contact-shell button[type="submit"]::after {
    content: "";
    position: absolute;
    top: 0;
    left: -35%;
    width: 22%;
    height: 100%;

    background: linear-gradient(
        100deg,
        rgba(255,255,255,0) 0%,
        rgba(255,255,255,0.10) 45%,
        rgba(255,255,255,0.22) 50%,
        rgba(255,255,255,0.10) 55%,
        rgba(255,255,255,0) 100%
    );

    transform: skewX(-22deg);
    transition: left 0.45s ease;
    pointer-events: none;
}

/* HOVER */
.prism-contact-shell .ff-btn-submit:hover,
.prism-contact-shell button[type="submit"]:hover {
    background: #132790 !important;
    color: #ffffff !important;

    box-shadow: inset 3px 0 0 #AB954A !important;

    transform: translateY(-1px);
}

.prism-contact-shell .ff-btn-submit:hover::after,
.prism-contact-shell button[type="submit"]:hover::after {
    left: 115%;
}

/* ACTIVE CLICK FEEL */
.prism-contact-shell .ff-btn-submit:active,
.prism-contact-shell button[type="submit"]:active {
    transform: translateY(0);
}

/* REMOVE EXTRA BUTTON EFFECTS */
.prism-contact-shell .ff-btn-submit:focus,
.prism-contact-shell button[type="submit"]:focus {
    outline: none !important;
    box-shadow: none !important;
}

/* ERROR TEXT */
.prism-contact-shell .text-danger,
.prism-contact-shell .error,
.prism-contact-shell .ff-el-is-error .error {
    font-size: 12px !important;
}

/* MOBILE */
@media (max-width: 768px) {
    .prism-contact-shell {
        padding: 42px 24px 24px;
    }

    .prism-contact-shell .ff-t-container {
        gap: 0;
    }
}

/* ---FOOTER SECTION BEGINS--- */

/* Hide default GeneratePress footer output */
.site-info {
    display: none !important;
}

.footer-widgets {
    display: none !important;
}

/* Custom page footer section */
.prism-footer-section {
    background: #242424;
    border-top: 1px solid rgba(255,255,255,0.10);
    width: 100%;
    margin-top: 0;
    padding: 64px 0;
}

.prism-footer-inner {
    width: min(120rem, calc(100% - 64px));
    margin-left: auto;
    margin-right: auto;
}

.prism-footer-grid {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr 1fr 0.9fr;
    gap: 48px;
    align-items: start;
}

.prism-footer-col {
    min-width: 0;
}

.prism-footer-logo {
    margin: 0 0 16px;
    font-size: 1.25rem;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: 0.04em;
    white-space: nowrap;
}

.prism-footer-logo span {
    font-weight: 700;
}

.prism-footer-logo-light {
    color: #ffffff;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.35);
}

.prism-footer-logo-blue {
    color: #142A9F;
    text-shadow: 0 2px 10px rgb(7, 8, 7);
}

.prism-footer-logo-gold {
    color: #AB954A;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.35);
}

.prism-footer-desc {
    margin: 0 0 18px;
    color: #838187;
    font-size: 0.875rem;
    line-height: 1.7;
    max-width: 38ch;
    font-family: "Inter", sans-serif;
    font-weight: 400;
}

.prism-footer-meta-row,
.prism-footer-contact-link {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.prism-footer-meta-text {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.prism-footer-icon {
    width: 18px;
    height: 18px;
    color: #AB954A;
    flex: 0 0 18px;
    margin-top: 2.2px;
}

.prism-footer-icon svg {
    display: block;
    width: 100%;
    height: 100%;
}

.prism-footer-heading {
    margin: 0 0 16px;
    color: #f2f2f2;
    font-size: 1.125rem;
    line-height: 1.3;
    font-weight: 600;
    font-family: "Inter", sans-serif;
}

.prism-footer-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.prism-footer-list li {
    margin: 0 0 10px;
    color: #838187;
    font-size: 0.875rem;
    line-height: 1.5;
    font-family: "Inter", sans-serif;
    font-weight: 400;
}

.prism-footer-list a,
.prism-footer-meta-text a,
.prism-footer-contact-link {
    color: #838187;
    text-decoration: none;
    transition: color 0.3s ease;
    font-family: "Inter", sans-serif;
    font-weight: 400;
}

.prism-footer-list a:hover,
.prism-footer-meta-text a:hover,
.prism-footer-contact-link:hover {
    color: #AB954A;
}

.prism-footer-list-static li {
    cursor: default;
}

.prism-footer-contact {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.prism-footer-contact-link {
    font-size: 0.875rem;
    line-height: 1.5;
}

/* FOOTER CLICK-TO-CALL LINK */
.prism-footer-click-to-call {
    margin-top: -6px;
    font-size: 0.875rem;
    line-height: 1.5;
    opacity: 1;
}

.prism-footer-click-to-call .prism-footer-icon {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    margin-top: 2.2px;
}

.prism-footer-click-to-call .prism-footer-icon svg {
    display: block;
    width: 100%;
    height: 100%;
}

/* FOOTER CLICK-TO-CALL LINK END */

.prism-footer-meta-text a {
    font-size: 0.875rem;
    line-height: 1.5;
}

.prism-footer-bottom {
    margin-top: 48px;
    padding-top: 32px;
    border-top: 1px solid rgba(255,255,255,0.10);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px 24px;
    flex-wrap: wrap;
}

.prism-footer-bottom p {
    margin: 0;
    color: #838187;
    font-size: 0.875rem;
    line-height: 1.5;
    font-family: "Inter", sans-serif;
    font-weight: 400;
}

.prism-footer-motto {
    font-size: 0.75rem;
}

@media (max-width: 1100px) {
    .prism-footer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 40px 32px;
    }
}

@media (max-width: 768px) {
    .prism-footer-section {
        padding: 52px 0;
    }

    .prism-footer-inner {
        width: min(100%, calc(100% - 40px));
    }

    .prism-footer-grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .prism-footer-bottom {
        align-items: flex-start;
        flex-direction: column;
    }
}

.prism-footer-section {
    position: relative;
    background: #242424;
}

/* soft fade transition above footer */
.prism-footer-section::before {
    content: "";
    position: absolute;
    top: -50px;
    left: 0;
    width: 100%;
    height: 50px;

    background: linear-gradient(
        to bottom,
        rgba(36,36,36,0) 0%,
        rgba(36,36,36,0.65) 60%,
        rgba(36,36,36,1) 100%
    );

    pointer-events: none;
}

/* LIGHT MODE FOOTER TOP EDGE FIX */
html.prism-light-mode .prism-footer-section::before {
    top: 0;
    height: 0;
    background: none !important;
    border-top: 0px solid rgba(15, 23, 42, 0.18);
}

html.prism-light-mode .prism-footer-section {
    box-shadow: 0 -8px 20px rgba(0,0,0,0.04);
}


.prism-footer-service-btn {
    background: none;
    border: none;
    padding: 0;
    margin: 0;
    color: #838187;
    text-decoration: none;
    transition: color 0.3s ease;
    font-family: "Inter", sans-serif;
    font-size: 0.875rem;
    line-height: 1.5;
    font-weight: 400;
    cursor: pointer;
    text-align: left;
}

.prism-footer-service-btn:hover {
    color: #AB954A;
}

.prism-footer-service-btn:focus {
    outline: none;
    color: #AB954A;
}

.prism-service-highlight {
  outline: 2px solid #AB954A;
  box-shadow: 0 0 10px rgba(171,149,74,.4);
}

.prism-footer-service-btn {
    background: none;
    border: none;
    padding: 0;
    margin: 0;
    color: #838187;
    font-family: "Inter", sans-serif;
    font-size: 0.875rem;
    line-height: 1.6;
    font-weight: 400;
    cursor: pointer;
    text-align: left;
    position: relative;

    transition: color .25s ease, transform .18s ease;
}

.prism-footer-service-btn:hover {
    color: #AB954A;
    transform: translateX(3px);
}

.prism-footer-service-btn::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -2px;
    width: 0%;
    height: 1px;
    background: #AB954A;
    transition: width .25s ease;
}

.prism-footer-service-btn:hover::after {
    width: 60%;
}

.prism-footer-logo {
    display: inline-block;
    transition: transform .25s ease, text-shadow .25s ease;
}

.prism-footer-logo:hover {
    transform: translateY(-1px);
}

.prism-footer-logo-light,
.prism-footer-logo-gold {
    transition: text-shadow .35s ease, color .35s ease;
}

.prism-footer-logo:hover .prism-footer-logo-gold {
    text-shadow:
        0 0 6px rgba(198,173,91,.35),
        0 0 12px rgba(198,173,91,.18);
}

.prism-footer-logo:hover .prism-footer-logo-light {
    text-shadow:
        0 0 4px rgba(255,255,255,.25);
}

/* LIGHT MODE FOOTER LOGO HOVER */
html.prism-light-mode .prism-footer-logo:hover .prism-footer-logo-light,
html.prism-light-mode .prism-footer-logo:hover .prism-footer-logo-gold,
html.prism-light-mode .prism-footer-logo:hover .prism-footer-logo-blue {
    text-shadow:
        0 1px 1px rgba(0,0,0,0.32),
        0 0 2px rgba(0,0,0,0.14);
}

.prism-footer-logo {
    position: relative;
    display: inline-block;
    overflow: hidden;
    transition: transform .25s ease;
}

.prism-footer-logo:hover {
    transform: translateY(-1px);
}

.prism-footer-logo-light,
.prism-footer-logo-gold {
    position: relative;
    z-index: 1;
    transition: text-shadow .35s ease, color .35s ease;
}

.prism-footer-logo:hover .prism-footer-logo-gold {
    text-shadow:
        0 0 6px rgba(198,173,91,.35),
        0 0 12px rgba(198,173,91,.18);
}

.prism-footer-logo:hover .prism-footer-logo-light {
    text-shadow:
        0 0 4px rgba(255,255,255,.25);
}

/* subtle sweep */
.prism-footer-logo::after {
    content: "";
    position: absolute;
    top: -20%;
    bottom: -20%;
    left: -35%;
    width: 22%;
    pointer-events: none;
    transform: skewX(-20deg) translateX(0);

    background: linear-gradient(
        90deg,
        rgba(255,255,255,0) 0%,
        rgba(255,255,255,0.06) 35%,
        rgba(255,255,255,0.16) 50%,
        rgba(255,255,255,0.06) 65%,
        rgba(255,255,255,0) 100%
    );

    animation: prismFooterLogoSweep 12s ease-in-out infinite;
}

@keyframes prismFooterLogoSweep {
    0% {
        transform: skewX(-20deg) translateX(-220%);
        opacity: 0;
    }
    8% {
        opacity: 1;
    }
    16% {
        transform: skewX(-20deg) translateX(520%);
        opacity: 0;
    }
    100% {
        transform: skewX(-20deg) translateX(520%);
        opacity: 0;
    }
}

/* =========================
   FOOTER LOGO SHEEN FORCE FIX
   Ensures footer logo sweep runs on posts and Insights
========================= */

.prism-footer-section .prism-footer-logo {
    position: relative !important;
    display: inline-block !important;
    overflow: hidden !important;
    isolation: isolate !important;
}

.prism-footer-section .prism-footer-logo span {
    position: relative !important;
    z-index: 2 !important;
}

.prism-footer-section .prism-footer-logo::after {
    content: "" !important;
    position: absolute !important;
    top: -20% !important;
    bottom: -20% !important;
    left: -35% !important;
    width: 22% !important;
    pointer-events: none !important;
    z-index: 3 !important;

    background: linear-gradient(
        90deg,
        rgba(255,255,255,0) 0%,
        rgba(255,255,255,0.06) 35%,
        rgba(255,255,255,0.16) 50%,
        rgba(255,255,255,0.06) 65%,
        rgba(255,255,255,0) 100%
    ) !important;

    animation: prismFooterLogoSweep 12s ease-in-out infinite !important;
}

.prism-footer-logo-link {
    display: inline-block;
    text-decoration: none;
}

.prism-back-to-top {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 18px;
    border: 1px solid rgba(255,255,255,0.12);
    background: transparent;
    color: #838187;
    text-decoration: none;
    font-family: "Inter", sans-serif;
    font-size: 0.8rem;
    line-height: 1;
    font-weight: 500;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    transition: color .25s ease, border-color .25s ease, transform .18s ease, background-color .25s ease;
}

.prism-back-to-top:hover {
    color: #AB954A;
    border-color: rgba(171,149,74,0.45);
    background: rgba(255,255,255,0.02);
    transform: translateY(-1px);
}

.prism-back-to-top-floating {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 9999;

    width: 48px;
    height: 48px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    background: #142A9F;
    color: #ffffff !important;
    text-decoration: none;
    font-size: 18px;
    font-weight: 700;
    line-height: 1;

    border: 1px solid rgba(255,255,255,0.12);
    box-shadow:
        inset 2.5px 0 0 #AB954A,
        0 10px 24px rgba(0,0,0,0.28);

    opacity: 1;
    visibility: visible;
    transform: translateY(0);

    transition:
        opacity .25s ease,
        visibility .25s ease,
        transform .25s ease,
        background-color .25s ease;
}

.prism-back-to-top-floating:hover {
    background: #132790;
    color: #ffffff !important;
    transform: translateY(-2px);
}

.prism-back-to-top-floating.is-hidden {
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
}

@media (max-width: 768px) {
    .prism-back-to-top-floating {
        right: 16px;
        bottom: 16px;
        width: 44px;
        height: 44px;
    }
}

a.prism-back-to-top-floating {
  opacity: 0;
  pointer-events: none;
}

@media (max-width: 767px) {

    /* Keep cards fully expanded */
    .prism-service-copy {
        max-height: none !important;
        opacity: 1 !important;
    }

    /* Remove "Expand Details" row */
    .prism-service-expand {
        display: none !important;
    }

}

@media (max-width: 1024px) {
	
    /* Keep cards fully expanded */
    .prism-service-copy {
        max-height: none !important;
        opacity: 1 !important;
    }

    /* Remove "Expand Details" row */
    .prism-service-expand {
        display: none !important;
    }

}

/* =========================
   TOP HEADER / NAV BAR
========================= */

#masthead,
.site-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 99999 !important;
    background: rgba(7, 8, 7, 0.96) !important;
    border-bottom: 1px solid rgba(255,255,255,0.05) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
}

body {
    padding-top: 0 !important;
}

.prism-hero-section {
    margin-top: 0 !important;
    padding-top: calc(clamp(120px, 18vh, 220px) + 80px) !important;
}

@media (max-width: 1100px) {
    .prism-hero-section {
        padding-top: calc(80px + 78px) !important;
    }
}

@media (max-width: 768px) {
    .prism-hero-section {
        padding-top: calc(80px + 72px) !important;
    }
}

.site-header .inside-header {
    width: min(1280px, calc(100% - 64px));
    min-height: 80px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
    padding-right: 0;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    column-gap: 28px;
}

.site-branding {
    display: flex;
    align-items: center;
    justify-self: start;
    min-width: max-content;
}

.site-branding .main-title,
.site-branding .main-title a {
    color: #ffffff !important;
    text-decoration: none !important;
    font-size: 1.15rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    line-height: 1;
    white-space: nowrap;
}

.site-branding .site-logo,
.site-branding .custom-logo-link,
.site-branding img,
.site-header .menu-item img,
.site-header .menu-item .menu-image-title-after,
.site-header .menu-item .menu-image-title-before {
    display: none !important;
}

.main-navigation {
    background: transparent !important;
    justify-self: center;
}

.main-navigation .main-nav > ul {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 30px;
}

.main-navigation .main-nav ul li {
    display: flex;
    align-items: center;
}

.main-navigation .main-nav ul li > a {
    color: rgba(255,255,255,0.78) !important;
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
    padding: 0 !important;
    background: transparent !important;
    transition: color 0.24s ease, opacity 0.24s ease;
}

.main-navigation .main-nav ul li > a:hover,
.main-navigation .main-nav ul li.current-menu-item > a,
.main-navigation .main-nav ul li.current-menu-ancestor > a {
    color: #ffffff !important;
}

.main-navigation .main-nav ul li.prism-nav-cta {
    margin-left: 4px;
}

.main-navigation .main-nav ul li.prism-nav-cta > a {
    min-height: 40px;
    max-height: 40px;
    padding: 16px 30px !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #142A9F !important;
    color: #FFFFFF !important;
    box-shadow: inset 2.5px 0 0 #AB954A !important;
    border-radius: 1px !important;
    border: none !important;
    font-weight: 600;
    letter-spacing: 0.01em;
    white-space: nowrap;
    transition:
        background-color 0.25s ease,
        box-shadow 0.25s ease,
        transform 0.18s ease;
}

.main-navigation .main-nav ul li.prism-nav-cta > a:hover {
    background: #132790 !important;
    color: #FFFFFF !important;
    box-shadow: inset 3px 0 0 #AB954A !important;
    transform: translateY(-1px);
}

.main-navigation .main-nav ul li.prism-nav-cta > a {
    position: relative;
    overflow: hidden;
}

.main-navigation .main-nav ul li.prism-nav-cta > a::after {
    content: "";
    position: absolute;
    top: 0;
    left: -35%;
    width: 22%;
    height: 100%;
    background: linear-gradient(
        100deg,
        rgba(255,255,255,0) 0%,
        rgba(255,255,255,0.10) 45%,
        rgba(255,255,255,0.22) 50%,
        rgba(255,255,255,0.10) 55%,
        rgba(255,255,255,0) 100%
    );
    transform: skewX(-22deg);
    transition: left 0.45s ease;
    pointer-events: none;
}

.main-navigation .main-nav ul li.prism-nav-cta > a:hover::after {
    left: 115%;
}

.main-navigation .main-nav > ul > li:first-child {
    margin-left: 0 !important;
    padding-left: 0 !important;
}

.menu-toggle {
    background: transparent !important;
    border: 1px solid rgba(255,255,255,0.14) !important;
    color: #ffffff !important;
}

.inside-header,
#site-navigation,
.main-navigation,
.inside-navigation {
    position: relative !important;
    top: auto !important;
    transform: none !important;
}

@media (max-width: 1100px) {
    .site-header .inside-header {
        width: calc(100% - 40px);
        min-height: 78px;
    }

    .main-navigation .main-nav > ul {
        gap: 24px;
    }

    .main-navigation .main-nav ul li > a {
        font-size: 0.95rem;
    }

    .main-navigation .main-nav ul li.prism-nav-cta > a {
        padding: 14px 22px !important;
        min-height: 48px;
    }
}

@media (max-width: 768px) {
    body {
        padding-top: 72px;
    }

    .site-header .inside-header {
        width: calc(100% - 20px) !important;
        min-height: 72px !important;
    }
}





/* =========================
   CLEAN TABLET / MOBILE NAV
========================= */

.prism-header-branding {
    display: flex !important;
    align-items: center !important;
    justify-self: start !important;
    min-width: max-content !important;
    margin-right: 16px !important;
    flex-shrink: 0 !important;
}

.prism-header-branding .prism-footer-logo-link {
    display: inline-block;
    text-decoration: none;
}

.prism-header-branding .prism-footer-logo {
    margin: 0 !important;
    font-size: 1.25rem !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em !important;
    white-space: nowrap !important;
}

.prism-header-branding .prism-footer-logo-gold {
    color: #142A9F !important;
    text-shadow: 0 2px 10px rgb(7, 8, 7) !important;
}

.prism-header-branding .prism-footer-logo-light {
    color: #ffffff !important;
}

/* DESKTOP CTA: hidden until body gets prism-show-nav-cta */
.main-navigation .main-nav ul li.prism-nav-cta {
    margin-left: 0 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(-6px) !important;
    transition:
        opacity 0.32s cubic-bezier(0.22, 1, 0.36, 1),
        visibility 0.32s ease,
        transform 0.32s cubic-bezier(0.22, 1, 0.36, 1),
        margin-left 0.32s cubic-bezier(0.22, 1, 0.36, 1) !important;
}

.main-navigation .main-nav ul li.prism-nav-cta > a {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    max-width: 0 !important;
    overflow: hidden !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    border: none !important;
    box-shadow: none !important;
    transition:
        opacity 0.32s cubic-bezier(0.22, 1, 0.36, 1),
        visibility 0.32s ease,
        max-width 0.32s cubic-bezier(0.22, 1, 0.36, 1),
        padding 0.32s cubic-bezier(0.22, 1, 0.36, 1),
        box-shadow 0.32s cubic-bezier(0.22, 1, 0.36, 1) !important;
}

body.prism-show-nav-cta .main-navigation .main-nav ul li.prism-nav-cta {
    margin-left: 4px !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
}

body.prism-show-nav-cta .main-navigation .main-nav ul li.prism-nav-cta > a {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    max-width: 260px !important;
    padding-left: 30px !important;
    padding-right: 30px !important;
    border: none !important;
    box-shadow: inset 2.5px 0 0 #AB954A !important;
}

@media (max-width: 1024px) {

    #mobile-menu-control-wrapper {
        display: none !important;
    }

    .site-header .inside-header {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: calc(100% - 24px) !important;
        min-height: 72px !important;
        padding: 0 !important;
        column-gap: 12px !important;
    }

    .prism-header-branding {
        margin-right: 10px !important;
    }

    .prism-header-branding .prism-footer-logo {
        font-size: 1.25rem !important;
        letter-spacing: 0.01em !important;
    }

    #site-navigation {
        margin-left: auto !important;
        width: auto !important;
        min-width: 44px !important;
        position: relative !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        flex: 0 0 auto !important;
    }

    #site-navigation .inside-navigation {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        width: auto !important;
        padding: 0 !important;
    }

    .main-navigation {
        justify-self: end !important;
        width: auto !important;
        background: transparent !important;
    }

    #site-navigation .menu-toggle {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 44px !important;
        min-width: 44px !important;
        height: 44px !important;
        min-height: 44px !important;
        padding: 0 !important;
        margin: 0 !important;
        background: transparent !important;
        border: none !important;
        color: #ffffff !important;
        box-shadow: none !important;
        font-size: 0 !important;
        line-height: 1 !important;
        position: relative !important;
        z-index: 100002 !important;
        flex: 0 0 44px !important;
    }

    #site-navigation .menu-toggle .mobile-menu,
    #site-navigation .menu-toggle .menu-toggle-text,
    #site-navigation .menu-toggle .screen-reader-text {
        display: none !important;
    }

    #site-navigation .menu-toggle .gp-icon {
        position: relative !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 24px !important;
        height: 24px !important;
        color: #ffffff !important;
        flex: 0 0 24px !important;
    }

    #site-navigation .menu-toggle .gp-icon svg {
        position: absolute !important;
        top: 50% !important;
        left: 50% !important;
        width: 24px !important;
        height: 24px !important;
        fill: currentColor !important;
        stroke: currentColor !important;
        transition: opacity 0.2s ease !important;
    }

    /* hamburger visible by default */
    #site-navigation .menu-toggle .gp-icon svg:first-child {
        opacity: 1 !important;
        transform: translate(-50%, -50%) !important;
    }

    /* X hidden by default */
    #site-navigation .menu-toggle .gp-icon svg:last-child {
        opacity: 0 !important;
        transform: translate(-50%, -100%) translateY(-1px) translateX(1px) !important;
    }

    /* when menu is open */
    #site-navigation .menu-toggle[aria-expanded="true"] .gp-icon svg:first-child,
    #site-navigation .menu-toggle.toggled .gp-icon svg:first-child {
        opacity: 0 !important;
    }

    #site-navigation .menu-toggle[aria-expanded="true"] .gp-icon svg:last-child,
    #site-navigation .menu-toggle.toggled .gp-icon svg:last-child {
        opacity: 1 !important;
    }

    /* menu panel base */
       .main-navigation .main-nav > ul,
    #site-navigation .main-nav > ul {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 0 !important;
        position: fixed !important;
        top: 72px !important;
        left: 0 !important;
        right: 0 !important;
        width: auto !important;
        height: auto !important;
        max-height: 270px !important;
        margin: 0 !important;
        padding: 12px 16px 14px !important;
        background: rgba(7, 8, 7, 0.985) !important;
        border-top: 1px solid rgba(255,255,255,0.06) !important;
        border-bottom: 1px solid rgba(255,255,255,0.08) !important;
        border-left: none !important;
        border-right: none !important;
        box-sizing: border-box !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        z-index: 99998 !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        transform: translateY(-8px) !important;
        transition:
            opacity 0.24s ease,
            transform 0.24s ease,
            max-height 0.36s cubic-bezier(0.22, 1, 0.36, 1),
            padding 0.36s cubic-bezier(0.22, 1, 0.36, 1),
            visibility 0s linear 0.24s !important;
    }

    /* menu panel open */
        .main-navigation.toggled .main-nav > ul,
    #site-navigation.toggled .main-nav > ul {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transform: translateY(0) !important;
        max-height: 270px !important;
        padding: 12px 16px 14px !important;
        transition:
            opacity 0.24s ease,
            transform 0.24s ease,
            max-height 0.36s cubic-bezier(0.22, 1, 0.36, 1),
            padding 0.36s cubic-bezier(0.22, 1, 0.36, 1),
            visibility 0s linear 0s !important;
    }

    /* menu panel expands when CTA becomes visible */
    body.prism-show-nav-cta .main-navigation.toggled .main-nav > ul,
    body.prism-show-nav-cta #site-navigation.toggled .main-nav > ul {
        max-height: 340px !important;
        padding: 12px 16px 18px !important;
    }

    .main-navigation.toggled .main-nav > ul > li,
    #site-navigation.toggled .main-nav > ul > li {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .main-navigation .main-nav > ul > li > a,
    #site-navigation .main-nav > ul > li > a {
        display: block !important;
        width: 100% !important;
        padding: 8px 0 !important;
        margin: 0 !important;
        font-size: 15px !important;
        line-height: 1.25 !important;
        font-weight: 600 !important;
        text-align: left !important;
        color: rgba(255,255,255,0.82) !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        opacity: 1 !important;
        transform: none !important;
        transition: color 0.2s ease !important;
    }

    .main-navigation .main-nav > ul > li > a:hover,
    #site-navigation .main-nav > ul > li > a:hover {
        color: #ffffff !important;
    }

    /* mobile/tablet CTA hidden by default but still animatable */
    .main-navigation .main-nav ul li.prism-nav-cta,
    #site-navigation .main-nav ul li.prism-nav-cta {
        display: block !important;
        order: 999 !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        max-height: 0 !important;
        opacity: 0 !important;
        visibility: hidden !important;
        transform: translateY(10px) !important;
        pointer-events: none !important;
        overflow: hidden !important;
        border-top: 1px solid rgba(255,255,255,0) !important;
        transition:
            opacity 0.36s cubic-bezier(0.22, 1, 0.36, 1),
            transform 0.36s cubic-bezier(0.22, 1, 0.36, 1),
            max-height 0.36s cubic-bezier(0.22, 1, 0.36, 1),
            margin 0.36s cubic-bezier(0.22, 1, 0.36, 1),
            padding 0.36s cubic-bezier(0.22, 1, 0.36, 1),
            border-color 0.36s cubic-bezier(0.22, 1, 0.36, 1),
            visibility 0.36s ease !important;
    }

    .main-navigation .main-nav ul li.prism-nav-cta > a,
    #site-navigation .main-nav ul li.prism-nav-cta > a {
        display: flex !important;
        width: 100% !important;
        min-height: 48px !important;
        align-items: center !important;
        justify-content: center !important;
        background: #142A9F !important;
        color: #FFFFFF !important;
        border-radius: 0 !important;
        box-shadow: inset 2.5px 0 0 #AB954A !important;
        padding: 0 18px !important;
        max-width: none !important;
        overflow: visible !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        transform: none !important;
        transition:
            opacity 0.36s cubic-bezier(0.22, 1, 0.36, 1),
            visibility 0.36s ease !important;
    }

    /* mobile/tablet CTA shown only inside opened panel under Contact AND only after prism-show-nav-cta is added */
    body.prism-show-nav-cta .main-navigation.toggled .main-nav ul li.prism-nav-cta,
    body.prism-show-nav-cta #site-navigation.toggled .main-nav ul li.prism-nav-cta {
        margin: 18px 0 0 0 !important;
        padding: 12px 0 0 0 !important;
        max-height: 80px !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: translateY(0) !important;
        pointer-events: auto !important;
        border-top: 1px solid rgba(255,255,255,0.08) !important;
    }

    body.prism-show-nav-cta .main-navigation.toggled .main-nav ul li.prism-nav-cta > a,
    body.prism-show-nav-cta #site-navigation.toggled .main-nav ul li.prism-nav-cta > a {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }
}

@media (max-width: 768px) {
    .prism-header-branding {
        margin-right: 10px !important;
    }

    .prism-header-branding .prism-footer-logo {
        font-size: 1.25rem !important;
        letter-spacing: 0.01em !important;
    }

    .main-navigation .main-nav > ul,
    #site-navigation .main-nav > ul {
        max-height: 320px !important;
        padding: 12px 16px 14px !important;
    }

    .main-navigation .main-nav > ul > li > a,
    #site-navigation .main-nav > ul > li > a {
        font-size: 15px !important;
    }

    body.prism-show-nav-cta .main-navigation.toggled .main-nav > ul,
    body.prism-show-nav-cta #site-navigation.toggled .main-nav > ul {
        max-height: 390px !important;
    }
}

/* =========================
   PREMIUM HERO LOAD ANIMATIONS
========================= */

/* prevent animation flash before JS marks page ready */
html:not(.prism-anim-ready) #masthead,
html:not(.prism-anim-ready) .prism-ui-monotext.prism-typing-line.prism-ui-dash,
html:not(.prism-anim-ready) .prism-hero-heading,
html:not(.prism-anim-ready) .prism-hero-text,
html:not(.prism-anim-ready) .prism-hero-buttons {
    opacity: 0;
}

/* nav bar enters from top */
#masthead,
.site-header {
    opacity: 0;
    transform: translateY(-22px);
}

html.prism-anim-ready #masthead,
html.prism-anim-ready .site-header {
    animation: prismNavSlideIn 0.95s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

/* hero top line enters from left */
.prism-ui-monotext.prism-typing-line.prism-ui-dash {
    opacity: 0;
    transform: translateX(-34px);
    will-change: transform, opacity;
}

html.prism-anim-ready .prism-ui-monotext.prism-typing-line.prism-ui-dash {
    animation: prismHeroLineIn 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.22s forwards;
}

/* main hero copy enters from bottom */
.prism-hero-heading,
.prism-hero-text,
.prism-hero-buttons {
    opacity: 0;
    transform: translateY(34px);
    will-change: transform, opacity;
}

html.prism-anim-ready .prism-hero-heading {
    animation: prismHeroUpIn 0.95s cubic-bezier(0.22, 1, 0.36, 1) 0.42s forwards;
}

html.prism-anim-ready .prism-hero-text {
    animation: prismHeroUpIn 0.95s cubic-bezier(0.22, 1, 0.36, 1) 0.58s forwards;
}

html.prism-anim-ready .prism-hero-buttons {
    animation: prismHeroUpIn 0.95s cubic-bezier(0.22, 1, 0.36, 1) 0.74s forwards;
}

/* subtle premium easing */
@keyframes prismNavSlideIn {
    0% {
        opacity: 0;
        transform: translateY(-22px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes prismHeroLineIn {
    0% {
        opacity: 0;
        transform: translateX(-34px);
    }
    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes prismHeroUpIn {
    0% {
        opacity: 0;
        transform: translateY(34px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

/* respect reduced motion */
@media (prefers-reduced-motion: reduce) {
    #masthead,
    .site-header,
    .prism-ui-monotext.prism-typing-line.prism-ui-dash,
    .prism-hero-heading,
    .prism-hero-text,
    .prism-hero-buttons {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}

/* =========================
   HERO SCROLL FADE TO BACKGROUND
========================= */

.prism-hero-section {
    position: relative;
    overflow: hidden;

    --prism-hero-fade: 0;
    --prism-hero-overlay: 0;
    --prism-hero-shift: 0px;
    --prism-hero-grid-fade: 0;
}

.prism-hero-section::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 4;
    background:
        linear-gradient(
            to bottom,
            rgba(7,8,7,0) 0%,
            rgba(7,8,7,0.03) 40%,
            rgba(7,8,7,0.12) 62%,
            rgba(7,8,7,0.34) 78%,
            rgba(7,8,7,0.62) 90%,
            rgba(7,8,7,0.86) 100%
        );
    opacity: var(--prism-hero-overlay);
    transition: opacity 0.12s linear;
}

.prism-hero-section > .prism-services-grid-fade {
    position: relative;
    z-index: 1;
    opacity: calc(1 - var(--prism-hero-grid-fade));
    transition: opacity 0.12s linear;
    will-change: opacity;
}

.prism-hero-section > .prism-content-wrap {
    position: relative;
    z-index: 2;
    opacity: calc(1 - var(--prism-hero-fade));
    transform: translate3d(0, var(--prism-hero-shift), 0);
    transition:
        opacity 0.12s linear,
        transform 0.12s linear;
    will-change: opacity, transform;
}

@media (prefers-reduced-motion: reduce) {
    .prism-hero-section::after,
    .prism-hero-section > .prism-services-grid-fade,
    .prism-hero-section > .prism-content-wrap {
        transition: none !important;
        opacity: 1 !important;
        transform: none !important;
    }

    .prism-hero-section::after {
        opacity: 0 !important;
    }
}

/* =========================
   HERO BACKGROUND VIDEO - NIGHT MODE
========================= */

.prism-hero-video-wrap {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    overflow: hidden;
    opacity: calc(1 - var(--prism-hero-fade, 0));
    transition: opacity 0.12s linear;
}

.prism-hero-video-wrap::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;

    background:
        radial-gradient(
            circle at 73% 46%,
            rgba(20,42,159,0.10) 0%,
            rgba(7,8,7,0.08) 34%,
            rgba(7,8,7,0.00) 68%
        ),
        linear-gradient(
            to right,
            rgba(7,8,7,0.00) 0%,
            rgba(7,8,7,0.10) 48%,
            rgba(7,8,7,0.22) 100%
        );

    opacity: 0.78;
}

.prism-hero-video {
    position: absolute;
    top: 75%;
    right: 34.2%;
    width: max(34vw, 880px);
    height: 100%;
    object-fit: cover;
	  object-position: center 70%;
    transform: translateY(-60%);
    opacity: 0.40;

    -webkit-mask-image:
        linear-gradient(
    to right,
    transparent 0%,
    rgba(0,0,0,0.35) 10%,
    rgba(0,0,0,0.75) 18%,
    black 30%,
    black 70%,
    rgba(0,0,0,0.70) 86%,
    rgba(0,0,0,0.32) 94%,
    transparent 100%
),
        linear-gradient(
            to bottom,
            transparent 0%,
            rgba(0,0,0,0.22) 8%,
            rgba(0,0,0,0.65) 18%,
            black 32%,
            black 68%,
            rgba(0,0,0,0.65) 82%,
            rgba(0,0,0,0.22) 92%,
            transparent 100%
        );

    -webkit-mask-composite: source-in;

    mask-image:
        linear-gradient(
    to right,
    transparent 0%,
    rgba(0,0,0,0.35) 10%,
    rgba(0,0,0,0.75) 18%,
    black 30%,
    black 70%,
    rgba(0,0,0,0.70) 86%,
    rgba(0,0,0,0.32) 94%,
    transparent 100%
),
        linear-gradient(
            to bottom,
            transparent 0%,
            rgba(0,0,0,0.22) 8%,
            rgba(0,0,0,0.65) 18%,
            black 32%,
            black 68%,
            rgba(0,0,0,0.65) 82%,
            rgba(0,0,0,0.22) 92%,
            transparent 100%
        );

    mask-composite: intersect;
}

/* Keep hero text and buttons above the video */
.prism-hero-section > .prism-content-wrap {
    position: relative;
    z-index: 3;
}

/* Keep the existing scroll fade overlay above both video and text */
.prism-hero-section::after {
    z-index: 4;
}

/* MOBILE / TABLET - reduce video dominance */
@media (max-width: 1024px) {
    .prism-hero-video {
        right: -16%;
        width: 88vw;
        opacity: 0.42;
    }
}

@media (max-width: 768px) {
    .prism-hero-video {
        right: -36%;
        width: 125vw;
        opacity: 0.24;
    }

    .prism-hero-video-wrap::before {
        background:
            linear-gradient(
                to right,
                rgba(7,8,7,0.64) 0%,
                rgba(7,8,7,0.38) 52%,
                rgba(7,8,7,0.14) 100%
            );
        opacity: 1;
    }
}

/* Reduced motion safety */
@media (prefers-reduced-motion: reduce) {
    .prism-hero-video-wrap,
    .prism-hero-video {
        transition: none !important;
    }
}

/* =========================
   HERO BACKGROUND VIDEO - LIGHT MODE
========================= */

/* Default / night mode */
.prism-hero-video-night {
    display: block !important;
    opacity: 0.40;
    z-index: 1;
}

.prism-hero-video-day {
    display: none !important;
    opacity: 0;
    z-index: 0;
}

/* Daytime mode */
html.prism-light-mode .prism-hero-video-night {
    display: none !important;
    opacity: 0 !important;
    z-index: 0;
}

html.prism-light-mode .prism-hero-video-day {
    display: block !important;
    opacity: 0.40 !important;
    z-index: 1;
}

/* Keep the video wrapper tied to the existing hero scroll fade */
html.prism-light-mode .prism-hero-video-wrap {
    opacity: calc(1 - var(--prism-hero-fade, 0));
}

/* Light-mode wash over the daytime video */
html.prism-light-mode .prism-hero-video-wrap::before {
    background:
        linear-gradient(
            to right,
            rgba(245,245,245,0.86) 0%,
            rgba(245,245,245,0.58) 34%,
            rgba(245,245,245,0.20) 58%,
            rgba(245,245,245,0.08) 74%,
            rgba(245,245,245,0.24) 100%
        ),
        radial-gradient(
            circle at 70% 48%,
            rgba(20,42,159,0.045) 0%,
            rgba(171,149,74,0.028) 34%,
            rgba(245,245,245,0.00) 68%
        ) !important;

    opacity: 1 !important;
}

/* Daytime video: use the darker-font render without heavy blending */
html.prism-light-mode .prism-hero-video-day {
    filter:
        grayscale(0%)
        contrast(1.08)
        brightness(1.00)
        saturate(0.85);

    mix-blend-mode: normal;
}

/* Keep hero text and buttons above the light-mode video */
html.prism-light-mode .prism-hero-section > .prism-content-wrap {
    z-index: 3;
}

/* Light-mode scroll fade should fade toward light, not dark */
html.prism-light-mode .prism-hero-section::after {
    background:
        linear-gradient(
            to bottom,
            rgba(245,245,245,0) 0%,
            rgba(245,245,245,0.08) 42%,
            rgba(245,245,245,0.22) 64%,
            rgba(245,245,245,0.46) 80%,
            rgba(245,245,245,0.74) 92%,
            rgba(245,245,245,0.96) 100%
        ) !important;
}

/* LIGHT MODE TABLET */
@media (max-width: 1024px) {
    html.prism-light-mode .prism-hero-video-night {
        display: none !important;
        opacity: 0.42 !important;
        z-index: 0;
    }

    html.prism-light-mode .prism-hero-video-day {
        display: block !important;
        opacity: 0.55 !important;
        z-index: 1;

        filter:
            grayscale(0%)
            contrast(1.08)
            brightness(1.00)
            saturate(0.85);

        mix-blend-mode: normal;
    }

    html.prism-light-mode .prism-hero-video-wrap::before {
        background:
            linear-gradient(
                to right,
                rgba(245,245,245,0.86) 0%,
                rgba(245,245,245,0.58) 34%,
                rgba(245,245,245,0.20) 58%,
                rgba(245,245,245,0.08) 74%,
                rgba(245,245,245,0.24) 100%
            ),
            radial-gradient(
                circle at 70% 48%,
                rgba(20,42,159,0.045) 0%,
                rgba(171,149,74,0.028) 34%,
                rgba(245,245,245,0.00) 68%
            ) !important;

        opacity: 1 !important;
    }
}

/* LIGHT MODE MOBILE */
@media (max-width: 768px) {
    html.prism-light-mode .prism-hero-video-night {
        display: none !important;
        opacity: 0.24 !important;
        z-index: 0;
    }

    html.prism-light-mode .prism-hero-video-day {
        display: block !important;
        opacity: 0.55 !important;
        z-index: 1;

        filter:
            grayscale(0%)
            contrast(1.08)
            brightness(1.00)
            saturate(0.85);

        mix-blend-mode: normal;
    }

    html.prism-light-mode .prism-hero-video-wrap::before {
        background:
            linear-gradient(
                to right,
                rgba(245,245,245,0.86) 0%,
                rgba(245,245,245,0.58) 34%,
                rgba(245,245,245,0.20) 58%,
                rgba(245,245,245,0.08) 74%,
                rgba(245,245,245,0.24) 100%
            ),
            radial-gradient(
                circle at 70% 48%,
                rgba(20,42,159,0.045) 0%,
                rgba(171,149,74,0.028) 34%,
                rgba(245,245,245,0.00) 68%
            ) !important;

        opacity: 1 !important;
    }
}

/* =========================
   ACCESSIBILITY - REDUCED MOTION HERO VIDEO
========================= */

@media (prefers-reduced-motion: reduce) {
    .prism-hero-video-wrap,
    .prism-hero-video {
        animation: none !important;
        transition: none !important;
    }

    .prism-hero-video {
        display: none !important;
    }
}

/* =========================
   ACCESSIBILITY - NAV HOME LINK CONTRAST
========================= */

#site-navigation a[href="#prism-home"],
.main-navigation a[href="#prism-home"],
.main-nav a[href="#prism-home"] {
    color: #ffffff !important;
}

#site-navigation a[href="#prism-home"]:hover,
#site-navigation a[href="#prism-home"]:focus,
#site-navigation a[href="#prism-home"]:focus-visible,
.main-navigation a[href="#prism-home"]:hover,
.main-navigation a[href="#prism-home"]:focus,
.main-navigation a[href="#prism-home"]:focus-visible,
.main-nav a[href="#prism-home"]:hover,
.main-nav a[href="#prism-home"]:focus,
.main-nav a[href="#prism-home"]:focus-visible {
    color: #AB954A !important;
}

/* Light mode */
html.prism-light-mode #site-navigation a[href="#prism-home"],
html.prism-light-mode .main-navigation a[href="#prism-home"],
html.prism-light-mode .main-nav a[href="#prism-home"] {
    color: #0f172a !important;
}

html.prism-light-mode #site-navigation a[href="#prism-home"]:hover,
html.prism-light-mode #site-navigation a[href="#prism-home"]:focus,
html.prism-light-mode #site-navigation a[href="#prism-home"]:focus-visible,
html.prism-light-mode .main-navigation a[href="#prism-home"]:hover,
html.prism-light-mode .main-navigation a[href="#prism-home"]:focus,
html.prism-light-mode .main-navigation a[href="#prism-home"]:focus-visible,
html.prism-light-mode .main-nav a[href="#prism-home"]:hover,
html.prism-light-mode .main-nav a[href="#prism-home"]:focus,
html.prism-light-mode .main-nav a[href="#prism-home"]:focus-visible {
    color: #142A9F !important;
}

/* =========================
   ACCESSIBILITY - NON-HEADING HERO KICKER
========================= */

div.prism-hero-kicker.prism-ui-monotext {
    font-family: "Azeret Mono", monospace !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    font-style: normal !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    line-height: 1.4em !important;
    letter-spacing: 0.1em !important;
    margin-top: 0 !important;
    margin-bottom: 20px !important;
    color: rgba(171,149,74,0.85) !important;

    display: inline-flex;
    align-items: center;
}

div.prism-hero-kicker.prism-ui-dash::before {
    content: "";
    display: inline-block;
    width: 48px;
    height: 1px;
    background-color: #AB954A;
    margin-right: 1em;
    flex-shrink: 0;
}

/* =========================
   ACCESSIBILITY - NON-HEADING SECTION KICKERS
========================= */

p.wp-block-heading.prism-ui-monotext.prism-section-kicker {
    font-family: "Azeret Mono", monospace !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    font-style: normal !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    line-height: 1.4em !important;
    letter-spacing: 0.1em !important;
    margin-top: 0 !important;
    margin-bottom: 20px !important;
    color: rgba(171,149,74,0.85) !important;
}

/* =========================
   ACCESSIBILITY - SERVICE CARD HEADING LEVEL
========================= */

.prism-service-card h2 {
    margin: 0 0 18px;
    max-width: 300px;
    min-height: 40px;
    color: #ffffff;
    font-size: 20px;
    line-height: 1.30;
    font-weight: 700;
    letter-spacing: 0;
    transition: color 0.18s ease 0.04s;
}

.prism-service-card:hover h2 {
    color: #c6ad5b;
}

html.prism-light-mode .prism-service-card h2 {
    color: #555656 !important;
}

html.prism-light-mode .prism-service-card:hover h2 {
    color: #AB954A !important;
}

/* =========================
   ACCESSIBILITY - FEATURE ITEM HEADING LEVEL
========================= */

.prism-wix-feature-text h2 {
    margin: 0 0 6px 0;
    color: #ffffff;
    font-size: 16px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: -0.01em;
}

html.prism-light-mode .prism-wix-feature-text h2 {
    color: #000000 !important;
}

/* =========================
   ACCESSIBILITY - PTTX METHOD STEP HEADING LEVEL
========================= */

.prism-method-item h2 {
    margin: 0 0 8px;
    color: #ffffff;
    font-size: inherit;
    line-height: inherit;
    font-weight: inherit;
}

html.prism-light-mode .prism-method-item h2 {
    color: #000000 !important;
}

/* =========================
   ACCESSIBILITY - CONTACT FEATURE HEADING LEVEL
========================= */

#prism-contact .prism-wix-feature-text h2 {
    margin: 0 0 6px 0;
    color: #ffffff;
    font-size: 16px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: -0.01em;
}

html.prism-light-mode #prism-contact .prism-wix-feature-text h2 {
    color: #000000 !important;
}

/* =========================
   ACCESSIBILITY - OPERATIONAL EXPANDER BUTTON
========================= */

button.prism-op-trigger {
    border: 0;
    background: transparent;
    font: inherit;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
}

button.prism-op-trigger:focus-visible {
    outline: 2px solid #AB954A;
    outline-offset: 3px;
}

/* =========================
   ACCESSIBILITY - NON-HEADING DASHED KICKERS
========================= */

p.wp-block-heading.prism-ui-monotext.prism-ui-dash.prism-section-kicker {
    display: inline-flex;
    align-items: center;
}

p.wp-block-heading.prism-ui-monotext.prism-ui-dash.prism-section-kicker::before {
    content: "";
    display: inline-block;
    width: 48px;
    height: 1px;
    background-color: #AB954A;
    margin-right: 1em;
    flex-shrink: 0;
}

/* =========================
   ACCESSIBILITY - VERIFIED REVIEWS EXPANDER BUTTON
========================= */

button.prism-feedback-trigger {
    border: 0;
    background: transparent;
    font: inherit;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
}

button.prism-feedback-trigger:focus-visible {
    outline: 2px solid #AB954A;
    outline-offset: 3px;
}

/* =========================
   ACCESSIBILITY - SCREEN READER ONLY TEXT
========================= */

.prism-sr-only-new-tab-note {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* =========================
   ACCESSIBILITY - CONTACT FORM LABEL CONTRAST
========================= */

.prism-contact-shell .ff-el-form-label,
.prism-contact-shell .ff-el-input--label label,
.prism-contact-shell .ff-el-is-required.asterisk-right label {
    color: #d7d7d7 !important;
}

/* Light mode label contrast */
html.prism-light-mode .prism-contact-shell .ff-el-form-label,
html.prism-light-mode .prism-contact-shell .ff-el-input--label label,
html.prism-light-mode .prism-contact-shell .ff-el-is-required.asterisk-right label {
    color: #0f172a !important;
}

/* =========================
   ACCESSIBILITY - LIGHT MODE KICKER CONTRAST
========================= */

html.prism-light-mode p.wp-block-heading.prism-ui-monotext.prism-section-kicker {
    color: #5f4f1a !important;
}

/* =========================
   ACCESSIBILITY - CONTACT AREA LINK CONTRAST
========================= */

#prism-contact .prism-wix-feature-text a,
#prism-contact .prism-wix-feature-text a:visited {
    color: #d7d7d7 !important;
}

#prism-contact .prism-wix-feature-text a:hover,
#prism-contact .prism-wix-feature-text a:focus {
    color: #ffffff !important;
}

/* Light mode */
html.prism-light-mode #prism-contact .prism-wix-feature-text a,
html.prism-light-mode #prism-contact .prism-wix-feature-text a:visited {
    color: #0f172a !important;
}

html.prism-light-mode #prism-contact .prism-wix-feature-text a:hover,
html.prism-light-mode #prism-contact .prism-wix-feature-text a:focus {
    color: #142A9F !important;
}

/* =========================
   ACCESSIBILITY - PTTX METHOD NUMBER CONTRAST
========================= */

.prism-method-box span {
    color: rgba(255,255,255,0.92) !important;
    text-shadow:
        0 1px 2px rgba(0,0,0,0.45),
        0 0 8px rgba(0,0,0,0.35) !important;
}

/* Light mode */
html.prism-light-mode .prism-method-box span {
    color: #0f172a !important;
    text-shadow: none !important;
}

/* =========================
   ACCESSIBILITY - FOOTER CLICK-TO-CALL TEXT CONTRAST
========================= */

html.prism-light-mode .prism-footer-click-to-call .prism-footer-click-to-call-text {
    color: #0f172a !important;
}

html.prism-light-mode .prism-footer-click-to-call:hover .prism-footer-click-to-call-text,
html.prism-light-mode .prism-footer-click-to-call:focus .prism-footer-click-to-call-text {
    color: #142A9F !important;
}

/* =========================
   ACCESSIBILITY - PTTX METHOD STEP HEADING LEVEL
========================= */

.prism-method-item h2 {
    margin: 0 0 8px !important;
    color: #ffffff !important;
    font-size: 1.70em !important;
    line-height: 1.2 !important;
    font-weight: 600 !important;
}

html.prism-light-mode .prism-method-item h2 {
    color: #000000 !important;
}

@media (max-width: 1100px) {
    .prism-method-item h2 {
        text-align: center !important;
    }
}

/* =========================
   ACCESSIBILITY - SERVICE AREA MAP LINK CONTRAST
========================= */

#prism-contact a[href="https://maps.app.goo.gl/mJXdSPeRFVWU37d89"],
#prism-contact a[href="https://maps.app.goo.gl/mJXdSPeRFVWU37d89"]:visited {
    color: #d7d7d7 !important;
}

#prism-contact a[href="https://maps.app.goo.gl/mJXdSPeRFVWU37d89"]:hover,
#prism-contact a[href="https://maps.app.goo.gl/mJXdSPeRFVWU37d89"]:focus,
#prism-contact a[href="https://maps.app.goo.gl/mJXdSPeRFVWU37d89"]:focus-visible {
    color: #ffffff !important;
}

/* Light mode */
html.prism-light-mode #prism-contact a[href="https://maps.app.goo.gl/mJXdSPeRFVWU37d89"],
html.prism-light-mode #prism-contact a[href="https://maps.app.goo.gl/mJXdSPeRFVWU37d89"]:visited {
    color: #0f172a !important;
}

html.prism-light-mode #prism-contact a[href="https://maps.app.goo.gl/mJXdSPeRFVWU37d89"]:hover,
html.prism-light-mode #prism-contact a[href="https://maps.app.goo.gl/mJXdSPeRFVWU37d89"]:focus,
html.prism-light-mode #prism-contact a[href="https://maps.app.goo.gl/mJXdSPeRFVWU37d89"]:focus-visible {
    color: #142A9F !important;
}

/* =========================
   ACCESSIBILITY - FOOTER MAP LINK CONTRAST
========================= */

.prism-footer-meta-text a[href="https://maps.app.goo.gl/mJXdSPeRFVWU37d89"],
.prism-footer-meta-text a[href="https://maps.app.goo.gl/mJXdSPeRFVWU37d89"]:visited {
    color: #d7d7d7 !important;
}

.prism-footer-meta-text a[href="https://maps.app.goo.gl/mJXdSPeRFVWU37d89"]:hover,
.prism-footer-meta-text a[href="https://maps.app.goo.gl/mJXdSPeRFVWU37d89"]:focus,
.prism-footer-meta-text a[href="https://maps.app.goo.gl/mJXdSPeRFVWU37d89"]:focus-visible {
    color: #ffffff !important;
}

/* Light mode */
html.prism-light-mode .prism-footer-meta-text a[href="https://maps.app.goo.gl/mJXdSPeRFVWU37d89"],
html.prism-light-mode .prism-footer-meta-text a[href="https://maps.app.goo.gl/mJXdSPeRFVWU37d89"]:visited {
    color: #0f172a !important;
}

html.prism-light-mode .prism-footer-meta-text a[href="https://maps.app.goo.gl/mJXdSPeRFVWU37d89"]:hover,
html.prism-light-mode .prism-footer-meta-text a[href="https://maps.app.goo.gl/mJXdSPeRFVWU37d89"]:focus,
html.prism-light-mode .prism-footer-meta-text a[href="https://maps.app.goo.gl/mJXdSPeRFVWU37d89"]:focus-visible {
    color: #142A9F !important;
}

/* =========================
   ACCESSIBILITY - FOOTER LINK CONTRAST
========================= */

.prism-footer-section .prism-footer-list a,
.prism-footer-section .prism-footer-list a:visited,
.prism-footer-section .prism-footer-meta-text a,
.prism-footer-section .prism-footer-meta-text a:visited,
.prism-footer-section .prism-footer-contact-link,
.prism-footer-section .prism-footer-contact-link:visited {
    color: #d7d7d7 !important;
}

.prism-footer-section .prism-footer-list a:hover,
.prism-footer-section .prism-footer-list a:focus,
.prism-footer-section .prism-footer-list a:focus-visible,
.prism-footer-section .prism-footer-meta-text a:hover,
.prism-footer-section .prism-footer-meta-text a:focus,
.prism-footer-section .prism-footer-meta-text a:focus-visible,
.prism-footer-section .prism-footer-contact-link:hover,
.prism-footer-section .prism-footer-contact-link:focus,
.prism-footer-section .prism-footer-contact-link:focus-visible {
    color: #ffffff !important;
}

/* Preserve gold footer icons */
.prism-footer-section .prism-footer-icon,
.prism-footer-section .prism-footer-icon svg {
    color: #AB954A !important;
}

/* Light mode */
html.prism-light-mode .prism-footer-section .prism-footer-list a,
html.prism-light-mode .prism-footer-section .prism-footer-list a:visited,
html.prism-light-mode .prism-footer-section .prism-footer-meta-text a,
html.prism-light-mode .prism-footer-section .prism-footer-meta-text a:visited,
html.prism-light-mode .prism-footer-section .prism-footer-contact-link,
html.prism-light-mode .prism-footer-section .prism-footer-contact-link:visited {
    color: #0f172a !important;
}

html.prism-light-mode .prism-footer-section .prism-footer-list a:hover,
html.prism-light-mode .prism-footer-section .prism-footer-list a:focus,
html.prism-light-mode .prism-footer-section .prism-footer-list a:focus-visible,
html.prism-light-mode .prism-footer-section .prism-footer-meta-text a:hover,
html.prism-light-mode .prism-footer-section .prism-footer-meta-text a:focus,
html.prism-light-mode .prism-footer-section .prism-footer-meta-text a:focus-visible,
html.prism-light-mode .prism-footer-section .prism-footer-contact-link:hover,
html.prism-light-mode .prism-footer-section .prism-footer-contact-link:focus,
html.prism-light-mode .prism-footer-section .prism-footer-contact-link:focus-visible {
    color: #142A9F !important;
}

/* Preserve gold footer icons in light mode */
html.prism-light-mode .prism-footer-section .prism-footer-icon,
html.prism-light-mode .prism-footer-section .prism-footer-icon svg {
    color: #AB954A !important;
}

/* =========================
   ACCESSIBILITY - FOOTER SERVICE BUTTON CONTRAST
========================= */

.prism-footer-section .prism-footer-service-btn {
    color: #d7d7d7 !important;
}

.prism-footer-section .prism-footer-service-btn:hover,
.prism-footer-section .prism-footer-service-btn:focus,
.prism-footer-section .prism-footer-service-btn:focus-visible {
    color: #ffffff !important;
    outline: 2px solid #AB954A !important;
    outline-offset: 3px !important;
}

/* Light mode */
html.prism-light-mode .prism-footer-section .prism-footer-service-btn {
    color: #0f172a !important;
}

html.prism-light-mode .prism-footer-section .prism-footer-service-btn:hover,
html.prism-light-mode .prism-footer-section .prism-footer-service-btn:focus,
html.prism-light-mode .prism-footer-section .prism-footer-service-btn:focus-visible {
    color: #142A9F !important;
    outline: 2px solid #AB954A !important;
    outline-offset: 3px !important;
}

/* Keep the gold underline effect */
.prism-footer-section .prism-footer-service-btn::after {
    background: #AB954A !important;
}

/* =========================
   INSIGHTS PAGE
========================= */

.prism-insights-page {
    background: #070807;
    color: #ffffff;
    overflow: hidden;
}

.prism-insights-hero {
    position: relative;
    padding-top: calc(clamp(120px, 18vh, 220px) + 80px);
    padding-bottom: 110px;
    background:
        radial-gradient(circle at 76% 28%, rgba(20,42,159,0.22), transparent 32%),
        radial-gradient(circle at 24% 78%, rgba(171,149,74,0.12), transparent 26%),
        linear-gradient(180deg, #070807 0%, #111111 62%, #070807 100%);
    isolation: isolate;
}

.prism-insights-hero-grid {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    opacity: 0.28;
    background-image:
        linear-gradient(rgba(255,255,255,0.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.045) 1px, transparent 1px);
    background-size: 48px 48px;
    mask-image: radial-gradient(circle at center, black 0%, black 42%, transparent 78%);
    -webkit-mask-image: radial-gradient(circle at center, black 0%, black 42%, transparent 78%);
}

.prism-insights-hero-inner {
    position: relative;
    z-index: 1;
    text-align: center;
}

.prism-insights-kicker {
    justify-content: center;
}

.prism-insights-title {
    margin: 18px auto 22px;
    max-width: 950px;
    font-size: clamp(42px, 6vw, 76px);
    line-height: 0.98;
    letter-spacing: -0.045em;
    font-weight: 800;
    color: #ffffff;
    background: linear-gradient(
        173deg,
        #ffffff 0%,
        #f0f0f0 48%,
        #bdbdbd 68%,
        #86848A 82%
    );
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.prism-insights-lede {
    max-width: 790px;
    margin: 0 auto;
    color: #b7b7bb;
    font-size: clamp(16px, 2vw, 20px);
    line-height: 1.65;
    font-weight: 400;
}

.prism-insights-hero-actions {
    margin-top: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    flex-wrap: wrap;
}

.prism-insights-hero-btn {
    position: relative;
    min-height: 54px;
    padding: 0 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #ffffff !important;
    text-decoration: none !important;
    text-transform: uppercase;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.04em;
    border-radius: 0;
    overflow: hidden;
    transition:
        background-color 0.25s ease,
        color 0.25s ease,
        border-color 0.25s ease,
        transform 0.18s ease,
        box-shadow 0.25s ease;
}

.prism-insights-hero-btn-primary {
    background: #142A9F;
    box-shadow: inset 2.5px 0 0 #AB954A;
    border: 1px solid rgba(255,255,255,0.08);
}

.prism-insights-hero-btn-primary::after,
.prism-insights-cta-link::after,
.prism-insights-modal-link::after,
.prism-insights-modal-consult::after {
    content: "";
    position: absolute;
    top: 0;
    left: -35%;
    width: 22%;
    height: 100%;
    background: linear-gradient(
        100deg,
        rgba(255,255,255,0) 0%,
        rgba(255,255,255,0.10) 45%,
        rgba(255,255,255,0.22) 50%,
        rgba(255,255,255,0.10) 55%,
        rgba(255,255,255,0) 100%
    );
    transform: skewX(-22deg);
    transition: left 0.45s ease;
    pointer-events: none;
}

.prism-insights-hero-btn-primary:hover,
.prism-insights-cta-link:hover,
.prism-insights-modal-link:hover,
.prism-insights-modal-consult:hover {
    background: #132790;
    transform: translateY(-1px);
}

.prism-insights-hero-btn-primary:hover::after,
.prism-insights-cta-link:hover::after,
.prism-insights-modal-link:hover::after,
.prism-insights-modal-consult:hover::after {
    left: 115%;
}

.prism-insights-hero-btn-secondary {
    background: transparent;
    border: 1px solid rgba(255,255,255,0.20);
}

.prism-insights-hero-btn-secondary:hover {
    background: rgba(255,255,255,0.04);
    border-color: rgba(171,149,74,0.38);
    transform: translateY(-1px);
}

.prism-insights-library {
    position: relative;
    padding: 96px 0 110px;
    background: #070807;
}

.prism-insights-section-head {
    display: grid;
    grid-template-columns: 1fr minmax(260px, 430px);
    gap: 34px;
    align-items: end;
    margin-bottom: 38px;
}

.prism-insights-section-title {
    margin: 0;
    color: #ffffff;
    font-size: clamp(38px, 4vw, 56px);
    line-height: 1;
    letter-spacing: -0.035em;
    font-weight: 800;
}

.prism-insights-section-copy {
    margin: 0;
    color: #838187;
    font-size: 15px;
    line-height: 1.6;
}

.prism-insights-controls {
    margin-bottom: 34px;
    padding: 28px;
    border: 1px solid rgba(255,255,255,0.08);
    background:
        linear-gradient(
            90deg,
            rgba(20,42,159,0.06) 0%,
            rgba(20,42,159,0.03) 18%,
            rgba(20,42,159,0) 36%
        ),
        rgba(17,17,17,0.82);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.prism-insights-search-label {
    display: block;
    margin-bottom: 12px;
    color: #AB954A;
    font-family: "Azeret Mono", monospace;
    font-size: 13px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.prism-insights-search-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    margin-bottom: 20px;
}

.prism-insights-search {
    width: 100%;
    min-height: 52px;
    padding: 0 16px;
    background: #000000;
    color: #ffffff;
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 0;
    font-size: 15px;
    outline: none;
    transition:
        border-color 0.2s ease,
        box-shadow 0.25s ease,
        background-color 0.2s ease;
}

.prism-insights-search::placeholder {
    color: #68666B;
    opacity: 1;
}

.prism-insights-search:focus {
    border-color: #AB954A;
    box-shadow:
        0 0 0 1px rgba(171,149,74,0.32),
        0 0 12px rgba(171,149,74,0.14);
}

.prism-insights-clear,
.prism-insights-filter {
    min-height: 44px;
    padding: 0 16px;
    background: #000000;
    color: #d7d7d7;
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 0;
    cursor: pointer;
    font-size: 14px;
    font-weight: 600;
    transition:
        background-color 0.2s ease,
        border-color 0.2s ease,
        color 0.2s ease,
        transform 0.18s ease;
}

.prism-insights-clear:hover,
.prism-insights-filter:hover {
    color: #ffffff;
    border-color: rgba(171,149,74,0.42);
    transform: translateY(-1px);
}

.prism-insights-filter-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.prism-insights-filter.is-active {
    background: #142A9F;
    color: #ffffff;
    border-color: #AB954A;
    box-shadow: inset 2.5px 0 0 #AB954A;
}

.prism-insights-count {
    margin: 18px 0 0;
    color: #838187;
    font-size: 13px;
    line-height: 1.4;
}

.prism-insights-featured {
    margin-bottom: 28px;
}

.prism-insights-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.prism-insight-card {
    position: relative;
    min-width: 0;
    display: flex;
    flex-direction: column;
    border: 1px solid rgba(255,255,255,0.07);
    background:
        linear-gradient(
            90deg,
            rgba(20,42,159,0.08) 0%,
            rgba(20,42,159,0.04) 16%,
            rgba(20,42,159,0.00) 34%
        ),
        linear-gradient(
            180deg,
            rgba(255,255,255,0.012) 0%,
            rgba(255,255,255,0.00) 100%
        ),
        var(--prism-card-bg);
    overflow: hidden;
    transition:
        border-color 0.24s ease,
        transform 0.24s ease,
        box-shadow 0.28s ease,
        background 0.32s ease;
}

.prism-insight-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: -35%;
    width: 18%;
    height: 100%;
    background: linear-gradient(
        100deg,
        rgba(255,255,255,0) 0%,
        rgba(255,255,255,0.04) 35%,
        rgba(255,255,255,0.12) 50%,
        rgba(255,255,255,0.04) 65%,
        rgba(255,255,255,0) 100%
    );
    transform: skewX(-22deg);
    pointer-events: none;
    opacity: 0.7;
    z-index: 3;
    animation: prism-service-sheen 7.5s ease-in-out infinite;
}

.prism-insight-card:hover {
    transform: translateY(-3px);
    border-color: rgba(198,173,91,0.72);
    box-shadow: 0 18px 36px rgba(0,0,0,0.28);
}

.prism-insight-card-featured {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
    min-height: 360px;
}

.prism-insight-card-image-wrap {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: #050505;
}

.prism-insight-card-featured .prism-insight-card-image-wrap {
    aspect-ratio: auto;
    min-height: 100%;
}

.prism-insight-card-image-wrap::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            180deg,
            rgba(0,0,0,0.02) 0%,
            rgba(0,0,0,0.30) 100%
        );
    pointer-events: none;
}

.prism-insight-card-image-wrap img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transform: scale(1);
    transition: transform 0.6s ease, filter 0.45s ease;
}

.prism-insight-card:hover .prism-insight-card-image-wrap img {
    transform: scale(1.045);
}

.prism-insight-card-body {
    position: relative;
    z-index: 2;
    padding: 30px 30px 28px;
    display: flex;
    flex-direction: column;
    flex: 1;
}

.prism-insight-card-featured .prism-insight-card-body {
    justify-content: center;
    padding: 42px;
}

.prism-insight-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    margin-bottom: 16px;
}

.prism-insight-card-category,
.prism-insight-card-date {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 0 10px;
    font-size: 11px;
    line-height: 1;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.prism-insight-card-category {
    color: #AB954A;
    border: 1px solid rgba(171,149,74,0.26);
    background: rgba(171,149,74,0.06);
}

.prism-insight-card-date {
    color: #838187;
    border: 1px solid rgba(255,255,255,0.08);
    background: rgba(255,255,255,0.025);
}

.prism-insight-card h3 {
    margin: 0 0 14px;
    color: #ffffff;
    font-size: 21px;
    line-height: 1.24;
    font-weight: 800;
    letter-spacing: -0.02em;
    transition: color 0.24s ease;
}

.prism-insight-card-featured h3 {
    font-size: clamp(26px, 3vw, 42px);
    line-height: 1.08;
    max-width: 620px;
}

.prism-insight-card:hover h3 {
    color: #c6ad5b;
}

.prism-insight-card p {
    margin: 0 0 22px;
    color: #9a989e;
    font-size: 14px;
    line-height: 1.65;
    font-weight: 300;
}

.prism-insight-card-featured p {
    max-width: 600px;
    font-size: 16px;
}

.prism-insight-read {
    position: relative;
    margin-top: auto;
    padding: 0;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    width: max-content;
    background: transparent;
    border: none;
    color: #c6ad5b;
    font-family: "Azeret Mono", monospace;
    font-size: 12px;
    letter-spacing: 0.04em;
    line-height: 1;
    text-transform: uppercase;
    cursor: pointer;
    transition:
        color 0.24s ease,
        gap 0.24s ease;
}

.prism-insight-read:hover,
.prism-insight-read:focus {
    color: #ffffff;
    outline: none;
    gap: 13px;
}

.prism-insight-read:focus-visible {
    outline: 2px solid #AB954A;
    outline-offset: 5px;
}

.prism-insight-read-arrow {
    position: relative;
    width: 14px;
    height: 12px;
    flex: 0 0 14px;
    display: inline-block;
}

.prism-insight-read-arrow::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 7px;
    height: 1px;
    background: currentColor;
    transform: translateY(-50%);
}

.prism-insight-read-arrow::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 5px;
    width: 5px;
    height: 5px;
    border-top: 1.5px solid currentColor;
    border-right: 1.5px solid currentColor;
    transform: translateY(-50%) rotate(45deg);
}

.prism-insight-corner {
    position: absolute;
    top: 0;
    right: 0;
    width: 42px;
    height: 42px;
    background: #c6ad5b;
    clip-path: polygon(100% 0, 0 100%, 100% 100%);
    opacity: 0;
    transition: opacity 0.28s ease;
    pointer-events: none;
}

.prism-insight-card:hover .prism-insight-corner {
    opacity: 1;
}

.prism-insights-loading,
.prism-insights-empty,
.prism-insights-error {
    margin-top: 34px;
    padding: 34px;
    border: 1px solid rgba(255,255,255,0.08);
    background: rgba(17,17,17,0.72);
    text-align: center;
}

.prism-insights-loading p,
.prism-insights-empty p,
.prism-insights-error p {
    margin: 0;
    color: #838187;
}

.prism-insights-empty h3,
.prism-insights-error h3 {
    margin: 12px 0;
    color: #ffffff;
}

.prism-insights-cta {
    padding: 0 0 110px;
    background: #070807;
}

.prism-insights-cta-box {
    position: relative;
    overflow: hidden;
    padding: 58px;
    text-align: center;
    border: 1px solid rgba(171,149,74,0.20);
    background:
        radial-gradient(circle at 50% 0%, rgba(20,42,159,0.18), transparent 36%),
        linear-gradient(135deg, rgba(20,42,159,0.10), rgba(171,149,74,0.06)),
        rgba(17,17,17,0.84);
}

.prism-insights-cta-box::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: 0.16;
    pointer-events: none;
    background-image:
        linear-gradient(rgba(255,255,255,0.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.05) 1px, transparent 1px);
    background-size: 42px 42px;
}

.prism-insights-cta-box > * {
    position: relative;
    z-index: 1;
}

.prism-insights-cta-box h2 {
    max-width: 820px;
    margin: 12px auto 18px;
    color: #ffffff;
    font-size: clamp(30px, 4vw, 46px);
    line-height: 1.12;
    letter-spacing: -0.035em;
}

.prism-insights-cta-box p {
    max-width: 760px;
    margin: 0 auto 28px;
    color: #a9a7ad;
    font-size: 16px;
    line-height: 1.7;
}

.prism-insights-cta-link,
.prism-insights-modal-link,
.prism-insights-modal-consult {
    position: relative;
    overflow: hidden;
    min-height: 52px;
    padding: 0 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #ffffff !important;
    background: #142A9F;
    box-shadow: inset 2.5px 0 0 #AB954A;
    text-decoration: none !important;
    text-transform: uppercase;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.04em;
    border: 1px solid rgba(255,255,255,0.08);
}

.prism-insights-modal[hidden] {
    display: none;
}

.prism-insights-modal {
    position: fixed;
    inset: 0;
    z-index: 100000;
    display: grid;
    place-items: center;
    padding: 24px;
}

.prism-insights-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.76);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.prism-insights-modal-panel {
    position: relative;
    z-index: 1;
    width: min(980px, 100%);
    max-height: min(86vh, 920px);
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    overflow: hidden;
    border: 1px solid rgba(171,149,74,0.28);
    background: #111111;
    box-shadow: 0 30px 90px rgba(0,0,0,0.55);
}

.prism-insights-modal-close {
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 4;
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255,255,255,0.16);
    background: rgba(0,0,0,0.55);
    color: #ffffff;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
    transition:
        color 0.2s ease,
        border-color 0.2s ease,
        background-color 0.2s ease;
}

.prism-insights-modal-close:hover,
.prism-insights-modal-close:focus {
    color: #AB954A;
    border-color: rgba(171,149,74,0.46);
    outline: none;
}

.prism-insights-modal-image-wrap {
    min-height: 100%;
    background: #050505;
}

.prism-insights-modal-image-wrap img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.prism-insights-modal-body {
    padding: 44px;
    overflow: auto;
}

.prism-insights-modal-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 18px;
}

.prism-insights-modal-meta span {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 0 10px;
    color: #AB954A;
    border: 1px solid rgba(171,149,74,0.24);
    background: rgba(171,149,74,0.06);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.prism-insights-modal-body h2 {
    margin: 0 0 20px;
    color: #ffffff;
    font-size: clamp(28px, 4vw, 46px);
    line-height: 1.08;
    letter-spacing: -0.035em;
}

.prism-insights-modal-content {
    color: #d7d7d7;
    font-size: 16px;
    line-height: 1.72;
}

.prism-insights-modal-content p {
    color: #d7d7d7;
}

.prism-insights-modal-content a {
    color: #AB954A;
}

.prism-insights-modal-content h1,
.prism-insights-modal-content h2,
.prism-insights-modal-content h3,
.prism-insights-modal-content h4 {
    color: #ffffff;
}

.prism-insights-modal-actions {
    margin-top: 30px;
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.prism-insights-modal-consult {
    background: transparent;
    box-shadow: none;
    border-color: rgba(255,255,255,0.18);
}

body.prism-modal-open {
    overflow: hidden;
}

@media (max-width: 1100px) {
    .prism-insights-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .prism-insight-card-featured {
        grid-template-columns: 1fr;
    }

    .prism-insight-card-featured .prism-insight-card-image-wrap {
        aspect-ratio: 16 / 9;
    }
}

@media (max-width: 860px) {
    .prism-insights-section-head {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .prism-insights-modal-panel {
        grid-template-columns: 1fr;
        max-height: 90vh;
    }

    .prism-insights-modal-image-wrap {
        max-height: 260px;
    }
}

@media (max-width: 768px) {
    .prism-insights-hero {
        padding-top: calc(80px + 72px);
        padding-bottom: 82px;
    }

    .prism-insights-library {
        padding: 70px 0 82px;
    }

    .prism-insights-grid {
        grid-template-columns: 1fr;
    }

    .prism-insights-search-row {
        grid-template-columns: 1fr;
    }

    .prism-insights-controls {
        padding: 22px;
    }

    .prism-insight-card-body,
    .prism-insight-card-featured .prism-insight-card-body {
        padding: 26px;
    }

    .prism-insights-cta {
        padding-bottom: 82px;
    }

    .prism-insights-cta-box {
        padding: 38px 24px;
    }

    .prism-insights-modal {
        padding: 12px;
    }

    .prism-insights-modal-body {
        padding: 30px 24px;
    }

    .prism-insights-modal-actions {
        flex-direction: column;
    }

    .prism-insights-modal-link,
    .prism-insights-modal-consult {
        width: 100%;
    }
}

/* =========================
   INSIGHTS HERO BACKGROUND VIDEO
   Matched to homepage hero video behavior
========================= */

.prism-insights-hero {
    position: relative !important;
    overflow: hidden !important;
    isolation: isolate !important;
}

/* Video layer behind Insights hero content */
.prism-insights-video-wrap {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
    pointer-events: none !important;
    overflow: hidden !important;
}

/* Same subtle wash behavior as homepage, but scoped to Insights */
.prism-insights-video-wrap::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;

    background:
        radial-gradient(
            circle at 73% 46%,
            rgba(20,42,159,0.10) 0%,
            rgba(7,8,7,0.08) 34%,
            rgba(7,8,7,0.00) 68%
        ),
        linear-gradient(
            to right,
            rgba(7,8,7,0.00) 0%,
            rgba(7,8,7,0.10) 48%,
            rgba(7,8,7,0.22) 100%
        );

    opacity: 0.78;
}

/* Shared video styling copied from the homepage scale/position logic */
.prism-insights-video {
    position: absolute !important;
    top: 75% !important;
    right: 34.2% !important;

    width: max(34vw, 880px) !important;
    height: 100% !important;

    object-fit: cover !important;
    object-position: center 70% !important;

    transform: translateY(-60%) !important;

    opacity: 0 !important;
    transition: opacity 0.35s ease !important;
    will-change: opacity !important;

    background: transparent !important;

    -webkit-mask-image:
        linear-gradient(
            to right,
            transparent 0%,
            rgba(0,0,0,0.35) 10%,
            rgba(0,0,0,0.75) 18%,
            black 30%,
            black 70%,
            rgba(0,0,0,0.70) 86%,
            rgba(0,0,0,0.32) 94%,
            transparent 100%
        ),
        linear-gradient(
            to bottom,
            transparent 0%,
            rgba(0,0,0,0.22) 8%,
            rgba(0,0,0,0.65) 18%,
            black 32%,
            black 68%,
            rgba(0,0,0,0.65) 82%,
            rgba(0,0,0,0.22) 92%,
            transparent 100%
        ) !important;

    -webkit-mask-composite: source-in !important;

    mask-image:
        linear-gradient(
            to right,
            transparent 0%,
            rgba(0,0,0,0.35) 10%,
            rgba(0,0,0,0.75) 18%,
            black 30%,
            black 70%,
            rgba(0,0,0,0.70) 86%,
            rgba(0,0,0,0.32) 94%,
            transparent 100%
        ),
        linear-gradient(
            to bottom,
            transparent 0%,
            rgba(0,0,0,0.22) 8%,
            rgba(0,0,0,0.65) 18%,
            black 32%,
            black 68%,
            rgba(0,0,0,0.65) 82%,
            rgba(0,0,0,0.22) 92%,
            transparent 100%
        ) !important;

    mask-composite: intersect !important;
}

/* Dark mode video */
.prism-insights-video-dark {
    display: block !important;
    opacity: 0.40 !important;
    z-index: 1 !important;
}

/* Light video hidden by default */
.prism-insights-video-light {
    display: none !important;
    opacity: 0 !important;
    z-index: 0 !important;
}

/* Light mode video swap */
html.prism-light-mode .prism-insights-video-dark {
    display: none !important;
    opacity: 0 !important;
    z-index: 0 !important;
}

html.prism-light-mode .prism-insights-video-light {
    display: block !important;
    opacity: 0.40 !important;
    z-index: 1 !important;

    filter:
        grayscale(0%)
        contrast(1.08)
        brightness(1.00)
        saturate(0.85) !important;

    mix-blend-mode: normal !important;
    background: transparent !important;
}

/* Light-mode wash over the daytime video */
html.prism-light-mode .prism-insights-video-wrap::before {
    background:
        linear-gradient(
            to right,
            rgba(245,245,245,0.86) 0%,
            rgba(245,245,245,0.58) 34%,
            rgba(245,245,245,0.20) 58%,
            rgba(245,245,245,0.08) 74%,
            rgba(245,245,245,0.24) 100%
        ),
        radial-gradient(
            circle at 70% 48%,
            rgba(20,42,159,0.045) 0%,
            rgba(171,149,74,0.028) 34%,
            rgba(245,245,245,0.00) 68%
        ) !important;

    opacity: 1 !important;
}

/* Keep the Insights grid above the video but below the text */
.prism-insights-hero-grid {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    pointer-events: none !important;
}

/* Keep hero content above video and grid */
.prism-insights-hero > .prism-content-wrap,
.prism-insights-hero-copy,
.prism-insights-title,
.prism-insights-lede,
.prism-insights-hero-actions {
    position: relative !important;
    z-index: 3 !important;
}

/* Tablet tuning copied from homepage */
@media (max-width: 1024px) {
    .prism-insights-video {
        right: -16% !important;
        width: 88vw !important;
        opacity: 0.42 !important;
    }

    html.prism-light-mode .prism-insights-video-light {
        opacity: 0.55 !important;
    }
}

/* Mobile tuning copied from homepage */
@media (max-width: 768px) {
    .prism-insights-video {
        right: -36% !important;
        width: 125vw !important;
        opacity: 0.24 !important;
    }

    .prism-insights-video-wrap::before {
        background:
            linear-gradient(
                to right,
                rgba(7,8,7,0.64) 0%,
                rgba(7,8,7,0.38) 52%,
                rgba(7,8,7,0.14) 100%
            ) !important;
        opacity: 1 !important;
    }

    html.prism-light-mode .prism-insights-video-light {
        opacity: 0.55 !important;
    }
}

/* Reduced motion safety */
@media (prefers-reduced-motion: reduce) {
    .prism-insights-video-wrap,
    .prism-insights-video {
        transition: none !important;
    }

    .prism-insights-video {
        display: none !important;
    }
}

/* =========================
   END INSIGHTS HERO BACKGROUND VIDEO
========================= */

/* =========================
   LIGHT MODE - INSIGHTS PAGE
========================= */

html.prism-light-mode .prism-insights-page,
html.prism-light-mode .prism-insights-library,
html.prism-light-mode .prism-insights-cta {
    background: #f5f5f5 !important;
    color: #0f172a !important;
}

html.prism-light-mode .prism-insights-hero {
    background:
        radial-gradient(circle at 76% 28%, rgba(20,42,159,0.12), transparent 32%),
        radial-gradient(circle at 24% 78%, rgba(171,149,74,0.08), transparent 26%),
        linear-gradient(180deg, #ffffff 0%, #f7f8fb 62%, #f5f5f5 100%) !important;
}

html.prism-light-mode .prism-insights-hero-grid {
    opacity: 0.34;
    background-image:
        linear-gradient(rgba(15,23,42,0.08) 1px, transparent 1px),
        linear-gradient(90deg, rgba(15,23,42,0.08) 1px, transparent 1px);
}

html.prism-light-mode .prism-insights-title {
    background: none !important;
    -webkit-background-clip: border-box !important;
    -webkit-text-fill-color: #0f172a !important;
    background-clip: border-box !important;
    color: #0f172a !important;
}

html.prism-light-mode .prism-insights-lede,
html.prism-light-mode .prism-insights-section-copy,
html.prism-light-mode .prism-insights-count,
html.prism-light-mode .prism-insight-card p,
html.prism-light-mode .prism-insights-loading p,
html.prism-light-mode .prism-insights-empty p,
html.prism-light-mode .prism-insights-error p,
html.prism-light-mode .prism-insights-cta-box p {
    color: #334155 !important;
}

html.prism-light-mode .prism-insights-section-title,
html.prism-light-mode .prism-insights-empty h3,
html.prism-light-mode .prism-insights-error h3,
html.prism-light-mode .prism-insights-cta-box h2 {
    color: #0f172a !important;
}

html.prism-light-mode .prism-insights-controls,
html.prism-light-mode .prism-insight-card,
html.prism-light-mode .prism-insights-loading,
html.prism-light-mode .prism-insights-empty,
html.prism-light-mode .prism-insights-error,
html.prism-light-mode .prism-insights-cta-box {
    background:
        linear-gradient(
            90deg,
            rgba(20,42,159,0.05) 0%,
            rgba(20,42,159,0.025) 16%,
            rgba(20,42,159,0.00) 34%
        ),
        linear-gradient(
            180deg,
            rgba(255,255,255,0.18) 0%,
            rgba(255,255,255,0.00) 100%
        ),
        rgba(229,231,235,0.88) !important;
    border-color: rgba(15,23,42,0.10) !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.35),
        0 0 0 rgba(0,0,0,0) !important;
}

html.prism-light-mode .prism-insight-card:hover {
    border-color: rgba(171,149,74,0.42) !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.40),
        0 18px 36px rgba(15,23,42,0.12) !important;
}

html.prism-light-mode .prism-insight-card h3 {
    color: #0f172a !important;
}

html.prism-light-mode .prism-insight-card:hover h3 {
    color: #AB954A !important;
}

html.prism-light-mode .prism-insight-card-date {
    color: #334155 !important;
    background: rgba(255,255,255,0.44) !important;
    border-color: rgba(15,23,42,0.10) !important;
}

html.prism-light-mode .prism-insights-search,
html.prism-light-mode .prism-insights-clear,
html.prism-light-mode .prism-insights-filter {
    background: #ffffff !important;
    color: #0f172a !important;
    border-color: rgba(15,23,42,0.14) !important;
}

html.prism-light-mode .prism-insights-search::placeholder {
    color: #64748b !important;
}

html.prism-light-mode .prism-insights-filter.is-active {
    background: #142A9F !important;
    color: #ffffff !important;
    border-color: #AB954A !important;
    box-shadow: inset 2.5px 0 0 #AB954A !important;
}

html.prism-light-mode .prism-insights-hero-btn-secondary {
    color: #0f172a !important;
    border-color: rgba(30,41,59,0.28) !important;
}

html.prism-light-mode .prism-insights-hero-btn-secondary:hover {
    background: rgba(15,23,42,0.06) !important;
    color: #0f172a !important;
    border-color: rgba(30,41,59,0.42) !important;
}

html.prism-light-mode .prism-insights-modal-backdrop {
    background: rgba(15,23,42,0.52);
}

html.prism-light-mode .prism-insights-modal-panel {
    background: #ffffff !important;
    border-color: rgba(171,149,74,0.32) !important;
}

html.prism-light-mode .prism-insights-modal-body h2,
html.prism-light-mode .prism-insights-modal-content h1,
html.prism-light-mode .prism-insights-modal-content h2,
html.prism-light-mode .prism-insights-modal-content h3,
html.prism-light-mode .prism-insights-modal-content h4 {
    color: #0f172a !important;
}

html.prism-light-mode .prism-insights-modal-content,
html.prism-light-mode .prism-insights-modal-content p {
    color: #334155 !important;
}

html.prism-light-mode .prism-insights-modal-close {
    background: rgba(255,255,255,0.92);
    color: #0f172a;
    border-color: rgba(15,23,42,0.16);
}

/* =========================
   END INSIGHTS PAGE
========================= */

/* =========================
   INSIGHTS HERO - EXACT HOMEPAGE HERO CONFIG
========================= */

.prism-insights-hero {
    text-align: left !important;
    padding-top: clamp(120px, 18vh, 220px) !important;
    padding-bottom: 140px !important;
}

.prism-insights-hero .prism-content-wrap {
    position: relative;
    z-index: 3;
}

.prism-insights-hero-copy {
    max-width: 720px !important;
    width: 100% !important;
}

.prism-insights-hero .prism-hero-kicker {
    justify-content: flex-start !important;
    margin-top: 0 !important;
    margin-bottom: 20px !important;

    font-family: "Azeret Mono", monospace !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.4em !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    color: rgba(171,149,74,0.85) !important;
}

.prism-insights-hero .prism-hero-kicker::before {
    width: 48px !important;
    height: 1px !important;
    margin-right: 1em !important;
    background-color: #AB954A !important;
}

.prism-insights-hero .prism-insights-title {
    margin: 0 0 18px !important;
    max-width: 760px !important;

    font-size: 34px !important;
    font-weight: 600 !important;
    line-height: 1.08 !important;
    letter-spacing: -0.02em !important;
}

.prism-insights-hero .prism-insights-lede {
    margin: 0 !important;
    max-width: 680px !important;

    font-size: 16px !important;
    line-height: 1.5 !important;
    letter-spacing: normal !important;
}

.prism-insights-hero .prism-insights-hero-actions {
    margin-top: 24px !important;
    justify-content: flex-start !important;
    gap: 16px !important;
}

.prism-insights-hero .wp-block-button.prism-btn-primary .wp-block-button__link,
.prism-insights-hero .wp-block-button.prism-btn-secondary .wp-block-button__link {
    min-height: 56px !important;
    padding: 16px 32px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    letter-spacing: 0.5px !important;
}

html.prism-light-mode .prism-insights-hero .prism-insights-title {
    background: none !important;
    -webkit-background-clip: border-box !important;
    -webkit-text-fill-color: #1e293b !important;
    background-clip: border-box !important;
    color: #1e293b !important;
}

@media (max-width: 768px) {
    .prism-insights-hero {
        padding-top: 80px !important;
        padding-bottom: 100px !important;
    }

    .prism-insights-hero-copy,
    .prism-insights-hero .prism-insights-title,
    .prism-insights-hero .prism-insights-lede {
        max-width: 100% !important;
    }

    .prism-insights-hero .prism-insights-hero-actions {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 16px !important;
    }

    .prism-insights-hero .wp-block-button,
    .prism-insights-hero .wp-block-button__link {
        width: 100%;
    }
}

/* =========================
   END INSIGHTS HERO - EXACT HOMEPAGE HERO CONFIG
========================= */

/* =========================
   INSIGHTS LIBRARY HEADING - MATCH SERVICES HEADING
========================= */

.prism-insights-section-head-services-style {
    display: block !important;
    margin-bottom: 0 !important;
}

.prism-insights-heading-left {
    display: block;
}

.prism-insights-heading-kicker-wrap {
    height: 30px;
    max-height: 30px;
}

.prism-insights-heading-kicker-wrap .prism-section-kicker {
    margin: 0 !important;
}

.prism-insights-heading-title-wrap {
    max-height: 30px;
}

.prism-insights-heading-title-wrap .prism-insights-section-title {
    margin: 0 !important;
    color: #ffffff;
    font-size: 45px !important;
    font-style: normal;
    font-weight: 700;
    line-height: 1 !important;
    letter-spacing: 2px !important;
}

.prism-insights-heading-right {
    text-align: right;
}

.prism-insights-heading-right .prism-azeret-mono {
    margin: 0 !important;
    padding-top: 18px;
    color: #838187;
    font-size: 13px !important;
    font-style: normal;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.prism-insights-controls {
    margin-top: 36px !important;
}

html.prism-light-mode .prism-insights-heading-title-wrap .prism-insights-section-title {
    color: #000000 !important;
}

html.prism-light-mode .prism-insights-heading-right .prism-azeret-mono {
    color: #000000 !important;
}

@media (max-width: 768px) {
    .prism-insights-heading-title-wrap {
        max-height: none;
    }

    .prism-insights-heading-title-wrap .prism-insights-section-title {
        font-size: 38px !important;
    }

    .prism-insights-heading-right {
        text-align: left;
    }

    .prism-insights-heading-right .prism-azeret-mono {
        padding-top: 22px;
    }

    .prism-insights-controls {
        margin-top: 56px !important;
    }
}

/* =========================
   END INSIGHTS LIBRARY HEADING - MATCH SERVICES HEADING
========================= */

.prism-insights-heading-right .prism-insights-section-copy {
    margin: 10px 0 0 auto !important;
    max-width: 430px !important;

    color: #838187 !important;
    font-family: "Azeret Mono", monospace !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.55 !important;
    letter-spacing: normal !important;
    text-transform: none !important;
}

@media (max-width: 768px) {
    .prism-insights-heading-right .prism-insights-section-copy {
        margin-left: 0 !important;
        max-width: 100% !important;
    }
}

/* =========================
   INSIGHTS HERO LEDE COLOR
========================= */

.prism-insights-hero .prism-insights-lede {
    color: #838187 !important;
}

html.prism-light-mode .prism-insights-hero .prism-insights-lede {
    color: #334155 !important;
}

/* =========================
   INSIGHTS CARD TITLE WEIGHT
========================= */

.prism-insight-card h3,
.prism-insight-card-featured h3 {
    font-weight: 600 !important;
    letter-spacing: -0.02em !important;
}

/* =========================
   INSIGHTS MODAL - MEDIA FIT + BLOG CONTENT SAFETY
   Revised: restores full-height left preview image
========================= */

/* Keep modal spacious but preserve the original two-column preview feel */
.prism-insights-modal-panel {
    width: min(1180px, calc(100vw - 48px)) !important;
    max-height: min(88vh, 920px) !important;

    display: grid !important;
    grid-template-columns: minmax(360px, 0.9fr) minmax(0, 1.1fr) !important;
    align-items: stretch !important;

    overflow: hidden !important;
}

/* Restore the left preview as a full-height image column */
.prism-insights-modal-image-wrap {
    align-self: stretch !important;

    width: 100% !important;
    min-height: 100% !important;
    height: auto !important;
    max-height: none !important;

    aspect-ratio: auto !important;

    display: block !important;
    overflow: hidden !important;

    background: #050505 !important;
}

/* Restore the original preview image behavior */
.prism-insights-modal-image-wrap img {
    width: 100% !important;
    height: 100% !important;

    max-width: none !important;
    max-height: none !important;

    object-fit: cover !important;
    object-position: center center !important;

    display: block !important;
    background: #050505 !important;
}

/* If a video or iframe ever lands in the left preview, keep it contained */
.prism-insights-modal-image-wrap video,
.prism-insights-modal-image-wrap iframe {
    width: 100% !important;
    height: 100% !important;

    max-width: none !important;
    max-height: none !important;

    object-fit: cover !important;
    object-position: center center !important;

    display: block !important;
    background: #050505 !important;
}

/* Right side should scroll independently if needed */
.prism-insights-modal-body {
    max-height: min(88vh, 920px) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
}

/* Keep article media from breaking outside the readable column */
.prism-insights-modal-content img,
.prism-insights-modal-content video,
.prism-insights-modal-content iframe,
.prism-insights-modal-content .wp-block-video,
.prism-insights-modal-content .wp-block-video video,
.prism-insights-modal-content .wp-block-image img,
.prism-insights-modal-content .wp-block-media-text,
.prism-insights-modal-content .wp-block-media-text__media,
.prism-insights-modal-content .wp-block-media-text__media video,
.prism-insights-modal-content .wp-block-media-text__media img,
.prism-insights-modal-content .wp-block-gallery,
.prism-insights-modal-content .wp-block-embed,
.prism-insights-modal-content .wp-block-embed__wrapper {
    max-width: 100% !important;
    height: auto !important;
    box-sizing: border-box !important;
}

/* Keep any article videos visible but not oversized */
.prism-insights-modal-content video,
.prism-insights-modal-content .wp-block-video video,
.prism-insights-modal-content .wp-block-media-text__media video {
    width: 100% !important;
    max-height: 420px !important;
    object-fit: contain !important;
    background: #050505 !important;
}

/* Prevent WordPress media-text from forcing the article wider than the modal */
.prism-insights-modal-content .wp-block-media-text {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 24px !important;
    width: 100% !important;
}

/* Make plugin carousel media behave inside the modal */
.prism-insights-modal-content [class*="carousel"] img,
.prism-insights-modal-content [class*="carousel"] video,
.prism-insights-modal-content [class*="swiper"] img,
.prism-insights-modal-content [class*="swiper"] video {
    max-width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
}

/* Tablet/mobile modal layout */
@media (max-width: 860px) {
    .prism-insights-modal-panel {
        width: min(100%, calc(100vw - 24px)) !important;
        max-height: 90vh !important;
        grid-template-columns: 1fr !important;
        align-items: start !important;
    }

    .prism-insights-modal-image-wrap {
        align-self: start !important;
        min-height: 0 !important;
        height: auto !important;
        aspect-ratio: 16 / 9 !important;
        max-height: 260px !important;
    }

    .prism-insights-modal-image-wrap img,
    .prism-insights-modal-image-wrap video,
    .prism-insights-modal-image-wrap iframe {
        height: 100% !important;
        max-height: 260px !important;
        object-fit: cover !important;
    }

    .prism-insights-modal-body {
        max-height: calc(90vh - 260px) !important;
    }

    .prism-insights-modal-content .wp-block-media-text {
        grid-template-columns: 1fr !important;
    }
}

/* =========================
   LIGHT MODE - BLOG POSTS + MODAL CONTENT
========================= */

/* Single blog post pages */
html.prism-light-mode.single-post,
html.prism-light-mode.single-post body,
html.prism-light-mode.single-post #page,
html.prism-light-mode.single-post .site,
html.prism-light-mode.single-post .site-content,
html.prism-light-mode.single-post .content-area,
html.prism-light-mode.single-post .site-main,
html.prism-light-mode.single-post .inside-article,
html.prism-light-mode.single-post .entry-content {
    background: #f5f5f5 !important;
    color: #0f172a !important;
}

/* Blog post article shell */
html.prism-light-mode.single-post .inside-article {
    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,0.92) 0%,
            rgba(245,245,245,0.96) 100%
        ) !important;
}

/* Blog post text */
html.prism-light-mode.single-post .entry-title,
html.prism-light-mode.single-post .entry-content h1,
html.prism-light-mode.single-post .entry-content h2,
html.prism-light-mode.single-post .entry-content h3,
html.prism-light-mode.single-post .entry-content h4,
html.prism-light-mode.single-post .entry-content h5,
html.prism-light-mode.single-post .entry-content h6 {
    color: #0f172a !important;
}

html.prism-light-mode.single-post .entry-content p,
html.prism-light-mode.single-post .entry-content li,
html.prism-light-mode.single-post .entry-content figcaption,
html.prism-light-mode.single-post .entry-meta,
html.prism-light-mode.single-post .entry-meta a {
    color: #334155 !important;
}

html.prism-light-mode.single-post .entry-content a {
    color: #142A9F !important;
}

html.prism-light-mode.single-post .entry-content a:hover,
html.prism-light-mode.single-post .entry-content a:focus {
    color: #0f172a !important;
}

/* Blog post media containment */
.single-post .entry-content img,
.single-post .entry-content video,
.single-post .entry-content iframe,
.single-post .entry-content .wp-block-video,
.single-post .entry-content .wp-block-video video,
.single-post .entry-content .wp-block-image img,
.single-post .entry-content .wp-block-media-text,
.single-post .entry-content .wp-block-media-text__media img,
.single-post .entry-content .wp-block-media-text__media video {
    max-width: 100% !important;
    height: auto !important;
    box-sizing: border-box !important;
}

/* Light mode modal shell */
html.prism-light-mode .prism-insights-modal-backdrop {
    background: rgba(15,23,42,0.48) !important;
}

html.prism-light-mode .prism-insights-modal-panel {
    background: #ffffff !important;
    border-color: rgba(171,149,74,0.34) !important;
    box-shadow: 0 30px 90px rgba(15,23,42,0.22) !important;
}

/* Light mode modal media box */
html.prism-light-mode .prism-insights-modal-image-wrap {
    background: #eef2f7 !important;
}

/* Light mode modal close button */
html.prism-light-mode .prism-insights-modal-close {
    background: rgba(255,255,255,0.86) !important;
    color: #0f172a !important;
    border-color: rgba(15,23,42,0.18) !important;
}

html.prism-light-mode .prism-insights-modal-close:hover,
html.prism-light-mode .prism-insights-modal-close:focus {
    color: #142A9F !important;
    border-color: rgba(20,42,159,0.34) !important;
}

/* Light mode modal article text */
html.prism-light-mode .prism-insights-modal-body {
    background: #ffffff !important;
}

html.prism-light-mode .prism-insights-modal-body h2,
html.prism-light-mode .prism-insights-modal-content h1,
html.prism-light-mode .prism-insights-modal-content h2,
html.prism-light-mode .prism-insights-modal-content h3,
html.prism-light-mode .prism-insights-modal-content h4,
html.prism-light-mode .prism-insights-modal-content h5,
html.prism-light-mode .prism-insights-modal-content h6 {
    color: #0f172a !important;
}

html.prism-light-mode .prism-insights-modal-content,
html.prism-light-mode .prism-insights-modal-content p,
html.prism-light-mode .prism-insights-modal-content li,
html.prism-light-mode .prism-insights-modal-content figcaption {
    color: #334155 !important;
}

html.prism-light-mode .prism-insights-modal-content a {
    color: #142A9F !important;
}

html.prism-light-mode .prism-insights-modal-meta span {
    color: #5f4f1a !important;
    border-color: rgba(171,149,74,0.32) !important;
    background: rgba(171,149,74,0.10) !important;
}

/* =========================
   INSIGHTS CTA - HOMEPAGE FONT ALIGNMENT
========================= */

/* Kicker: match the homepage section label style */
.prism-insights-cta-box > .prism-ui-monotext.prism-section-kicker {
    font-family: "Azeret Mono", monospace !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    color: rgba(171,149,74,0.85) !important;
    margin: 0 auto 20px !important;
    text-align: center !important;
    display: block !important;
    width: 100% !important;
}

/* Main CTA heading: closer to homepage section headings */
.prism-insights-cta-box h2 {
    max-width: 860px !important;
    margin: 0 auto 18px !important;

    font-family: "Poppins", sans-serif !important;
    font-size: clamp(34px, 4vw, 48px) !important;
    line-height: 1.05 !important;
    font-weight: 600 !important;
    letter-spacing: -0.03em !important;

    color: #ffffff !important;
}

/* CTA paragraph: match the homepage muted body copy */
.prism-insights-cta-box p:not(.prism-ui-monotext) {
    max-width: 680px !important;
    margin: 0 auto 30px !important;

    font-family: "Inter", sans-serif !important;
    font-size: 16px !important;
    line-height: 1.55 !important;
    font-weight: 400 !important;

    color: #838187 !important;
}

/* Keep the CTA button aligned with the homepage button language */
.prism-insights-cta-link {
    font-family: "Inter", sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    letter-spacing: 0.03em !important;
    text-transform: uppercase !important;
}

/* Light mode parity */
html.prism-light-mode .prism-insights-cta-box > .prism-ui-monotext.prism-section-kicker {
    color: #5f4f1a !important;
}

html.prism-light-mode .prism-insights-cta-box h2 {
    color: #0f172a !important;
}

html.prism-light-mode .prism-insights-cta-box p:not(.prism-ui-monotext) {
    color: #334155 !important;
}

/* =========================
   SINGLE POST - HEADER / FEATURED IMAGE HERO POLISH
   Makes the default post header feel closer to the homepage layout
========================= */

.single-post .inside-article {
    position: relative !important;
    isolation: isolate !important;
    padding-top: 0 !important;
    overflow: hidden !important;
    background: #070807 !important;
}

/* Dark hero-style background behind featured image + title */
.single-post .inside-article::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: clamp(860px, 88vw, 1180px);
    z-index: 0;
    pointer-events: none;

    background:
        radial-gradient(
            circle at 72% 18%,
            rgba(171,149,74,0.10) 0%,
            rgba(171,149,74,0.035) 24%,
            transparent 48%
        ),
        radial-gradient(
            circle at 28% 62%,
            rgba(20,42,159,0.09) 0%,
            rgba(20,42,159,0.03) 28%,
            transparent 52%
        ),
        radial-gradient(
            circle at center,
            rgba(255,255,255,0.018) 0%,
            rgba(255,255,255,0.008) 34%,
            rgba(0,0,0,0.34) 76%,
            rgba(0,0,0,0.76) 100%
        ),
        linear-gradient(rgba(255,255,255,0.012) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.012) 1px, transparent 1px),
        linear-gradient(180deg, #070807 0%, #0d0f10 52%, #070807 100%);

    background-size:
        cover,
        cover,
        cover,
        18px 18px,
        18px 18px,
        cover;

    background-position:
        center,
        center,
        center,
        center,
        center,
        center;
}

/* Soft shadow/fade layer over the grid so it does not look like graph paper */
.single-post .inside-article::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: clamp(860px, 88vw, 1180px);
    z-index: 1;
    pointer-events: none;

    background:
        linear-gradient(
            to bottom,
            rgba(7,8,7,0.16) 0%,
            rgba(7,8,7,0.02) 16%,
            rgba(7,8,7,0.10) 46%,
            rgba(7,8,7,0.42) 70%,
            rgba(7,8,7,0.86) 90%,
            rgba(7,8,7,1) 100%
        ),
        linear-gradient(
            to right,
            rgba(7,8,7,0.84) 0%,
            rgba(7,8,7,0.24) 18%,
            rgba(7,8,7,0.06) 50%,
            rgba(7,8,7,0.24) 82%,
            rgba(7,8,7,0.84) 100%
        );
}

body.single-post,
body.single-post #page,
body.single-post .site,
body.single-post .site-content,
body.single-post .content-area,
body.single-post .site-main {
    background: #070807 !important;
}

@media (max-width: 768px) {
    .single-post .inside-article::before,
    .single-post .inside-article::after {
        height: 760px;
    }
}

/* Keep actual content above the grid background */
.single-post .inside-article > * {
    position: relative !important;
    z-index: 2 !important;
}

/* Post featured image area */
.single-post .featured-image,
.single-post .post-image,
.single-post .page-header-image-single,
.single-post .inside-article > .wp-post-image {
    width: min(1280px, calc(100% - 64px)) !important;
    max-width: 1280px !important;
    margin: 0 auto 34px !important;
    display: block !important;
    box-sizing: border-box !important;
}

/* Featured image wrapper links */
.single-post .featured-image a,
.single-post .post-image a,
.single-post .page-header-image-single a {
    display: block !important;
    width: 100% !important;
}

/* Featured image itself */
.single-post .featured-image img,
.single-post .post-image img,
.single-post .page-header-image-single img,
.single-post img.wp-post-image {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    aspect-ratio: 16 / 9 !important;
    object-fit: cover !important;
    object-position: center center !important;

    box-shadow:
        0 22px 48px rgba(0,0,0,0.34),
        0 0 0 1px rgba(255,255,255,0.04) !important;
}

/* Post title/meta block */
.single-post .entry-header {
    width: min(1280px, calc(100% - 64px)) !important;
    max-width: 1280px !important;
    margin: 0 auto 46px !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

/* Post title - reduced from oversized default */
.single-post .entry-title {
    max-width: 820px !important;
    margin: 0 0 14px !important;

    font-family: "Poppins", sans-serif !important;
    font-size: clamp(28px, 3vw, 40px) !important;
    line-height: 1.14 !important;
    font-weight: 700 !important;
    letter-spacing: -0.018em !important;

    color: #ffffff !important;
}

/* Post meta */
.single-post .entry-meta,
.single-post .entry-meta a {
    font-family: "Azeret Mono", monospace !important;
    font-size: 11px !important;
    line-height: 1.4 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    color: #AB954A !important;
}

/* Create homepage-like breathing room before the first content block */
.single-post .entry-content {
    padding-top: 0 !important;
}

/* First video/content block should not crash directly into the header */
.single-post .entry-content > *:first-child {
    margin-top: 0 !important;
}

/* Tablet */
@media (max-width: 1024px) {
    .single-post .featured-image,
    .single-post .post-image,
    .single-post .page-header-image-single,
    .single-post .inside-article > .wp-post-image,
    .single-post .entry-header {
        width: calc(100% - 48px) !important;
    }

    .single-post .entry-title {
        font-size: clamp(27px, 4.8vw, 36px) !important;
        max-width: 760px !important;
    }
}

/* Mobile */
@media (max-width: 768px) {
    .single-post .inside-article::before {
        height: 620px;
    }

    .single-post .inside-article::after {
        top: 480px;
    }

    .single-post .featured-image,
    .single-post .post-image,
    .single-post .page-header-image-single,
    .single-post .inside-article > .wp-post-image,
    .single-post .entry-header {
        width: calc(100% - 40px) !important;
    }

    .single-post .entry-title {
        font-size: clamp(26px, 8vw, 34px) !important;
        line-height: 1.16 !important;
    }
}

/* =========================
   SINGLE POST VIDEO RESPONSIVE FIX
   Prevent launch post videos from exploding on tablet/mobile
========================= */

/* Keep all post media inside the article width */
.single-post .entry-content .wp-block-video,
.single-post .entry-content .wp-block-media-text,
.single-post .entry-content .wp-block-media-text__media,
.single-post .entry-content figure,
.single-post .entry-content video,
.single-post .entry-content iframe,
.single-post .inside-article video,
.single-post .inside-article iframe {
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Normalize WordPress video blocks */
.single-post .entry-content .wp-block-video {
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    overflow: hidden !important;
}

/* Force videos to scale by container width instead of their uploaded dimensions */
.single-post .entry-content video,
.single-post .entry-content .wp-block-video video,
.single-post .entry-content .wp-block-media-text__media video {
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;

    height: auto !important;
    max-height: min(62vh, 520px) !important;

    object-fit: contain !important;
    background: #050505 !important;
}

/* Stop media-text blocks from keeping an oversized desktop layout */
.single-post .entry-content .wp-block-media-text {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
}

/* Make the media side behave like normal responsive content */
.single-post .entry-content .wp-block-media-text__media {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
}

/* Tablet and smaller */
@media (max-width: 1024px) {
    .single-post .entry-content .wp-block-media-text {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 24px !important;
    }

    .single-post .entry-content .wp-block-media-text__media,
    .single-post .entry-content .wp-block-media-text__content {
        grid-column: 1 !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    .single-post .entry-content video,
    .single-post .entry-content .wp-block-video video,
    .single-post .entry-content .wp-block-media-text__media video {
        max-height: min(52vh, 420px) !important;
    }
}

/* Mobile */
@media (max-width: 768px) {
    .single-post .entry-content .wp-block-video,
    .single-post .entry-content .wp-block-media-text {
        margin-top: 24px !important;
        margin-bottom: 24px !important;
    }

    .single-post .entry-content video,
    .single-post .entry-content .wp-block-video video,
    .single-post .entry-content .wp-block-media-text__media video {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        max-height: 300px !important;
        object-fit: contain !important;
    }
}

/* Very small phones */
@media (max-width: 480px) {
    .single-post .entry-content video,
    .single-post .entry-content .wp-block-video video,
    .single-post .entry-content .wp-block-media-text__media video {
        max-height: 240px !important;
    }
}

/* =========================
   SINGLE POST CUSTOM VIDEO
   Uses homepage-style night/day video switching on post videos
========================= */

.single-post .prism-post-video-wrap {
    width: min(1280px, calc(100% - 64px));
    max-width: 1280px;
    margin: 0 auto;
    background: #070807;
    overflow: visible;
}

/* Shared post video styling */
.single-post .prism-post-video {
    display: block;
    width: 100%;
    height: auto;

    -webkit-mask-image:
        linear-gradient(
            to right,
            transparent 0%,
            transparent 14%,
            black 30%,
            black 65%,
            transparent 85%,
            transparent 100%
        ) !important;

    mask-image:
        linear-gradient(
            to right,
            transparent 0%,
            transparent 14%,
            black 30%,
            black 65%,
            transparent 85%,
            transparent 100%
        ) !important;

    -webkit-mask-size: 100% 100% !important;
    mask-size: 100% 100% !important;

    -webkit-mask-repeat: no-repeat !important;
    mask-repeat: no-repeat !important;
}

/* Default night mode */
.single-post .prism-post-video-night {
    display: block !important;
}

.single-post .prism-post-video-day {
    display: none !important;
}

/* Light mode switches to the day video */
html.prism-light-mode body.single-post .prism-post-video-wrap {
    background: #f5f5f5 !important;
}

html.prism-light-mode body.single-post .prism-post-video-night {
    display: none !important;
}

html.prism-light-mode body.single-post .prism-post-video-day {
    display: block !important;
}

/* =========================
   SINGLE POST - FRONT PAGE STYLE LAYOUT
   Keeps the post canvas full width while constraining inner content
========================= */

/* Let the blog post page behave like the homepage canvas */
.single-post #page,
.single-post .site,
.single-post .site-content,
.single-post .content-area,
.single-post .site-main,
.single-post .inside-article,
.single-post .entry-content {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
}

/* Remove the boxed article feel */
.single-post .inside-article {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    background: transparent !important;
}

/* Match the homepage inner content width */
.single-post .entry-header,
.single-post .entry-content > p,
.single-post .entry-content > h1,
.single-post .entry-content > h2,
.single-post .entry-content > h3,
.single-post .entry-content > h4,
.single-post .entry-content > h5,
.single-post .entry-content > h6,
.single-post .entry-content > ul,
.single-post .entry-content > ol,
.single-post .entry-content > blockquote,
.single-post .entry-content > .wp-block-group,
.single-post .entry-content > .wp-block-columns,
.single-post .entry-content > .wp-block-buttons,
.single-post .entry-content > .wp-block-spacer,
.single-post .entry-content > div[class*="gb-element-"] {
    width: min(1280px, calc(100% - 64px)) !important;
    max-width: 1280px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}

/* Keep normal article text readable without boxing the full page */
.single-post .entry-content > p,
.single-post .entry-content > ul,
.single-post .entry-content > ol,
.single-post .entry-content > blockquote {
    max-width: 860px !important;
}

/* Let videos and visual blocks feel closer to the homepage width */
.single-post .entry-content > figure,
.single-post .entry-content > .wp-block-image,
.single-post .entry-content > .wp-block-video,
.single-post .entry-content > .wp-block-embed,
.single-post .entry-content > .wp-block-media-text,
.single-post .entry-content > .wp-block-gallery {
    width: min(1280px, calc(100% - 64px)) !important;
    max-width: 1280px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}

/* Hard containment for all post media */
.single-post .entry-content img,
.single-post .entry-content video,
.single-post .entry-content iframe,
.single-post .entry-content embed,
.single-post .entry-content object {
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Prevent uploaded video dimensions from overpowering the layout */
.single-post .entry-content video,
.single-post .entry-content .wp-block-video video,
.single-post .entry-content .wp-block-media-text__media video {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-height: min(62vh, 520px) !important;
    object-fit: contain !important;
    background: #050505 !important;
}

/* Prevent media-text blocks from forcing oversized behavior */
.single-post .entry-content .wp-block-media-text {
    overflow: hidden !important;
    gap: 32px !important;
}

/* Tablet */
@media (max-width: 1024px) {
    .single-post .entry-header,
    .single-post .entry-content > p,
    .single-post .entry-content > h1,
    .single-post .entry-content > h2,
    .single-post .entry-content > h3,
    .single-post .entry-content > h4,
    .single-post .entry-content > h5,
    .single-post .entry-content > h6,
    .single-post .entry-content > ul,
    .single-post .entry-content > ol,
    .single-post .entry-content > blockquote,
    .single-post .entry-content > .wp-block-group,
    .single-post .entry-content > .wp-block-columns,
    .single-post .entry-content > .wp-block-buttons,
    .single-post .entry-content > .wp-block-spacer,
    .single-post .entry-content > div[class*="gb-element-"],
    .single-post .entry-content > figure,
    .single-post .entry-content > .wp-block-image,
    .single-post .entry-content > .wp-block-video,
    .single-post .entry-content > .wp-block-embed,
    .single-post .entry-content > .wp-block-media-text,
    .single-post .entry-content > .wp-block-gallery {
        width: calc(100% - 48px) !important;
        max-width: 100% !important;
    }

    .single-post .entry-content .wp-block-media-text {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 24px !important;
    }

    .single-post .entry-content .wp-block-media-text__media,
    .single-post .entry-content .wp-block-media-text__content {
        grid-column: 1 !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    .single-post .entry-content video,
    .single-post .entry-content .wp-block-video video,
    .single-post .entry-content .wp-block-media-text__media video {
        max-height: min(52vh, 420px) !important;
    }
}

/* Mobile */
@media (max-width: 768px) {
    .single-post .entry-header,
    .single-post .entry-content > p,
    .single-post .entry-content > h1,
    .single-post .entry-content > h2,
    .single-post .entry-content > h3,
    .single-post .entry-content > h4,
    .single-post .entry-content > h5,
    .single-post .entry-content > h6,
    .single-post .entry-content > ul,
    .single-post .entry-content > ol,
    .single-post .entry-content > blockquote,
    .single-post .entry-content > .wp-block-group,
    .single-post .entry-content > .wp-block-columns,
    .single-post .entry-content > .wp-block-buttons,
    .single-post .entry-content > .wp-block-spacer,
    .single-post .entry-content > div[class*="gb-element-"],
    .single-post .entry-content > figure,
    .single-post .entry-content > .wp-block-image,
    .single-post .entry-content > .wp-block-video,
    .single-post .entry-content > .wp-block-embed,
    .single-post .entry-content > .wp-block-media-text,
    .single-post .entry-content > .wp-block-gallery {
        width: calc(100% - 40px) !important;
    }

    .single-post .entry-content .wp-block-video,
    .single-post .entry-content .wp-block-media-text {
        margin-top: 24px !important;
        margin-bottom: 24px !important;
    }

    .single-post .entry-content video,
    .single-post .entry-content .wp-block-video video,
    .single-post .entry-content .wp-block-media-text__media video {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        max-height: 300px !important;
        object-fit: contain !important;
    }
}

/* Very small phones */
@media (max-width: 480px) {
    .single-post .entry-content video,
    .single-post .entry-content .wp-block-video video,
    .single-post .entry-content .wp-block-media-text__media video {
        max-height: 240px !important;
    }
}

/* =========================
   SINGLE POST FOOTER / COMMENTS POLISH
   Aligns post footer and comment form with the article layout
========================= */

/* Align post tags/categories and comment section with the article width */
.single-post .entry-footer,
.single-post .comments-area,
.single-post #comments,
.single-post #respond,
.single-post .comment-respond {
    width: min(1280px, calc(100% - 64px)) !important;
    max-width: 1280px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}

/* Give the footer metadata breathing room */
.single-post .entry-footer {
    margin-top: 42px !important;
    padding-top: 18px !important;
    padding-bottom: 34px !important;
    border-top: 1px solid rgba(171,149,74,0.18) !important;

    font-family: "Azeret Mono", monospace !important;
    font-size: 11px !important;
    line-height: 1.6 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
}

/* Keep post footer links in your gold accent style */
.single-post .entry-footer,
.single-post .entry-footer a {
    color: #AB954A !important;
}

.single-post .entry-footer a:hover,
.single-post .entry-footer a:focus {
    color: #ffffff !important;
}

/* Comment area spacing */
.single-post .comments-area,
.single-post #comments {
    margin-top: 18px !important;
    padding-top: 22px !important;
    padding-bottom: 80px !important;
}

/* Comment heading */
.single-post .comment-reply-title,
.single-post .comments-title {
    margin: 0 0 22px !important;

    font-family: "Poppins", sans-serif !important;
    font-size: clamp(26px, 3vw, 36px) !important;
    line-height: 1.1 !important;
    font-weight: 700 !important;
    letter-spacing: -0.025em !important;

    color: #ffffff !important;
}

/* Logged-in notice / comment helper text */
.single-post .comment-form,
.single-post .comment-form p,
.single-post .logged-in-as,
.single-post .comment-notes {
    font-family: "Inter", sans-serif !important;
    color: #838187 !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
}

/* Logged-in links */
.single-post .logged-in-as a,
.single-post .comment-form a {
    color: #AB954A !important;
    text-decoration: none !important;
}

.single-post .logged-in-as a:hover,
.single-post .comment-form a:hover {
    color: #ffffff !important;
}

/* Comment textarea */
.single-post .comment-form-comment textarea,
.single-post textarea#comment {
    width: 100% !important;
    min-height: 220px !important;
    padding: 16px 18px !important;

    background: #202022 !important;
    color: #ffffff !important;

    border: 1px solid rgba(255,255,255,0.10) !important;
    border-radius: 0 !important;
    box-shadow: none !important;

    font-family: "Inter", sans-serif !important;
    font-size: 15px !important;
    line-height: 1.5 !important;

    resize: vertical !important;

    transition:
        border-color 0.2s ease,
        box-shadow 0.25s ease,
        background-color 0.2s ease !important;
}

.single-post .comment-form-comment textarea:hover,
.single-post textarea#comment:hover {
    border-color: rgba(255,255,255,0.18) !important;
}

.single-post .comment-form-comment textarea:focus,
.single-post textarea#comment:focus {
    outline: none !important;
    border-color: #AB954A !important;
    background: #111111 !important;

    box-shadow:
        0 0 0 1px rgba(171,149,74,0.35),
        0 0 10px rgba(171,149,74,0.15) !important;
}

/* Comment submit wrapper */
.single-post .form-submit {
    margin-top: 18px !important;
}

/* Post Comment button: match Request Consultation button */
.single-post .form-submit input[type="submit"],
.single-post input#submit,
.single-post .comment-form .submit {
    position: relative !important;
    overflow: hidden !important;

    min-height: 56px !important;
    padding: 16px 32px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    background-color: #142A9F !important;
    color: #ffffff !important;

    border: none !important;
    border-radius: 0 !important;

    box-shadow: inset 2.5px 0 0 #AB954A !important;

    font-family: "Inter", sans-serif !important;
    font-size: 15px !important;
    line-height: 1 !important;
    font-weight: 600 !important;
    letter-spacing: 0.03em !important;
    text-transform: uppercase !important;

    text-decoration: none !important;
    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        box-shadow 0.25s ease,
        transform 0.18s ease !important;
}

/* Hover state */
.single-post .form-submit input[type="submit"]:hover,
.single-post input#submit:hover,
.single-post .comment-form .submit:hover {
    background-color: #132790 !important;
    color: #ffffff !important;

    box-shadow: inset 3px 0 0 #AB954A !important;
    transform: translateY(-1px);
}

/* Active click feel */
.single-post .form-submit input[type="submit"]:active,
.single-post input#submit:active,
.single-post .comment-form .submit:active {
    transform: translateY(0);
}

/* Focus state */
.single-post .form-submit input[type="submit"]:focus,
.single-post input#submit:focus,
.single-post .comment-form .submit:focus {
    outline: 2px solid #AB954A !important;
    outline-offset: 3px !important;
}

/* Tablet */
@media (max-width: 1024px) {
    .single-post .entry-footer,
    .single-post .comments-area,
    .single-post #comments,
    .single-post #respond,
    .single-post .comment-respond {
        width: calc(100% - 48px) !important;
    }
}

/* Mobile */
@media (max-width: 768px) {
    .single-post .entry-footer,
    .single-post .comments-area,
    .single-post #comments,
    .single-post #respond,
    .single-post .comment-respond {
        width: calc(100% - 40px) !important;
    }

    .single-post .form-submit input[type="submit"],
    .single-post input#submit,
    .single-post .comment-form .submit {
        width: 100% !important;
    }
}

/* =========================
   SINGLE POST TAGS / TAXONOMY FOOTER POLISH
   Aligns categories and tags with the article/comment layout
========================= */

/* GeneratePress post footer metadata */
.single-post footer.entry-meta,
.single-post .entry-meta.cat-links,
.single-post .entry-meta.tags-links {
    width: min(1280px, calc(100% - 64px)) !important;
    max-width: 1280px !important;
    margin: 42px auto 36px !important;
    padding: 18px 0 0 !important;
    box-sizing: border-box !important;

    border-top: 1px solid rgba(171,149,74,0.18) !important;

    font-family: "Azeret Mono", monospace !important;
    font-size: 11px !important;
    line-height: 1.7 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;

    color: #AB954A !important;
}

/* Space category and tag rows cleanly */
.single-post footer.entry-meta .cat-links,
.single-post footer.entry-meta .tags-links {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 8px 10px !important;

    margin: 0 0 8px !important;
    padding: 0 !important;

    color: #AB954A !important;
}

/* Category/tag links */
.single-post footer.entry-meta .cat-links a,
.single-post footer.entry-meta .tags-links a {
    display: inline-flex !important;
    align-items: center !important;

    min-height: 24px !important;
    padding: 3px 8px !important;

    color: #AB954A !important;
    background: rgba(171,149,74,0.06) !important;
    border: 1px solid rgba(171,149,74,0.22) !important;

    text-decoration: none !important;

    transition:
        color 0.22s ease,
        background-color 0.22s ease,
        border-color 0.22s ease,
        transform 0.18s ease !important;
}

.single-post footer.entry-meta .cat-links a:hover,
.single-post footer.entry-meta .tags-links a:hover {
    color: #ffffff !important;
    background: rgba(20,42,159,0.34) !important;
    border-color: rgba(171,149,74,0.48) !important;
    transform: translateY(-1px);
}

/* Previous / next post navigation, if shown */
.single-post .post-navigation,
.single-post .paging-navigation {
    width: min(1280px, calc(100% - 64px)) !important;
    max-width: 1280px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}

/* Tablet */
@media (max-width: 1024px) {
    .single-post footer.entry-meta,
    .single-post .entry-meta.cat-links,
    .single-post .entry-meta.tags-links,
    .single-post .post-navigation,
    .single-post .paging-navigation {
        width: calc(100% - 48px) !important;
    }
}

/* Mobile */
@media (max-width: 768px) {
    .single-post footer.entry-meta,
    .single-post .entry-meta.cat-links,
    .single-post .entry-meta.tags-links,
    .single-post .post-navigation,
    .single-post .paging-navigation {
        width: calc(100% - 40px) !important;
    }

    .single-post footer.entry-meta .cat-links,
    .single-post footer.entry-meta .tags-links {
        gap: 7px !important;
    }
}

/* =========================
   SINGLE POST FOOTER BOTTOM GAP FIX
   Removes the small space below the custom PrismTechTx footer
========================= */

.single-post .prism-footer-section {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.single-post .prism-footer-bottom {
    margin-bottom: 0 !important;
    padding-bottom: 28px !important;
}

.single-post .prism-footer-bottom p {
    margin-bottom: 0 !important;
}

/* Remove leftover GeneratePress footer spacing under the custom footer */
.single-post .site-footer,
.single-post footer.site-info {
    margin-top: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* Make any unavoidable leftover canvas match the footer background */
body.single-post,
.single-post #page,
.single-post .site,
.single-post .site-footer,
.single-post footer.site-info {
    background: #050505 !important;
}

/* =========================
   SINGLE POST LIGHT MODE TEXT FIX
   Prevents daytime mode from turning all post text black
========================= */

html.prism-light-mode body.single-post,
html.prism-light-mode body.single-post #page,
html.prism-light-mode body.single-post .site,
html.prism-light-mode body.single-post .site-content,
html.prism-light-mode body.single-post .content-area,
html.prism-light-mode body.single-post .site-main,
html.prism-light-mode body.single-post .inside-article {
    background: #f5f5f5 !important;
}

/* Main post canvas */
html.prism-light-mode body.single-post .entry-content,
html.prism-light-mode body.single-post .single-post-article,
html.prism-light-mode body.single-post article.post {
    color: #334155 !important;
}

/* Post paragraphs and normal content */
html.prism-light-mode body.single-post .entry-content p,
html.prism-light-mode body.single-post .entry-content li,
html.prism-light-mode body.single-post .entry-content span,
html.prism-light-mode body.single-post .entry-content div {
    color: #334155 !important;
}

/* Post headings */
html.prism-light-mode body.single-post .entry-title,
html.prism-light-mode body.single-post .entry-content h1,
html.prism-light-mode body.single-post .entry-content h2,
html.prism-light-mode body.single-post .entry-content h3,
html.prism-light-mode body.single-post .entry-content h4,
html.prism-light-mode body.single-post .entry-content h5,
html.prism-light-mode body.single-post .entry-content h6 {
    color: #0f172a !important;
}

/* Gold kicker / mono labels */
html.prism-light-mode body.single-post .prism-ui-monotext,
html.prism-light-mode body.single-post .prism-section-kicker,
html.prism-light-mode body.single-post .prism-post-kicker {
    color: #AB954A !important;
}

/* Links */
html.prism-light-mode body.single-post .entry-content a {
    color: #142A9F !important;
}

html.prism-light-mode body.single-post .entry-content a:hover,
html.prism-light-mode body.single-post .entry-content a:focus {
    color: #AB954A !important;
}

/* Tags, categories, comments */
html.prism-light-mode body.single-post footer.entry-meta,
html.prism-light-mode body.single-post .entry-footer,
html.prism-light-mode body.single-post .comments-area,
html.prism-light-mode body.single-post #comments,
html.prism-light-mode body.single-post #respond,
html.prism-light-mode body.single-post .comment-respond {
    color: #334155 !important;
}

html.prism-light-mode body.single-post .comment-reply-title,
html.prism-light-mode body.single-post .comments-title {
    color: #0f172a !important;
}

html.prism-light-mode body.single-post .comment-form,
html.prism-light-mode body.single-post .comment-form p,
html.prism-light-mode body.single-post .logged-in-as,
html.prism-light-mode body.single-post .comment-notes {
    color: #334155 !important;
}

/* Comment textarea in light mode */
html.prism-light-mode body.single-post .comment-form-comment textarea,
html.prism-light-mode body.single-post textarea#comment {
    background: #ffffff !important;
    color: #0f172a !important;
    border-color: rgba(15,23,42,0.18) !important;
}

html.prism-light-mode body.single-post .comment-form-comment textarea:focus,
html.prism-light-mode body.single-post textarea#comment:focus {
    border-color: #AB954A !important;
    box-shadow:
        0 0 0 1px rgba(171,149,74,0.35),
        0 0 10px rgba(171,149,74,0.12) !important;
}

/* Keep custom footer readable in light mode */
html.prism-light-mode body.single-post .prism-footer-section {
    background: #f5f5f5 !important;
    border-top-color: rgba(15,23,42,0.12) !important;
}

html.prism-light-mode body.single-post .prism-footer-desc,
html.prism-light-mode body.single-post .prism-footer-bottom p {
    color: #334155 !important;
}

html.prism-light-mode body.single-post .prism-footer-heading {
    color: #0f172a !important;
}

/* =========================
   SINGLE POST LIGHT MODE FINAL PATCH
   Keeps dark visual sections dark while allowing article body to use light mode
========================= */

/* Keep the post hero/title zone readable in light mode */
html.prism-light-mode body.single-post .entry-header,
html.prism-light-mode body.single-post .inside-article > .post-image + .entry-header,
html.prism-light-mode body.single-post .prism-single-post-hero,
html.prism-light-mode body.single-post .prism-post-hero,
html.prism-light-mode body.single-post .prism-post-header {
    background: #070807 !important;
    color: #ffffff !important;
}

/* Force the post title/meta to stay light over the dark hero area */
html.prism-light-mode body.single-post .entry-title,
html.prism-light-mode body.single-post .entry-header .entry-title,
html.prism-light-mode body.single-post .entry-header h1,
html.prism-light-mode body.single-post .entry-header h2 {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

html.prism-light-mode body.single-post .entry-meta,
html.prism-light-mode body.single-post .entry-meta a,
html.prism-light-mode body.single-post .posted-on,
html.prism-light-mode body.single-post .byline {
    color: #AB954A !important;
}

/* Keep the masked custom video from revealing white through the feathered sides */
html.prism-light-mode body.single-post .prism-post-video-wrap {
    background: #070807 !important;
}

html.prism-light-mode body.single-post .prism-post-video {
    background: #070807 !important;
}

/* Keep video/media section dark in light mode */
html.prism-light-mode body.single-post .wp-block-video,
html.prism-light-mode body.single-post .wp-block-media-text__media {
    background: #070807 !important;
}

/* Keep comment section readable instead of half dark / half light */
html.prism-light-mode body.single-post .comments-area,
html.prism-light-mode body.single-post #comments,
html.prism-light-mode body.single-post #respond,
html.prism-light-mode body.single-post .comment-respond {
    background: #f5f5f5 !important;
    color: #334155 !important;
}

html.prism-light-mode body.single-post .comment-reply-title,
html.prism-light-mode body.single-post .comments-title {
    color: #0f172a !important;
}

html.prism-light-mode body.single-post .logged-in-as,
html.prism-light-mode body.single-post .comment-form,
html.prism-light-mode body.single-post .comment-form p {
    color: #334155 !important;
}

html.prism-light-mode body.single-post textarea#comment {
    background: #ffffff !important;
    color: #0f172a !important;
    border-color: rgba(15,23,42,0.18) !important;
}

/* =========================
   SINGLE POST FIXED HEADER SPACING
   Keeps post content from hiding beneath the fixed menu bar
========================= */

body.single-post {
    padding-top: 80px !important;
}

@media (max-width: 1024px) {
    body.single-post {
        padding-top: 72px !important;
    }
}

/* =========================
   INSIGHTS FOOTER BOTTOM GAP FIX
   Removes leftover spacing beneath the pattern footer
========================= */

.prism-insights-page + .prism-footer-section,
body.page .prism-footer-section {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

body.page .prism-footer-bottom {
    margin-bottom: 0 !important;
    padding-bottom: 28px !important;
}

body.page .prism-footer-bottom p {
    margin-bottom: 0 !important;
}

/* Remove default GeneratePress footer spacing if it appears below the custom footer */
body.page .site-footer,
body.page footer.site-info {
    margin-top: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* Match any unavoidable leftover canvas to the footer background */
body.page,
body.page #page,
body.page .site,
body.page .site-footer,
body.page footer.site-info {
    background: #050505 !important;
}

/* =========================
   INSIGHTS HERO - TITLE DESCENDER FIX
========================= */

.prism-insights-page .prism-insights-hero .prism-insights-hero-copy h1.wp-block-heading.prism-hero-heading.prism-insights-title {
    line-height: 1.14 !important;
    padding-bottom: 0.12em !important;
    margin-bottom: 3px !important;
    overflow: visible !important;
}

.prism-insights-page .prism-insights-hero .prism-insights-hero-copy p.prism-hero-text.prism-insights-lede {
    margin-top: 0 !important;
}

/* =========================
   SINGLE POST VIDEO DAY/NIGHT OVERRIDE
   Final override for custom post hero video
========================= */

.single-post .entry-content .prism-post-video-wrap {
    width: min(1280px, calc(100% - 64px)) !important;
    max-width: 1280px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    background: #070807 !important;
    overflow: visible !important;
}

.single-post .entry-content .prism-post-video {
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
    background: transparent !important;
}

.single-post .entry-content .prism-post-video-night {
    display: block !important;
}

.single-post .entry-content .prism-post-video-day {
    display: none !important;
}

html.prism-light-mode body.single-post .entry-content .prism-post-video-wrap {
    background: #f5f5f5 !important;
}

html.prism-light-mode body.single-post .entry-content .prism-post-video-night {
    display: none !important;
}

html.prism-light-mode body.single-post .entry-content .prism-post-video-day {
    display: block !important;
    background: transparent !important;
}

/* =========================
   SINGLE POST HEADER SPACING FINAL PATCH
   Reduces title/meta section height before the post video
========================= */

.single-post .entry-header {
    margin-top: 0 !important;
    margin-bottom: 28px !important;
    padding-top: 28px !important;
    padding-bottom: 28px !important;
}

.single-post .entry-title {
    margin-top: 0 !important;
    margin-bottom: 14px !important;
    line-height: 1.12 !important;
}

.single-post .entry-meta {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* Remove extra space caused by the separator directly after the post header */
.single-post .entry-content > .wp-block-separator:first-child {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* Keep the custom video close to the title section */
.single-post .entry-content .prism-post-video-wrap {
    margin-top: 0 !important;
}

/* =========================
   SINGLE POST LIGHT MODE HERO/VIDEO SECTION FIX
   Stops dark post background layer from bleeding into light video section
========================= */


/* Make the custom post video row behave like a full-width light section */
html.prism-light-mode body.single-post .entry-content > div:has(.prism-post-video-wrap) {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    background: #f5f5f5 !important;
}

/* Keep only the video itself constrained */
html.prism-light-mode body.single-post .entry-content > div:has(.prism-post-video-wrap) .prism-post-video-wrap {
    width: min(1280px, calc(100% - 64px)) !important;
    max-width: 1280px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    background: #f5f5f5 !important;
}

/* =========================
   SINGLE POST HEADER VISIBILITY TEST
   Forces the existing GeneratePress header/menu to show on posts
========================= */

body.single-post #masthead,
body.single-post .site-header {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    display: block !important;
}

/* =========================
   SINGLE POST HEADER GAP FIX
   Removes white strip below fixed menu on posts
========================= */

body.single-post,
body.single-post #page,
body.single-post .site,
body.single-post .site-content,
body.single-post .content-area,
body.single-post .site-main {
    background: #070807 !important;
}

/* Light mode version */
html.prism-light-mode body.single-post,
html.prism-light-mode body.single-post #page,
html.prism-light-mode body.single-post .site,
html.prism-light-mode body.single-post .site-content,
html.prism-light-mode body.single-post .content-area,
html.prism-light-mode body.single-post .site-main {
    background: #f5f5f5 !important;
}


/* =========================
   BACK TO INSIGHTS LINK
   Sits in the post header area, aligned with title/date
========================= */

.single-post .pttx-back-to-insights-wrap {
    width: min(1280px, calc(100% - 64px)) !important;
    max-width: 1280px !important;
    margin: -1.25rem auto 2.25rem auto !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    text-align: left !important;
    position: relative !important;
    z-index: 3 !important;
}

.single-post .pttx-back-to-insights {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 0.55rem !important;

    min-height: 42px !important;
    padding: 0 18px !important;

    border: 1px solid rgba(238, 187, 111, 0.42) !important;
    border-radius: 0 !important;

    background: #142A9F !important;
    color: #ffffff !important;

    font-size: 0.78rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.055em !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
    text-decoration: none !important;

    box-shadow:
        inset 2.5px 0 0 #AB954A,
        0 10px 24px rgba(0, 0, 0, 0.24) !important;

    transition:
        background-color 220ms ease,
        border-color 220ms ease,
        transform 220ms ease,
        box-shadow 220ms ease !important;
}

.single-post .pttx-back-to-insights,
.single-post .pttx-back-to-insights:visited,
.single-post .pttx-back-to-insights span,
html.prism-light-mode .single-post .pttx-back-to-insights,
html.prism-light-mode .single-post .pttx-back-to-insights:visited,
html.prism-light-mode .single-post .pttx-back-to-insights span {
    color: #ffffff !important;
}

.single-post .pttx-back-to-insights:hover,
.single-post .pttx-back-to-insights:focus-visible {
    background: #132790 !important;
    border-color: rgba(238, 187, 111, 0.78) !important;
    color: #ffffff !important;
    transform: translateY(-1px);
    box-shadow:
        inset 3px 0 0 #AB954A,
        0 14px 30px rgba(0, 0, 0, 0.32) !important;
    text-decoration: none !important;
}

.single-post .pttx-back-to-insights:focus-visible {
    outline: 2px solid rgba(238, 187, 111, 0.9) !important;
    outline-offset: 4px !important;
}

.single-post .pttx-back-arrow {
    display: inline-block !important;
    font-size: 1rem !important;
    line-height: 1 !important;
    transform: translateY(-1px);
    transition: transform 220ms ease;
}

.single-post .pttx-back-to-insights:hover .pttx-back-arrow,
.single-post .pttx-back-to-insights:focus-visible .pttx-back-arrow {
    transform: translate(-3px, -1px);
}

@media (max-width: 1024px) {
    .single-post .pttx-back-to-insights-wrap {
        width: calc(100% - 48px) !important;
        max-width: 100% !important;
    }
}

@media (max-width: 768px) {
    .single-post .pttx-back-to-insights-wrap {
        width: calc(100% - 40px) !important;
        margin: 1.35rem auto 2rem auto !important;
    }

    .single-post .pttx-back-to-insights {
        min-height: 40px !important;
        padding: 0 15px !important;
        font-size: 0.74rem !important;
    }
}



/* =========================
   SINGLE POST LIGHT MODE HEADER / BODY SPLIT FIX
   Prevents dark header treatment from bleeding into article body
========================= */

html.prism-light-mode body.single-post .entry-content {
    background: #f5f5f5 !important;
    border-top: 1px solid rgba(171, 149, 74, 0.38) !important;
    padding-top: 0 !important;
    margin-top: 0 !important;
    position: relative !important;
    z-index: 4 !important;
}

html.prism-light-mode body.single-post .entry-content > p:first-of-type {
    margin-top: 1.5rem !important;
}

@media (max-width: 1024px) {
    html.prism-light-mode body.single-post .entry-content {
        padding-top: 0 !important;
        margin-top: 0 !important;
    }

    html.prism-light-mode body.single-post .entry-content > p:first-of-type {
        margin-top: 1.5rem !important;
    }
}

@media (max-width: 768px) {
    html.prism-light-mode body.single-post .entry-content {
        padding-top: 0 !important;
        margin-top: 0 !important;
    }

    html.prism-light-mode body.single-post .entry-content > p:first-of-type {
        margin-top: 1.35rem !important;
    }
}

/* =========================
   SINGLE POST MOBILE LIGHT MODE MASK FIX
   Removes only the leftover grey mask while preserving the black header background
========================= */

@media (max-width: 1024px) {
    html.prism-light-mode body.single-post .inside-article::after {
        display: none !important;
        content: none !important;
        opacity: 0 !important;
        height: 0 !important;
        background: none !important;
    }

    html.prism-light-mode body.single-post .inside-article::before {
        display: block !important;
        content: "" !important;
        opacity: 1 !important;
        height: 760px !important;
    }

    html.prism-light-mode body.single-post .entry-content {
        margin-top: 0 !important;
        background: #f5f5f5 !important;
        border-top: 1px solid rgba(171, 149, 74, 0.38) !important;
        position: relative !important;
        z-index: 4 !important;
    }
}

@media (max-width: 768px) {
    html.prism-light-mode body.single-post .inside-article::before {
        height: 620px !important;
    }

    html.prism-light-mode body.single-post .inside-article::after {
        display: none !important;
        content: none !important;
        opacity: 0 !important;
        height: 0 !important;
        top: auto !important;
        background: none !important;
    }
}

/* =========================
   SINGLE POST TOP SPACING + STRIP FIX
   Keeps the white strip gone while restoring breathing room below fixed header
========================= */

body.single-post {
    padding-top: 0 !important;
    background: #070807 !important;
}

body.single-post #page,
body.single-post .site,
body.single-post .site-content,
body.single-post .content-area,
body.single-post .site-main {
    margin-top: 0 !important;
    padding-top: 0 !important;
    background: #070807 !important;
}

body.single-post .inside-article {
    margin-top: 0 !important;
    padding-top: 82px !important;
    background: #070807 !important;
    border-top: 0 !important;
}

/* Light mode equivalent */
html.prism-light-mode body.single-post {
    background: #f5f5f5 !important;
}

html.prism-light-mode body.single-post #page,
html.prism-light-mode body.single-post .site,
html.prism-light-mode body.single-post .site-content,
html.prism-light-mode body.single-post .content-area,
html.prism-light-mode body.single-post .site-main {
    background: #f5f5f5 !important;
}

html.prism-light-mode body.single-post .inside-article {
    background: #070807 !important;
}

/* =========================
   SINGLE POST LIGHT MODE COMMENT FIELD FIX
   Makes guest Name, Email, Website fields match the white comment box
========================= */

html.prism-light-mode body.single-post #respond input[type="text"],
html.prism-light-mode body.single-post #respond input[type="email"],
html.prism-light-mode body.single-post #respond input[type="url"],
html.prism-light-mode body.single-post #respond textarea {
    background: #ffffff !important;
    color: #0f172a !important;
    border: 1px solid rgba(15,23,42,0.18) !important;
    box-shadow: none !important;
}

html.prism-light-mode body.single-post #respond input[type="text"]:focus,
html.prism-light-mode body.single-post #respond input[type="email"]:focus,
html.prism-light-mode body.single-post #respond input[type="url"]:focus,
html.prism-light-mode body.single-post #respond textarea:focus {
    outline: none !important;
    border-color: #AB954A !important;
    box-shadow:
        0 0 0 1px rgba(171,149,74,0.35),
        0 0 10px rgba(171,149,74,0.12) !important;
}

html.prism-light-mode body.single-post #respond label,
html.prism-light-mode body.single-post #respond .comment-form-cookies-consent,
html.prism-light-mode body.single-post #respond .comment-form-cookies-consent label {
    color: #334155 !important;
}

/* =========================
   INSIGHTS NAV CTA VISIBILITY FIX
   Keeps Request Consultation visible on Insights page
========================= */

body.page .prism-insights-page ~ *,
body:has(.prism-insights-page) {
    --prism-force-insights-cta: 1;
}

body:has(.prism-insights-page) .main-navigation .main-nav ul li.prism-nav-cta,
body:has(.prism-insights-page) #site-navigation .main-nav ul li.prism-nav-cta {
    margin-left: 4px !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
    pointer-events: auto !important;
    max-height: none !important;
    overflow: visible !important;
}

body:has(.prism-insights-page) .main-navigation .main-nav ul li.prism-nav-cta > a,
body:has(.prism-insights-page) #site-navigation .main-nav ul li.prism-nav-cta > a {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    max-width: 260px !important;
    padding-left: 30px !important;
    padding-right: 30px !important;
    border: none !important;
    box-shadow: inset 2.5px 0 0 #AB954A !important;
}

/* =========================
   NAV RESOURCES DROPDOWN PARENT
   Makes Resources behave like a menu label instead of a destination
========================= */

.main-navigation .main-nav ul li.menu-item-has-children > a[href="#"] {
    cursor: default !important;
}

.main-navigation .main-nav ul li.menu-item-has-children > a[href="#"]:hover {
    color: #ffffff !important;
}

html.prism-light-mode .main-navigation .main-nav ul li.menu-item-has-children > a[href="#"]:hover {
    color: #0f172a !important;
}

/* =========================
   NAV DROPDOWN STYLING
   Matches PrismTechTx header styling
========================= */

.main-navigation .main-nav ul ul {
    background: rgba(7, 8, 7, 0.98) !important;
    border: 1px solid rgba(255,255,255,0.08) !important;
    box-shadow: 0 18px 36px rgba(0,0,0,0.28) !important;
    padding: 10px 0 !important;
    min-width: 190px !important;
}

.main-navigation .main-nav ul ul li {
    display: block !important;
}

.main-navigation .main-nav ul ul li > a {
    display: block !important;
    padding: 11px 18px !important;
    color: rgba(255,255,255,0.78) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    background: transparent !important;
}

.main-navigation .main-nav ul ul li > a:hover,
.main-navigation .main-nav ul ul li.current-menu-item > a {
    color: #ffffff !important;
    background: rgba(255,255,255,0.04) !important;
}

/* Light mode dropdown */
html.prism-light-mode .main-navigation .main-nav ul ul {
    background: rgba(245,245,245,0.98) !important;
    border-color: rgba(15,23,42,0.12) !important;
    box-shadow: 0 18px 36px rgba(15,23,42,0.12) !important;
}

html.prism-light-mode .main-navigation .main-nav ul ul li > a {
    color: #334155 !important;
}

html.prism-light-mode .main-navigation .main-nav ul ul li > a:hover,
html.prism-light-mode .main-navigation .main-nav ul ul li.current-menu-item > a {
    color: #142A9F !important;
    background: rgba(20,42,159,0.06) !important;
}

/* =========================
   NAV RESOURCES DROPDOWN POSITION FIX
   Forces desktop submenu to drop below Resources instead of beside it
========================= */

@media (min-width: 1025px) {
    .main-navigation .main-nav > ul > li.menu-item-has-children {
        position: relative !important;
        display: flex !important;
        align-items: center !important;
    }

    .main-navigation .main-nav > ul > li.menu-item-has-children > ul.sub-menu,
    .main-navigation .main-nav > ul > li.menu-item-has-children > ul.children {
        position: absolute !important;
        top: 100% !important;
        left: 0 !important;
        right: auto !important;

        display: block !important;
        width: max-content !important;
        min-width: 190px !important;

        margin: 0 !important;
        padding: 10px 0 !important;

        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;

        transform: translateY(-6px) !important;
        transition:
            opacity 0.22s ease,
            visibility 0.22s ease,
            transform 0.22s ease !important;
    }

    .main-navigation .main-nav > ul > li.menu-item-has-children:hover > ul.sub-menu,
    .main-navigation .main-nav > ul > li.menu-item-has-children:focus-within > ul.sub-menu,
    .main-navigation .main-nav > ul > li.menu-item-has-children:hover > ul.children,
    .main-navigation .main-nav > ul > li.menu-item-has-children:focus-within > ul.children {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transform: translateY(0) !important;
    }

    .main-navigation .main-nav > ul > li.menu-item-has-children > ul.sub-menu > li,
    .main-navigation .main-nav > ul > li.menu-item-has-children > ul.children > li {
        display: block !important;
        width: 100% !important;
    }

    .main-navigation .main-nav > ul > li.menu-item-has-children > ul.sub-menu > li > a,
    .main-navigation .main-nav > ul > li.menu-item-has-children > ul.children > li > a {
        display: block !important;
        width: 100% !important;
        padding: 11px 18px !important;
        white-space: nowrap !important;
    }
}

/* =========================
   MOBILE / TABLET RESOURCES DROPDOWN FIX
   Keeps Insights nested under Resources inside hamburger menu
========================= */

@media (max-width: 1024px) {

    /* Keep child dropdowns inside the mobile menu panel */
    #site-navigation .main-nav > ul > li.menu-item-has-children,
    .main-navigation .main-nav > ul > li.menu-item-has-children {
        display: block !important;
        width: 100% !important;
        position: relative !important;
    }

    /* Reset submenu from desktop dropdown behavior */
    #site-navigation .main-nav > ul > li.menu-item-has-children > ul.sub-menu,
    #site-navigation .main-nav > ul > li.menu-item-has-children > ul.children,
    .main-navigation .main-nav > ul > li.menu-item-has-children > ul.sub-menu,
    .main-navigation .main-nav > ul > li.menu-item-has-children > ul.children {
        position: static !important;
        display: block !important;

        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;

        margin: 0 !important;
        padding: 0 0 4px 14px !important;

        background: transparent !important;
        border: none !important;
        box-shadow: none !important;

        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transform: none !important;
    }

    /* Make submenu item look nested, not like a separate dropdown box */
    #site-navigation .main-nav > ul > li.menu-item-has-children > ul.sub-menu > li,
    #site-navigation .main-nav > ul > li.menu-item-has-children > ul.children > li,
    .main-navigation .main-nav > ul > li.menu-item-has-children > ul.sub-menu > li,
    .main-navigation .main-nav > ul > li.menu-item-has-children > ul.children > li {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    #site-navigation .main-nav > ul > li.menu-item-has-children > ul.sub-menu > li > a,
    #site-navigation .main-nav > ul > li.menu-item-has-children > ul.children > li > a,
    .main-navigation .main-nav > ul > li.menu-item-has-children > ul.sub-menu > li > a,
    .main-navigation .main-nav > ul > li.menu-item-has-children > ul.children > li > a {
        display: block !important;
        width: 100% !important;

        padding: 7px 0 7px 14px !important;

        color: rgba(255,255,255,0.66) !important;
        font-size: 14px !important;
        font-weight: 500 !important;
        line-height: 1.25 !important;

        background: transparent !important;
        border-left: 1px solid rgba(171,149,74,0.32) !important;
        box-shadow: none !important;
    }

    #site-navigation .main-nav > ul > li.menu-item-has-children > ul.sub-menu > li > a:hover,
    #site-navigation .main-nav > ul > li.menu-item-has-children > ul.children > li > a:hover,
    .main-navigation .main-nav > ul > li.menu-item-has-children > ul.sub-menu > li > a:hover,
    .main-navigation .main-nav > ul > li.menu-item-has-children > ul.children > li > a:hover {
        color: #ffffff !important;
        background: transparent !important;
    }

    /* Optional visual cue for Resources parent */
    #site-navigation .main-nav > ul > li.menu-item-has-children > a[href="#"],
    .main-navigation .main-nav > ul > li.menu-item-has-children > a[href="#"] {
        padding-bottom: 5px !important;
    }
}

/* Light mode mobile submenu */
@media (max-width: 1024px) {
    html.prism-light-mode #site-navigation .main-nav > ul > li.menu-item-has-children > ul.sub-menu > li > a,
    html.prism-light-mode #site-navigation .main-nav > ul > li.menu-item-has-children > ul.children > li > a,
    html.prism-light-mode .main-navigation .main-nav > ul > li.menu-item-has-children > ul.sub-menu > li > a,
    html.prism-light-mode .main-navigation .main-nav > ul > li.menu-item-has-children > ul.children > li > a {
        color: rgba(15,23,42,0.72) !important;
        border-left-color: rgba(171,149,74,0.46) !important;
    }

    html.prism-light-mode #site-navigation .main-nav > ul > li.menu-item-has-children > ul.sub-menu > li > a:hover,
    html.prism-light-mode #site-navigation .main-nav > ul > li.menu-item-has-children > ul.children > li > a:hover,
    html.prism-light-mode .main-navigation .main-nav > ul > li.menu-item-has-children > ul.sub-menu > li > a:hover,
    html.prism-light-mode .main-navigation .main-nav > ul > li.menu-item-has-children > ul.children > li > a:hover {
        color: #142A9F !important;
    }
}

/* =========================
   MOBILE / TABLET NAV DROPDOWN + CTA CORRECTION
   Keeps Resources/Insights and Request Consultation inside hamburger panel
========================= */

@media (max-width: 1024px) {

    /* Prevent any nav item from escaping horizontally */
    #site-navigation .main-nav > ul,
    .main-navigation .main-nav > ul {
        overflow-x: hidden !important;
    }

    #site-navigation .main-nav > ul > li,
    .main-navigation .main-nav > ul > li {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        position: relative !important;
        box-sizing: border-box !important;
    }

    #site-navigation .main-nav > ul > li > a,
    .main-navigation .main-nav > ul > li > a {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        text-align: left !important;
    }

    /* Reset Resources submenu so Insights sits underneath it */
    #site-navigation .main-nav > ul > li.menu-item-has-children > ul.sub-menu,
    #site-navigation .main-nav > ul > li.menu-item-has-children > ul.children,
    .main-navigation .main-nav > ul > li.menu-item-has-children > ul.sub-menu,
    .main-navigation .main-nav > ul > li.menu-item-has-children > ul.children {
        position: static !important;
        display: block !important;

        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;

        margin: 0 !important;
        padding: 0 0 4px 14px !important;

        background: transparent !important;
        border: none !important;
        box-shadow: none !important;

        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transform: none !important;

        box-sizing: border-box !important;
    }

    #site-navigation .main-nav > ul > li.menu-item-has-children > ul.sub-menu > li,
    #site-navigation .main-nav > ul > li.menu-item-has-children > ul.children > li,
    .main-navigation .main-nav > ul > li.menu-item-has-children > ul.sub-menu > li,
    .main-navigation .main-nav > ul > li.menu-item-has-children > ul.children > li {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

    #site-navigation .main-nav > ul > li.menu-item-has-children > ul.sub-menu > li > a,
    #site-navigation .main-nav > ul > li.menu-item-has-children > ul.children > li > a,
    .main-navigation .main-nav > ul > li.menu-item-has-children > ul.sub-menu > li > a,
    .main-navigation .main-nav > ul > li.menu-item-has-children > ul.children > li > a {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;

        padding: 7px 0 7px 14px !important;

        color: rgba(255,255,255,0.66) !important;
        font-size: 14px !important;
        font-weight: 500 !important;
        line-height: 1.25 !important;

        background: transparent !important;
        border-left: 1px solid rgba(171,149,74,0.32) !important;
        box-shadow: none !important;

        box-sizing: border-box !important;
        white-space: normal !important;
    }

    /* Undo the desktop Insights CTA force on mobile/tablet */
    body:has(.prism-insights-page) .main-navigation .main-nav ul li.prism-nav-cta,
    body:has(.prism-insights-page) #site-navigation .main-nav ul li.prism-nav-cta {
        display: block !important;
        order: 999 !important;
        width: 100% !important;
        max-width: 100% !important;

        margin: 0 !important;
        padding: 0 !important;

        max-height: 0 !important;
        opacity: 0 !important;
        visibility: hidden !important;
        transform: translateY(10px) !important;
        pointer-events: none !important;
        overflow: hidden !important;

        border-top: 1px solid rgba(255,255,255,0) !important;
    }

    body:has(.prism-insights-page) .main-navigation .main-nav ul li.prism-nav-cta > a,
    body:has(.prism-insights-page) #site-navigation .main-nav ul li.prism-nav-cta > a {
        display: flex !important;
        width: 100% !important;
        max-width: none !important;
        min-height: 48px !important;

        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;

        padding: 0 18px !important;
        overflow: visible !important;
    }

    /* Show Request Consultation only when the hamburger menu is open */
    body:has(.prism-insights-page).prism-show-nav-cta .main-navigation.toggled .main-nav ul li.prism-nav-cta,
    body:has(.prism-insights-page).prism-show-nav-cta #site-navigation.toggled .main-nav ul li.prism-nav-cta {
        margin: 18px 0 0 0 !important;
        padding: 12px 0 0 0 !important;
        max-height: 80px !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: translateY(0) !important;
        pointer-events: auto !important;
        border-top: 1px solid rgba(255,255,255,0.08) !important;
    }

    body:has(.prism-insights-page).prism-show-nav-cta .main-navigation.toggled .main-nav ul li.prism-nav-cta > a,
    body:has(.prism-insights-page).prism-show-nav-cta #site-navigation.toggled .main-nav ul li.prism-nav-cta > a {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }
}

/* =========================
   MOBILE / TABLET NAV CTA HARD HIDE
   Prevents Request Consultation from escaping hamburger menu
========================= */

@media (max-width: 1024px) {
    #site-navigation .main-nav ul li.prism-nav-cta,
    .main-navigation .main-nav ul li.prism-nav-cta {
        display: none !important;
        width: 0 !important;
        max-width: 0 !important;
        height: 0 !important;
        max-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        overflow: hidden !important;
        transform: none !important;
    }

    #site-navigation .main-nav ul li.prism-nav-cta > a,
    .main-navigation .main-nav ul li.prism-nav-cta > a {
        display: none !important;
    }
}

/* =========================
   MOBILE / TABLET RESOURCES FINAL RESET
   Keeps Resources and Insights stacked in the hamburger menu
========================= */

@media (max-width: 1024px) {
    #site-navigation .main-nav > ul > li.menu-item-has-children,
    .main-navigation .main-nav > ul > li.menu-item-has-children {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        position: relative !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    #site-navigation .main-nav > ul > li.menu-item-has-children > a,
    .main-navigation .main-nav > ul > li.menu-item-has-children > a {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    #site-navigation .main-nav > ul > li.menu-item-has-children > ul.sub-menu,
    .main-navigation .main-nav > ul > li.menu-item-has-children > ul.sub-menu {
        position: static !important;
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 0 0 16px !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        pointer-events: auto !important;
    }

    #site-navigation .main-nav > ul > li.menu-item-has-children > ul.sub-menu > li,
    .main-navigation .main-nav > ul > li.menu-item-has-children > ul.sub-menu > li {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    #site-navigation .main-nav > ul > li.menu-item-has-children > ul.sub-menu > li > a,
    .main-navigation .main-nav > ul > li.menu-item-has-children > ul.sub-menu > li > a {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 6px 0 6px 14px !important;
        color: rgba(255,255,255,0.66) !important;
        background: transparent !important;
        border-left: 1px solid rgba(171,149,74,0.32) !important;
        white-space: normal !important;
    }
}

/* =========================
   MOBILE / TABLET RESOURCES TAP FIX
   Makes the full Resources row open Insights
========================= */

@media (max-width: 1024px) {

    /* Keep mobile Resources row full width and tappable */
    #site-navigation .main-nav > ul > li.menu-item-has-children,
    .main-navigation .main-nav > ul > li.menu-item-has-children {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        position: relative !important;
        overflow: visible !important;
    }

    #site-navigation .main-nav > ul > li.menu-item-has-children > a,
    .main-navigation .main-nav > ul > li.menu-item-has-children > a {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        padding-right: 48px !important;
        box-sizing: border-box !important;
        cursor: pointer !important;
    }

    /* Stop Resources from jumping sideways */
    #site-navigation .main-nav > ul > li.menu-item-has-children,
    #site-navigation .main-nav > ul > li.menu-item-has-children > a,
    #site-navigation .main-nav > ul > li.menu-item-has-children > ul.sub-menu,
    .main-navigation .main-nav > ul > li.menu-item-has-children,
    .main-navigation .main-nav > ul > li.menu-item-has-children > a,
    .main-navigation .main-nav > ul > li.menu-item-has-children > ul.sub-menu {
        left: auto !important;
        right: auto !important;
        transform: none !important;
        float: none !important;
    }

    /* Hide Insights until Resources is tapped */
    #site-navigation .main-nav > ul > li.menu-item-has-children > ul.sub-menu,
    .main-navigation .main-nav > ul > li.menu-item-has-children > ul.sub-menu {
        position: static !important;
        display: none !important;

        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;

        margin: 0 !important;
        padding: 4px 0 4px 16px !important;

        background: transparent !important;
        border: none !important;
        box-shadow: none !important;

        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }

    /* Show Insights after tapping Resources */
    #site-navigation .main-nav > ul > li.menu-item-has-children.prism-mobile-submenu-open > ul.sub-menu,
    .main-navigation .main-nav > ul > li.menu-item-has-children.prism-mobile-submenu-open > ul.sub-menu {
        display: block !important;
    }

    #site-navigation .main-nav > ul > li.menu-item-has-children > ul.sub-menu > li,
    .main-navigation .main-nav > ul > li.menu-item-has-children > ul.sub-menu > li {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    #site-navigation .main-nav > ul > li.menu-item-has-children > ul.sub-menu > li > a,
    .main-navigation .main-nav > ul > li.menu-item-has-children > ul.sub-menu > li > a {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 8px 0 8px 14px !important;
        color: rgba(255,255,255,0.66) !important;
        background: transparent !important;
        border-left: 1px solid rgba(171,149,74,0.32) !important;
        white-space: normal !important;
        box-sizing: border-box !important;
    }

    #site-navigation .main-nav > ul > li.menu-item-has-children > ul.sub-menu > li > a:hover,
    .main-navigation .main-nav > ul > li.menu-item-has-children > ul.sub-menu > li > a:hover {
        color: #ffffff !important;
    }

    /* Keep the tiny arrow from being the only useful tap target */
    #site-navigation .main-nav > ul > li.menu-item-has-children .dropdown-menu-toggle,
    .main-navigation .main-nav > ul > li.menu-item-has-children .dropdown-menu-toggle {
        pointer-events: auto !important;
    }
}

/* =========================
   MOBILE / TABLET RESOURCES FINAL OVERRIDE
   Full-row Resources tap opens Insights without shifting menu
========================= */

@media (max-width: 1024px) {

    /* Keep the opened hamburger panel tall enough even before Request Consultation appears */
    .main-navigation.toggled .main-nav > ul,
    #site-navigation.toggled .main-nav > ul {
        max-height: 430px !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
    }

    /* Keep Request Consultation from escaping sideways on mobile/tablet */
    #site-navigation .main-nav ul li.prism-nav-cta,
    .main-navigation .main-nav ul li.prism-nav-cta {
        display: none !important;
    }

    /* Keep every mobile nav row locked inside the panel */
    #site-navigation .main-nav > ul > li,
    .main-navigation .main-nav > ul > li,
    #site-navigation .main-nav > ul > li > a,
    .main-navigation .main-nav > ul > li > a {
        position: relative !important;
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        left: auto !important;
        right: auto !important;
        float: none !important;
        transform: none !important;
        box-sizing: border-box !important;
        text-align: left !important;
    }

    /* Resources parent row */
    #site-navigation .main-nav > ul > li.menu-item-has-children,
    .main-navigation .main-nav > ul > li.menu-item-has-children {
        overflow: visible !important;
    }

    #site-navigation .main-nav > ul > li.menu-item-has-children > a,
    .main-navigation .main-nav > ul > li.menu-item-has-children > a {
        padding-right: 44px !important;
        cursor: pointer !important;
    }

    /* Keep the small arrow visible, but make the whole Resources row the useful tap target */
    #site-navigation .main-nav > ul > li.menu-item-has-children > a .dropdown-menu-toggle,
    .main-navigation .main-nav > ul > li.menu-item-has-children > a .dropdown-menu-toggle {
        position: absolute !important;
        right: 0 !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        pointer-events: none !important;
    }

    /* Hide Insights until Resources is tapped */
    #site-navigation .main-nav > ul > li.menu-item-has-children > ul.sub-menu,
    #site-navigation .main-nav > ul > li.menu-item-has-children > ul.children,
    .main-navigation .main-nav > ul > li.menu-item-has-children > ul.sub-menu,
    .main-navigation .main-nav > ul > li.menu-item-has-children > ul.children {
        position: static !important;
        display: none !important;

        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;

        margin: 0 !important;
        padding: 0 0 4px 16px !important;

        background: transparent !important;
        border: none !important;
        box-shadow: none !important;

        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transform: none !important;

        box-sizing: border-box !important;
    }

    /* Show Insights only after JS adds the open class */
    #site-navigation .main-nav > ul > li.menu-item-has-children.prism-mobile-submenu-open > ul.sub-menu,
    #site-navigation .main-nav > ul > li.menu-item-has-children.prism-mobile-submenu-open > ul.children,
    .main-navigation .main-nav > ul > li.menu-item-has-children.prism-mobile-submenu-open > ul.sub-menu,
    .main-navigation .main-nav > ul > li.menu-item-has-children.prism-mobile-submenu-open > ul.children {
        display: block !important;
    }

    #site-navigation .main-nav > ul > li.menu-item-has-children > ul.sub-menu > li,
    #site-navigation .main-nav > ul > li.menu-item-has-children > ul.children > li,
    .main-navigation .main-nav > ul > li.menu-item-has-children > ul.sub-menu > li,
    .main-navigation .main-nav > ul > li.menu-item-has-children > ul.children > li {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    #site-navigation .main-nav > ul > li.menu-item-has-children > ul.sub-menu > li > a,
    #site-navigation .main-nav > ul > li.menu-item-has-children > ul.children > li > a,
    .main-navigation .main-nav > ul > li.menu-item-has-children > ul.sub-menu > li > a,
    .main-navigation .main-nav > ul > li.menu-item-has-children > ul.children > li > a {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 8px 0 8px 14px !important;
        color: rgba(255,255,255,0.66) !important;
        background: transparent !important;
        border-left: 1px solid rgba(171,149,74,0.32) !important;
        white-space: normal !important;
        box-sizing: border-box !important;
    }

    #site-navigation .main-nav > ul > li.menu-item-has-children > ul.sub-menu > li > a:hover,
    #site-navigation .main-nav > ul > li.menu-item-has-children > ul.children > li > a:hover,
    .main-navigation .main-nav > ul > li.menu-item-has-children > ul.sub-menu > li > a:hover,
    .main-navigation .main-nav > ul > li.menu-item-has-children > ul.children > li > a:hover {
        color: #ffffff !important;
    }
}

/* =========================
   MOBILE / TABLET RESOURCES + CTA RESTORE
   Restores Request Consultation and forces Insights to show when Resources opens
========================= */

@media (max-width: 1024px) {

    /* Restore Request Consultation after prior hard-hide rule */
    #site-navigation .main-nav ul li.prism-nav-cta,
    .main-navigation .main-nav ul li.prism-nav-cta {
        display: block !important;
        order: 999 !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    #site-navigation .main-nav ul li.prism-nav-cta > a,
    .main-navigation .main-nav ul li.prism-nav-cta > a {
        display: flex !important;
    }

    /* Keep CTA hidden until your normal scroll class activates */
    body:not(.prism-show-nav-cta) #site-navigation.toggled .main-nav ul li.prism-nav-cta,
    body:not(.prism-show-nav-cta) .main-navigation.toggled .main-nav ul li.prism-nav-cta {
        max-height: 0 !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        overflow: hidden !important;
    }

    body.prism-show-nav-cta #site-navigation.toggled .main-nav ul li.prism-nav-cta,
    body.prism-show-nav-cta .main-navigation.toggled .main-nav ul li.prism-nav-cta {
        margin: 18px 0 0 0 !important;
        padding: 12px 0 0 0 !important;
        max-height: 80px !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        overflow: visible !important;
        border-top: 1px solid rgba(255,255,255,0.08) !important;
    }

    body.prism-show-nav-cta #site-navigation.toggled .main-nav ul li.prism-nav-cta > a,
    body.prism-show-nav-cta .main-navigation.toggled .main-nav ul li.prism-nav-cta > a {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }

    /* Give the opened mobile panel enough room for Resources + Insights + CTA */
    #site-navigation.toggled .main-nav > ul,
    .main-navigation.toggled .main-nav > ul {
        max-height: 460px !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
    }

    /* Resources row remains full width */
    #site-navigation .main-nav > ul > li.menu-item-has-children,
    .main-navigation .main-nav > ul > li.menu-item-has-children {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        left: auto !important;
        right: auto !important;
        transform: none !important;
        float: none !important;
    }

    #site-navigation .main-nav > ul > li.menu-item-has-children > a,
    .main-navigation .main-nav > ul > li.menu-item-has-children > a {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        padding-right: 44px !important;
        box-sizing: border-box !important;
        cursor: pointer !important;
    }

    /* Default closed submenu */
    #site-navigation .main-nav > ul > li.menu-item-has-children > ul.sub-menu,
    #site-navigation .main-nav > ul > li.menu-item-has-children > ul.children,
    .main-navigation .main-nav > ul > li.menu-item-has-children > ul.sub-menu,
    .main-navigation .main-nav > ul > li.menu-item-has-children > ul.children {
        position: static !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 0 4px 16px !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        transform: none !important;
        box-sizing: border-box !important;
    }

    /* Open submenu */
    #site-navigation .main-nav > ul > li.menu-item-has-children.prism-mobile-submenu-open > ul.sub-menu,
    #site-navigation .main-nav > ul > li.menu-item-has-children.prism-mobile-submenu-open > ul.children,
    .main-navigation .main-nav > ul > li.menu-item-has-children.prism-mobile-submenu-open > ul.sub-menu,
    .main-navigation .main-nav > ul > li.menu-item-has-children.prism-mobile-submenu-open > ul.children {
        display: block !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }

    #site-navigation .main-nav > ul > li.menu-item-has-children > ul.sub-menu > li,
    #site-navigation .main-nav > ul > li.menu-item-has-children > ul.children > li,
    .main-navigation .main-nav > ul > li.menu-item-has-children > ul.sub-menu > li,
    .main-navigation .main-nav > ul > li.menu-item-has-children > ul.children > li {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    #site-navigation .main-nav > ul > li.menu-item-has-children > ul.sub-menu > li > a,
    #site-navigation .main-nav > ul > li.menu-item-has-children > ul.children > li > a,
    .main-navigation .main-nav > ul > li.menu-item-has-children > ul.sub-menu > li > a,
    .main-navigation .main-nav > ul > li.menu-item-has-children > ul.children > li > a {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 8px 0 8px 14px !important;
        color: rgba(255,255,255,0.66) !important;
        background: transparent !important;
        border-left: 1px solid rgba(171,149,74,0.32) !important;
        white-space: normal !important;
        box-sizing: border-box !important;
    }
}

/* =========================
   MOBILE / TABLET RESOURCES VISIBLE LINK FINAL PATCH
   Lets the PHP snippet expose Insights reliably
========================= */

@media (max-width: 1024px) {
    #site-navigation .main-nav > ul > li.menu-item-has-children.prism-mobile-submenu-open > ul.sub-menu,
    #site-navigation .main-nav > ul > li.menu-item-has-children.prism-mobile-submenu-open > ul.children,
    .main-navigation .main-nav > ul > li.menu-item-has-children.prism-mobile-submenu-open > ul.sub-menu,
    .main-navigation .main-nav > ul > li.menu-item-has-children.prism-mobile-submenu-open > ul.children {
        display: block !important;
        position: static !important;
        visibility: visible !important;
        opacity: 1 !important;
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
        pointer-events: auto !important;
        transform: none !important;
        padding: 0 0 4px 16px !important;
    }

    #site-navigation .main-nav > ul > li.menu-item-has-children.prism-mobile-submenu-open > ul.sub-menu > li,
    #site-navigation .main-nav > ul > li.menu-item-has-children.prism-mobile-submenu-open > ul.children > li,
    .main-navigation .main-nav > ul > li.menu-item-has-children.prism-mobile-submenu-open > ul.sub-menu > li,
    .main-navigation .main-nav > ul > li.menu-item-has-children.prism-mobile-submenu-open > ul.children > li {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
    }

    #site-navigation .main-nav > ul > li.menu-item-has-children.prism-mobile-submenu-open > ul.sub-menu > li > a,
    #site-navigation .main-nav > ul > li.menu-item-has-children.prism-mobile-submenu-open > ul.children > li > a,
    .main-navigation .main-nav > ul > li.menu-item-has-children.prism-mobile-submenu-open > ul.sub-menu > li > a,
    .main-navigation .main-nav > ul > li.menu-item-has-children.prism-mobile-submenu-open > ul.children > li > a {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        height: auto !important;
        min-height: 32px !important;
        max-height: none !important;
        overflow: visible !important;
        pointer-events: auto !important;
        color: rgba(255,255,255,0.72) !important;
        padding: 8px 0 8px 14px !important;
        border-left: 1px solid rgba(171,149,74,0.32) !important;
    }
}

/* =========================
   MOBILE / TABLET MENU HEIGHT + CTA CLIPPING FIX
   Allows Resources, Insights, and Request Consultation to fit inside the opened panel
========================= */

@media (max-width: 1024px) {

    /* Give opened hamburger panel real viewport space instead of small fixed heights */
    #site-navigation.toggled .main-nav > ul,
    .main-navigation.toggled .main-nav > ul {
        max-height: calc(100vh - 72px) !important;
        height: auto !important;
        padding-bottom: 24px !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
    }

    /* Keep Request Consultation fully visible when it is supposed to appear */
    body.prism-show-nav-cta #site-navigation.toggled .main-nav ul li.prism-nav-cta,
    body.prism-show-nav-cta .main-navigation.toggled .main-nav ul li.prism-nav-cta {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;

        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;

        margin: 18px 0 0 0 !important;
        padding: 12px 0 0 0 !important;

        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        overflow: visible !important;

        border-top: 1px solid rgba(255,255,255,0.08) !important;
    }

    body.prism-show-nav-cta #site-navigation.toggled .main-nav ul li.prism-nav-cta > a,
    body.prism-show-nav-cta .main-navigation.toggled .main-nav ul li.prism-nav-cta > a {
        display: flex !important;
        width: 100% !important;
        max-width: 100% !important;

        min-height: 52px !important;
        height: 52px !important;
        max-height: none !important;

        align-items: center !important;
        justify-content: center !important;

        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        overflow: hidden !important;
    }

    /* Keep CTA hidden only before the scroll trigger activates */
    body:not(.prism-show-nav-cta) #site-navigation.toggled .main-nav ul li.prism-nav-cta,
    body:not(.prism-show-nav-cta) .main-navigation.toggled .main-nav ul li.prism-nav-cta {
        max-height: 0 !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        overflow: hidden !important;
    }
}

/* =========================
   MOBILE / TABLET RESOURCES ARROW CENTERED FIX
   Rotates Resources arrow from its own center
========================= */

@media (max-width: 1024px) {

    #site-navigation .main-nav > ul > li.menu-item-has-children > a .dropdown-menu-toggle,
    .main-navigation .main-nav > ul > li.menu-item-has-children > a .dropdown-menu-toggle {
        position: absolute !important;
        right: 0 !important;
        top: 50% !important;

        width: 36px !important;
        height: 36px !important;

        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;

        transform: translateY(-50%) rotate(0deg) !important;
        transform-origin: 50% 50% !important;

        transition: transform 0.22s ease !important;
        pointer-events: none !important;
    }

    #site-navigation .main-nav > ul > li.menu-item-has-children.prism-mobile-submenu-open > a .dropdown-menu-toggle,
    .main-navigation .main-nav > ul > li.menu-item-has-children.prism-mobile-submenu-open > a .dropdown-menu-toggle {
        transform: translateY(-50%) rotate(180deg) !important;
        transform-origin: 50% 50% !important;
    }

    #site-navigation .main-nav > ul > li.menu-item-has-children > a .dropdown-menu-toggle svg,
    .main-navigation .main-nav > ul > li.menu-item-has-children > a .dropdown-menu-toggle svg {
        display: block !important;
        margin: 0 !important;
        transform: none !important;
        transform-origin: 50% 50% !important;
    }
}

/* =========================
   MOBILE / TABLET MENU SCROLLBAR FLASH FIX
   Prevents brief scrollbar flash while Resources opens/closes
========================= */

@media (max-width: 1024px) {

    #site-navigation.toggled .main-nav > ul,
    .main-navigation.toggled .main-nav > ul {
        max-height: calc(100dvh - 72px) !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        scrollbar-gutter: stable !important;
    }

    body:not(.prism-show-nav-cta) #site-navigation.toggled .main-nav > ul,
    body:not(.prism-show-nav-cta) .main-navigation.toggled .main-nav > ul {
        max-height: 360px !important;
    }

    body.prism-show-nav-cta #site-navigation.toggled .main-nav > ul,
    body.prism-show-nav-cta .main-navigation.toggled .main-nav > ul {
        max-height: calc(100dvh - 72px) !important;
    }
}

/* =========================
   MOBILE / TABLET RESOURCES LIGHT MODE FINAL FIX
   Keeps mobile Resources submenu dark in both themes
========================= */

@media (max-width: 1024px) {

    #site-navigation .main-nav > ul > li.menu-item-has-children > a,
    .main-navigation .main-nav > ul > li.menu-item-has-children > a,
    html.prism-light-mode #site-navigation .main-nav > ul > li.menu-item-has-children > a,
    html.prism-light-mode .main-navigation .main-nav > ul > li.menu-item-has-children > a {
        color: rgba(255,255,255,0.82) !important;
        background: transparent !important;
    }

    #site-navigation .main-nav > ul > li.menu-item-has-children > a:hover,
    #site-navigation .main-nav > ul > li.menu-item-has-children > a:focus,
    .main-navigation .main-nav > ul > li.menu-item-has-children > a:hover,
    .main-navigation .main-nav > ul > li.menu-item-has-children > a:focus,
    html.prism-light-mode #site-navigation .main-nav > ul > li.menu-item-has-children > a:hover,
    html.prism-light-mode #site-navigation .main-nav > ul > li.menu-item-has-children > a:focus,
    html.prism-light-mode .main-navigation .main-nav > ul > li.menu-item-has-children > a:hover,
    html.prism-light-mode .main-navigation .main-nav > ul > li.menu-item-has-children > a:focus {
        color: #ffffff !important;
        background: transparent !important;
    }

    #site-navigation .main-nav > ul > li.menu-item-has-children > ul.sub-menu,
    #site-navigation .main-nav > ul > li.menu-item-has-children > ul.children,
    .main-navigation .main-nav > ul > li.menu-item-has-children > ul.sub-menu,
    .main-navigation .main-nav > ul > li.menu-item-has-children > ul.children,
    html.prism-light-mode #site-navigation .main-nav > ul > li.menu-item-has-children > ul.sub-menu,
    html.prism-light-mode #site-navigation .main-nav > ul > li.menu-item-has-children > ul.children,
    html.prism-light-mode .main-navigation .main-nav > ul > li.menu-item-has-children > ul.sub-menu,
    html.prism-light-mode .main-navigation .main-nav > ul > li.menu-item-has-children > ul.children {
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
    }

    #site-navigation .main-nav > ul > li.menu-item-has-children > ul.sub-menu > li > a,
    #site-navigation .main-nav > ul > li.menu-item-has-children > ul.children > li > a,
    .main-navigation .main-nav > ul > li.menu-item-has-children > ul.sub-menu > li > a,
    .main-navigation .main-nav > ul > li.menu-item-has-children > ul.children > li > a,
    html.prism-light-mode #site-navigation .main-nav > ul > li.menu-item-has-children > ul.sub-menu > li > a,
    html.prism-light-mode #site-navigation .main-nav > ul > li.menu-item-has-children > ul.children > li > a,
    html.prism-light-mode .main-navigation .main-nav > ul > li.menu-item-has-children > ul.sub-menu > li > a,
    html.prism-light-mode .main-navigation .main-nav > ul > li.menu-item-has-children > ul.children > li > a {
        color: rgba(255,255,255,0.72) !important;
        background: transparent !important;
        border-left: 1px solid rgba(171,149,74,0.32) !important;
    }

    #site-navigation .main-nav > ul > li.menu-item-has-children > ul.sub-menu > li > a:hover,
    #site-navigation .main-nav > ul > li.menu-item-has-children > ul.children > li > a:hover,
    .main-navigation .main-nav > ul > li.menu-item-has-children > ul.sub-menu > li > a:hover,
    .main-navigation .main-nav > ul > li.menu-item-has-children > ul.children > li > a:hover,
    html.prism-light-mode #site-navigation .main-nav > ul > li.menu-item-has-children > ul.sub-menu > li > a:hover,
    html.prism-light-mode #site-navigation .main-nav > ul > li.menu-item-has-children > ul.children > li > a:hover,
    html.prism-light-mode .main-navigation .main-nav > ul > li.menu-item-has-children > ul.sub-menu > li > a:hover,
    html.prism-light-mode .main-navigation .main-nav > ul > li.menu-item-has-children > ul.children > li > a:hover {
        color: #ffffff !important;
        background: transparent !important;
    }
}

/* =========================
   MOBILE / TABLET LIGHT MODE RESOURCES SUBMENU DARK FIX
   Keeps Insights submenu dark because mobile menu remains dark
========================= */

@media (max-width: 1024px) {

    html.prism-light-mode #site-navigation.toggled .main-nav > ul > li.menu-item-has-children.prism-mobile-submenu-open > ul.sub-menu,
    html.prism-light-mode .main-navigation.toggled .main-nav > ul > li.menu-item-has-children.prism-mobile-submenu-open > ul.sub-menu {
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
    }

    html.prism-light-mode #site-navigation.toggled .main-nav > ul > li.menu-item-has-children.prism-mobile-submenu-open > ul.sub-menu > li > a,
    html.prism-light-mode .main-navigation.toggled .main-nav > ul > li.menu-item-has-children.prism-mobile-submenu-open > ul.sub-menu > li > a {
        color: rgba(255,255,255,0.72) !important;
        background: transparent !important;
        border-left: 1px solid rgba(171,149,74,0.32) !important;
        box-shadow: none !important;
        text-shadow: none !important;
    }

    html.prism-light-mode #site-navigation.toggled .main-nav > ul > li.menu-item-has-children.prism-mobile-submenu-open > ul.sub-menu > li > a:hover,
    html.prism-light-mode #site-navigation.toggled .main-nav > ul > li.menu-item-has-children.prism-mobile-submenu-open > ul.sub-menu > li > a:focus,
    html.prism-light-mode .main-navigation.toggled .main-nav > ul > li.menu-item-has-children.prism-mobile-submenu-open > ul.sub-menu > li > a:hover,
    html.prism-light-mode .main-navigation.toggled .main-nav > ul > li.menu-item-has-children.prism-mobile-submenu-open > ul.sub-menu > li > a:focus {
        color: #ffffff !important;
        background: transparent !important;
    }
}

/* =========================
   DESKTOP LIGHT MODE RESOURCES DROPDOWN DARK FIX
   Keeps Resources dropdown dark even when page is in light mode
========================= */

@media (min-width: 1025px) {

    html.prism-light-mode .main-navigation .main-nav > ul > li.menu-item-has-children > ul.sub-menu,
    html.prism-light-mode #site-navigation .main-nav > ul > li.menu-item-has-children > ul.sub-menu,
    html.prism-light-mode .main-navigation .main-nav > ul > li.menu-item-has-children > ul.children,
    html.prism-light-mode #site-navigation .main-nav > ul > li.menu-item-has-children > ul.children {
        background: rgba(7, 8, 7, 0.98) !important;
        border: 1px solid rgba(255,255,255,0.08) !important;
        box-shadow: 0 18px 36px rgba(0,0,0,0.28) !important;
    }

    html.prism-light-mode .main-navigation .main-nav > ul > li.menu-item-has-children > ul.sub-menu > li > a,
    html.prism-light-mode #site-navigation .main-nav > ul > li.menu-item-has-children > ul.sub-menu > li > a,
    html.prism-light-mode .main-navigation .main-nav > ul > li.menu-item-has-children > ul.children > li > a,
    html.prism-light-mode #site-navigation .main-nav > ul > li.menu-item-has-children > ul.children > li > a {
        color: rgba(255,255,255,0.78) !important;
        background: transparent !important;
    }

    html.prism-light-mode .main-navigation .main-nav > ul > li.menu-item-has-children > ul.sub-menu > li > a:hover,
    html.prism-light-mode #site-navigation .main-nav > ul > li.menu-item-has-children > ul.sub-menu > li > a:hover,
    html.prism-light-mode .main-navigation .main-nav > ul > li.menu-item-has-children > ul.children > li > a:hover,
    html.prism-light-mode #site-navigation .main-nav > ul > li.menu-item-has-children > ul.children > li > a:hover,
    html.prism-light-mode .main-navigation .main-nav > ul > li.menu-item-has-children > ul.sub-menu > li.current-menu-item > a,
    html.prism-light-mode #site-navigation .main-nav > ul > li.menu-item-has-children > ul.sub-menu > li.current-menu-item > a {
        color: #ffffff !important;
        background: rgba(255,255,255,0.04) !important;
    }
}

/* =========================
   ACCESSIBILITY - MAIN MENU LINK CONTRAST
========================= */

/* Desktop + mobile GeneratePress menu links */
#site-navigation .main-nav a,
#site-navigation .main-nav a:link,
#site-navigation .main-nav a:visited,
.main-navigation .main-nav a,
.main-navigation .main-nav a:link,
.main-navigation .main-nav a:visited {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

#site-navigation .main-nav a:hover,
#site-navigation .main-nav a:focus,
#site-navigation .main-nav a:focus-visible,
#site-navigation .main-nav .current-menu-item > a,
.main-navigation .main-nav a:hover,
.main-navigation .main-nav a:focus,
.main-navigation .main-nav a:focus-visible,
.main-navigation .main-nav .current-menu-item > a {
    color: #AB954A !important;
    -webkit-text-fill-color: #AB954A !important;
}

/* Light mode menu links - menu bar remains dark */
html.prism-light-mode #site-navigation .main-nav a,
html.prism-light-mode #site-navigation .main-nav a:link,
html.prism-light-mode #site-navigation .main-nav a:visited,
html.prism-light-mode .main-navigation .main-nav a,
html.prism-light-mode .main-navigation .main-nav a:link,
html.prism-light-mode .main-navigation .main-nav a:visited {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

html.prism-light-mode #site-navigation .main-nav a:hover,
html.prism-light-mode #site-navigation .main-nav a:focus-visible,
html.prism-light-mode .main-navigation .main-nav a:hover,
html.prism-light-mode .main-navigation .main-nav a:focus-visible {
    color: #AB954A !important;
    -webkit-text-fill-color: #AB954A !important;
}

/* Backup for Home anchor variants */
#site-navigation a[href="#prism-home"],
#site-navigation a[href="/#prism-home"],
.main-navigation a[href="#prism-home"],
.main-navigation a[href="/#prism-home"] {
    color: inherit !important;
}

/* =========================
   ACCESSIBILITY - MAIN MENU CURRENT STATE RESET
========================= */

/* Keep default menu links readable instead of permanently gold */
#site-navigation .main-nav .current-menu-item > a,
#site-navigation .main-nav .current-menu-ancestor > a,
#site-navigation .main-nav .current-menu-parent > a,
.main-navigation .main-nav .current-menu-item > a,
.main-navigation .main-nav .current-menu-ancestor > a,
.main-navigation .main-nav .current-menu-parent > a {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

/* Only turn gold on actual hover or keyboard-visible focus */
#site-navigation .main-nav a:hover,
#site-navigation .main-nav a:focus-visible,
.main-navigation .main-nav a:hover,
.main-navigation .main-nav a:focus-visible {
    color: #AB954A !important;
    -webkit-text-fill-color: #AB954A !important;
}

/* Light mode current state reset */
html.prism-light-mode #site-navigation .main-nav .current-menu-item > a,
html.prism-light-mode #site-navigation .main-nav .current-menu-ancestor > a,
html.prism-light-mode #site-navigation .main-nav .current-menu-parent > a,
html.prism-light-mode .main-navigation .main-nav .current-menu-item > a,
html.prism-light-mode .main-navigation .main-nav .current-menu-ancestor > a,
html.prism-light-mode .main-navigation .main-nav .current-menu-parent > a {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

/* Light mode hover / keyboard focus */
html.prism-light-mode #site-navigation .main-nav a:hover,
html.prism-light-mode #site-navigation .main-nav a:focus-visible,
html.prism-light-mode .main-navigation .main-nav a:hover,
html.prism-light-mode .main-navigation .main-nav a:focus-visible {
    color: #AB954A !important;
    -webkit-text-fill-color: #AB954A !important;
}

/* =========================
   ACCESSIBILITY - INSIGHTS REQUEST CONSULTATION LINK CONTRAST
========================= */

/* Hero secondary button */
.prism-insights-page .prism-btn-secondary a[href="/#prism-contact-anchor"],
.prism-insights-page .prism-btn-secondary a[href="/#prism-contact-anchor"]:visited {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    border-color: rgba(255,255,255,0.34) !important;
}

/* CTA and modal consultation links */
.prism-insights-page a.prism-insights-cta-link[href="/#prism-contact-anchor"],
.prism-insights-page a.prism-insights-modal-consult[href="/#prism-contact-anchor"],
.prism-insights-page a.prism-insights-cta-link[href="/#prism-contact-anchor"]:visited,
.prism-insights-page a.prism-insights-modal-consult[href="/#prism-contact-anchor"]:visited {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    background-color: #142A9F !important;
    border-color: #142A9F !important;
}

.prism-insights-page .prism-btn-secondary a[href="/#prism-contact-anchor"]:hover,
.prism-insights-page .prism-btn-secondary a[href="/#prism-contact-anchor"]:focus,
.prism-insights-page .prism-btn-secondary a[href="/#prism-contact-anchor"]:focus-visible,
.prism-insights-page a.prism-insights-cta-link[href="/#prism-contact-anchor"]:hover,
.prism-insights-page a.prism-insights-cta-link[href="/#prism-contact-anchor"]:focus,
.prism-insights-page a.prism-insights-cta-link[href="/#prism-contact-anchor"]:focus-visible,
.prism-insights-page a.prism-insights-modal-consult[href="/#prism-contact-anchor"]:hover,
.prism-insights-page a.prism-insights-modal-consult[href="/#prism-contact-anchor"]:focus,
.prism-insights-page a.prism-insights-modal-consult[href="/#prism-contact-anchor"]:focus-visible {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    background-color: #132790 !important;
}

/* Light mode */
html.prism-light-mode .prism-insights-page .prism-btn-secondary a[href="/#prism-contact-anchor"],
html.prism-light-mode .prism-insights-page .prism-btn-secondary a[href="/#prism-contact-anchor"]:visited {
    color: #0f172a !important;
    -webkit-text-fill-color: #0f172a !important;
    border-color: rgba(15,23,42,0.38) !important;
}

html.prism-light-mode .prism-insights-page .prism-btn-secondary a[href="/#prism-contact-anchor"]:hover,
html.prism-light-mode .prism-insights-page .prism-btn-secondary a[href="/#prism-contact-anchor"]:focus,
html.prism-light-mode .prism-insights-page .prism-btn-secondary a[href="/#prism-contact-anchor"]:focus-visible {
    color: #142A9F !important;
    -webkit-text-fill-color: #142A9F !important;
}

/* =========================
   AUTHOR ARCHIVE SIDEBAR FIX
   Removes default GeneratePress sidebar/widgets from author pages
========================= */

body.author #right-sidebar,
body.author #left-sidebar,
body.author #secondary,
body.author .widget-area,
body.author .sidebar {
    display: none !important;
}

body.author .site-content,
body.author .content-area,
body.author .site-main {
    width: min(1280px, calc(100% - 64px)) !important;
    max-width: 1280px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    float: none !important;
}

/* =========================
   CATEGORY ARCHIVE SIDEBAR FIX
   Removes default GeneratePress sidebar/widgets from category pages
========================= */

body.category #right-sidebar,
body.category #left-sidebar,
body.category #secondary,
body.category .widget-area,
body.category .sidebar {
    display: none !important;
}

body.category .site-content,
body.category .content-area,
body.category .site-main {
    width: min(1280px, calc(100% - 64px)) !important;
    max-width: 1280px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    float: none !important;
}

/* =========================
   TAG ARCHIVE SIDEBAR FIX
   Removes default GeneratePress sidebar/widgets from tag pages
========================= */

body.tag #right-sidebar,
body.tag #left-sidebar,
body.tag #secondary,
body.tag .widget-area,
body.tag .sidebar {
    display: none !important;
}

body.tag .site-content,
body.tag .content-area,
body.tag .site-main {
    width: min(1280px, calc(100% - 64px)) !important;
    max-width: 1280px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    float: none !important;
}

/* =========================
   OTHER ARCHIVE / SYSTEM PAGE SIDEBAR FIX
   Removes default GeneratePress sidebar/widgets from search, date, blog, and 404 pages
========================= */

body.search #right-sidebar,
body.search #left-sidebar,
body.search #secondary,
body.search .widget-area,
body.search .sidebar,
body.date #right-sidebar,
body.date #left-sidebar,
body.date #secondary,
body.date .widget-area,
body.date .sidebar,
body.blog #right-sidebar,
body.blog #left-sidebar,
body.blog #secondary,
body.blog .widget-area,
body.blog .sidebar,
body.error404 #right-sidebar,
body.error404 #left-sidebar,
body.error404 #secondary,
body.error404 .widget-area,
body.error404 .sidebar,
body.attachment #right-sidebar,
body.attachment #left-sidebar,
body.attachment #secondary,
body.attachment .widget-area,
body.attachment .sidebar {
    display: none !important;
}

body.search .site-content,
body.search .content-area,
body.search .site-main,
body.date .site-content,
body.date .content-area,
body.date .site-main,
body.blog .site-content,
body.blog .content-area,
body.blog .site-main,
body.error404 .site-content,
body.error404 .content-area,
body.error404 .site-main,
body.attachment .site-content,
body.attachment .content-area,
body.attachment .site-main {
    width: min(1280px, calc(100% - 64px)) !important;
    max-width: 1280px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    float: none !important;
}

/* =========================
   ATTACHMENT / MEDIA PAGE SIDEBAR FIX
   Removes default GeneratePress sidebar/widgets from media attachment pages
========================= */

body.attachment #right-sidebar,
body.attachment #left-sidebar,
body.attachment #secondary,
body.attachment .widget-area,
body.attachment .sidebar {
    display: none !important;
}

body.attachment .site-content,
body.attachment .content-area,
body.attachment .site-main {
    width: min(1280px, calc(100% - 64px)) !important;
    max-width: 1280px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    float: none !important;
}

/* =========================
   LIGHT MODE - GENERATEPRESS ARCHIVE / SYSTEM TEMPLATE FIX
   Scoped only to native WP archive/system templates.
   Does not touch Prism custom pages such as Insights.
========================= */

html.prism-light-mode body:is(.author, .category, .tag, .search, .date, .blog, .error404, .attachment) {
    background: #f5f5f5 !important;
    color: #000000 !important;
}

html.prism-light-mode body:is(.author, .category, .tag, .search, .date, .blog, .error404, .attachment) #page,
html.prism-light-mode body:is(.author, .category, .tag, .search, .date, .blog, .error404, .attachment) .site,
html.prism-light-mode body:is(.author, .category, .tag, .search, .date, .blog, .error404, .attachment) .site-content,
html.prism-light-mode body:is(.author, .category, .tag, .search, .date, .blog, .error404, .attachment) .content-area,
html.prism-light-mode body:is(.author, .category, .tag, .search, .date, .blog, .error404, .attachment) .site-main {
    background: #f5f5f5 !important;
}

/* Archive titles, including author name */
html.prism-light-mode body:is(.author, .category, .tag, .search, .date, .blog, .error404, .attachment) .page-title,
html.prism-light-mode body:is(.author, .category, .tag, .search, .date, .blog, .error404, .attachment) .archive-title,
html.prism-light-mode body:is(.author, .category, .tag, .search, .date, .blog, .error404, .attachment) .entry-title,
html.prism-light-mode body:is(.author, .category, .tag, .search, .date, .blog, .error404, .attachment) .entry-title a,
html.prism-light-mode body.author .page-title span,
html.prism-light-mode body.author .vcard,
html.prism-light-mode body.author .author-name {
    color: #000000 !important;
    -webkit-text-fill-color: #000000 !important;
    background: none !important;
}

/* Archive body text */
html.prism-light-mode body:is(.author, .category, .tag, .search, .date, .blog, .error404, .attachment) .entry-summary,
html.prism-light-mode body:is(.author, .category, .tag, .search, .date, .blog, .error404, .attachment) .entry-summary p,
html.prism-light-mode body:is(.author, .category, .tag, .search, .date, .blog, .error404, .attachment) .entry-content,
html.prism-light-mode body:is(.author, .category, .tag, .search, .date, .blog, .error404, .attachment) .entry-content p {
    color: #334155 !important;
}

/* Archive meta text */
html.prism-light-mode body:is(.author, .category, .tag, .search, .date, .blog, .error404, .attachment) .entry-meta,
html.prism-light-mode body:is(.author, .category, .tag, .search, .date, .blog, .error404, .attachment) .entry-meta span,
html.prism-light-mode body:is(.author, .category, .tag, .search, .date, .blog, .error404, .attachment) .posted-on,
html.prism-light-mode body:is(.author, .category, .tag, .search, .date, .blog, .error404, .attachment) .byline,
html.prism-light-mode body:is(.author, .category, .tag, .search, .date, .blog, .error404, .attachment) .cat-links,
html.prism-light-mode body:is(.author, .category, .tag, .search, .date, .blog, .error404, .attachment) .tags-links {
    color: #334155 !important;
}

/* Archive links only */
html.prism-light-mode body:is(.author, .category, .tag, .search, .date, .blog, .error404, .attachment) a {
    color: #142A9F !important;
}

html.prism-light-mode body:is(.author, .category, .tag, .search, .date, .blog, .error404, .attachment) a:hover,
html.prism-light-mode body:is(.author, .category, .tag, .search, .date, .blog, .error404, .attachment) a:focus {
    color: #AB954A !important;
}

/* Search box only on native WP search/404 templates */
html.prism-light-mode body:is(.search, .error404) input[type="search"],
html.prism-light-mode body:is(.search, .error404) .search-field {
    background: #ffffff !important;
    color: #000000 !important;
    border: 1px solid rgba(15,23,42,0.18) !important;
}

html.prism-light-mode body:is(.search, .error404) input[type="search"]::placeholder,
html.prism-light-mode body:is(.search, .error404) .search-field::placeholder {
    color: #64748b !important;
}

html.prism-light-mode body:is(.search, .error404) input[type="submit"],
html.prism-light-mode body:is(.search, .error404) button[type="submit"],
html.prism-light-mode body:is(.search, .error404) .search-submit {
    background: #142A9F !important;
    color: #ffffff !important;
    border: none !important;
    box-shadow: inset 2.5px 0 0 #AB954A !important;
}

/* =========================
   LIGHT MODE - ARCHIVE / SYSTEM DARK CARD COLOR FIX
   Keeps author/category/tag/search/date/archive cards readable in daytime mode
========================= */

/* Outer page canvas stays light */
html.prism-light-mode body:is(.author, .category, .tag, .search, .date, .blog, .error404, .attachment),
html.prism-light-mode body:is(.author, .category, .tag, .search, .date, .blog, .error404, .attachment) #page,
html.prism-light-mode body:is(.author, .category, .tag, .search, .date, .blog, .error404, .attachment) .site,
html.prism-light-mode body:is(.author, .category, .tag, .search, .date, .blog, .error404, .attachment) .site-content,
html.prism-light-mode body:is(.author, .category, .tag, .search, .date, .blog, .error404, .attachment) .content-area,
html.prism-light-mode body:is(.author, .category, .tag, .search, .date, .blog, .error404, .attachment) .site-main {
    background: #f5f5f5 !important;
    color: #0f172a !important;
}

/* Archive cards stay dark like the post header/tag band style */
html.prism-light-mode body:is(.author, .category, .tag, .search, .date, .blog, .error404, .attachment) .inside-article,
html.prism-light-mode body:is(.author, .category, .tag, .search, .date, .blog, .error404, .attachment) .page-header,
html.prism-light-mode body.author .author-info,
html.prism-light-mode body.author .author-box,
html.prism-light-mode body.author .author-profile {
    background: #050505 !important;
    color: #ffffff !important;
    border: 1px solid rgba(255,255,255,0.07) !important;
}

/* Card headings and archive titles */
html.prism-light-mode body:is(.author, .category, .tag, .search, .date, .blog, .error404, .attachment) .inside-article h1,
html.prism-light-mode body:is(.author, .category, .tag, .search, .date, .blog, .error404, .attachment) .inside-article h2,
html.prism-light-mode body:is(.author, .category, .tag, .search, .date, .blog, .error404, .attachment) .inside-article h3,
html.prism-light-mode body:is(.author, .category, .tag, .search, .date, .blog, .error404, .attachment) .entry-title,
html.prism-light-mode body:is(.author, .category, .tag, .search, .date, .blog, .error404, .attachment) .entry-title a,
html.prism-light-mode body:is(.author, .category, .tag, .search, .date, .blog, .error404, .attachment) .page-title,
html.prism-light-mode body:is(.author, .category, .tag, .search, .date, .blog, .error404, .attachment) .page-title span,
html.prism-light-mode body.author .vcard,
html.prism-light-mode body.author .fn,
html.prism-light-mode body.author .author-name,
html.prism-light-mode body.author .author-title {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    background: none !important;
}

/* Author bio and article excerpt text */
html.prism-light-mode body:is(.author, .category, .tag, .search, .date, .blog, .error404, .attachment) .inside-article p,
html.prism-light-mode body:is(.author, .category, .tag, .search, .date, .blog, .error404, .attachment) .entry-summary,
html.prism-light-mode body:is(.author, .category, .tag, .search, .date, .blog, .error404, .attachment) .entry-summary p,
html.prism-light-mode body:is(.author, .category, .tag, .search, .date, .blog, .error404, .attachment) .entry-content,
html.prism-light-mode body:is(.author, .category, .tag, .search, .date, .blog, .error404, .attachment) .entry-content p,
html.prism-light-mode body.author .author-description,
html.prism-light-mode body.author .author-description p {
    color: #838187 !important;
}

/* Meta/date/byline/category/tag accents */
html.prism-light-mode body:is(.author, .category, .tag, .search, .date, .blog, .error404, .attachment) .entry-meta,
html.prism-light-mode body:is(.author, .category, .tag, .search, .date, .blog, .error404, .attachment) .entry-meta span,
html.prism-light-mode body:is(.author, .category, .tag, .search, .date, .blog, .error404, .attachment) .posted-on,
html.prism-light-mode body:is(.author, .category, .tag, .search, .date, .blog, .error404, .attachment) .byline,
html.prism-light-mode body:is(.author, .category, .tag, .search, .date, .blog, .error404, .attachment) .cat-links,
html.prism-light-mode body:is(.author, .category, .tag, .search, .date, .blog, .error404, .attachment) .tags-links {
    color: #AB954A !important;
}

/* Links inside dark archive cards */
html.prism-light-mode body:is(.author, .category, .tag, .search, .date, .blog, .error404, .attachment) .inside-article a,
html.prism-light-mode body:is(.author, .category, .tag, .search, .date, .blog, .error404, .attachment) .entry-meta a,
html.prism-light-mode body:is(.author, .category, .tag, .search, .date, .blog, .error404, .attachment) .cat-links a,
html.prism-light-mode body:is(.author, .category, .tag, .search, .date, .blog, .error404, .attachment) .tags-links a {
    color: #AB954A !important;
}

html.prism-light-mode body:is(.author, .category, .tag, .search, .date, .blog, .error404, .attachment) .inside-article a:hover,
html.prism-light-mode body:is(.author, .category, .tag, .search, .date, .blog, .error404, .attachment) .entry-title a:hover,
html.prism-light-mode body:is(.author, .category, .tag, .search, .date, .blog, .error404, .attachment) .entry-meta a:hover,
html.prism-light-mode body:is(.author, .category, .tag, .search, .date, .blog, .error404, .attachment) .cat-links a:hover,
html.prism-light-mode body:is(.author, .category, .tag, .search, .date, .blog, .error404, .attachment) .tags-links a:hover {
    color: #ffffff !important;
}

/* Search field readability on search and 404 cards */
html.prism-light-mode body:is(.search, .error404) input[type="search"],
html.prism-light-mode body:is(.search, .error404) .search-field {
    background: #ffffff !important;
    color: #0f172a !important;
    border: 1px solid rgba(15,23,42,0.18) !important;
}

html.prism-light-mode body:is(.search, .error404) input[type="search"]::placeholder,
html.prism-light-mode body:is(.search, .error404) .search-field::placeholder {
    color: #64748b !important;
}

html.prism-light-mode body:is(.search, .error404) input[type="submit"],
html.prism-light-mode body:is(.search, .error404) button[type="submit"],
html.prism-light-mode body:is(.search, .error404) .search-submit {
    background: #142A9F !important;
    color: #ffffff !important;
    border: none !important;
    box-shadow: inset 2.5px 0 0 #AB954A !important;
}