/**
 * Landslide Fixes
 *
 * Isolated CSS overrides and new styles for CleanEcon.
 * Loads AFTER style.css to override as needed.
 * Do NOT edit style.css directly — all changes go here.
 */

/* ==========================================================================
   LANDSLIDE UPDATE: Dropdown nav for "Our Work"
   ========================================================================== */

/* Parent item — relative positioning for dropdown */
.nav--header .menu-item-has-children {
    position: relative;
}

/* Chevron indicator — subtle, fades in/out */
.nav--header .menu-item-has-children > a::after {
    content: '';
    display: inline-block;
    width: 5px;
    height: 5px;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(45deg);
    margin-left: 6px;
    margin-bottom: 3px;
    opacity: 0.45;
    transition: transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94),
                opacity 0.2s ease;
}

.nav--header .menu-item-has-children:hover > a::after {
    transform: rotate(-135deg) translateY(0);
    opacity: 1;
}

/* Dropdown panel — visibility-based for animation (not display toggle) */
.nav--header ul.sub-menu {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%) translateY(6px);
    min-width: 230px;
    padding: 0;
    margin-top: 8px;
    background: rgba(40, 42, 58, 0.97);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 10px;
    list-style: none;
    flex-direction: column;
    gap: 0;
    z-index: 100;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.35),
                0 0 0 1px rgba(255, 255, 255, 0.03) inset;

    /* Animation — fade + slide */
    opacity: 0 !important;
    visibility: hidden;
    display: flex !important;
    pointer-events: none;
    transition: opacity 0.18s cubic-bezier(0.25, 0.46, 0.45, 0.94),
                transform 0.18s cubic-bezier(0.25, 0.46, 0.45, 0.94),
                visibility 0s 0.18s;
}

/* Invisible bridge so hover doesn't break between parent and dropdown */
.nav--header .sub-menu::before {
    content: '';
    position: absolute;
    top: -16px;
    left: -20px;
    right: -20px;
    height: 16px;
}

/* Show on hover — animate in */
.nav--header .menu-item-has-children:hover > .sub-menu {
    opacity: 1 !important;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
    pointer-events: auto;
    transition: opacity 0.18s cubic-bezier(0.25, 0.46, 0.45, 0.94),
                transform 0.18s cubic-bezier(0.25, 0.46, 0.45, 0.94),
                visibility 0s 0s;
}

/* Dropdown items */
.nav--header .sub-menu li {
    padding: 0;
    margin: 0;
}

.nav--header .sub-menu li a {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 20px;
    color: rgba(255, 255, 255, 0.65) !important;
    font-family: "DM Sans", sans-serif;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.01em;
    line-height: 1;
    white-space: nowrap;
    transition: all 0.15s ease;
}

/* Divider between items */
.nav--header .sub-menu li + li a {
    border-top: 1px solid rgba(255, 255, 255, 0.04);
}

.nav--header .sub-menu li a:hover {
    color: #fff !important;
    background: rgba(139, 255, 172, 0.06);
    text-decoration: none;
}

/* No left accent bar */
.nav--header .sub-menu li a::before {
    display: none;
}

/* SVG icon container — rounded square with border, matching site style */
.nav--header .sub-menu li a svg {
    width: 16px;
    height: 16px;
    padding: 6px;
    box-sizing: content-box;
    background: transparent;
    border: 1.5px solid rgba(139, 255, 172, 0.12);
    border-radius: 8px;
    flex-shrink: 0;
    transition: all 0.15s ease;
}

/* Force all SVG elements to green — covers both fill and stroke icons */
.nav--header .sub-menu li a svg * {
    fill: var(--CleanEcon-Eco-Glow, #8BFFAC) !important;
    stroke: var(--CleanEcon-Eco-Glow, #8BFFAC) !important;
    opacity: 0.5;
    transition: all 0.15s ease;
}

.nav--header .sub-menu li a:hover svg {
    border-color: var(--CleanEcon-Eco-Glow, #8BFFAC);
    background: var(--CleanEcon-Eco-Glow, #8BFFAC);
}

.nav--header .sub-menu li a:hover svg * {
    fill: rgba(40, 42, 58, 0.95) !important;
    stroke: rgba(40, 42, 58, 0.95) !important;
    opacity: 1;
}

/* ==========================================================================
   LANDSLIDE UPDATE: Mobile nav (below 1024px)
   ========================================================================== */

@media screen and (max-width: 1024px) {
    /* Mobile: hide sub-menu entirely — one level deep only */
    .nav--header ul.sub-menu {
        display: none !important;
    }

    .nav--header .sub-menu::before {
        display: none;
    }

    /* Sub-menu items look identical to top-level nav items */
    .nav--header .sub-menu li a {
        padding: 0;
        font-size: 16px;
        font-weight: 600;
        color: var(--White, #FFF) !important;
        gap: 0;
    }

    .nav--header .sub-menu li a::before {
        display: none;
    }

    .nav--header .sub-menu li a:hover {
        background: transparent;
        padding-left: 0;
    }

    /* Hide chevron on mobile */
    .nav--header .menu-item-has-children > a::after {
        display: none;
    }

    /* Hide SVG icons in mobile nav */
    .nav--header .sub-menu li a svg {
        display: none;
    }
}

/* ==========================================================================
   LANDSLIDE UPDATE: Our Work grid page
   ========================================================================== */

/* Hero */
.our-work-hero {
    background: url(../images/hero.png) no-repeat center center;
    background-size: cover;
    padding: 80px 0 70px;
}
@media (min-width: 768px) {
    .our-work-hero {
        padding: 100px 0 88px;
    }
}
.our-work-hero .section-subtitle {
    color: var(--CleanEcon-Volt-Sky, #6FC3FF);
    font-family: Montserrat, sans-serif;
    font-size: 17px;
    font-weight: 600;
    letter-spacing: 3.4px;
    text-transform: uppercase;
    margin-bottom: 16px;
}
.our-work-hero .section-title {
    color: var(--CleanEcon-Eco-Glow, #8BFFAC);
    font-family: Montserrat, sans-serif;
    font-size: 40px;
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -1px;
    margin-bottom: 24px;
    text-transform: none;
}
@media (min-width: 768px) {
    .our-work-hero .section-title {
        font-size: 52px;
    }
}
@media (min-width: 1200px) {
    .our-work-hero .section-title {
        font-size: 60px;
    }
}
.our-work-hero .section-content p {
    color: var(--White, #FFF);
    font-family: "DM Sans", sans-serif;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.6;
    max-width: 640px;
}
@media (min-width: 768px) {
    .our-work-hero .section-content p {
        font-size: 20px;
    }
}

/* Main section */
.our-work-main {
    padding: 60px 0 80px;
}
@media (min-width: 768px) {
    .our-work-main {
        padding: 80px 0 120px;
    }
}

/* Grid layout */
.our-work-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
}
@media (min-width: 768px) {
    .our-work-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 28px;
    }
}

/* Card — outer wrapper is the link, contains the animated border + inner content */
.our-work-card {
    position: relative;
    display: flex;
    flex-direction: column;
    border-radius: 16px;
    text-decoration: none;
    padding: 1px;
    background: rgba(255, 255, 255, 0.06);
    transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}
.our-work-card:hover {
    transform: translateY(-4px);
    text-decoration: none;
}

/* Animated electric border — gradient that sweeps around on hover */
.our-work-card__border {
    position: absolute;
    inset: 0;
    border-radius: 16px;
    overflow: hidden;
    opacity: 0;
    transition: opacity 0.4s ease;
    pointer-events: none;
    z-index: 1;
}
.our-work-card__border::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 200%;
    height: 200%;
    margin-top: -100%;
    margin-left: -100%;
    background: conic-gradient(
        transparent 0%,
        #8BFFAC 8%,
        transparent 16%,
        transparent 42%,
        rgba(111, 195, 255, 0.7) 50%,
        transparent 58%,
        transparent 84%,
        #8BFFAC 92%,
        transparent 100%
    );
    animation: electric-spin 2.5s linear infinite;
}
.our-work-card__border::after {
    content: '';
    position: absolute;
    inset: 1.5px;
    border-radius: 14.5px;
    background: #0a0c1a;
}
.our-work-card:hover .our-work-card__border {
    opacity: 0.5;
}

/* Per-card: tint the spin gradient */
.our-work-card:nth-child(2) .our-work-card__border::before {
    background: conic-gradient(
        transparent 0%,
        #6FC3FF 8%,
        transparent 16%,
        transparent 42%,
        rgba(84, 103, 235, 0.7) 50%,
        transparent 58%,
        transparent 84%,
        #6FC3FF 92%,
        transparent 100%
    );
}
.our-work-card:nth-child(3) .our-work-card__border::before {
    background: conic-gradient(
        transparent 0%,
        #A089DD 8%,
        transparent 16%,
        transparent 42%,
        rgba(111, 195, 255, 0.7) 50%,
        transparent 58%,
        transparent 84%,
        #A089DD 92%,
        transparent 100%
    );
}

@keyframes electric-spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

/* Inner content wrapper */
.our-work-card__inner {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 36px 32px 40px;
    background: rgba(255, 255, 255, 0.02);
    border-radius: 15px;
    transition: background 0.35s ease;
}
.our-work-card:hover .our-work-card__inner {
    background: rgba(255, 255, 255, 0.04);
}

/* Head row — icon + logo side by side */
.our-work-card__head {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 28px;
}

/* Logo */
.our-work-card__logo img {
    max-height: 32px;
    width: auto;
    opacity: 0.7;
    transition: all 0.3s ease;
}
.our-work-card:hover .our-work-card__logo img {
    opacity: 1;
}

/* Glow effect behind each card */
.our-work-card__glow {
    position: absolute;
    bottom: -50%;
    left: 50%;
    transform: translateX(-50%);
    width: 80%;
    height: 60%;
    border-radius: 50%;
    filter: blur(80px);
    opacity: 0;
    transition: opacity 0.5s ease;
    pointer-events: none;
}
.our-work-card:hover .our-work-card__glow {
    opacity: 0.15;
}
.our-work-card__glow--green {
    background: linear-gradient(135deg, #CAFF78, #6FCFFF);
}
.our-work-card__glow--blue {
    background: linear-gradient(135deg, #6FCFFF, #5467EB);
}
.our-work-card__glow--purple {
    background: linear-gradient(135deg, #A089DD, #6FCFFF);
}

/* Icon */
.our-work-card__icon {
    width: 52px;
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1.5px solid rgba(139, 255, 172, 0.2);
    border-radius: 12px;
    color: var(--CleanEcon-Eco-Glow, #8BFFAC);
    transition: all 0.3s ease;
}
.our-work-card:hover .our-work-card__icon {
    border-color: var(--CleanEcon-Eco-Glow, #8BFFAC);
    background: rgba(139, 255, 172, 0.08);
}
.our-work-card__icon svg {
    width: 26px;
    height: 26px;
}

/* Label */
.our-work-card__label {
    font-family: "DM Sans", sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--CleanEcon-Volt-Sky, #6FC3FF);
    margin-bottom: 10px;
}

/* Title */
.our-work-card__title {
    font-family: Montserrat, sans-serif;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.2;
    color: #fff;
    margin-bottom: 16px;
    letter-spacing: -0.3px;
}
@media (min-width: 768px) {
    .our-work-card__title {
        font-size: 24px;
    }
}

/* Description */
.our-work-card__desc {
    font-family: "DM Sans", sans-serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.6);
    margin-bottom: 28px;
    flex: 1;
}

/* Link */
.our-work-card__link {
    font-family: "DM Sans", sans-serif;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--CleanEcon-Eco-Glow, #8BFFAC);
    display: flex;
    align-items: center;
    gap: 8px;
    transition: all 0.2s ease;
}
.our-work-card__link i {
    font-size: 11px;
    transition: transform 0.2s ease;
}
.our-work-card:hover .our-work-card__link {
    color: #fff;
}
.our-work-card:hover .our-work-card__link i {
    transform: translateX(3px);
}

/* Our Work block — homepage version */
.our-work-block {
    padding: 80px 0 100px;
}
@media (min-width: 768px) {
    .our-work-block {
        padding: 100px 0 120px;
    }
}
.our-work-block .section-content {
    margin-bottom: 48px;
}
@media (min-width: 768px) {
    .our-work-block .section-content {
        margin-bottom: 60px;
    }
}
.our-work-block .section-content p {
    color: var(--White, #FFF);
    font-family: "DM Sans", sans-serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.6;
}

/* ==========================================================================
   LANDSLIDE UPDATE: Our Work — sub-page shared styles (Energy Momentum, etc.)
   ========================================================================== */

/* Hero — reuses page-hero pattern */
.ow-page-hero {
    background: url(../images/hero.png) no-repeat center center;
    background-size: cover;
    padding: 80px 0 70px;
}
@media (min-width: 768px) {
    .ow-page-hero {
        padding: 100px 0 88px;
    }
}
.ow-page-hero .section-subtitle {
    color: var(--CleanEcon-Volt-Sky, #6FC3FF);
    font-family: Montserrat, sans-serif;
    font-size: 17px;
    font-weight: 600;
    letter-spacing: 3.4px;
    text-transform: uppercase;
    margin-bottom: 16px;
}
.ow-page-hero .section-title {
    color: var(--CleanEcon-Eco-Glow, #8BFFAC);
    font-family: Montserrat, sans-serif;
    font-size: 40px;
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -1px;
    margin-bottom: 24px;
    text-transform: none;
}
@media (min-width: 768px) {
    .ow-page-hero .section-title {
        font-size: 52px;
    }
}
@media (min-width: 1200px) {
    .ow-page-hero .section-title {
        font-size: 60px;
    }
}
.ow-page-hero .section-content p {
    color: var(--White, #FFF);
    font-family: "DM Sans", sans-serif;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.6;
    max-width: 640px;
}
@media (min-width: 768px) {
    .ow-page-hero .section-content p {
        font-size: 20px;
    }
}

/* Sections */
.ow-page-main {
    padding-bottom: 0;
}
.ow-section {
    padding: 56px 0;
}
@media (min-width: 768px) {
    .ow-section {
        padding: 72px 0;
    }
}

/* Alternate section background */
.ow-stats-section {
    background: rgba(255, 255, 255, 0.045);
    border-top: 1px solid rgba(255, 255, 255, 0.04);
    border-bottom: 1px solid rgba(255, 255, 255, 0.04);
    padding: 64px 0;
}
@media (min-width: 768px) {
    .ow-stats-section {
        padding: 80px 0;
    }
}

.ow-features {
    padding: 56px 0 64px !important;
}

/* ==========================================================================
   Platform embed
   ========================================================================== */

.ow-showcase {
    padding-bottom: 32px;
}

.ow-embed {
    position: relative;
    margin-top: 48px;
    border-radius: 16px;
    padding: 1px;
    background: rgba(255, 255, 255, 0.06);
}

/* Electric border on the embed — commented out, was causing glitchy animation
.ow-embed__border {
    position: absolute;
    inset: 0;
    border-radius: 16px;
    overflow: hidden;
    opacity: 0.35;
    pointer-events: none;
    z-index: 1;
}
.ow-embed__border::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 200%;
    height: 200%;
    margin-top: -100%;
    margin-left: -100%;
    background: conic-gradient(
        transparent 0%,
        #6FC3FF 6%,
        transparent 12%,
        transparent 45%,
        rgba(139, 255, 172, 0.4) 50%,
        transparent 55%,
        transparent 88%,
        #6FC3FF 94%,
        transparent 100%
    );
    animation: electric-spin 4s linear infinite;
}
.ow-embed__border::after {
    content: '';
    position: absolute;
    inset: 1.5px;
    border-radius: 14.5px;
    background: #0a0c1a;
}
*/

/* Browser chrome wrapper */
.ow-embed__chrome {
    position: relative;
    z-index: 2;
    border-radius: 15px;
    overflow: hidden;
    background: #0a0c1a;
}

/* Toolbar */
.ow-embed__toolbar {
    display: flex;
    align-items: center;
    padding: 12px 16px;
    background: rgba(255, 255, 255, 0.04);
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.ow-embed__dots {
    display: flex;
    gap: 6px;
    margin-right: 16px;
}
.ow-embed__dots span {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.1);
}

.ow-embed__url {
    flex: 1;
    font-family: "DM Sans", sans-serif;
    font-size: 13px;
    color: rgba(255, 255, 255, 0.35);
    text-align: center;
    letter-spacing: 0.3px;
}

.ow-embed__external {
    color: rgba(255, 255, 255, 0.3) !important;
    font-size: 12px;
    padding: 4px 8px;
    border-radius: 4px;
    transition: all 0.15s ease;
    text-decoration: none;
}
.ow-embed__external:hover {
    color: var(--CleanEcon-Eco-Glow, #8BFFAC) !important;
    background: rgba(139, 255, 172, 0.08);
    text-decoration: none;
}

/* Iframe */
.ow-embed__frame {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 140%;
}
@media (min-width: 768px) {
    .ow-embed__frame {
        padding-bottom: 60%;
    }
}

.ow-embed__frame iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
}

/* Overlay — always visible on mobile (no hover), hover-triggered on desktop */
.ow-embed__overlay {
    position: absolute;
    inset: 0;
    z-index: 10;
    background: rgba(10, 12, 26, 0.75);
    backdrop-filter: blur(2px);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: default;
    opacity: 1;
    pointer-events: auto;
    transition: opacity 0.15s ease;
}
@media (min-width: 768px) {
    .ow-embed__overlay {
        opacity: 0;
        pointer-events: none;
    }
    .ow-embed__frame:hover .ow-embed__overlay {
        opacity: 1;
        pointer-events: auto;
    }
}
.ow-embed__overlay-inner {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    justify-content: center;
}
.ow-embed__overlay-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 14px 28px;
    border-radius: 10px;
    font-family: "DM Sans", sans-serif;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0.2px;
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none;
    border: none;
}
.ow-embed__overlay-btn--primary {
    background: var(--CleanEcon-Eco-Glow, #8BFFAC);
    color: #0a0c1a;
}
.ow-embed__overlay-btn--primary:hover {
    background: #a5ffbe;
    transform: translateY(-1px);
}
.ow-embed__overlay-btn--secondary {
    background: rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.85);
    border: 1px solid rgba(255, 255, 255, 0.15);
}
.ow-embed__overlay-btn--secondary:hover {
    background: rgba(255, 255, 255, 0.16);
    color: #fff;
    text-decoration: none;
    transform: translateY(-1px);
}

/* Fallback if iframe is blocked */
.ow-embed__fallback-inner {
    padding: 80px 40px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.ow-embed__fallback-logo {
    max-height: 48px;
    width: auto;
    margin-bottom: 24px;
    opacity: 0.8;
}

.ow-embed__fallback-text {
    font-family: "DM Sans", sans-serif;
    font-size: 16px;
    color: rgba(255, 255, 255, 0.5);
    margin-bottom: 28px;
}

/* Body text */
.ow-body {
    color: rgba(255, 255, 255, 0.65) !important;
    font-family: "DM Sans", sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;
    margin-bottom: 18px !important;
    letter-spacing: 0 !important;
}
.ow-body:last-child {
    margin-bottom: 0 !important;
}
@media (min-width: 768px) {
    .ow-body {
        font-size: 17px !important;
    }
}

/* Lead paragraph — white, larger, sets the tone */
.ow-body--lead {
    color: rgba(255, 255, 255, 0.9) !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    line-height: 1.6 !important;
    margin-bottom: 24px !important;
}
@media (min-width: 768px) {
    .ow-body--lead {
        font-size: 19px !important;
    }
}

/* Callout paragraph — big statement */
.ow-body--callout {
    color: #fff !important;
    font-family: Montserrat, sans-serif !important;
    font-weight: 600 !important;
    font-size: 22px !important;
    line-height: 1.4 !important;
    margin-top: 32px !important;
}
@media (min-width: 768px) {
    .ow-body--callout {
        font-size: 26px !important;
    }
}
@media (min-width: 1200px) {
    .ow-body--callout {
        font-size: 30px !important;
    }
}

/* Section headings */
.ow-heading {
    font-family: Montserrat, sans-serif;
    font-size: 28px;
    font-weight: 700;
    color: #fff;
    letter-spacing: -0.5px;
    margin-bottom: 20px;
}
@media (min-width: 768px) {
    .ow-heading {
        font-size: 32px;
    }
}

/* ==========================================================================
   Platform preview card
   ========================================================================== */

.ow-platform-preview {
    padding: 32px 0;
}

.ow-platform-card {
    position: relative;
    overflow: hidden;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.06);
}

.ow-platform-card__glow {
    position: absolute;
    bottom: -40%;
    left: 50%;
    transform: translateX(-50%);
    width: 70%;
    height: 60%;
    border-radius: 50%;
    background: linear-gradient(135deg, #6FCFFF, #5467EB);
    filter: blur(100px);
    opacity: 0.12;
    pointer-events: none;
}

.ow-platform-card__inner {
    position: relative;
    z-index: 1;
    padding: 48px 40px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.ow-platform-card__logo {
    max-height: 48px;
    width: auto;
    margin-bottom: 24px;
}

.ow-platform-card__desc {
    color: rgba(255, 255, 255, 0.6);
    font-family: "DM Sans", sans-serif;
    font-size: 16px;
    line-height: 1.6;
    max-width: 500px;
    margin-bottom: 32px;
}

/* ==========================================================================
   Stats grid
   ========================================================================== */

.ow-stats-label {
    font-family: "DM Sans", sans-serif;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: var(--CleanEcon-Volt-Sky, #6FC3FF);
    margin-bottom: 40px;
}

.ow-stats-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1px;
    background: none;
    border-radius: 0;
    overflow: visible;
}
@media (min-width: 768px) {
    .ow-stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (min-width: 992px) {
    .ow-stats-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

.ow-stat {
    background: none;
    padding: 36px 32px;
    border-right: 1px solid rgba(255, 255, 255, 0.05);
}
.ow-stat:first-child {
    padding-left: 0;
}
.ow-stat:last-child {
    border-right: none;
    padding-right: 0;
}

.ow-stat__number {
    font-family: Montserrat, sans-serif;
    font-size: 40px;
    font-weight: 800;
    letter-spacing: -1px;
    color: var(--CleanEcon-Eco-Glow, #8BFFAC);
    margin-bottom: 12px;
    line-height: 1;
}
@media (min-width: 768px) {
    .ow-stat__number {
        font-size: 48px;
    }
}

.ow-stat__tag {
    display: inline-block;
    font-family: "DM Sans", sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    padding: 4px 10px;
    border-radius: 4px;
    margin-bottom: 14px;
}
.ow-stat__tag--green {
    color: var(--CleanEcon-Eco-Glow, #8BFFAC);
    background: rgba(139, 255, 172, 0.1);
}
.ow-stat__tag--blue {
    color: var(--CleanEcon-Volt-Sky, #6FC3FF);
    background: rgba(111, 195, 255, 0.1);
}
.ow-stat__number--muted {
    color: rgba(255, 255, 255, 0.6) !important;
}
.ow-stat__desc {
    font-family: "DM Sans", sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.55;
    color: rgba(255, 255, 255, 0.55);
}

/* ==========================================================================
   Big intro section
   ========================================================================== */

.ow-intro {
    padding: 80px 0 56px;
    background: linear-gradient(180deg, rgba(255,255,255,0.035) 0%, rgba(255,255,255,0.01) 100%);
    border-top: 1px solid rgba(255,255,255,0.04);
    border-bottom: 1px solid rgba(255,255,255,0.04);
}
@media (min-width: 768px) {
    .ow-intro {
        padding: 100px 0 80px;
    }
}

.ow-intro__headline {
    font-family: Montserrat, sans-serif;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.25;
    color: #fff;
    letter-spacing: -0.5px;
    margin-bottom: 28px;
}
@media (min-width: 768px) {
    .ow-intro__headline {
        font-size: 36px;
        margin-bottom: 36px;
    }
}
@media (min-width: 1200px) {
    .ow-intro__headline {
        font-size: 42px;
    }
}

.ow-intro__highlight {
    background: linear-gradient(90deg, var(--CleanEcon-Eco-Glow, #8BFFAC), var(--CleanEcon-Volt-Sky, #6FC3FF));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}


.ow-intro__body {
    max-width: 720px;
}

/* Inline meta bar */
.ow-intro__meta {
    display: flex;
    align-items: center;
    gap: 0;
    margin-top: 36px;
    flex-wrap: wrap;
}

.ow-intro__meta-item {
    font-family: "DM Sans", sans-serif;
    font-size: 14px;
    color: rgba(255, 255, 255, 0.4);
    letter-spacing: 0.3px;
}
.ow-intro__meta-item strong {
    color: rgba(255, 255, 255, 0.7);
    font-weight: 600;
}
.ow-intro__meta-item a {
    color: inherit;
    text-decoration: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
    transition: all 0.2s ease;
}
.ow-intro__meta-item a:hover {
    border-bottom-color: rgba(255, 255, 255, 0.5);
}
.ow-intro__meta-item a strong {
    color: rgba(255, 255, 255, 0.7);
    transition: color 0.2s ease;
}
.ow-intro__meta-item a:hover strong {
    color: rgba(255, 255, 255, 0.9);
}

.ow-intro__meta-divider {
    width: 1px;
    height: 14px;
    background: rgba(255, 255, 255, 0.15);
    margin: 0 20px;
}

/* ==========================================================================
   Feature blocks
   ========================================================================== */

.ow-features {
    padding: 48px 0 64px;
}

.ow-features__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
    margin-top: 40px;
}
@media (min-width: 768px) {
    .ow-features__grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 24px;
    }
}

.ow-feature {
    padding: 32px 28px;
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 12px;
    transition: all 0.3s ease;
}
.ow-feature:hover {
    background: rgba(255, 255, 255, 0.04);
    border-color: rgba(255, 255, 255, 0.08);
    transform: translateY(-2px);
}

.ow-feature__icon {
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1.5px solid rgba(111, 195, 255, 0.2);
    border-radius: 10px;
    color: var(--CleanEcon-Volt-Sky, #6FC3FF);
    margin-bottom: 20px;
    transition: all 0.3s ease;
}
.ow-feature:hover .ow-feature__icon {
    border-color: var(--CleanEcon-Volt-Sky, #6FC3FF);
    background: rgba(111, 195, 255, 0.08);
}

.ow-feature__title {
    font-family: "DM Sans", sans-serif;
    font-size: 17px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 10px;
}

.ow-feature__desc {
    font-family: "DM Sans", sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.5);
}

/* Purple icon variant */
.ow-feature__icon--purple {
    border-color: rgba(160, 137, 221, 0.2);
    color: #A089DD;
}
.ow-feature:hover .ow-feature__icon--purple {
    border-color: #A089DD;
    background: rgba(160, 137, 221, 0.08);
}

/* Purple CTA glow */
.ow-cta__glow--purple {
    background: linear-gradient(135deg, #A089DD, #6FCFFF) !important;
}

/* ==========================================================================
   LANDSLIDE UPDATE: Our Work — Sub-page hero
   ========================================================================== */

.ow-hero {
    position: relative;
    overflow: hidden;
    padding: 80px 0 60px;
    background: #151829;
}
@media (min-width: 768px) {
    .ow-hero {
        padding: 110px 0 80px;
    }
}

/* Animated background */
.ow-hero__bg {
    position: absolute;
    inset: 0;
    overflow: hidden;
}

/* Floating orbs */
.ow-hero__orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(100px);
    opacity: 0;
    animation: orb-float 8s ease-in-out infinite, orb-in 1.2s ease-out forwards;
}
.ow-hero__orb--1 {
    width: 500px;
    height: 500px;
    background: radial-gradient(circle, rgba(111, 195, 255, 0.2) 0%, transparent 70%);
    top: -20%;
    right: -5%;
    animation-delay: 0s, 0s;
}
.ow-hero__orb--2 {
    width: 400px;
    height: 400px;
    background: radial-gradient(circle, rgba(139, 255, 172, 0.12) 0%, transparent 70%);
    bottom: -15%;
    left: 10%;
    animation-delay: -3s, 0.2s;
}
.ow-hero__orb--3 {
    width: 300px;
    height: 300px;
    background: radial-gradient(circle, rgba(84, 103, 235, 0.15) 0%, transparent 70%);
    top: 20%;
    left: 40%;
    animation-delay: -5s, 0.4s;
}

@keyframes orb-float {
    0%, 100% { transform: translate(0, 0) scale(1); }
    33% { transform: translate(30px, -20px) scale(1.05); }
    66% { transform: translate(-20px, 15px) scale(0.95); }
}
@keyframes orb-in {
    from { opacity: 0; transform: scale(0.6); }
    to { opacity: 1; transform: scale(1); }
}

/* Electric arc lines */
.ow-hero__bg::before {
    content: '';
    position: absolute;
    top: 25%;
    right: 8%;
    width: 300px;
    height: 300px;
    border: 1px solid rgba(139, 255, 172, 0.06);
    border-radius: 50%;
    animation: pulse-ring 4s ease-in-out infinite;
}
.ow-hero__bg::after {
    content: '';
    position: absolute;
    top: 15%;
    right: 5%;
    width: 500px;
    height: 500px;
    border: 1px solid rgba(111, 195, 255, 0.04);
    border-radius: 50%;
    animation: pulse-ring 4s ease-in-out 1s infinite;
}

@keyframes pulse-ring {
    0%, 100% { transform: scale(1); opacity: 0; }
    50% { transform: scale(1.08); opacity: 1; }
}

/* Subtle grid overlay */
.ow-hero__grid {
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.02) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.02) 1px, transparent 1px);
    background-size: 60px 60px;
    mask-image: radial-gradient(ellipse 70% 70% at 50% 50%, black 30%, transparent 100%);
    -webkit-mask-image: radial-gradient(ellipse 70% 70% at 50% 50%, black 30%, transparent 100%);
}

/* Purple hero variant */
.ow-hero--purple {
    background: #110f22;
}
.ow-hero--purple .ow-hero__orb--1 {
    background: radial-gradient(circle, rgba(160, 137, 221, 0.2) 0%, transparent 70%);
}
.ow-hero--purple .ow-hero__orb--2 {
    background: radial-gradient(circle, rgba(111, 195, 255, 0.1) 0%, transparent 70%);
}
.ow-hero--purple .ow-hero__orb--3 {
    background: radial-gradient(circle, rgba(139, 255, 172, 0.08) 0%, transparent 70%);
}
.ow-hero--purple .ow-hero__grid {
    background-image:
        linear-gradient(rgba(160, 137, 221, 0.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(160, 137, 221, 0.03) 1px, transparent 1px);
}

/* Partnership badge in hero */
.ow-hero__partnership {
    font-family: "DM Sans", sans-serif;
    font-size: 15px;
    color: rgba(255, 255, 255, 0.5);
    margin-bottom: 24px;
}
.ow-hero__partnership strong {
    color: rgba(255, 255, 255, 0.8);
    font-weight: 600;
}

/* Purple highlight */
.ow-hero__highlight--purple {
    color: #A089DD;
}

/* Hero content */
.ow-hero__content {
    position: relative;
    z-index: 2;
    max-width: 700px;
}

.ow-hero__subtitle {
    font-family: Montserrat, sans-serif;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--CleanEcon-Volt-Sky, #6FC3FF);
    margin-bottom: 24px;
}

.ow-hero__logo {
    margin-bottom: 28px;
}
.ow-hero__logo img {
    max-height: 64px;
    width: auto;
}
@media (min-width: 768px) {
    .ow-hero__logo img {
        max-height: 84px;
    }
}

.ow-hero__desc {
    font-family: "DM Sans", sans-serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.7);
    max-width: 580px;
}
.ow-hero__desc strong {
    color: #fff;
    font-weight: 600;
}
.ow-hero__highlight {
    font-style: normal;
    font-weight: 600;
}
.ow-hero__highlight--green {
    color: var(--CleanEcon-Eco-Glow, #8BFFAC);
}
.ow-hero__highlight--blue {
    color: var(--CleanEcon-Volt-Sky, #6FC3FF);
}
@media (min-width: 768px) {
    .ow-hero__desc {
        font-size: 20px;
    }
}

/* ==========================================================================
   LANDSLIDE UPDATE: Sub-navigation tabs
   ========================================================================== */

.ow-subnav {
    background: rgba(255, 255, 255, 0.02);
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    position: sticky;
    top: 0;
    z-index: 50;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    opacity: 0;
    animation: subnav-bar-in 0.5s ease-out 0.3s forwards;
}

@keyframes subnav-bar-in {
    from { opacity: 0; }
    to { opacity: 1; }
}

.ow-subnav__inner {
    display: flex;
    gap: 0;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}
.ow-subnav__inner::-webkit-scrollbar {
    display: none;
}

.ow-subnav__item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 20px 28px;
    font-family: "DM Sans", sans-serif;
    font-size: 15px;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.45) !important;
    text-decoration: none;
    white-space: nowrap;
    border-bottom: 2px solid transparent;
    transition: all 0.2s ease;
    position: relative;
}
@media (min-width: 768px) {
    .ow-subnav__item {
        padding: 22px 32px;
    }
}

.ow-subnav__item svg {
    width: 18px;
    height: 18px;
    opacity: 0.5;
    transition: all 0.2s ease;
}

.ow-subnav__item:hover {
    color: rgba(255, 255, 255, 0.8) !important;
    text-decoration: none;
    background: rgba(255, 255, 255, 0.03);
}
.ow-subnav__item:hover svg {
    opacity: 0.8;
}


/* Active state */
.ow-subnav__item--active {
    color: #fff !important;
    border-bottom-color: var(--CleanEcon-Eco-Glow, #8BFFAC);
}
.ow-subnav__item--active svg {
    opacity: 1;
    color: var(--CleanEcon-Eco-Glow, #8BFFAC);
}

/* ==========================================================================
   Big CTA section
   ========================================================================== */

.ow-cta-section {
    padding: 40px 0 80px;
    position: relative;
    overflow: hidden;
}
@media (min-width: 768px) {
    .ow-cta-section {
        padding: 64px 0 120px;
    }
}

/* Background — match hero vibe */
.ow-cta-section::before {
    content: '';
    position: absolute;
    top: -30%;
    right: -10%;
    width: 500px;
    height: 500px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(111, 195, 255, 0.18) 0%, transparent 70%);
    filter: blur(80px);
    pointer-events: none;
    animation: orb-float 8s ease-in-out infinite;
}
.ow-cta-section::after {
    content: '';
    position: absolute;
    bottom: -20%;
    left: 5%;
    width: 400px;
    height: 400px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(139, 255, 172, 0.12) 0%, transparent 70%);
    filter: blur(80px);
    pointer-events: none;
    animation: orb-float 8s ease-in-out -3s infinite;
}

.ow-cta {
    position: relative;
    overflow: hidden;
    border-radius: 20px;
    padding: 1px;
    background: rgba(255, 255, 255, 0.06);
}

/* CTA border — static subtle glow */
.ow-cta__border {
    display: none;
}

.ow-cta__glow {
    position: absolute;
    bottom: -40%;
    left: 50%;
    transform: translateX(-50%);
    width: 60%;
    height: 70%;
    border-radius: 50%;
    background: linear-gradient(135deg, #6FCFFF, #5467EB);
    filter: blur(120px);
    opacity: 0.1;
    pointer-events: none;
    transition: opacity 0.5s ease;
}
.ow-cta:hover .ow-cta__glow {
    opacity: 0.18;
}

.ow-cta__inner {
    position: relative;
    z-index: 2;
    padding: 60px 40px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}
@media (min-width: 768px) {
    .ow-cta__inner {
        padding: 80px 60px;
    }
}

.ow-cta__badge {
    font-family: "DM Sans", sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--CleanEcon-Volt-Sky, #6FC3FF);
    padding: 6px 14px;
    border: 1px solid rgba(111, 195, 255, 0.2);
    border-radius: 20px;
    margin-bottom: 28px;
    display: inline-block;
}

.ow-cta__title {
    font-family: Montserrat, sans-serif;
    font-size: 32px;
    font-weight: 700;
    color: #fff;
    letter-spacing: -0.5px;
    margin-bottom: 16px;
    line-height: 1.15;
}
@media (min-width: 768px) {
    .ow-cta__title {
        font-size: 42px;
    }
}
@media (min-width: 1200px) {
    .ow-cta__title {
        font-size: 48px;
    }
}

.ow-cta__desc {
    font-family: "DM Sans", sans-serif;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.65;
    color: rgba(255, 255, 255, 0.6);
    max-width: 560px;
    margin-bottom: 40px;
}

.ow-cta__btn {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 18px 36px;
    background: var(--CleanEcon-Eco-Glow, #8BFFAC);
    color: #0a0c1a !important;
    font-family: "DM Sans", sans-serif;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.3px;
    border-radius: 8px;
    text-decoration: none;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}
.ow-cta__btn:hover {
    background: #fff;
    color: #0a0c1a !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 30px rgba(139, 255, 172, 0.25);
    text-decoration: none;
}
.ow-cta__btn i {
    font-size: 13px;
    transition: transform 0.2s ease;
}
.ow-cta__btn:hover i {
    transform: translateX(3px);
}

.ow-cta__btn-secondary {
    margin-top: 20px;
    font-family: "DM Sans", sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.5) !important;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: all 0.2s ease;
}
.ow-cta__btn-secondary:hover {
    color: #fff !important;
    text-decoration: none;
}
.ow-cta__btn-secondary i {
    font-size: 11px;
    transition: transform 0.2s ease;
}
.ow-cta__btn-secondary:hover i {
    transform: translateX(3px);
}

/* ==========================================================================
   LANDSLIDE UPDATE: Blueprint hero title (text-based, no logo image)
   ========================================================================== */

.ow-hero__title {
    font-family: Montserrat, sans-serif;
    font-size: 40px;
    font-weight: 800;
    color: #fff;
    letter-spacing: -1.5px;
    line-height: 1.05;
    margin-bottom: 28px;
}
@media (min-width: 768px) {
    .ow-hero__title {
        font-size: 56px;
    }
}
@media (min-width: 1200px) {
    .ow-hero__title {
        font-size: 66px;
    }
}

/* ==========================================================================
   LANDSLIDE UPDATE: Blueprint intro — two-column briefing
   ========================================================================== */

.ow-duo {
    padding: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}

.ow-duo.ow-section {
    padding: 0;
}

.ow-duo .container {
    max-width: 100%;
    padding: 0;
}

.ow-duo__grid {
    display: grid;
    grid-template-columns: 1fr;
}
@media (min-width: 992px) {
    .ow-duo__grid {
        grid-template-columns: 1fr 1fr;
    }
}

/* Solid blocks — edge to edge */
.ow-duo__col {
    padding: 56px 28px;
    background: rgba(255, 255, 255, 0.03);
}
@media (min-width: 768px) {
    .ow-duo__col {
        padding: 72px 56px;
    }
}
@media (min-width: 1200px) {
    .ow-duo__col {
        padding: 100px 96px;
    }
}
@media (min-width: 1400px) {
    .ow-duo__col {
        padding: 120px 120px;
    }
}
.ow-duo__col:nth-child(2) {
    background: rgba(255, 255, 255, 0.06);
}

.ow-duo__label {
    font-family: "DM Sans", sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--CleanEcon-Eco-Glow, #8BFFAC);
    display: block;
    margin-bottom: 14px;
}
.ow-duo__label--blue {
    color: var(--CleanEcon-Volt-Sky, #6FC3FF);
}

.ow-duo__highlight {
    background: linear-gradient(90deg, var(--CleanEcon-Eco-Glow, #8BFFAC), var(--CleanEcon-Volt-Sky, #6FC3FF));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}
.ow-duo__highlight--blue {
    background: linear-gradient(90deg, var(--CleanEcon-Volt-Sky, #6FC3FF), #a78bfa);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.ow-duo__title {
    font-family: Montserrat, sans-serif;
    font-size: 26px;
    font-weight: 800;
    color: #fff;
    letter-spacing: -0.8px;
    line-height: 1.15;
    margin-bottom: 0;
}

.ow-duo__hr {
    border: none;
    height: 2px;
    margin: 28px 0;
    background: linear-gradient(90deg, var(--CleanEcon-Eco-Glow, #8BFFAC) 0%, transparent 70%);
    opacity: 0.3;
}
.ow-duo__col:nth-child(2) .ow-duo__hr {
    background: linear-gradient(90deg, var(--CleanEcon-Volt-Sky, #6FC3FF) 0%, transparent 70%);
    opacity: 0.3;
}
@media (min-width: 768px) {
    .ow-duo__title {
        font-size: 32px;
    }
}
@media (min-width: 1200px) {
    .ow-duo__title {
        font-size: 36px;
    }
}

.ow-duo__col .ow-body {
    margin-bottom: 18px;
}
.ow-duo__col .ow-body:last-child {
    margin-bottom: 0;
}

/* Callout in duo gets tighter sizing to fit the column */
.ow-duo__col .ow-body--callout {
    font-size: 20px !important;
    margin-top: 24px !important;
}
@media (min-width: 768px) {
    .ow-duo__col .ow-body--callout {
        font-size: 22px !important;
    }
}
@media (min-width: 1200px) {
    .ow-duo__col .ow-body--callout {
        font-size: 24px !important;
    }
}

/* ==========================================================================
   LANDSLIDE UPDATE: Blueprint Library — main event
   ========================================================================== */

.ow-lib {
    position: relative;
    padding: 100px 0 80px;
    overflow: hidden;
    background:
        radial-gradient(ellipse 80% 50% at 20% 20%, rgba(111, 195, 255, 0.1) 0%, transparent 60%),
        radial-gradient(ellipse 60% 40% at 80% 80%, rgba(111, 195, 255, 0.07) 0%, transparent 50%),
        linear-gradient(180deg, #070d1a 0%, #0e1730 30%, #111d3a 60%, #0c1325 100%);
    border-top: 1px solid rgba(111, 195, 255, 0.08);
    border-bottom: 1px solid rgba(111, 195, 255, 0.08);
}
@media (min-width: 768px) {
    .ow-lib {
        padding: 120px 0 100px;
    }
}

/* Background glows */
.ow-lib__bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
}
.ow-lib__glow {
    position: absolute;
    border-radius: 50%;
    filter: blur(140px);
}
.ow-lib__glow--1 {
    width: 700px;
    height: 700px;
    top: -250px;
    right: -150px;
    background: var(--CleanEcon-Volt-Sky, #6FC3FF);
    opacity: 0.1;
    animation: lib-float 8s ease-in-out infinite;
}
.ow-lib__glow--2 {
    width: 600px;
    height: 600px;
    bottom: -200px;
    left: -150px;
    background: var(--CleanEcon-Volt-Sky, #6FC3FF);
    opacity: 0.07;
    animation: lib-float 8s ease-in-out infinite reverse;
}
@keyframes lib-float {
    0%, 100% { transform: translate(0, 0); }
    50% { transform: translate(30px, -20px); }
}

.ow-lib .container {
    position: relative;
    z-index: 1;
}

/* Header — centered, massive */
.ow-lib__header {
    text-align: center;
    margin-bottom: 36px;
}
@media (min-width: 768px) {
    .ow-lib__header {
        margin-bottom: 64px;
    }
}

.ow-lib__eyebrow {
    font-family: "DM Sans", sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--CleanEcon-Eco-Glow, #8BFFAC);
    display: block;
    margin-bottom: 20px;
}

.ow-lib__hero-title {
    font-family: Montserrat, sans-serif;
    font-size: 40px;
    font-weight: 800;
    color: #fff;
    letter-spacing: -1.5px;
    line-height: 1.05;
    margin-bottom: 20px;
}
@media (min-width: 768px) {
    .ow-lib__hero-title {
        font-size: 56px;
    }
}
@media (min-width: 1200px) {
    .ow-lib__hero-title {
        font-size: 72px;
    }
}

/* "Blueprint" — blue tint with subtle pulse */
.ow-lib__electric {
    color: var(--CleanEcon-Volt-Sky, #6FC3FF);
    animation: electric-glow 3s ease-in-out infinite;
}
@keyframes electric-glow {
    0%, 100% { opacity: 1; text-shadow: 0 0 20px rgba(111, 195, 255, 0); }
    50% { opacity: 0.85; text-shadow: 0 0 30px rgba(111, 195, 255, 0.15); }
}

.ow-lib__subtitle {
    font-family: "DM Sans", sans-serif;
    font-size: 17px;
    color: rgba(255, 255, 255, 0.45);
    line-height: 1.6;
}

/* ------------------------------------------------------------------
   Feed — unified list of all blueprint items
   ------------------------------------------------------------------ */

.ow-lib__feed {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* Base item */
.ow-lib__item {
    position: relative;
    border-radius: 16px;
    padding: 1px;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.03));
}

/* Available — blue gradient border (matches intro) */
.ow-lib__item--available {
    background: linear-gradient(135deg, rgba(111, 195, 255, 0.2), rgba(160, 137, 221, 0.1), rgba(111, 195, 255, 0.05));
}

/* Intro — blue gradient border */
.ow-lib__item--intro {
    background: linear-gradient(135deg, rgba(111, 195, 255, 0.2), rgba(160, 137, 221, 0.1), rgba(111, 195, 255, 0.05));
}

/* Border divs — not used, hidden */
.ow-lib__item-border {
    display: none;
}

/* Inner content */
.ow-lib__item-inner {
    position: relative;
    z-index: 2;
    padding: 32px 28px;
    background: rgba(255, 255, 255, 0.02);
    border-radius: 15px;
}
@media (min-width: 768px) {
    .ow-lib__item-inner {
        padding: 48px 56px;
    }
}

/* Available item — more padding, bigger presence */
.ow-lib__item--available .ow-lib__item-inner {
    background: rgba(255, 255, 255, 0.03);
}
@media (min-width: 768px) {
    .ow-lib__item--available .ow-lib__item-inner {
        padding: 60px 72px;
    }
}

/* Available badge — absolute top right */
.ow-lib__badge {
    position: absolute;
    top: -1px;
    right: 32px;
    font-family: "DM Sans", sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.5px;
    padding: 8px 18px;
    border-radius: 0 0 8px 8px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #0a0c1a;
    background: var(--CleanEcon-Eco-Glow, #8BFFAC);
    box-shadow: 0 4px 20px rgba(139, 255, 172, 0.3);
    z-index: 3;
}
.ow-lib__badge.ow-lib__badge--soon {
    background: rgba(255, 255, 255, 0.06);
    color: rgba(255, 255, 255, 0.3);
    box-shadow: none;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-top: none;
}

.ow-lib__dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #0a0c1a;
    animation: lib-pulse 2s ease-in-out infinite;
}
@keyframes lib-pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.4; }
}

/* Labels */
.ow-lib__item-label {
    font-family: "DM Sans", sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--CleanEcon-Eco-Glow, #8BFFAC);
    opacity: 0.7;
    display: block;
    margin-bottom: 14px;
}

/* Coming soon tag — inline */
.ow-lib__item-tag {
    font-family: "DM Sans", sans-serif;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.5px;
    color: rgba(255, 255, 255, 0.2);
    padding: 4px 12px;
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 4px;
    display: inline-block;
    margin-bottom: 14px;
}

/* Titles */
.ow-lib__item-title {
    font-family: Montserrat, sans-serif;
    font-size: 26px;
    font-weight: 800;
    color: #fff;
    letter-spacing: -0.5px;
    line-height: 1.25;
    margin-bottom: 20px;
}
@media (min-width: 768px) {
    .ow-lib__item-title {
        font-size: 34px;
    }
}
@media (min-width: 1200px) {
    .ow-lib__item-title {
        font-size: 40px;
    }
}

/* Description */
.ow-lib__item-desc {
    font-family: "DM Sans", sans-serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.5);
    max-width: 720px;
}

/* Actions */
.ow-lib__actions {
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin-top: 28px;
}
.ow-lib__actions .ow-lib__btn,
.ow-lib__actions .ow-lib__link {
    width: 100%;
    justify-content: center;
}
@media (min-width: 768px) {
    .ow-lib__actions {
        flex-direction: row;
        gap: 16px;
    }
    .ow-lib__actions .ow-lib__btn,
    .ow-lib__actions .ow-lib__link {
        width: auto;
    }
}

/* Primary button */
.ow-lib__btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-family: "DM Sans", sans-serif;
    font-size: 14px;
    font-weight: 700;
    padding: 14px 28px;
    border-radius: 8px;
    text-decoration: none;
    background: var(--CleanEcon-Eco-Glow, #8BFFAC);
    color: #0a0c1a !important;
    border: none;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}
.ow-lib__btn:hover {
    background: #fff;
    color: #0a0c1a !important;
    text-decoration: none;
    transform: translateY(-2px);
    box-shadow: 0 8px 30px rgba(139, 255, 172, 0.25);
}
.ow-lib__btn i {
    font-size: 11px;
    transition: transform 0.2s ease;
}
.ow-lib__btn:hover i {
    transform: translateX(3px);
}

.ow-lib__btn--blue {
    background: var(--CleanEcon-Volt-Sky, #6FC3FF);
}
.ow-lib__btn--blue:hover {
    background: #fff;
    box-shadow: 0 8px 30px rgba(111, 195, 255, 0.25);
}

/* Intro + Available cards — all links go blue */
.ow-lib__item--intro .ow-lib__link,
.ow-lib__item--available .ow-lib__link {
    border-color: rgba(111, 195, 255, 0.2);
    color: rgba(111, 195, 255, 0.7) !important;
}
.ow-lib__item--intro .ow-lib__link:hover,
.ow-lib__item--available .ow-lib__link:hover {
    border-color: rgba(111, 195, 255, 0.5);
    color: #fff !important;
    background: rgba(111, 195, 255, 0.08);
}

/* Ghost buttons */
.ow-lib__link {
    display: inline-flex;
    align-items: center;
    font-family: "DM Sans", sans-serif;
    font-size: 13px;
    font-weight: 600;
    padding: 12px 22px;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    color: rgba(255, 255, 255, 0.55) !important;
    text-decoration: none;
    transition: all 0.2s ease;
}
.ow-lib__link:hover {
    color: #fff !important;
    border-color: rgba(255, 255, 255, 0.3);
    background: rgba(255, 255, 255, 0.04);
    text-decoration: none;
}

/* ------------------------------------------------------------------
   Coming soon items — muted
   ------------------------------------------------------------------ */

.ow-lib__item--soon .ow-lib__item-title {
    color: rgba(255, 255, 255, 0.35);
}
.ow-lib__item--soon .ow-lib__item-desc {
    color: rgba(255, 255, 255, 0.2);
}

/* Progressive fade for teaser items */
.ow-lib__item--dim {
    opacity: 0.55;
}
.ow-lib__item--faded {
    opacity: 0.3;
}
.ow-lib__item--blur {
    opacity: 0.15;
    filter: blur(1.5px);
}
.ow-lib__item--blur2 {
    opacity: 0.2;
    filter: blur(2px);
}
.ow-lib__item--blur3 {
    opacity: 0.13;
    filter: blur(3px);
}
.ow-lib__item--blur4 {
    opacity: 0.08;
    filter: blur(4px);
}

/* ==========================================================================
   TEMPORARY: Hide Electricity Price Hub card + nav item — re-enable later
   ========================================================================== */
.our-work-grid .our-work-card:last-child {
    display: none !important;
}
#menu-item-460 {
    display: none !important;
}

/* ==========================================================================
   Contact Block
   ========================================================================== */

.contact-block {
    position: relative;
    padding: 60px 0;
}
@media (min-width: 768px) {
    .contact-block {
        padding: 80px 0;
    }
}
@media (min-width: 1200px) {
    .contact-block {
        padding: 100px 0;
    }
}
.contact-block .section-title {
    margin-bottom: 16px;
    text-align: center;
}
.contact-block__body {
    text-align: center;
    color: rgba(255, 255, 255, 0.7);
    font-family: "DM Sans", sans-serif;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.7;
    margin-bottom: 40px;
}
@media (min-width: 768px) {
    .contact-block__body {
        font-size: 18px;
        margin-bottom: 48px;
    }
}
.contact-block__body p {
    margin-bottom: 0;
}

/* Gravity Form overrides inside contact block */
.contact-block .gform_wrapper {
    --gf-color-in-ctrl: rgba(255, 255, 255, 0.08) !important;
    --gf-color-in-ctrl-contrast: #fff !important;
    --gf-ctrl-border-color: rgba(255, 255, 255, 0.15) !important;
    --gf-color-out-ctrl-dark: rgba(255, 255, 255, 0.5) !important;
    --gf-color-out-ctrl-dark-lighter: rgba(255, 255, 255, 0.35) !important;
    --gf-ctrl-label-color-primary: #fff !important;
    --gf-ctrl-label-color-secondary: rgba(255, 255, 255, 0.6) !important;
}
.contact-block .gform_wrapper input[type="text"],
.contact-block .gform_wrapper input[type="email"],
.contact-block .gform_wrapper input[type="tel"],
.contact-block .gform_wrapper textarea,
.contact-block .gform_wrapper select {
    background: rgba(255, 255, 255, 0.06) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    color: #fff !important;
    border-radius: 8px !important;
    padding: 14px 16px !important;
    font-family: "DM Sans", sans-serif !important;
    font-size: 16px !important;
    transition: border-color 0.2s ease;
}
.contact-block .gform_wrapper input[type="text"]:focus,
.contact-block .gform_wrapper input[type="email"]:focus,
.contact-block .gform_wrapper input[type="tel"]:focus,
.contact-block .gform_wrapper textarea:focus,
.contact-block .gform_wrapper select:focus {
    border-color: var(--CleanEcon-Eco-Glow, #8BFFAC) !important;
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(139, 255, 172, 0.15) !important;
}
.contact-block .gform_wrapper input::placeholder {
    color: rgba(255, 255, 255, 0.35) !important;
}
.contact-block .gform_wrapper .gfield_label {
    color: #fff !important;
}
.contact-block .gform_wrapper .gfield_description,
.contact-block .gform_wrapper .gfield_required {
    color: rgba(255, 255, 255, 0.5) !important;
}
.contact-block .gform_wrapper {
    max-width: 560px;
    margin: 0 auto;
}
.contact-block .gform_heading {
    display: none !important;
}
.contact-block .gform-footer,
.contact-block .gform_footer {
    text-align: center !important;
}

/* ==========================================================================
   LANDSLIDE UPDATE: Blueprint Single — individual blueprint detail page
   Two-column split hero matching blog post hero (.post-hero)
   ========================================================================== */

/* Split hero — two-column flex (gradient left, image right) */
.bp-hero-split {
    display: flex;
    max-height: 640px;
}
@media (max-width: 767.98px) {
    .bp-hero-split {
        flex-direction: column;
        max-height: 100%;
    }
}
.bp-hero-split__column {
    flex: 1;
}
@media (max-width: 767.98px) {
    .bp-hero-split__column {
        order: 2;
    }
}
@media (max-width: 767.98px) {
    .bp-hero-split__image-wrapper {
        order: 1;
    }
}
.bp-hero-split__image-wrapper img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}

/* Content side — gradient background */
.bp-hero-split__content {
    padding: 60px 32px;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: var(--CleanEcon-Cleanwave-Gradient, linear-gradient(90deg, #5566EB 0%, #6FC3FF 100%));
}
@media (min-width: 768px) {
    .bp-hero-split__content {
        padding: 115px 150px 115px 100px;
    }
}

/* Breadcrumb back to series */
.bp-hero-split__breadcrumb {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: "DM Sans", sans-serif;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.5px;
    color: rgba(255, 255, 255, 0.75) !important;
    text-decoration: none;
    margin-bottom: 24px;
    transition: all 0.2s ease;
}
.bp-hero-split__breadcrumb:hover {
    color: #fff !important;
    text-decoration: none;
}
.bp-hero-split__breadcrumb i {
    font-size: 11px;
    transition: transform 0.2s ease;
}
.bp-hero-split__breadcrumb:hover i {
    transform: translateX(-3px);
}

/* Subheader — small caps label (like post-date) */
.bp-hero-split__subheader {
    color: var(--White, #FFF);
    font-family: Montserrat, sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 85%;
    letter-spacing: 2.8px;
    text-transform: uppercase;
    margin-bottom: 24px;
}

/* Title */
.bp-hero-split__title {
    color: var(--White, #FFF);
    font-family: "DM Sans", sans-serif;
    font-size: 36px;
    font-weight: 900;
    line-height: 90%;
    letter-spacing: -1.28px;
    margin-bottom: 40px;
}
@media (min-width: 768px) {
    .bp-hero-split__title {
        font-size: 52px;
    }
}
@media (min-width: 1200px) {
    .bp-hero-split__title {
        font-size: 64px;
    }
}

/* Excerpt / lead text */
.bp-hero-split__excerpt {
    color: var(--White, #FFF);
    font-family: "DM Sans", sans-serif;
    font-size: 18px;
    font-weight: 500;
    line-height: 150%;
}
@media (min-width: 768px) {
    .bp-hero-split__excerpt {
        font-size: 22px;
    }
}
.bp-hero-split__excerpt p {
    margin: 0;
}

/* Full-width variant — no image, gradient spans entire width */
.bp-hero-split--full {
    max-height: none;
}
.bp-hero-split--full .bp-hero-split__column {
    flex: none;
    width: 100%;
}

/* Meta row — date + authors */
.bp-single__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 16px;
    margin-top: 20px;
    font-family: "DM Sans", sans-serif;
    font-size: 14px;
    color: rgba(255, 255, 255, 0.5);
}
.bp-single__meta-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.bp-single__meta-item i {
    font-size: 12px;
    opacity: 0.7;
}
.bp-single__meta-divider {
    width: 1px;
    height: 14px;
    background: rgba(255, 255, 255, 0.15);
}

/* PDF download button */
.bp-single__download {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: 28px;
    padding: 12px 24px;
    font-family: "DM Sans", sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: #fff !important;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 8px;
    text-decoration: none;
    transition: all 0.2s ease;
}
.bp-single__download:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.2);
    text-decoration: none;
    color: #fff !important;
}
.bp-single__download .fa-file-pdf {
    color: #ef4444;
    font-size: 16px;
}
.bp-single__download .fa-arrow-down {
    font-size: 11px;
    opacity: 0.5;
}

/* ==========================================================================
   Blueprint Single — prose content area (the Word dump)
   ========================================================================== */

.bp-single__article {
    padding: 56px 0 32px;
}
@media (min-width: 768px) {
    .bp-single__article {
        padding: 72px 0 48px;
    }
}

/* Prose column — centered readable width */
.bp-single__prose {
    max-width: 780px;
    margin: 0 auto;
}

/* Headings */
.bp-single__prose h1,
.bp-single__prose h2,
.bp-single__prose h3,
.bp-single__prose h4,
.bp-single__prose h5,
.bp-single__prose h6 {
    font-family: Montserrat, sans-serif;
    color: #fff;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.5px;
    margin-top: 2em;
    margin-bottom: 0.6em;
}
.bp-single__prose h1:first-child,
.bp-single__prose h2:first-child,
.bp-single__prose h3:first-child {
    margin-top: 0;
}

.bp-single__prose h1 { font-size: 32px; }
.bp-single__prose h2 { font-size: 26px; }
.bp-single__prose h3 { font-size: 22px; }
.bp-single__prose h4 { font-size: 19px; }
.bp-single__prose h5 { font-size: 17px; }
.bp-single__prose h6 { font-size: 15px; text-transform: uppercase; letter-spacing: 1px; }

@media (min-width: 768px) {
    .bp-single__prose h1 { font-size: 38px; }
    .bp-single__prose h2 { font-size: 30px; }
    .bp-single__prose h3 { font-size: 24px; }
    .bp-single__prose h4 { font-size: 20px; }
}

/* Paragraphs */
.bp-single__prose p {
    font-family: "DM Sans", sans-serif;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.8;
    color: rgba(255, 255, 255, 0.75);
    margin-bottom: 1.4em;
}
@media (min-width: 768px) {
    .bp-single__prose p {
        font-size: 18px;
    }
}

.bp-single__prose strong {
    color: #fff;
    font-weight: 600;
}

.bp-single__prose em {
    font-style: italic;
}

.bp-single__prose a {
    color: var(--CleanEcon-Volt-Sky, #6FC3FF);
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-color: rgba(111, 195, 255, 0.3);
    transition: text-decoration-color 0.15s ease;
}
.bp-single__prose a:hover {
    text-decoration-color: var(--CleanEcon-Volt-Sky, #6FC3FF);
}

/* Lists */
.bp-single__prose ul,
.bp-single__prose ol {
    font-family: "DM Sans", sans-serif;
    font-size: 17px;
    line-height: 1.8;
    color: rgba(255, 255, 255, 0.75);
    margin-bottom: 1.4em;
    padding-left: 1.6em;
}
@media (min-width: 768px) {
    .bp-single__prose ul,
    .bp-single__prose ol {
        font-size: 18px;
    }
}

.bp-single__prose li {
    margin-bottom: 0.5em;
}
.bp-single__prose li::marker {
    color: var(--CleanEcon-Eco-Glow, #8BFFAC);
}

.bp-single__prose ul ul,
.bp-single__prose ol ol,
.bp-single__prose ul ol,
.bp-single__prose ol ul {
    margin-top: 0.4em;
    margin-bottom: 0.4em;
}

/* Blockquote — callout style */
.bp-single__prose blockquote {
    position: relative;
    margin: 2em 0;
    padding: 24px 28px;
    background: rgba(255, 255, 255, 0.03);
    border-left: 3px solid var(--CleanEcon-Eco-Glow, #8BFFAC);
    border-radius: 0 8px 8px 0;
}
.bp-single__prose blockquote p {
    font-size: 17px;
    color: rgba(255, 255, 255, 0.8);
    margin-bottom: 0;
}
.bp-single__prose blockquote p + p {
    margin-top: 1em;
}

/* Horizontal rule */
.bp-single__prose hr {
    border: none;
    height: 1px;
    background: rgba(255, 255, 255, 0.08);
    margin: 2.5em 0;
}

/* Tables — common in Word dumps */
.bp-single__prose table {
    width: 100%;
    border-collapse: collapse;
    margin: 2em 0;
    font-family: "DM Sans", sans-serif;
    font-size: 15px;
    line-height: 1.6;
}
.bp-single__prose thead th {
    background: rgba(255, 255, 255, 0.06);
    color: #fff;
    font-weight: 600;
    text-align: left;
    padding: 12px 16px;
    border-bottom: 2px solid rgba(255, 255, 255, 0.1);
}
.bp-single__prose tbody td {
    color: rgba(255, 255, 255, 0.7);
    padding: 12px 16px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    vertical-align: top;
}
.bp-single__prose tbody tr:hover td {
    background: rgba(255, 255, 255, 0.02);
}

/* Images in content */
.bp-single__prose img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    margin: 2em 0;
}

.bp-single__prose .wp-caption {
    max-width: 100%;
    margin: 2em 0;
}
.bp-single__prose .wp-caption-text {
    font-family: "DM Sans", sans-serif;
    font-size: 13px;
    color: rgba(255, 255, 255, 0.4);
    margin-top: 8px;
    text-align: center;
}

/* Footnotes / small text that Word sometimes generates */
.bp-single__prose sup {
    font-size: 0.7em;
    color: var(--CleanEcon-Volt-Sky, #6FC3FF);
}

/* Clean up Word garbage — MsoNormal, inline styles, etc. */
.bp-single__prose [class^="Mso"],
.bp-single__prose [style*="mso-"] {
    font-family: "DM Sans", sans-serif !important;
    line-height: 1.8 !important;
}
.bp-single__prose p.MsoNormal,
.bp-single__prose p.MsoBodyText,
.bp-single__prose p.MsoListParagraph {
    font-family: "DM Sans", sans-serif !important;
    font-size: 17px !important;
    line-height: 1.8 !important;
    color: rgba(255, 255, 255, 0.75) !important;
    margin-bottom: 1.4em !important;
}
@media (min-width: 768px) {
    .bp-single__prose p.MsoNormal,
    .bp-single__prose p.MsoBodyText,
    .bp-single__prose p.MsoListParagraph {
        font-size: 18px !important;
    }
}

/* Return-to-series footer */
.bp-single__footer {
    padding: 48px 0 96px;
    background: #1b1c28;
}
@media (min-width: 768px) {
    .bp-single__footer {
        padding: 64px 0 120px;
    }
}

.bp-single__footer-card {
    text-align: center;
    padding: 0;
    background: none;
    border: none;
    border-radius: 0;
}

.bp-single__footer-glow {
    display: none;
}

.bp-single__footer-inner {
    position: relative;
}
.bp-single__footer-inner::before {
    content: '';
    display: block;
    width: 48px;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(139, 255, 172, 0.4), transparent);
    margin: 0 auto 40px;
}

.bp-single__footer-eyebrow {
    display: block;
    font-family: "DM Sans", sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: var(--CleanEcon-Eco-Glow, #8BFFAC);
    margin-bottom: 16px;
}

.bp-single__footer-title {
    font-family: Montserrat, sans-serif;
    font-size: 28px;
    font-weight: 700;
    color: #fff;
    letter-spacing: -0.5px;
    margin-bottom: 10px;
}
@media (min-width: 768px) {
    .bp-single__footer-title {
        font-size: 34px;
    }
}

.bp-single__footer-desc {
    font-family: "DM Sans", sans-serif;
    font-size: 16px;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.4);
    max-width: 600px;
    margin: 0 auto 40px;
}
.bp-single__footer-desc a {
    color: rgba(255, 255, 255, 0.7);
    text-decoration: underline;
    text-decoration-color: rgba(255, 255, 255, 0.2);
    text-underline-offset: 3px;
    transition: all 0.15s ease;
}
.bp-single__footer-desc a:hover {
    color: #fff;
    text-decoration-color: rgba(255, 255, 255, 0.5);
}

.bp-single__footer-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 32px;
    font-family: "DM Sans", sans-serif;
    font-size: 15px;
    font-weight: 600;
    color: #0a0c1a !important;
    background: var(--CleanEcon-Eco-Glow, #8BFFAC);
    border: none;
    border-radius: 8px;
    text-decoration: none;
    transition: all 0.2s ease;
}
.bp-single__footer-btn:hover {
    background: #a5ffbf;
    color: #0a0c1a !important;
    text-decoration: none;
}
.bp-single__footer-btn i {
    font-size: 13px;
    transition: transform 0.2s ease;
}
.bp-single__footer-btn:hover i {
    transform: translateX(-4px);
}

