.elementor-widget-wda_hero,
.wda-hero-widget,
.wda-hero-widget * {
    box-sizing: border-box;
}

.wda-hero-widget {
    --wda-bg: #ffffff;
    --wda-text: #0A0A0A;
    --wda-primary: #0057FF;
    --wda-accent: #FF4D1C;
    --wda-muted: rgba(10,10,10,.60);
    --wda-border: rgba(10,10,10,.12);
    position: relative;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: var(--wda-bg);
    color: var(--wda-text);
    padding: 80px 24px 40px;
    font-family: "Figtree", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    cursor: default;
}

.wda-hero-inner {
    position: relative;
    z-index: 2;
    flex: 1;
    width: 100%;
    max-width: 120rem;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.wda-hero-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-top: 48px;
}

.wda-hero-breadcrumbs {
    margin: 0 0 24px;
    font-family: "Figtree", sans-serif;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--wda-muted);
}

.wda-hero-breadcrumb-list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    padding: 0;
    margin: 0;
    list-style: none;
}

.wda-hero-breadcrumb-item {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.wda-hero-breadcrumb-link,
.wda-hero-breadcrumb-current {
    display: inline-flex;
    align-items: center;
    color: var(--wda-muted);
    text-decoration: none !important;
    transition: color .2s ease;
}

.wda-hero-breadcrumb-link:hover,
.wda-hero-breadcrumb-link:focus {
    color: var(--wda-primary);
}

.wda-hero-breadcrumb-current {
    color: var(--wda-text);
}

.wda-hero-breadcrumb-separator {
    color: var(--wda-border);
}

.wda-hero-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 32px;
}

.wda-hero-pulse {
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: var(--wda-accent);
    animation: wdaHeroPulse 2s cubic-bezier(.4,0,.6,1) infinite;
    flex: 0 0 auto;
}

.wda-hero-eyebrow-text {
    font-family: "Figtree", sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--wda-muted);
}

.wda-hero-title {
    margin: 0;
    font-family: "Syne", ui-sans-serif, system-ui, sans-serif;
    font-weight: 800;
    font-size: clamp(1.75rem, 7.5vw, 9rem);
    line-height: .92;
    letter-spacing: -.04em;
    color: var(--wda-text);
}

.wda-hero-heading-highlight {
    color: var(--wda-primary);
}

.wda-hero-heading-top-suffix,
.wda-hero-heading-highlight-suffix {
    color: var(--wda-accent);
}

.wda-hero-subtitle {
    margin: 20px 0 0;
    max-width: 920px;
    font-family: "Syne", ui-sans-serif, system-ui, sans-serif;
    font-weight: 700;
    font-size: clamp(1rem, 2vw, 1.5rem);
    line-height: 1.35;
    letter-spacing: -.01em;
    color: var(--wda-muted);
}

.wda-hero-description {
    margin: 28px 0 0;
    max-width: 42rem;
    font-family: "Figtree", sans-serif;
    font-size: 20px;
    line-height: 1.625;
    font-weight: 400;
    color: var(--wda-muted);
}

.wda-hero-tags {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-top: 36px;
}

.wda-hero-tag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 16px;
    border-radius: 999px;
    border: 1px solid var(--wda-border);
    font-family: "Figtree", sans-serif;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.2;
    color: var(--wda-muted);
    text-decoration: none !important;
    cursor: default;
    transition: color .2s ease, background-color .2s ease, border-color .2s ease, box-shadow .2s ease;
}

a.wda-hero-tag {
    cursor: pointer;
}

.wda-hero-tag:hover,
.wda-hero-tag:focus {
    color: var(--wda-primary);
    border-color: var(--wda-primary);
    border-color: color-mix(in srgb, var(--wda-primary) 40%, transparent);
}

.wda-hero-bottom {
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding-bottom: 0;
}

.wda-hero-review {
    display: flex;
    align-items: center;
    gap: 12px;
}

.wda-review-label {
    margin: 0;
    font-family: "Figtree", sans-serif;
    font-size: 9px;
    line-height: 1;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--wda-muted);
}

.wda-review-provider {
    margin: 4px 0 0;
    font-family: "Syne", sans-serif;
    font-size: 18px;
    line-height: 1;
    font-weight: 800;
    color: var(--wda-text);
}

.wda-review-divider {
    display: block;
    width: 1px;
    height: 40px;
    margin: 0 4px;
    background: var(--wda-border);
}

.wda-review-stars {
    display: flex;
    align-items: center;
    gap: 2px;
}

.wda-review-stars svg {
    display: block;
    width: 14px;
    height: 14px;
    fill: var(--wda-accent);
    color: var(--wda-accent);
}

.wda-review-count {
    margin: 4px 0 0;
    font-family: "Figtree", sans-serif;
    font-size: 10px;
    line-height: 1.2;
    letter-spacing: .05em;
    color: var(--wda-muted);
}

.wda-hero-actions {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    gap: 14px;
    flex-wrap: wrap;
    align-self: flex-start;
}

.wda-hero-cta {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    align-self: flex-start;
    overflow: hidden;
    isolation: isolate;
    padding: 18px 36px;
    border-radius: 999px;
    border: 1px solid transparent;
    background: var(--wda-text);
    color: var(--wda-bg);
    font-family: "Syne", sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none !important;
    transition: background-color .28s ease, border-color .28s ease, color .28s ease, box-shadow .3s ease;
}

.wda-hero-cta:hover,
.wda-hero-cta:focus {
    color: var(--wda-bg);
    box-shadow: 0 16px 50px rgba(0,87,255,.25);
    box-shadow: 0 16px 50px color-mix(in srgb, var(--wda-primary) 25%, transparent);
}

.wda-hero-cta-bg {
    position: absolute;
    inset: 0;
    z-index: -1;
    border-radius: inherit;
    background: var(--wda-primary);
    transform: translateX(-101%);
    transition: transform .5s cubic-bezier(.16,1,.3,1);
}

/* The left-to-right fill is controlled by the selected animation preset below. */

.wda-hero-cta-text {
    position: relative;
    z-index: 1;
}

.wda-hero-cta-icon {
    position: relative;
    z-index: 1;
    width: 32px;
    height: 32px;
    border-radius: 999px;
    background: rgba(255,255,255,.15);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background .2s ease;
}

.wda-hero-cta:hover .wda-hero-cta-icon,
.wda-hero-cta:focus .wda-hero-cta-icon {
    background: rgba(255,255,255,.20);
}

.wda-hero-cta-icon svg {
    display: block;
    width: 16px;
    height: 16px;
    transition: transform .2s ease;
}

.wda-hero-cta:hover svg,
.wda-hero-cta:focus svg {
    transform: translate(2px,-2px);
}

.wda-hero-ghost-cta {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    overflow: hidden;
    isolation: isolate;
    padding: 18px 32px;
    border: 1px solid var(--wda-border);
    border-radius: 999px;
    background: transparent;
    color: var(--wda-text);
    font-family: "Syne", sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none !important;
    transition: color .28s ease, background-color .28s ease, border-color .28s ease, box-shadow .28s ease;
}

.wda-hero-ghost-cta.wda-hero-anim-left-to-right:hover,
.wda-hero-ghost-cta.wda-hero-anim-left-to-right:focus {
    border-color: var(--wda-primary);
    color: var(--wda-bg);
    box-shadow: 0 16px 50px rgba(0,87,255,.18);
    box-shadow: 0 16px 50px color-mix(in srgb, var(--wda-primary) 18%, transparent);
}

.wda-hero-ghost-cta-bg {
    position: absolute;
    inset: 0;
    z-index: -1;
    border-radius: inherit;
    background: var(--wda-primary);
    transform: translateX(-101%);
    transition: transform .5s cubic-bezier(.16,1,.3,1);
}

.wda-hero-ghost-cta-text {
    position: relative;
    z-index: 1;
}

.wda-hero-ghost-cta-icon {
    position: relative;
    z-index: 1;
    width: 32px;
    height: 32px;
    border-radius: 999px;
    background: var(--wda-border);
    color: currentColor;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: color .2s ease, background-color .2s ease;
}

.wda-hero-ghost-cta:hover .wda-hero-ghost-cta-icon,
.wda-hero-ghost-cta:focus .wda-hero-ghost-cta-icon {
    background: rgba(255,255,255,.18);
    color: currentColor;
}

.wda-hero-ghost-cta-icon svg {
    display: block;
    width: 16px;
    height: 16px;
    transition: transform .2s ease;
}

.wda-hero-ghost-cta:hover svg,
.wda-hero-ghost-cta:focus svg {
    transform: translate(2px,-2px);
}

/* Button hover animation presets. These presets only affect hover behaviour; colour controls still decide the actual colours. */
.wda-hero-cta.wda-hero-anim-left-to-right:hover .wda-hero-cta-bg,
.wda-hero-cta.wda-hero-anim-left-to-right:focus .wda-hero-cta-bg,
.wda-hero-ghost-cta.wda-hero-anim-left-to-right:hover .wda-hero-ghost-cta-bg,
.wda-hero-ghost-cta.wda-hero-anim-left-to-right:focus .wda-hero-ghost-cta-bg {
    transform: translateX(0);
}

.wda-hero-cta.wda-hero-anim-solid-shadow .wda-hero-cta-bg,
.wda-hero-ghost-cta.wda-hero-anim-solid-shadow .wda-hero-ghost-cta-bg,
.wda-hero-cta.wda-hero-anim-border-only .wda-hero-cta-bg,
.wda-hero-ghost-cta.wda-hero-anim-border-only .wda-hero-ghost-cta-bg,
.wda-hero-cta.wda-hero-anim-none .wda-hero-cta-bg,
.wda-hero-ghost-cta.wda-hero-anim-none .wda-hero-ghost-cta-bg {
    display: none;
}

.wda-hero-cta.wda-hero-anim-solid-shadow:hover,
.wda-hero-cta.wda-hero-anim-solid-shadow:focus,
.wda-hero-ghost-cta.wda-hero-anim-solid-shadow:hover,
.wda-hero-ghost-cta.wda-hero-anim-solid-shadow:focus {
    background: var(--wda-primary);
    border-color: var(--wda-primary);
    color: var(--wda-bg);
    box-shadow: 0 16px 50px rgba(0,87,255,.25);
    box-shadow: 0 16px 50px color-mix(in srgb, var(--wda-primary) 25%, transparent);
}

.wda-hero-cta.wda-hero-anim-border-only:hover,
.wda-hero-cta.wda-hero-anim-border-only:focus,
.wda-hero-ghost-cta.wda-hero-anim-border-only:hover,
.wda-hero-ghost-cta.wda-hero-anim-border-only:focus {
    background: transparent;
    border-color: var(--wda-primary);
    color: var(--wda-primary);
    box-shadow: none;
}

.wda-hero-cta.wda-hero-anim-none:hover,
.wda-hero-cta.wda-hero-anim-none:focus {
    background: var(--wda-text);
    border-color: transparent;
    color: var(--wda-bg);
    box-shadow: none;
}

.wda-hero-ghost-cta.wda-hero-anim-none:hover,
.wda-hero-ghost-cta.wda-hero-anim-none:focus {
    background: transparent;
    border-color: var(--wda-border);
    color: var(--wda-text);
    box-shadow: none;
}

.wda-hero-cta.wda-hero-anim-none:hover svg,
.wda-hero-cta.wda-hero-anim-none:focus svg,
.wda-hero-ghost-cta.wda-hero-anim-none:hover svg,
.wda-hero-ghost-cta.wda-hero-anim-none:focus svg {
    transform: none;
}

.wda-hero-border {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 1px;
    background: var(--wda-border);
}

.wda-hero-effect {
    position: absolute;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
    z-index: 1;
}

.wda-hero-lines {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.wda-hero-lines line {
    stroke: var(--wda-text);
    stroke-width: .8;
    stroke-opacity: .10;
    vector-effect: non-scaling-stroke;
}

.wda-hero-mouse-label {
    position: absolute;
    display: none;
    user-select: none;
    pointer-events: none;
    will-change: transform, left, top;
}

.wda-hero-mouse-label span {
    display: block;
    white-space: nowrap;
    font-family: "Figtree", sans-serif;
    font-size: .6rem;
    font-weight: 400;
    line-height: 1;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--wda-text);
    opacity: .20;
}

@keyframes wdaHeroPulse {
    50% { opacity: .5; }
}

@media (min-width: 768px) {
    .wda-hero-widget {
        padding-right: 48px;
        padding-left: 48px;
        padding-bottom: 56px;
    }

    .wda-hero-content {
        padding-top: 0;
    }

    .wda-hero-eyebrow {
        margin-bottom: 40px;
    }

    .wda-hero-description {
        font-size: 20px;
        margin-top: 32px;
    }

    .wda-hero-tags {
        margin-top: 40px;
    }
}

@media (min-width: 1024px) {
    .wda-hero-widget {
        padding-right: 64px;
        padding-left: 64px;
    }

    .wda-hero-bottom {
        flex-direction: row;
        align-items: flex-end;
        justify-content: space-between;
    }
}

@media (min-width: 1280px) {
    .wda-hero-widget {
        padding-right: 80px;
        padding-left: 80px;
    }
}

@media (max-width: 767px) {
    .wda-hero-widget {
        min-height: 760px;
    }

    .wda-hero-title {
        font-size: clamp(3rem, 14vw, 5rem);
    }

    .wda-hero-description {
        font-size: 18px;
    }

    .wda-effect-hide-mobile .wda-hero-effect {
        display: none;
    }

    .wda-hero-actions {
        width: 100%;
    }

    .wda-hero-cta,
    .wda-hero-ghost-cta {
        padding: 16px 28px;
        font-size: 14px;
    }
}


/* Services Hero layout preset - two-column WDA services header */
.wda-services-hero,
.wda-services-hero * {
    box-sizing: border-box;
}

.wda-services-hero {
    --wda-services-blue: #0057FF;
    --wda-services-orange: #FF4D1C;
    --wda-services-black: #0A0A0A;
    --wda-services-white: #FFFFFF;
    --wda-services-pattern-color: #0A0A0A;
    position: relative;
    padding: 10rem 0 6rem;
    background: #FFFFFF;
    overflow: hidden;
    font-family: "Figtree", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color: var(--wda-services-black);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

.wda-services-hero a {
    color: inherit;
    text-decoration: none !important;
}

.wda-services-container {
    max-width: 120rem;
    margin: 0 auto;
    padding: 0 1.5rem;
}

.wda-services-pattern {
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .08;
    background-image:
        linear-gradient(to right, var(--wda-services-pattern-color) 1px, transparent 1px),
        linear-gradient(to bottom, var(--wda-services-pattern-color) 1px, transparent 1px);
    background-size: 84px 84px;
    mask-image: radial-gradient(circle at 45% 35%, black, transparent 70%);
    -webkit-mask-image: radial-gradient(circle at 45% 35%, black, transparent 70%);
}

.wda-services-inner {
    position: relative;
    z-index: 2;
}

.wda-services-hero-grid {
    display: grid;
    gap: 3rem;
    align-items: end;
}

.wda-services-heading-col,
.wda-services-copy,
.wda-services-stats,
.wda-services-cta-below {
    position: relative;
}

.wda-services-heading {
    margin: 1rem 0 0;
    font-family: "Syne", ui-sans-serif, system-ui, sans-serif;
    font-weight: 800;
    letter-spacing: -0.04em;
    line-height: .95;
    font-size: clamp(3rem, 7.5vw, 8.5rem);
    color: var(--wda-services-black);
}

.wda-services-heading-line {
    display: block;
}

.wda-services-heading-suffix {
    color: var(--wda-services-orange);
}

.wda-services-eyebrow {
    display: inline-block;
    font-family: "Figtree", ui-sans-serif, system-ui, sans-serif;
    font-size: .75rem;
    font-weight: 600;
    letter-spacing: .2em;
    line-height: 1.35;
    text-transform: uppercase;
    color: var(--wda-services-blue);
}

.wda-services-copy {
    padding-bottom: .25rem;
}

.wda-services-copy-text {
    max-width: 34rem;
    margin: 0 0 2rem;
    font-family: "Figtree", ui-sans-serif, system-ui, sans-serif;
    font-size: 1.125rem;
    line-height: 1.7;
    color: rgba(10,10,10,.55);
}

.wda-services-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .75rem;
    border-radius: 999px;
    font-family: "Syne", ui-sans-serif, system-ui, sans-serif;
    font-size: .875rem;
    font-weight: 700;
    line-height: 1;
    border: 0;
    cursor: pointer;
    white-space: nowrap;
    padding: 1rem 2rem;
    background: var(--wda-services-black);
    color: #FFFFFF;
    transition: background-color .28s ease, color .28s ease, box-shadow .28s ease, transform .28s ease;
}

.wda-services-btn:hover,
.wda-services-btn:focus {
    background: var(--wda-services-blue);
    color: #FFFFFF;
    box-shadow: 0 16px 50px rgba(0,87,255,.25);
}

.wda-services-btn svg {
    width: 16px;
    height: 16px;
    transition: transform .2s ease;
}

.wda-services-btn:hover svg,
.wda-services-btn:focus svg {
    transform: translate(2px,-2px);
}

.wda-services-cta-left {
    margin-top: 2rem;
}

.wda-services-cta-below {
    margin-top: 3rem;
}

.wda-services-stats {
    margin-top: 4rem;
    padding-top: 3rem;
    border-top: 1px solid rgba(10,10,10,.08);
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.5rem;
}

.wda-services-stat-value {
    font-family: "Syne", ui-sans-serif, system-ui, sans-serif;
    font-weight: 800;
    font-size: clamp(1.9rem, 3vw, 2.5rem);
    line-height: 1;
    color: var(--wda-services-blue);
}

.wda-services-stat-label {
    margin-top: .25rem;
    font-family: "Figtree", ui-sans-serif, system-ui, sans-serif;
    font-size: .75rem;
    line-height: 1.35;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: rgba(10,10,10,.40);
}


/* Agency/global color inheritance for shared Hero Stats and Service Tags */
.wda-hero-widget .wda-services-stats {
    border-top-color: var(--wda-border);
}

.wda-hero-widget .wda-services-stat-value {
    color: var(--wda-primary);
}

.wda-hero-widget .wda-services-stat-label {
    color: var(--wda-muted);
}

.wda-services-reveal {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity .7s cubic-bezier(.16,1,.3,1), transform .7s cubic-bezier(.16,1,.3,1);
}

.wda-services-reveal.wda-services-visible,
.wda-services-visible {
    opacity: 1;
    transform: translateY(0);
}

.elementor-editor-active .wda-services-reveal {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
}

@media (min-width: 768px) {
    .wda-services-container {
        padding: 0 3rem;
    }
}

@media (min-width: 1024px) {
    .wda-services-hero {
        padding: 13rem 0 8rem;
    }

    .wda-services-container {
        padding: 0 5rem;
    }

    .wda-services-hero-grid {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }

    .wda-services-stats {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .wda-services-hero {
        padding: 7rem 0 4.5rem;
    }

    .wda-services-heading {
        font-size: clamp(2.75rem, 13vw, 4.25rem);
    }

    .wda-services-copy-text {
        font-size: 1rem;
    }

    .wda-services-btn {
        width: 100%;
    }

    .wda-services-stat-value {
        font-size: 2rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .wda-services-reveal {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}


/* Trade Hero layout preset, merged from EDP Hero Widget v1.0.4 */
.elementor-widget-wda_hero,.elementor-widget-wda_hero>.elementor-widget-container,.elementor-widget-wda_hero .edphero-wrap{width:100%;height:100%}
.edphero-wrap{--cream:#FDFBF7;--stone:#F5F0E8;--charcoal:#2C2C2C;--terra:#C0622F;--heading:"Cormorant Garamond",Georgia,serif;--body:"Inter",system-ui,sans-serif;font-family:var(--body);color:var(--stone);-webkit-font-smoothing:antialiased}
.edphero-wrap,.edphero-wrap *,.edphero-wrap *::before,.edphero-wrap *::after{box-sizing:border-box}
.edphero-section{position:relative;overflow:hidden;isolation:isolate;display:flex;align-items:center;width:100%;min-height:610px;background-color:var(--charcoal);background-position:center center;background-repeat:no-repeat;background-size:cover;padding:160px 0 112px}
.edphero-bg{position:absolute;inset:0;z-index:-2;overflow:hidden;pointer-events:none}
.edphero-bg img{width:100%;height:100%;object-fit:cover;object-position:center center;display:block}
.edphero-section::before{content:"";position:absolute;inset:0;pointer-events:none;background:transparent;opacity:0;z-index:-1}
.edphero-container{position:relative;z-index:1;width:100%;max-width:1280px;margin:0 auto;padding:0 2.5rem}
.edphero-content{max-width:100%}
.edphero-eyebrow{margin:0 0 16px;font-size:11px;line-height:1.4;letter-spacing:.3em;text-transform:uppercase;color:var(--terra);font-weight:600}
.edphero-heading{margin:0;font-family:var(--heading);font-size:clamp(3rem,7vw,5rem);font-weight:300;color:var(--stone);line-height:.98;max-width:100%}
.edphero-heading em,.edphero-heading .edphero-accent{font-style:italic;color:inherit}
.edphero-description{margin:26px 0 0;max-width:680px;color:rgba(245,240,232,.74);font-size:18px;line-height:1.75;font-weight:400}
.edphero-description p{margin:0 0 16px}.edphero-description p:last-child{margin-bottom:0}
.edphero-description a{color:var(--terra);text-decoration:none;transition:color .25s ease}.edphero-description a:hover{color:var(--stone);text-decoration:underline}
.edphero-description ul,.edphero-description ol{margin:0 0 16px 1.2em;padding:0}.edphero-description li{margin-bottom:8px}
.edphero-ctas{display:flex;flex-wrap:wrap;gap:16px;margin-top:40px}
.edphero-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:16px 32px;border-radius:12px;font-size:14px;font-weight:600;line-height:1;text-decoration:none!important;transition:opacity .3s ease,border-color .3s ease,background-color .3s ease,color .3s ease,transform .3s ease}
.edphero-btn:hover{transform:translateY(-1px)}
.edphero-btn-primary{background:var(--terra);color:#fff;border:1px solid var(--terra)}
.edphero-btn-primary:hover{opacity:.88;color:#fff}
.edphero-btn-ghost{background:transparent;color:var(--stone);border:1px solid rgba(245,240,232,.3)}
.edphero-btn-ghost:hover{border-color:rgba(245,240,232,.6);color:var(--stone)}
.edphero-scroll{position:absolute;bottom:40px;left:50%;z-index:2;transform:translateX(-50%);color:rgba(245,240,232,.4);width:20px;height:20px;animation:edphero-bob 2s ease-in-out infinite}
.edphero-scroll svg{width:20px;height:20px;display:block}
@keyframes edphero-bob{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(8px)}}
.edphero-animated .edphero-eyebrow,.edphero-animated .edphero-heading,.edphero-animated .edphero-description,.edphero-animated .edphero-ctas,.edphero-animated .edphero-scroll{opacity:0;transform:translateY(20px);transition:opacity .8s ease,transform .8s ease}
.edphero-animated .edphero-heading{transform:translateY(32px);transition-delay:.18s}.edphero-animated .edphero-description{transform:translateY(24px);transition-delay:.36s}.edphero-animated .edphero-ctas{transition-delay:.54s}.edphero-animated .edphero-scroll{transition-delay:1s}
.edphero-animated.edphero-loaded .edphero-eyebrow,.edphero-animated.edphero-loaded .edphero-heading,.edphero-animated.edphero-loaded .edphero-description,.edphero-animated.edphero-loaded .edphero-ctas{opacity:1;transform:translateY(0)}
.edphero-animated.edphero-loaded .edphero-scroll{opacity:1}
.elementor-editor-active .edphero-eyebrow,.elementor-editor-active .edphero-heading,.elementor-editor-active .edphero-description,.elementor-editor-active .edphero-ctas,.elementor-editor-active .edphero-scroll{opacity:1!important;transform:none!important;transition:none!important}
@media(max-width:1024px){.edphero-section{min-height:520px;padding:144px 0 96px}.edphero-heading{font-size:clamp(3rem,8vw,5rem)}}
@media(max-width:767px){.edphero-section{min-height:420px;padding:128px 0 80px}.edphero-container{padding:0 1.5rem}.edphero-eyebrow{font-size:10px;letter-spacing:.26em}.edphero-heading{font-size:clamp(2.75rem,14vw,4rem)}.edphero-description{font-size:16px;line-height:1.7;margin-top:20px}.edphero-ctas{margin-top:30px;gap:12px}.edphero-btn{padding:15px 22px}.edphero-scroll{bottom:24px}}
@media(prefers-reduced-motion:reduce){.edphero-animated .edphero-eyebrow,.edphero-animated .edphero-heading,.edphero-animated .edphero-description,.edphero-animated .edphero-ctas,.edphero-animated .edphero-scroll{opacity:1!important;transform:none!important;transition:none!important;animation:none!important}}

/* Global 1/2 column structure for Agency Hero */
.wda-hero-grid {
    display: grid;
    width: 100%;
    gap: 3rem;
}

.wda-hero-column {
    display: flex;
    min-width: 0;
    flex-direction: column;
    justify-content: center;
}

.wda-hero-column > .wda-hero-placement + .wda-hero-placement {
    margin-top: 1.75rem;
}

.wda-hero-placement-heading + .wda-hero-placement-subtitle,
.wda-hero-placement-heading + .wda-hero-placement-description {
    margin-top: 1.25rem;
}

.wda-hero-below {
    width: 100%;
    margin-top: 3rem;
    padding-top: 0;
}

.wda-hero-below > .wda-hero-placement + .wda-hero-placement {
    margin-top: 1.5rem;
}

.wda-hero-two-columns .wda-hero-inner {
    justify-content: center;
}

.wda-hero-two-columns .wda-hero-title,
.wda-hero-two-columns .wda-hero-subtitle,
.wda-hero-two-columns .wda-hero-description,
.wda-hero-two-columns .wda-hero-tags {
    max-width: none;
}

.wda-hero-two-columns .wda-hero-description {
    margin-top: 0;
}

.wda-hero-two-columns .wda-hero-tags {
    margin-top: 0;
}

.wda-hero-two-columns .wda-hero-actions,
.wda-hero-two-columns .wda-hero-cta,
.wda-hero-two-columns .wda-hero-ghost-cta {
    margin-top: 0;
}

.wda-hero-two-columns .wda-hero-review {
    align-self: flex-start;
}

.wda-hero-stats {
    width: 100%;
}

.wda-hero-widget .wda-hero-stats {
    --wda-services-blue: var(--wda-primary, #0057FF);
    --wda-services-black: var(--wda-text, #0A0A0A);
}

.edphero-content .wda-hero-tags {
    margin-top: 28px;
}

.edphero-content .wda-hero-tag {
    border-color: rgba(245,240,232,.25);
    color: rgba(245,240,232,.78);
    background: rgba(245,240,232,.06);
}

.edphero-content .wda-hero-tag:hover,
.edphero-content .wda-hero-tag:focus {
    border-color: var(--terra);
    color: var(--stone);
}

.edphero-content .wda-hero-stats {
    --wda-services-blue: var(--terra);
    margin-top: 36px;
    border-top-color: rgba(245,240,232,.18);
}

.edphero-content .wda-hero-stats .wda-services-stat-label {
    color: rgba(245,240,232,.58);
}

@media (min-width: 1024px) {
    .wda-hero-two-columns .wda-hero-grid {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }

    .wda-hero-two-columns.wda-hero-cols-60-40 .wda-hero-grid {
        grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
    }

    .wda-hero-two-columns.wda-hero-cols-40-60 .wda-hero-grid {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr);
    }

    .wda-hero-two-columns.wda-hero-cols-55-45 .wda-hero-grid {
        grid-template-columns: minmax(0, 1.22fr) minmax(0, 1fr);
    }

    .wda-hero-two-columns.wda-hero-cols-45-55 .wda-hero-grid {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1.22fr);
    }

    .wda-hero-two-columns .wda-hero-below {
        display: grid;
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .wda-hero-two-columns .wda-hero-below > .wda-hero-placement + .wda-hero-placement {
        margin-top: 0;
    }
}

@media (max-width: 1023px) {
    .wda-hero-two-columns .wda-hero-grid {
        grid-template-columns: 1fr;
    }
}

/* Contact Hero layout preset */
.wda-contact-hero,
.wda-contact-hero * {
    box-sizing: border-box;
}

.wda-contact-hero {
    --wda-contact-primary: #0057FF;
    --wda-contact-accent: #FF4D1C;
    --wda-contact-text: #0A0A0A;
    --wda-contact-bg: #FFFFFF;
    --wda-contact-soft: #FAFAFA;
    position: relative;
    padding: 10rem 0 6rem;
    background: var(--wda-contact-bg);
    overflow: hidden;
    font-family: "Figtree", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color: var(--wda-contact-text);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

.wda-contact-hero a {
    color: inherit;
    text-decoration: none;
}

.wda-contact-container {
    width: 100%;
    max-width: 120rem;
    margin: 0 auto;
    padding: 0 1.5rem;
}

.wda-contact-lines {
    position: absolute;
    inset: 0;
    pointer-events: none;
    overflow: hidden;
    z-index: 1;
}

.wda-contact-lines svg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.wda-contact-lines line {
    stroke: var(--wda-contact-text);
    stroke-width: .8;
    stroke-opacity: .07;
}

.wda-contact-inner {
    position: relative;
    z-index: 10;
}

.wda-contact-eyebrow-wrap {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    margin-bottom: 2rem;
}

.wda-contact-dot {
    width: .5rem;
    height: .5rem;
    border-radius: 999px;
    background: var(--wda-contact-accent);
    flex: 0 0 auto;
}

.wda-contact-eyebrow {
    font-family: "Figtree", sans-serif;
    font-size: .75rem;
    font-weight: 600;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--wda-contact-accent);
}

.wda-contact-grid {
    display: grid;
    gap: 4rem;
    align-items: end;
}

.wda-contact-heading {
    margin: 0;
    max-width: 16ch;
    font-family: "Syne", ui-sans-serif, system-ui, sans-serif;
    font-weight: 800;
    font-size: clamp(3rem, 7vw, 8rem);
    line-height: .92;
    letter-spacing: -.04em;
    color: var(--wda-contact-text);
}

.wda-contact-heading-suffix {
    color: var(--wda-contact-accent);
}

.wda-contact-intro {
    max-width: 34rem;
    margin: 2rem 0 0;
    font-family: "Figtree", sans-serif;
    font-size: 1.125rem;
    line-height: 1.7;
    color: color-mix(in srgb, var(--wda-contact-text) 50%, transparent);
}

.wda-contact-card-stack {
    display: grid;
    gap: 1rem;
}

.wda-contact-card {
    background: var(--wda-contact-text);
    border-radius: 1rem;
    padding: 2rem;
    color: #FFFFFF;
}

.wda-contact-card h3 {
    margin: 0 0 1.5rem;
    font-family: "Syne", ui-sans-serif, system-ui, sans-serif;
    font-size: 1.125rem;
    font-weight: 800;
    line-height: 1.2;
    color: #FFFFFF;
}

.wda-contact-info-list {
    display: grid;
    gap: 1rem;
}

.wda-contact-info-item {
    display: flex;
    align-items: flex-start;
    gap: .75rem;
}

.wda-contact-info-item svg {
    width: 1rem;
    height: 1rem;
    margin-top: .125rem;
    flex-shrink: 0;
    color: var(--wda-contact-primary);
}

.wda-contact-info-item a,
.wda-contact-info-item span {
    font-family: "Figtree", sans-serif;
    font-size: .875rem;
    line-height: 1.6;
    color: rgba(255, 255, 255, .6);
    transition: color .2s ease;
}

.wda-contact-info-item a:hover,
.wda-contact-info-item a:focus {
    color: #FFFFFF;
}

.wda-contact-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .75rem;
}

.wda-contact-stat {
    background: var(--wda-contact-soft);
    border: 1px solid rgba(10,10,10,.05);
    border-radius: .75rem;
    padding: 1rem;
    text-align: center;
}

.wda-contact-stat-value {
    font-family: "Syne", ui-sans-serif, system-ui, sans-serif;
    font-size: 1.25rem;
    font-weight: 800;
    line-height: 1;
    color: var(--wda-contact-primary);
}

.wda-contact-stat-label {
    margin-top: .25rem;
    font-family: "Figtree", sans-serif;
    font-size: .75rem;
    line-height: 1.3;
    color: rgba(10,10,10,.4);
}

.wda-contact-reveal {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity .75s cubic-bezier(.16, 1, .3, 1), transform .75s cubic-bezier(.16, 1, .3, 1);
}

.wda-contact-reveal.is-visible,
.wda-contact-no-animate .wda-contact-reveal,
.elementor-editor-active .wda-contact-reveal {
    opacity: 1;
    transform: translateY(0);
}

.wda-delay-1 {
    transition-delay: .1s;
}

.wda-delay-2 {
    transition-delay: .3s;
}

.wda-delay-3 {
    transition-delay: .4s;
}

@media (min-width: 768px) {
    .wda-contact-container {
        padding: 0 3rem;
    }
}

@media (min-width: 1024px) {
    .wda-contact-hero {
        padding: 13rem 0 8rem;
    }

    .wda-contact-container {
        padding: 0 5rem;
    }

    .wda-contact-grid {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }
}

@media (max-width: 760px) {
    .wda-contact-hero {
        padding: 7rem 0 4.5rem;
    }

    .wda-contact-heading {
        font-size: clamp(3rem, 14vw, 4.75rem);
    }

    .wda-contact-intro {
        font-size: 1rem;
    }

    .wda-contact-card {
        padding: 1.5rem;
    }

    .wda-contact-stats {
        grid-template-columns: 1fr;
    }
}

/* Portfolio Hero layout preset */
.wda-portfolio-hero,
.wda-portfolio-hero * {
    box-sizing: border-box;
}

.wda-portfolio-hero {
    --wda-portfolio-bg: #0A0A0A;
    --wda-portfolio-heading: #ffffff;
    --wda-portfolio-accent: #3B82F6;
    --wda-portfolio-button-bg: #1D4ED8;
    --wda-portfolio-button-hover-bg: #3B82F6;
    --wda-portfolio-muted: rgba(255, 255, 255, .55);
    --wda-portfolio-faint: rgba(255, 255, 255, .40);
    position: relative;
    min-height: 90vh;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding: 8rem 0 5rem;
    background: var(--wda-portfolio-bg);
    color: var(--wda-portfolio-heading);
    font-family: "Figtree", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

.wda-portfolio-hero a {
    color: inherit;
    text-decoration: none !important;
}

.wda-portfolio-bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
}

.wda-portfolio-overlay {
    --wda-portfolio-overlay-top: rgba(10, 10, 10, .70);
    --wda-portfolio-overlay-mid: rgba(10, 10, 10, .60);
    --wda-portfolio-overlay-bottom: #0A0A0A;
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(to bottom, var(--wda-portfolio-overlay-top), var(--wda-portfolio-overlay-mid), var(--wda-portfolio-overlay-bottom));
}

.wda-portfolio-container {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 56rem;
    margin: 0 auto;
    padding: 2rem 1.5rem 0;
    text-align: center;
}

.wda-portfolio-eyebrow {
    margin: 0 0 1.5rem;
    font-family: "Figtree", sans-serif;
    font-size: .75rem;
    line-height: 1.2;
    font-weight: 600;
    letter-spacing: .3em;
    text-transform: uppercase;
    color: var(--wda-portfolio-accent);
}

.wda-portfolio-heading {
    margin: 0;
    font-family: "Syne", ui-sans-serif, system-ui, sans-serif;
    font-weight: 800;
    font-size: clamp(3rem, 8vw, 7rem);
    line-height: .95;
    letter-spacing: -.03em;
    color: var(--wda-portfolio-heading);
}

.wda-portfolio-heading-suffix {
    color: var(--wda-portfolio-accent);
}

.wda-portfolio-subtitle {
    max-width: 42rem;
    margin: 2rem auto 0;
    font-family: "Figtree", sans-serif;
    font-size: clamp(1rem, 1.25vw, 1.125rem);
    line-height: 1.7;
    font-weight: 400;
    color: var(--wda-portfolio-muted);
}

.wda-portfolio-cta-wrap {
    margin-top: 2.5rem;
}

.wda-portfolio-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    padding: 1rem 2rem;
    border-radius: 999px;
    background: var(--wda-portfolio-button-bg);
    color: #ffffff !important;
    font-family: "Syne", sans-serif;
    font-size: .875rem;
    font-weight: 700;
    line-height: 1;
    text-decoration: none !important;
    transition: background-color .24s ease, box-shadow .24s ease, transform .24s ease;
}

.wda-portfolio-cta:hover,
.wda-portfolio-cta:focus {
    background: var(--wda-portfolio-button-hover-bg);
    color: #ffffff !important;
    transform: translateY(-1px);
}

.wda-portfolio-cta svg {
    width: 1rem;
    height: 1rem;
    flex: 0 0 auto;
    transition: transform .2s ease;
}

.wda-portfolio-cta:hover svg,
.wda-portfolio-cta:focus svg {
    transform: translate(2px, -2px);
}

.wda-portfolio-stats {
    margin-top: 5rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 2rem 0;
}

.wda-portfolio-stat {
    text-align: center;
    padding: 0 1rem;
}

.wda-portfolio-stat-value {
    font-family: "Syne", ui-sans-serif, system-ui, sans-serif;
    font-size: clamp(1.875rem, 3.5vw, 3rem);
    line-height: 1;
    font-weight: 800;
    letter-spacing: -.03em;
    color: var(--wda-portfolio-accent);
}

.wda-portfolio-stat-label {
    margin-top: .5rem;
    font-family: "Figtree", sans-serif;
    font-size: clamp(.625rem, .8vw, .75rem);
    line-height: 1.35;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--wda-portfolio-faint);
}

.wda-portfolio-connector {
    display: none;
    align-items: center;
    gap: .375rem;
    color: color-mix(in srgb, var(--wda-portfolio-accent) 50%, transparent);
}

.wda-portfolio-connector span,
.wda-portfolio-connector b {
    display: block;
    border-radius: 999px;
    background: currentColor;
}

.wda-portfolio-connector span {
    width: .25rem;
    height: .25rem;
}

.wda-portfolio-connector b {
    width: .375rem;
    height: .375rem;
}

.wda-portfolio-connector i {
    display: block;
    width: 2rem;
    height: 0;
    border-top: 1px dashed currentColor;
}

@media (min-width: 768px) {
    .wda-portfolio-container {
        padding-left: 3rem;
        padding-right: 3rem;
    }

    .wda-portfolio-connector {
        display: flex;
    }
}

@media (min-width: 1024px) {
    .wda-portfolio-hero {
        padding: 8rem 0 5rem;
    }

    .wda-portfolio-container {
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }

    .wda-portfolio-stat {
        padding-left: 2rem;
        padding-right: 2rem;
    }
}

.wda-portfolio-reveal {
    opacity: 1;
    transform: none;
}

.wda-portfolio-animate .wda-portfolio-reveal {
    opacity: 0;
    transform: translateY(16px);
    animation: wdaPortfolioReveal .75s cubic-bezier(.16, 1, .3, 1) forwards;
}

.wda-portfolio-animate .wda-portfolio-heading.wda-portfolio-reveal {
    transform: translateY(40px);
    animation-duration: .9s;
}

.wda-portfolio-delay-1 { animation-delay: 0s; }
.wda-portfolio-delay-2 { animation-delay: .1s; }
.wda-portfolio-delay-3 { animation-delay: .35s; }
.wda-portfolio-delay-4 { animation-delay: .65s; }

@keyframes wdaPortfolioReveal {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 760px) {
    .wda-portfolio-hero {
        min-height: 90vh;
        padding: 7rem 0 4.5rem;
    }

    .wda-portfolio-container {
        padding-top: 1rem;
    }

    .wda-portfolio-heading {
        font-size: clamp(3rem, 13vw, 4.75rem);
    }

    .wda-portfolio-subtitle {
        margin-top: 1.75rem;
        font-size: 1rem;
    }

    .wda-portfolio-cta {
        width: auto;
        max-width: 100%;
    }

    .wda-portfolio-stats {
        margin-top: 4rem;
        gap: 1.75rem .75rem;
    }

    .wda-portfolio-stat {
        width: calc(50% - .75rem);
        padding: 0 .5rem;
    }
}
