/* wpastra breakpoints */
/* @media (max-width: 1400px) {} */
/* @media (max-width: 1200px) {} */
/* @media (max-width: 976px) {} */
/* @media (max-width: 767px) {} */
/* @media (max-width: 460px) {} */

/* 

CLAMP 

font-size: clamp(MIN, PREFERRED, MAX);
font-size: clamp(2rem, 3.2vw, 50px);

What each part means

    2rem (minimum)

        This is the smallest the font size will ever be.
        2rem = 2 × the root font size.
        If html { font-size: 16px; }, then 2rem = 32px.
        On very small screens, the font will never shrink below this.

    3.2vw (preferred / fluid value)
        
        vw = viewport width.
        3.2vw = 3.2% of the browser width.
        1000px wide screen → 32px
        1440px wide screen → 46.08px
        1600px wide screen → 51.2px
        This is the responsive part that scales as the viewport changes.

    50px (maximum)

        This is the largest the font size will ever be.
        Even on huge screens, the font will not exceed 50px.
        How the browser chooses the size

The browser evaluates all three and picks the middle value:

max( MIN, min(PREFERRED, MAX) )

So effectively:

If 3.2vw < 2rem → use 2rem

If 3.2vw is between 2rem and 50px → use 3.2vw

If 3.2vw > 50px → use 50px

Concrete examples (assuming 16px root font)
Viewport width	3.2vw	Result
320px (mobile)	10.24px	32px (min)
768px (tablet)	24.6px	32px (min)
1000px	32px	32px
1200px	38.4px	38.4px
1440px	46.1px	46.1px
1600px	51.2px	50px (max)
Why this is good


*/

:root {
    --color-black: #242D33;
    --color-white: #ffffff;
    --color-red: #DE3554;
    --color-green: #0095A3;
    --color-gray: #566C7A;
    --color-gray-light: #E2E4E5;
    --color-red-tap: rgba(222, 53, 84, 0.1);
    --color-text: : rgba(11, 54, 60, 0.80);
    --color-white-back: #fcfafa;
    --hero-heading: #0B363C;
    --hero-grad-1: linear-gradient(98deg, #DE3554 0.39%, #1E92A2 68.16%);
    --hero-grad: linear-gradient(98deg, #DE3554 0.39%, #1E92A2 68.16%);
}


img,
video {
    max-width: 100%;
    display: block;
}

/* a {
    color: inherit;
} */

strong {
    font-weight: 800;
}

/* 
 *******************************************************************************************************
 *******************************************************************************************************
 hero
 *******************************************************************************************************
 ******************************************************************************************************* 
*/

.linqd2025-hero {
    width: 100%;
    background-image: url("/wp-content/uploads/2025/12/background-home-hero-3.webp");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    padding: 50px 0 150px 0;
}

/* 1400px container */
.linqd2025-hero-inner {
    width: min(1400px, calc(100% - 48px));
    margin: 0 auto;
    padding: 20px 20px;
}

/* 2 columns like screenshot */
.linqd2025-hero-grid {
    position: relative;
    display: grid;
    grid-template-columns: 0.8fr 1.2fr;
    align-items: center;
    gap: 48px;
    min-height: 640px;
}

/* Desktop-only divider between columns */
.linqd2025-hero-divider {
    position: absolute;
    top: 50%;
    left: calc(40% + (48px / 2));
    transform: translate(-50%, -50%);
    width: 10px;
    height: 520px;
    background-image: url("/wp-content/uploads/2025/12/background-home-hero-divider.webp");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    pointer-events: none;
    opacity: 1;
}

/* ===== LEFT CONTENT ===== */
.linqd2025-hero-copy {
    padding: 8px 0;
}

.linqd2025-hero-kicker {
    font-size: 12px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--color-text);
    margin: 0 0 18px 0;
    font-weight: 600;
}

/* Desktop heading spec */
.linqd2025-hero-h1 {
    margin: 0 0 30px 0;
    color: var(--hero-heading);
    font-size: 58px;
    font-style: normal;
    font-weight: 600;
    line-height: 71px;
    letter-spacing: -0.02em;
}

/* Gradient words */
/* .linqd2025-hero-grad {
    background: var(--hero-grad);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
} */

/* Not gradient words */
.linqd2025-hero-grad {
    color: var(--color-green);
}

.linqd2025-hero-gradThe {
    font-weight: 600;
}

.linqd2025-hero-gradBuilding {
    font-weight: 600;
}

.linqd2025-hero-gradIndustry {
    font-weight: 600;
}

.linqd2025-hero-p {
    margin: 0 0 26px 0;
    max-width: 520px;
    color: var(--color-text);
    font-size: 19px;
    line-height: 1.6;
    font-weight: 500;
}

.linqd2025-hero-ctaRow {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 40px 0 20px 0;
}

.linqd2025-hero-btn {
    appearance: none;
    border: 1px solid transparent;
    border-radius: 999px;
    padding: 15px 40px;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
}

.linqd2025-hero-btnPrimary {
    background: var(--color-red);
    color: var(--color-white) !important;
    text-decoration: none !important;
}

.linqd2025-hero-btnPrimary:hover {
    background: var(--hero-heading);
}

.linqd2025-hero-btnGhost {
    background: transparent;
    border-color: var(--hero-heading);
    color: var(--hero-heading);
}

.linqd2025-hero-btnGhost:hover {
    border-color: var(--color-red);
    background-color: var(--color-red);
    color: var(--color-white);
}

.linqd2025-hero-meta {
    display: flex;
    gap: 22px;
    flex-wrap: wrap;
    margin-top: 60px;
}

.linqd2025-hero-metaItem {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: var(--color-red);
    font-weight: 700;
}

/* ===== RIGHT COLUMN COMPONENT (animated element) ===== */
.linqd2025-home-anim {
    width: 100%;
}

.linqd2025-home-anim-stage {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1.05;
    border-radius: 28px;
    overflow: visible;
}

.linqd2025-home-anim-bg {
    position: absolute;
    inset: 0;
    border-radius: 28px;
}

.linqd2025-home-anim-bg::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 28px;
    background: repeating-linear-gradient(to right,
            rgba(36, 45, 51, 0.06) 0,
            rgba(36, 45, 51, 0.06) 1px,
            transparent 1px,
            transparent 64px);
    opacity: 0.30;
    pointer-events: none;
}

/* Video */
.linqd2025-home-anim-videoWrap {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    pointer-events: none;
}

.linqd2025-home-anim-video {
    width: 64%;
    height: 78%;
    object-fit: cover;
    border-radius: 22px;
    box-shadow: 0 18px 50px rgba(0, 0, 0, 0.22);
    background: #000;
}

/* Floating overlays */
.linqd2025-home-anim-float {
    position: absolute;
    height: auto;
    max-width: none;
    filter: drop-shadow(0 12px 24px rgba(0, 0, 0, 0.18));
    transform: translateZ(0);
    will-change: transform;
    /* default, overridden per-item below to sync in opposite directions */
    animation: linqd2025-floatUp 5.8s ease-in-out infinite;
}

/* Two synced keyframes (same speed, opposite direction) */
@keyframes linqd2025-floatUp {
    0% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-20px);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes linqd2025-floatDown {
    0% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(20px);
    }

    100% {
        transform: translateY(0);
    }
}

/* Similar positions to screenshot */
.linqd2025-home-anim-email1 {
    left: 4%;
    top: 36%;
    width: 26%;
    animation-name: linqd2025-floatDown;
    /* left-side pair: opposite of message */
    animation-duration: 6.2s;
    animation-delay: -1.3s;
}

.linqd2025-home-anim-message {
    left: 6%;
    bottom: -2%;
    width: 30%;
    animation-name: linqd2025-floatUp;
    /* left-side pair: opposite of email1 */
    animation-duration: 7.0s;
    animation-delay: -1.8s;
}

.linqd2025-home-anim-interactions {
    right: 4%;
    top: 2%;
    width: 30%;
    animation-name: linqd2025-floatDown;
    /* right-side pair: opposite of email2 */
    animation-duration: 6.6s;
    animation-delay: -0.8s;
}

.linqd2025-home-anim-email2 {
    right: 6%;
    top: 52%;
    width: 26%;
    animation-name: linqd2025-floatUp;
    /* right-side pair: opposite of interactions */
    animation-duration: 6.0s;
    animation-delay: -2.1s;
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
    .linqd2025-home-anim-float {
        animation: none !important;
    }
}

/* ============================= */
/* wpastra breakpoints */
/* ============================= */

@media (max-width: 1400px) {
    .linqd2025-hero-inner {
        width: min(1400px, calc(100% - 40px));
    }

    .linqd2025-hero-divider {
        left: calc(42% + (34px / 2));
        height: 500px;
    }
}

@media (max-width: 1200px) {
    .linqd2025-hero-grid {
        gap: 34px;
        grid-template-columns: 1.05fr 0.95fr;
        min-height: 600px;
    }

    .linqd2025-home-anim-video {
        width: 68%;
        height: 78%;
    }

    .linqd2025-hero-divider {
        left: calc(49.5% + (34px / 2));
        height: 480px;
    }
}

@media (max-width: 976px) {
    .linqd2025-hero {
        padding: 52px 0;
    }

    .linqd2025-hero-grid {
        grid-template-columns: 1fr;
        min-height: unset;
        gap: 32px;
    }

    .linqd2025-hero-divider {
        display: none;
    }

    .linqd2025-hero-h1 {
        font-size: 52px;
        line-height: 56px;
    }

    .linqd2025-hero-p {
        max-width: 640px;
    }

    .linqd2025-home-anim-stage {
        aspect-ratio: 5 / 4;
    }

    .linqd2025-home-anim-video {
        width: 70%;
        height: 78%;
    }

    .linqd2025-home-anim-email1,
    .linqd2025-home-anim-email2 {
        width: 24%;
    }

    .linqd2025-home-anim-interactions,
    .linqd2025-home-anim-message {
        width: 28%;
    }
}

@media (max-width: 767px) {
    .linqd2025-hero {
        padding: 44px 0;
    }

    .linqd2025-hero-inner {
        width: min(1400px, calc(100% - 28px));
    }

    .linqd2025-hero-h1 {
        font-size: 44px;
        line-height: 46px;
    }

    .linqd2025-hero-p {
        font-size: 15px;
    }

    .linqd2025-home-anim-stage {
        aspect-ratio: 1 / 1.05;
    }

    .linqd2025-home-anim-video {
        width: 84%;
        height: 70%;
    }

    .linqd2025-home-anim-email1 {
        left: -2%;
        top: 36%;
        width: 34%;
    }

    .linqd2025-home-anim-email2 {
        right: -2%;
        top: 52%;
        width: 34%;
    }

    .linqd2025-home-anim-interactions {
        right: 2%;
        top: 1%;
        width: 44%;
    }

    .linqd2025-home-anim-message {
        left: 2%;
        bottom: -2%;
        width: 44%;
    }
}

@media (max-width: 460px) {
    .linqd2025-hero-inner {
        width: min(1400px, calc(100% - 22px));
    }

    .linqd2025-hero-ctaRow {
        flex-direction: column;
        align-items: flex-start;
    }

    .linqd2025-hero-btn {
        width: 100%;
        justify-content: center;
        text-align: center;
    }

    /* .linqd2025-hero-h1 {
        font-size: 38px;
        line-height: 40px;
    } */

    .linqd2025-home-anim-stage {
        aspect-ratio: 1 / 1.12;
    }

    .linqd2025-home-anim-video {
        width: 88%;
        height: 70%;
    }
}















/* 
 *******************************************************************************************************
 *******************************************************************************************************
 timeline - DARK BACKGROUND ADAPTATION
 - Keeps your existing class names (.td-*, .tdm-*)
 - Swaps text + UI colors so it works on dark teal background
 - Updates inner container to your project standard (max-width: 1400px)
 *******************************************************************************************************
 ******************************************************************************************************* 
*/

/* =====================================================================================
   DARK THEME TOKENS (override your existing :root tokens)
   Put this AFTER your global variables, or scope it under the dark section wrapper.
===================================================================================== */

:root {
    /* timeline tokens for dark background */
    --td-text: #ffffff;
    --td-text-muted: rgba(255, 255, 255, 0.65);
    --td-text-faint: rgba(255, 255, 255, 0.42);

    --td-line: rgba(255, 255, 255, 0.22);
    --td-grid: rgba(255, 255, 255, 0.18);
    --grid: rgba(255, 255, 255, 0.38);

    --td-accent: #0095A3;
    --td-accent2: #DE3554;

    /* spacing scale (keep yours) */
    --l2: 10px;
    --l4: 18px;
    --l12: 56px;
    --l15: 84px;

    /* container standard for this project */
    --td-container: 1400px;
}

/* =====================================================================================
   SECTION (Desktop wrapper) - dark background version
===================================================================================== */

.td-section {
    position: relative;
    padding-top: 10px;
    padding-bottom: 100px;
    width: 100%;
    background-color: #08272b;
}

/* optional: add a subtle overlay to ensure white text always reads well */
.td-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.28);
    pointer-events: none;
}

.td-container {
    position: relative;
    max-width: var(--td-container);
    margin: 0 auto;
    padding: 0 20px;
    text-align: center;
}

/* headings on dark */
.td-display2 {
    margin: 0;
    font-size: clamp(28px, 3.4vw, 52px);
    color: var(--td-text);
    text-align: center;
    font-style: normal;
    font-weight: 500;
    line-height: 1.08;
}

.td-h2 {
    font-size: clamp(18px, 2vw, 26px);
    font-weight: 500;
    color: var(--td-text-muted);
}

/* chart wrapper */
.td-chart-wrap {
    position: relative;
    margin-top: 26px;
}

/* lift like md:-top-l4 lg:-top-l6 (mapped to Astra) */
.td-chart-lift {
    position: relative;
    top: -26px;
}

/* From 976 down, reduce lift */
@media (max-width: 976px) {
    .td-chart-lift {
        top: -18px;
    }
}

/* On small, no lift */
@media (max-width: 767px) {
    .td-chart-lift {
        top: 0;
    }
}

.td-svg {
    width: 100%;
    height: auto;
    display: block;
}

/* labels overlay */
.td-label-layer {
    position: relative;
    width: 100%;
    display: grid;
    grid-template-rows: 1fr;
    grid-template-columns: 1fr;
    margin-top: -8px;
}

/* label cards on dark */
.td-label {
    position: absolute;
    z-index: 2;
    top: -130px;
    max-width: 240px;
    width: calc(20% - 90px);
    text-align: left;
    margin-left: var(--l4);
    padding-right: 16px;

    opacity: 0;
    transition: opacity 1000ms ease;
    will-change: opacity;

    transform: translateX(-50%);
}

/* label typography */
.td-label h3 {
    margin: 0 0 var(--l2);
    font-size: 22px;
    line-height: 1.15;
    font-weight: 800;
    color: var(--td-text);
}

.td-label p {
    margin: 0;
    font-size: 14px;
    line-height: 1.35;
    color: var(--td-text-muted);
    word-break: break-word;
    font-weight: 400;
}

/* responsive label sizing (keep your structure) */
@media (max-width: 1400px) {
    .td-label {
        top: -70px;
        padding-right: 24px;
        margin-left: 10px;
    }
}

@media (max-width: 1200px) {
    .td-label {
        top: -90px;
        max-width: 210px;
        width: calc(20% - 70px);
        padding-right: 24px;
    }

    .td-label h3 {
        font-size: 20px;
    }
}

@media (max-width: 976px) {
    .td-label {
        top: -90px;
        max-width: 200px;
        width: calc(20% - 58px);
        padding-right: 4px;
        margin-left: 0px;
    }

    .td-label h3 {
        font-size: 16px;
    }

    .td-label p {
        font-size: 13px;
    }
}

@media (max-width: 767px) {
    .td-label {
        top: -80px;
        max-width: 220px;
        width: 260px;
        padding-right: 4px;
        margin-left: 0px;
    }
}

@media (max-width: 460px) {
    .td-label {
        top: -72px;
        width: 240px;
    }
}

/* path draw animation (use accent on dark) */
.td-draw-path {
    stroke: var(--td-accent);
    stroke-width: 4;
    fill: none;

    stroke-dasharray: 0;
    stroke-dashoffset: 0;
}

.td-play .td-draw-path {
    transition: stroke-dashoffset 1400ms ease;
    stroke-dashoffset: 0 !important;
}

/* nodes (make them pop on dark) */
.td-node {
    stroke: rgba(255, 255, 255, 0.88);
    stroke-width: 13.0427;
    filter: url(#tdDropShadow);

    fill: rgba(0, 149, 163, 0);
    transition: fill 300ms ease, stroke 300ms ease;
}

.td-play .td-node {
    fill: rgba(0, 149, 163, 1);
    stroke: rgba(255, 255, 255, 0.92);
}

/* staged reveal: labels */
.td-play .td-label {
    opacity: 1;
}

/* reduced motion */
@media (prefers-reduced-motion: reduce) {

    .td-label,
    .td-node,
    .td-play .td-draw-path {
        transition: none !important;
    }
}

/* Desktop-only (768px+) */
.td-md-only {
    display: none;
}

@media (min-width: 768px) {
    .td-md-only {
        display: block;
    }
}


/* video loader */
/* video wrapper should be a positioning context */
.linqd2025-home-anim-videoWrap {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    pointer-events: none;
}

/* Loader overlay - sits on top of the video */
.linqd2025-home-anim-loader {
    position: absolute;
    width: 64%;
    height: 78%;
    border-radius: 22px;

    display: grid;
    place-items: center;
    gap: 10px;

    /* matches your aesthetic */
    background: rgba(36, 45, 51, 0.35);
    border: 1px solid rgba(255, 255, 255, 0.18);
    backdrop-filter: blur(6px);

    opacity: 1;
    transition: opacity 250ms ease;
    z-index: 2;
}

.linqd2025-home-anim-loaderText {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: rgba(255, 255, 255, 0.92);
    text-transform: uppercase;
}

/* Spinner */
.linqd2025-home-anim-spinner {
    width: 22px;
    height: 22px;
    border-radius: 999px;
    border: 3px solid rgba(255, 255, 255, 0.22);
    border-top-color: rgba(0, 149, 163, 0.95);
    /* green accent */
    animation: linqd2025-spin 0.9s linear infinite;
}

@keyframes linqd2025-spin {
    to {
        transform: rotate(360deg);
    }
}

/* When ready, fade loader out */
.linqd2025-home-anim-videoWrap.is-ready .linqd2025-home-anim-loader {
    opacity: 0;
    pointer-events: none;
}

/* Optional: fade video in so it doesn't pop */
.linqd2025-home-anim-video {
    width: 64%;
    height: 78%;
    object-fit: cover;
    border-radius: 22px;
    box-shadow: 0 18px 50px rgba(0, 0, 0, 0.22);
    background: #000;

    opacity: 0;
    transition: opacity 250ms ease;
}

.linqd2025-home-anim-videoWrap.is-ready .linqd2025-home-anim-video {
    opacity: 1;
}

/* Keep loader sizing consistent with your breakpoints */
@media (max-width: 1200px) {
    .linqd2025-home-anim-loader {
        width: 68%;
        height: 78%;
    }

    .linqd2025-home-anim-video {
        width: 68%;
        height: 78%;
    }
}

@media (max-width: 976px) {
    .linqd2025-home-anim-loader {
        width: 70%;
        height: 78%;
    }

    .linqd2025-home-anim-video {
        width: 70%;
        height: 78%;
    }
}

@media (max-width: 767px) {
    .linqd2025-home-anim-loader {
        width: 84%;
        height: 70%;
    }

    .linqd2025-home-anim-video {
        width: 84%;
        height: 70%;
    }
}

@media (max-width: 460px) {
    .linqd2025-home-anim-loader {
        width: 88%;
        height: 70%;
    }

    .linqd2025-home-anim-video {
        width: 88%;
        height: 70%;
    }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    .linqd2025-home-anim-spinner {
        animation: none;
    }
}




/* 
 *******************************************************************************************************
 *******************************************************************************************************
 timeline mobile - DARK BACKGROUND ADAPTATION
 *******************************************************************************************************
 ******************************************************************************************************* 
*/

/* keep your mobile tokens but swap colors for dark */
:root {
    --text: #ffffff;
    --textSecondary: rgba(255, 255, 255, 0.85);

    --container: 1400px;
    --padX: 20px;

    /* gutter + rail */
    --gutterW: 44px;
    --railX: 20px;
    --railW: 4px;

    /* dots */
    --dot: 10px;
    --ring: 22px;
}

.tdm-wrap {
    width: 100%;
    padding: 40px 0 54px;
    background-color: #08272b;
    position: relative;
}

.tdm-wrap::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.28);
    pointer-events: none;
}

.tdm-container {
    position: relative;
    max-width: var(--container);
    margin: 0 auto;
    padding: 0 var(--padX);
}

.tdm-head {
    margin: 0;
    font-size: 34px;
    line-height: 1.08;
    letter-spacing: -0.02em;
    font-weight: 800;
    color: var(--text);
}

.tdm-sub {
    margin: 14px 0 0;
    font-size: 16px;
    line-height: 1.45;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.78);
}

.tdm-timeline {
    position: relative;
    margin-top: 22px;
}

.tdm-gutter {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: var(--gutterW);
    pointer-events: none;
}

.tdm-rail {
    position: absolute;
    left: var(--railX);
    top: 0;
    bottom: 0;
    width: var(--railW);
    background: rgba(255, 255, 255, 0.18);
    border-radius: 999px;
    overflow: hidden;
}

.tdm-railFill {
    position: absolute;
    left: 0;
    top: 0;
    height: 0px;
    width: 100%;
    background: var(--td-accent);
    border-radius: 999px;
    will-change: height, top;
    transform: translateZ(0);
}

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

.tdm-item {
    position: relative;
    padding: 22px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.10);
}

.tdm-item:first-child {
    border-top: 0;
}

.tdm-content {
    padding-left: var(--gutterW);
    width: 100%;
}

.tdm-title {
    margin: 0;
    font-size: 30px;
    line-height: 1.12;
    font-weight: 500;
    letter-spacing: -0.01em;
    color: rgba(255, 255, 255, 0.45);
    transition: color 200ms ease;
}

.tdm-desc {
    margin: 10px 0 0;
    font-size: 15px;
    line-height: 1.55;
    color: rgba(255, 255, 255, 0.45);
    transition: color 200ms ease;
}

.tdm-dotWrap {
    position: absolute;
    left: 22px;
    top: 0;
    transform: translate(-50%, -50%);
    width: var(--ring);
    height: var(--ring);
    border-radius: 999px;

    background: rgba(255, 255, 255, 0.12);
    display: grid;
    place-items: center;
    pointer-events: none;

    box-shadow: 0 0 0 6px rgba(0, 0, 0, 0.10);
}

.tdm-dot {
    width: var(--dot);
    height: var(--dot);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.28);
    transition: background 200ms ease;
}

/* ACTIVE + VISITED = identical */
.tdm-item.is-active .tdm-title,
.tdm-item.is-visited .tdm-title {
    color: rgba(255, 255, 255, 0.92);
}

.tdm-item.is-active .tdm-desc,
.tdm-item.is-visited .tdm-desc {
    color: rgba(255, 255, 255, 0.78);
    font-weight: 400;
}

.tdm-item.is-active .tdm-dotWrap,
.tdm-item.is-visited .tdm-dotWrap {
    background: rgba(0, 149, 163, 0.18);
}

.tdm-item.is-active .tdm-dot,
.tdm-item.is-visited .tdm-dot {
    background: var(--td-accent);
}

/* FUTURE stays muted */
.tdm-item.is-future .tdm-title,
.tdm-item.is-future .tdm-desc {
    color: rgba(255, 255, 255, 0.45);
}

.tdm-item.is-future .tdm-dot {
    background: rgba(255, 255, 255, 0.18);
}

@media (max-width: 460px) {
    :root {
        --padX: 18px;
    }

    .tdm-head {
        font-size: 30px;
    }

    .tdm-title {
        font-size: 28px;
    }
}

/* Mobile-only (<768px) */
.tdm-mobile-only {
    display: block;
}

@media (min-width: 768px) {
    .tdm-mobile-only {
        display: none;
    }
}








/* 
 *******************************************************************************************************
 *******************************************************************************************************
 engine
 *******************************************************************************************************
 ******************************************************************************************************* 
*/

.linqd2025-engine2 {
    position: relative;
    background-size: cover;
    background-position: center;
    color: var(--color-white);
    padding: 150px 0 100px 0;
    display: flow-root;
    /* stops margin collapse cleanly */
}

.linqd2025-engine2::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.30);
    pointer-events: none;
}

.linqd2025-engine2-inner {
    position: relative;
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 20px;
}

.linqd2025-engine2-eyebrow {
    margin: 0 0 14px;
    font-size: 12px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--color-text);
    margin: 0 0 18px 0;
    font-weight: 600;
}

.linqd2025-engine2-eyebrow {
    display: none !important;
}

.linqd2025-engine2-heading {
    margin: 0 0 14px;
    /* font-size: clamp(2rem, 3.2vw, 52px); */
    line-height: 1.08;
    font-weight: 600;
    font-size: 52px;
}

.linqd2025-engine2-subheading {
    margin: 0 0 26px;
    font-size: 19px;
    line-height: 1.5;
    font-weight: 300;
}

/* ====== CAPSULE STEPS ====== */
.linqd2025-engine2-steps {
    display: flex;
    align-items: stretch;
    gap: 14px;
    flex-wrap: nowrap;
    margin: 0 0 26px;
}

.linqd2025-engine2-step {
    position: relative;
    flex: 1 1 0;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 12px;

    padding: 16px 18px;
    border-radius: 999px;

    background: rgba(36, 45, 51, 0.96);
    border: 1px solid rgba(255, 255, 255, 0.22);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.18);
    backdrop-filter: blur(7px);
}

.linqd2025-engine2-title {
    font-weight: 500;
    font-size: 1.25rem;
    letter-spacing: 0.01em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.linqd2025-engine2-dot {
    width: 12px;
    height: 12px;
    border-radius: 999px;
    flex: 0 0 auto;
    box-shadow: 0 0 0 6px rgba(255, 255, 255, 0.08);
}

.linqd2025-engine2-dot-green {
    background: var(--color-green);
}

.linqd2025-engine2-dot-red {
    background: var(--color-red);
}

/* connector line to next pill */
.linqd2025-engine2-connector {
    position: absolute;
    right: -14px;
    top: 50%;
    width: 14px;
    height: 2px;
    transform: translateY(-50%);
    background: rgba(255, 255, 255, 0.30);
    border-radius: 2px;
}

/* subtle stagger (visual offset) */
.linqd2025-engine2-step[data-step="1"] {
    transform: translateY(-6px);
}

.linqd2025-engine2-step[data-step="2"] {
    transform: translateY(6px);
}

.linqd2025-engine2-step[data-step="3"] {
    transform: translateY(-6px);
}

.linqd2025-engine2-step[data-step="4"] {
    transform: translateY(6px);
}

/* After copy */
.linqd2025-engine2-after {
    margin: 0;
    font-size: 19px;
    line-height: 1.5;
    font-weight: 300;
}

/* ====== STAGGER ANIMATION ON IN-VIEW ====== */
.linqd2025-engine2-animate .linqd2025-engine2-step {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity .55s ease, transform .55s ease;
}

.linqd2025-engine2-animate.is-inview .linqd2025-engine2-step {
    opacity: 1;
    transform: translateY(0);
}

.linqd2025-engine2-animate.is-inview .linqd2025-engine2-step:nth-child(1) {
    transition-delay: .20s;
}

.linqd2025-engine2-animate.is-inview .linqd2025-engine2-step:nth-child(2) {
    transition-delay: .40s;
}

.linqd2025-engine2-animate.is-inview .linqd2025-engine2-step:nth-child(3) {
    transition-delay: .60s;
}

.linqd2025-engine2-animate.is-inview .linqd2025-engine2-step:nth-child(4) {
    transition-delay: 1s;
}

/* ====== RESPONSIVE ====== */
@media (max-width: 980px) {
    .linqd2025-engine2-steps {
        flex-direction: column;
        gap: 12px;
    }

    .linqd2025-engine2-step {
        border-radius: 18px;
    }

    .linqd2025-engine2-connector {
        right: auto;
        left: 24px;
        top: auto;
        bottom: -12px;
        width: 2px;
        height: 12px;
        transform: none;
        background: rgba(255, 255, 255, 0.26);
    }

    .linqd2025-engine2-step:last-child .linqd2025-engine2-connector {
        display: none;
    }

    .linqd2025-engine2-title {
        white-space: normal;
        overflow: visible;
        text-overflow: unset;
    }
}

/* prefers-reduced-motion */
@media (prefers-reduced-motion: reduce) {
    .linqd2025-engine2-animate .linqd2025-engine2-step {
        transition: none;
        opacity: 1;
        transform: none;
    }
}


/* h2 white back */
.linqd2025-light-eyebrow {
    margin: 0 0 14px;
    font-size: 12px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--color-text);
    margin: 0 0 18px 0;
    font-weight: 600;
    color: var(--color-text);
}

.linqd2025-light-heading {
    margin: 0 0 14px;
    font-size: clamp(2rem, 3.2vw, 52px);
    line-height: 1.08;
    color: var(--hero-heading);
}

.linqd2025-light-subheading {
    margin: 0 0 26px;
    font-size: 19px;
    line-height: 1.5;
    font-weight: 300;
    color: var(--color-text);
}

/* h2 dark back */
.linqd2025-dark-eyebrow {
    margin: 0 0 14px;
    font-size: 12px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--color-text);
    margin: 0 0 18px 0;
    font-weight: 600;
}

.linqd2025-dark-heading {
    margin: 0 0 14px;
    font-size: clamp(2rem, 3.2vw, 52px);
    line-height: 1.08;
}

.linqd2025-dark-subheading {
    margin: 0 0 26px;
    font-size: 19px;
    line-height: 1.5;
    font-weight: 300;
}


/*
 * swiper
 */

:root {
    /* Container */
    --linqd-container: 1400px;
    --linqd-pad: 20px;

    /* Background */
    --linqd-bg: #08272b;

    /* Text */
    --linqd-text: #fcfafa;

    /* Controls */
    --linqd-arrow-size: 56px;
    --linqd-arrow-safe: calc(var(--linqd-arrow-size) + 28px);

    /* Quote marks */
    --linqd-mark-opacity: 0.10;
    --linqd-mark-size-desktop: 206px;
    /* twice as big on desktop */
    --linqd-mark-size-mid: 200px;
    --linqd-mark-size-tablet: 160px;
    --linqd-mark-size-mobile: 110px;

    /* Quote offsets (fix cut off top/bottom on desktop) */
    --linqd-open-y: 30px;
    /* push down */
    --linqd-close-y: 30px;
    /* push up */
}

.linqd-wrap-testimonials {
    width: min(var(--linqd-container), calc(100% - (var(--linqd-pad) * 2)));
    margin: 0 auto;
    padding: 0 20px;
}

.linqd-testimonials {
    position: relative;
    z-index: 3;
    padding: 96px 0;
    overflow: hidden;
    background: var(--linqd-bg);
    color: var(--linqd-text);
}

.linqd-swiper-shell {
    position: relative;
}

.linqd-swiper {
    width: 100%;
}

/* We set a fixed height via JS; keep internal pieces respecting it */
.swiper,
.swiper-wrapper,
.swiper-slide {
    height: 100%;
}

.linqd-slide {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;

    padding: 70px 0;
    min-height: 520px;
}

/* Quote wrapper */
.linqd-quote {
    position: relative;
    width: 1000px;
    max-width: 100%;
    margin: 0 auto;

    /* Reserve vertical space so marks don't clip */
    padding-top: 70px;
    padding-bottom: 70px;

    overflow: visible;
    z-index: 2;
}

/* Quote text (no clamp) */
.linqd-quote-text {
    position: relative;
    z-index: 3;
    margin: 0;

    font-weight: 300;
    font-size: 52px !important;
    line-height: 1.1em !important;
    letter-spacing: -0.01em !important;
}

/* Marks behind text */
.linqd-quote-mark {
    position: absolute;
    z-index: 1;
    pointer-events: none;
    user-select: none;
    opacity: var(--linqd-mark-opacity);
}

.linqd-quote-mark svg {
    width: var(--linqd-mark-size-desktop);
    height: auto;
    display: block;
}

/* Open quote: top-left aligned, pushed DOWN */
.linqd-quote-mark.is-open {
    top: var(--linqd-open-y);
    left: 0;
    transform: translate(-35%, 0) rotate(180deg);
}

/* Close quote: bottom-right aligned, pushed UP */
.linqd-quote-mark.is-close {
    bottom: var(--linqd-close-y);
    right: 0;
    transform: translate(35%, 0);
}

/* Arrows */
.linqd-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: var(--linqd-arrow-size);
    height: var(--linqd-arrow-size);
    border-radius: 999px;
    display: grid;
    place-items: center;
    cursor: pointer;
    z-index: 10;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
    transition: transform 0.15s ease, background-color 0.15s ease;

    border: 1px solid rgba(255, 255, 255, 0.28);
    background: rgba(0, 0, 0, 0.08);
}

.linqd-nav:hover {
    background: rgba(0, 0, 0, 0.18);
}

.linqd-prev {
    left: 0;
    transform: translate(-10px, -50%);
}

.linqd-next {
    right: 0;
    transform: translate(10px, -50%);
}

.linqd-nav:active {
    transform: translate(0, -50%) scale(0.98);
}

.linqd-nav svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: rgba(255, 255, 255, 0.85);
    stroke-width: 2.2;
}

/* Pagination dots */
.linqd-pagination {
    margin-top: 22px;
    display: flex;
    justify-content: center;
}

.linqd-pagination .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    opacity: 0.28;
    margin: 0 6px !important;
    background: rgba(255, 255, 255, 0.9);
}

.linqd-pagination .swiper-pagination-bullet-active {
    opacity: 0.9;
}

/* Ensure SVG fills are correct */
.linqd-quote-mark path {
    fill: #fcfdfb;
}

/* ============================= */
/* wpastra breakpoints */
/* @media (max-width: 1400px) {} */
/* @media (max-width: 1200px) {} */
/* @media (max-width: 976px) {} */
/* @media (max-width: 767px) {} */
/* ============================= */

@media (max-width: 1400px) {
    .linqd-quote {
        width: 940px;
    }

    .linqd-quote-text {
        font-size: 48px !important;
    }

    .linqd-quote-mark svg {
        width: var(--linqd-mark-size-mid);
    }

    .linqd-slide {
        min-height: 400px;
    }
}

@media (max-width: 1200px) {
    :root {
        --linqd-arrow-safe: calc(var(--linqd-arrow-size) + 18px);
    }

    .linqd-quote {
        width: 740px;
        padding-top: 64px;
        padding-bottom: 64px;
    }

    .linqd-quote-text {
        font-size: 42px !important;
    }

    .linqd-quote-mark svg {
        width: var(--linqd-mark-size-tablet);
    }

    /* reduce horizontal hanging so marks stay behind text area */
    .linqd-quote-mark.is-open {
        transform: translate(-22%, 0) rotate(180deg);
    }

    .linqd-quote-mark.is-close {
        transform: translate(22%, 0);
    }
}

@media (max-width: 976px) {
    :root {
        --linqd-arrow-size: 50px;
        --linqd-arrow-safe: calc(var(--linqd-arrow-size) + 16px);
        --linqd-open-y: 24px;
        --linqd-close-y: 24px;
    }

    .linqd-testimonials {
        padding: 76px 0;
    }

    .linqd-slide {
        padding: 56px 0;
        min-height: 360px;
    }

    .linqd-quote {
        width: 75%;
        padding-top: 58px;
        padding-bottom: 58px;
    }

    .linqd-quote-text {
        font-size: 36px !important;
    }

    .linqd-quote-mark svg {
        width: 140px;
    }

    .linqd-quote-mark.is-open {
        left: 0;
        transform: translate(-14%, 0) rotate(180deg);
    }

    .linqd-quote-mark.is-close {
        right: 0;
        transform: translate(14%, 0);
    }
}

@media (max-width: 767px) {

    .linqd-prev,
    .linqd-next {
        display: none;
    }

    .linqd-testimonials {
        padding: 58px 0;
    }

    .linqd-slide {
        padding: 46px 0;
        min-height: 0;
    }

    .linqd-quote {
        width: 85%;
        padding-left: 10px;
        padding-right: 10px;
        padding-top: 32px;
        padding-bottom: 32px;
    }

    .linqd-quote-text {
        font-size: 28px !important;
        line-height: 1.2em !important;
    }

    .linqd-quote-mark svg {
        width: var(--linqd-mark-size-mobile);
    }

    .linqd-quote-mark.is-open {
        top: 12px;
        left: 0;
        transform: translate(-8%, 0) rotate(180deg);
    }

    .linqd-quote-mark.is-close {
        bottom: 12px;
        right: 0;
        transform: translate(8%, 0);
    }
}


/*
 * 3 col layout
 */

.svg-container-2025 svg {
    fill: black !important;
}

.styles-2025 figure {
    margin: 0 !important;
}

.list-2025-top-aligned .uagb-icon-list__source-wrap {
    padding-top: 5px !important;
}



/* 
 * trustbar
 */
.linqd-trustbar-message {
    --linqd-msg-rise: 12px;
    --linqd-msg-fade-ms: 350ms;
    --linqd-msg-opacity: 1;

    width: 100%;
    position: relative;
    overflow: hidden;
}

.linqd-trustbar-message__slot {
    position: relative;
    width: 100%;
    height: 56px;
    /* adjust to your design */
    display: flex;
    align-items: center;
    justify-content: center;
}

.linqd-trustbar-message__item {
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    text-align: left;
    opacity: 0;
    transform: translateY(var(--linqd-msg-rise));
    transition:
        opacity var(--linqd-msg-fade-ms) ease,
        transform var(--linqd-msg-fade-ms) ease;

    /* style the message */
    font-weight: 600;
    font-size: 24px;
    line-height: 1.2;
    color: #19191C;
    /* padding: 0 16px; */
    white-space: nowrap;
}

.linqd-trustbar-message__item.is-active {
    opacity: var(--linqd-msg-opacity);
    transform: translateY(0);
}

.linqd-trustbar-message__item.is-exit {
    opacity: 0;
    transform: translateY(calc(var(--linqd-msg-rise) * -1));
}

@media (max-width: 640px) {
    .linqd-trustbar-message__slot {
        height: 48px;
    }

    .linqd-trustbar-message__item {
        font-size: 16px;
        white-space: normal;
        /* allow wrap on small screens */
    }
}

@media (prefers-reduced-motion: reduce) {
    .linqd-trustbar-message__item {
        transition: none;
        transform: none;
    }
}


/* Variant B */
.linqd-trustbar-message {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 16px 28px;
    border-radius: 14px;
    background: #ffffff;
    border: 1px solid rgba(0, 149, 163, 0.18);
    box-shadow:
        0 10px 28px rgba(0, 0, 0, 0.08),
        inset 0 0 0 1px rgba(0, 149, 163, 0.08);
}

.linqd-trustbar-message__item {
    font-weight: 700;
    font-size: 21px;
    letter-spacing: -0.015em;
    color: #0F2F35;
}






.linqd-trustbar-message {
    --linqd-msg-rise: 12px;
    --linqd-msg-fade-ms: 350ms;
    --linqd-accent: #0095A3;

    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    overflow: hidden;
}

/* Icon badge */
.linqd-trustbar-message__icon {
    width: 38px;
    height: 38px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    background: rgba(0, 149, 163, 0.10);
    border: 1px solid rgba(0, 149, 163, 0.18);
}

.linqd-trustbar-message__icon svg {
    width: 18px;
    height: 18px;
    display: block;
}

.linqd-trustbar-message__icon svg * {
    stroke: var(--linqd-accent);
}

/* Slot holds the rotating text */
.linqd-trustbar-message__slot {
    position: relative;
    height: 28px;
    /* matches text line height */
    min-width: 320px;
    /* optional, keeps layout stable */
}

/* Each row becomes an absolutely-positioned line */
.linqd-trustbar-message__row {
    position: absolute;
    left: 0;
    right: 0;
    opacity: 0;
    transform: translateY(var(--linqd-msg-rise));
    transition: opacity var(--linqd-msg-fade-ms) ease, transform var(--linqd-msg-fade-ms) ease;

    font-family: Poppins, Arial, sans-serif;
    font-weight: 800;
    font-size: 20px;
    line-height: 28px;
    letter-spacing: -0.02em;
    color: #0B2E33;
    white-space: nowrap;
}

.linqd-trustbar-message__row.is-active {
    opacity: 1;
    transform: translateY(0);
}

.linqd-trustbar-message__row.is-exit {
    opacity: 0;
    transform: translateY(calc(var(--linqd-msg-rise) * -1));
}

/* Variant 2 (Insight Card) */
.linqd-trustbar-message--v2 {
    padding: 16px 22px 16px 16px;
    border-radius: 14px;
    background: #ffffff;
    border: 1px solid rgba(0, 149, 163, 0.18);
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.08), inset 0 0 0 1px rgba(0, 149, 163, 0.08);
}

/* Variant 3 (Growth Signal) */
.linqd-trustbar-message--v3 {
    padding: 16px 26px 16px 16px;
    border-radius: 999px;
    background: linear-gradient(135deg, rgba(0, 149, 163, 0.18), rgba(0, 149, 163, 0.05));
    box-shadow: 0 12px 30px rgba(0, 149, 163, 0.25);
}

/* Mobile tweaks */
@media (max-width: 640px) {
    .linqd-trustbar-message__slot {
        min-width: 0;
        height: auto;
    }

    .linqd-trustbar-message__row {
        white-space: normal;
        font-size: 16px;
        line-height: 22px;
    }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    .linqd-trustbar-message__row {
        transition: none;
        transform: none;
    }
}





/* =========================================================
   LINQD 2025 – HERO CONTENT PAGES (FULL-WIDTH IMAGE)
   ========================================================= */

.linqd2025-hero-contentpages {
    position: relative;
    width: 100%;
    overflow: hidden;
}

/* FULL-WIDTH BACKGROUND IMAGE */
.linqd2025-hero-contentpages-media {
    position: absolute;
    inset: 0;
    width: 100vw;
    height: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    z-index: 0;
}

/* CONSTRAINED CONTENT */
.linqd2025-hero-contentpages-inner {
    position: relative;
    z-index: 2;
    width: min(1400px, calc(100% - 48px));
    margin: 0 auto;
    padding: 100px 20px;
}

/* GRID (ONLY LEFT CONTENT FOR NOW) */
.linqd2025-hero-contentpages-grid {
    display: grid;
    grid-template-columns: 1fr;
    min-height: 520px;
    align-items: center;
}

/* COPY */
.linqd2025-hero-contentpages-copy {
    max-width: 620px;
}

.linqd2025-hero-contentpages-kicker {
    font-size: 12px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 18px;
    font-weight: 600;
}

.linqd2025-hero-contentpages-h1 {
    margin: 0 0 24px;
    font-size: 54px;
    font-weight: 800;
    line-height: 1.15;
}

.linqd2025-hero-contentpages-grad {
    color: var(--color-green);
}

.linqd2025-hero-contentpages-body {
    font-size: 19px;
    line-height: 1.6;
    max-width: 520px;
}

.linqd2025-hero-contentpages-ctaRow {
    margin-top: 34px;
}

/* RESPONSIVE */
@media (max-width: 976px) {
    .linqd2025-hero-contentpages-inner {
        padding: 72px 20px;
    }

    .linqd2025-hero-contentpages-h1 {
        font-size: 44px;
    }
}


/* HERO CONTENT PAGES - full width background on the section */
.linqd2025-hero-contentpages {
    width: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    padding: 50px 0 120px 0;
}

/* container */
.linqd2025-hero-contentpages-inner {
    width: min(1400px, calc(100% - 48px));
    margin: 0 auto;
    padding: 20px 20px;
}

/* keep height so you always see the bg even with short text */
.linqd2025-hero-contentpages-grid {
    min-height: 520px;
    display: grid;
    align-items: center;
}

/* quick copy width */
.linqd2025-hero-contentpages-copy {
    max-width: 640px;
}

















/* background zoom */
/* 
.wp-block-uagb-container.linqd-bgzoom {
    position: relative;
    overflow: hidden !important;
}

.wp-block-uagb-container.linqd-bgzoom::before {
    content: "";
    position: absolute;
    inset: 0;

    background: inherit;
    background-size: cover;
    background-position: 50% 50%;
    background-repeat: no-repeat;

    transform: scale(1);
    transform-origin: center;
    animation: linqd-bgzoom-in 20s ease-out forwards;
    animation-delay: 1200ms;
    will-change: transform;
    z-index: 0;
    pointer-events: none;
}


.wp-block-uagb-container.linqd-bgzoom::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    z-index: 1;
    pointer-events: none;
}

.wp-block-uagb-container.linqd-bgzoom>* {
    position: relative;
    z-index: 2;
}

@keyframes linqd-bgzoom-in {
    from {
        transform: scale(1);
    }

    to {
        transform: scale(1.1);
    }
} */




/* background zoom */

/* zoom container */
.wp-block-uagb-container.linqd-bgzoom {
    position: relative;
    overflow: hidden !important;
    isolation: isolate;
}

/* KEEP Spectra overlay on ::before (do not override it) */
/* no custom ::before rule here */

/* Use ::after for the zooming image layer */
.wp-block-uagb-container.linqd-bgzoom::after {
    content: "";
    position: absolute;
    inset: 0;

    /* pull background from the container */
    background-image: inherit;
    background-size: inherit;
    background-position: inherit;
    background-repeat: inherit;
    background-attachment: inherit;

    transform: scale(1);
    transform-origin: center;
    animation: linqd-bgzoom-in 20s ease-out forwards;
    animation-delay: 1200ms;
    will-change: transform;

    z-index: -2;
    /* behind everything */
    pointer-events: none;
}

/* make sure Spectra overlay sits above image */
.wp-block-uagb-container.linqd-bgzoom::before {
    z-index: -1;
    /* above the zoom image, below content */
}

/* keep content above both layers */
.wp-block-uagb-container.linqd-bgzoom>.uagb-container-inner-blocks-wrap,
.wp-block-uagb-container.linqd-bgzoom>.uagb-container-inner-blocks-wrap * {
    position: relative;
    z-index: 1;
}

@keyframes linqd-bgzoom-in {
    from {
        transform: scale(1);
    }

    to {
        transform: scale(1.1);
    }
}













/* =========================================
   LINQD – Spectra Image Hover Zoom
   ========================================= */

/* Hover container */
.wp-block-uagb-container.linqd-zoomin {
    overflow: hidden;
    /* prevents zoom bleed */
}

/* Target the Spectra image */
.wp-block-uagb-container.linqd-zoomin img {
    transform: scale(1);
    transition: transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
    will-change: transform;
}

/* Zoom image when hovering the container */
.wp-block-uagb-container.linqd-zoomin:hover img {
    transform: scale(1.05);
}







/* blur hero panel */
.linqd_blur__panel {
    background: rgba(42, 55, 45, 0.45);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow: 0 14px 40px rgba(0, 0, 0, 0.25);
    overflow-wrap: anywhere;
    word-break: normal;
}