
.fcn-wrap{width:100%;color:inherit}
.fcn-heading{margin:0 0 12px;color:inherit}
.fcn-description{margin:0 0 18px;color:inherit}
.fcn-description p:last-child{margin-bottom:0}
.fcn-grid{display:grid;gap:18px}
.fcn-layout-list .fcn-grid{display:block}
.fcn-layout-list .fcn-item{margin-bottom:10px}
.fcn-layout-pills .fcn-grid{display:flex;flex-wrap:wrap;gap:10px}
.fcn-item-surface{box-sizing:border-box;border:1px solid transparent;transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease}
.fcn-layout-pills .fcn-item-surface{display:inline-flex;border-radius:999px}
.fcn-layout-pills .fcn-main-link{padding:8px 14px}
.fcn-layout-multicol .fcn-item-surface,.fcn-layout-list .fcn-item-surface{border:none;background:transparent}
.fcn-layout-multicol .fcn-main-link,.fcn-layout-list .fcn-main-link{padding:4px 0}
.fcn-layout-cards .fcn-item-surface{overflow:hidden;border:1px solid rgba(0,0,0,.08)}
.fcn-layout-cards .fcn-main-link{padding:18px 18px 8px}
.fcn-layout-cards .fcn-excerpt{padding:0 18px 10px}
.fcn-layout-cards .fcn-read-more{display:inline-flex;padding:0 18px 18px}
.fcn-layout-compact .fcn-item-surface,.fcn-layout-icon_grid .fcn-item-surface{border:1px solid rgba(0,0,0,.08)}
.fcn-layout-compact .fcn-main-link,.fcn-layout-icon_grid .fcn-main-link{padding:16px}
.fcn-layout-icon_grid .fcn-main-link{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.fcn-main-link{display:flex;align-items:center;gap:.55em;text-decoration:none!important;color:inherit}
.fcn-item-title{color:inherit}
.fcn-icon{display:inline-flex;line-height:1}
.fcn-icon svg{width:1em;height:1em;fill:currentColor}
.fcn-card-image{display:block;overflow:hidden}
.fcn-card-image img{display:block;width:100%;height:180px;object-fit:cover}
.fcn-excerpt{color:inherit;opacity:.78}
.fcn-read-more{text-decoration:none}
.fcn-badge{display:inline-flex;margin-left:auto;padding:3px 8px;border-radius:999px;font-size:.72em;line-height:1.2;background:rgba(2,64,245,.10);color:#0240F5}
.fcn-item.is-current{outline:2px solid currentColor;outline-offset:2px}
.fcn-search-label{display:block;margin-bottom:18px}
.fcn-search{width:100%;max-width:420px;padding:10px 14px;border:1px solid rgba(0,0,0,.15);border-radius:8px;font:inherit;color:inherit;background:transparent}
.fcn-sticky{position:sticky;top:var(--fcn-sticky-offset,100px)}
.fcn-breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:.5em;color:inherit}
.fcn-breadcrumbs a{text-decoration:none;color:inherit}
.fcn-breadcrumb-sep{opacity:.55}
@media(max-width:767px){
  .fcn-layout-pills .fcn-grid{gap:8px}
  .fcn-sticky{position:static}
}

.fcn-layout-cards_children .fcn-item-surface{overflow:hidden;border:1px solid rgba(0,0,0,.08)}
.fcn-layout-cards_children .fcn-main-link{padding:18px 18px 8px}
.fcn-layout-cards_children .fcn-excerpt{padding:0 18px 10px}
.fcn-layout-cards_children .fcn-read-more{display:inline-flex;padding:0 18px 18px}
.fcn-layout-cards_children .fcn-card-image img{display:block;width:100%;height:180px;object-fit:cover}
.fcn-child-area{padding:4px 18px 16px}
.fcn-child-heading{font-weight:600;margin:0 0 10px}
.fcn-child-list{display:flex;flex-direction:column;gap:10px}
.fcn-child-link{display:flex;align-items:center;gap:.55em;text-decoration:none!important;color:inherit;line-height:1.35}
.fcn-child-icon{display:inline-flex;flex:0 0 auto;line-height:1}
.fcn-child-icon svg{width:1em;height:1em;fill:currentColor}

.fcn-eyebrow{margin:0 0 8px;font-size:.78em;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:inherit}
.fcn-view-all-wrap{margin-top:18px}
.fcn-view-all{display:inline-flex;align-items:center;gap:.4em;text-decoration:none!important;color:inherit}

/* Fly Dynamic Hero Content */
.fcn-dynamic-hero{display:flex;flex-direction:column;width:100%;max-width:760px;gap:20px;color:inherit}
.fcn-hero-breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:.5em;color:inherit}
.fcn-hero-breadcrumbs a{text-decoration:none;color:inherit}
.fcn-hero-breadcrumb-sep{opacity:.6}
.fcn-hero-eyebrow{font-weight:600;letter-spacing:.06em;color:inherit}
.fcn-hero-heading{margin:0;color:inherit}
.fcn-hero-description{color:inherit}
.fcn-hero-description p{margin:0}
.fcn-hero-buttons{display:flex;flex-wrap:wrap;align-items:center;gap:16px}
.fcn-hero-button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none!important;border:1px solid transparent;transition:all .2s ease}
.fcn-hero-button-primary{background:#0240F5;color:#fff;border-color:#0240F5}
.fcn-hero-button-secondary{background:transparent;color:inherit;border-color:currentColor}

/* Dynamic Hero v1.4 */
.fcn-hero-button{box-sizing:border-box;white-space:normal;text-align:center}
.fcn-hero-button-icon{display:inline-flex;line-height:1}
.fcn-hero-button-icon svg{width:1em;height:1em;fill:currentColor}
.fcn-button-width-equal- .fcn-hero-button{flex:1 1 0}
.fcn-button-width-full- .fcn-hero-buttons{flex-direction:column}
.fcn-button-width-full- .fcn-hero-button{width:100%}
@media(max-width:1024px){
.fcn-button-width-tablet-equal- .fcn-hero-button{flex:1 1 0}
.fcn-button-width-tablet-full- .fcn-hero-buttons{flex-direction:column}
.fcn-button-width-tablet-full- .fcn-hero-button{width:100%}
}
@media(max-width:767px){
.fcn-button-width-mobile-equal- .fcn-hero-button{flex:1 1 0}
.fcn-button-width-mobile-full- .fcn-hero-buttons{flex-direction:column}
.fcn-button-width-mobile-full- .fcn-hero-button{width:100%}
}

/* Fly Dynamic CTA */
.fcn-dynamic-cta{display:flex;flex-direction:column;width:100%;max-width:760px;gap:20px;color:inherit}
.fcn-cta-eyebrow{font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:inherit}
.fcn-cta-heading{margin:0;color:inherit}
.fcn-cta-description{color:inherit}
.fcn-cta-description p{margin:0}
.fcn-cta-buttons{display:flex;flex-wrap:wrap;align-items:center;gap:16px}
.fcn-cta-button{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;text-decoration:none!important;border:1px solid transparent;white-space:normal;text-align:center;transition:all .2s ease}
.fcn-cta-button-icon{display:inline-flex;line-height:1}
.fcn-cta-button-icon svg{width:1em;height:1em;fill:currentColor}
.fcn-cta-button-primary{background:#18D6EC;color:#fff;border-color:#18D6EC}
.fcn-cta-button-secondary{background:transparent;color:inherit;border-color:currentColor}
.fcn-cta-button-width-equal- .fcn-cta-button{flex:1 1 0}
.fcn-cta-button-width-full- .fcn-cta-buttons{flex-direction:column}
.fcn-cta-button-width-full- .fcn-cta-button{width:100%}
@media(max-width:1024px){
.fcn-cta-button-width-tablet-equal- .fcn-cta-button{flex:1 1 0}
.fcn-cta-button-width-tablet-full- .fcn-cta-buttons{flex-direction:column}
.fcn-cta-button-width-tablet-full- .fcn-cta-button{width:100%}
}
@media(max-width:767px){
.fcn-cta-button-width-mobile-equal- .fcn-cta-button{flex:1 1 0}
.fcn-cta-button-width-mobile-full- .fcn-cta-buttons{flex-direction:column}
.fcn-cta-button-width-mobile-full- .fcn-cta-button{width:100%}
}


/* Fly Content Navigator v1.6 — card typography, theme-safe overrides & image motion */
.fcn-excerpt,
.fcn-read-more,
.fcn-item-title {
    transition: color .25s ease, opacity .25s ease;
}

/* No color is forced here: title/excerpt/read-more inherit the active theme unless
   an Elementor widget control explicitly overrides them. */
.fcn-read-more { color: inherit; }
.fcn-card-image {
    position: relative;
    isolation: isolate;
    background: transparent;
}
.fcn-card-image img {
    transform-origin: center center;
    transition-property: transform, opacity, filter;
    transition-duration: 350ms;
    transition-timing-function: ease;
}
.fcn-card-image::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 1;
    opacity: 0;
    transition-property: opacity, background-color;
    transition-duration: 350ms;
    transition-timing-function: ease;
}
.fcn-item-surface:hover .fcn-card-image::after {
    opacity: var(--fcn-image-overlay-opacity, 0);
}

/* Image hover effects */
.fcn-image-hover-zoom-in .fcn-item-surface:hover .fcn-card-image img {
    transform: scale(var(--fcn-image-scale, 1.05));
}
.fcn-image-hover-zoom-out .fcn-card-image img {
    transform: scale(var(--fcn-image-scale, 1.05));
}
.fcn-image-hover-zoom-out .fcn-item-surface:hover .fcn-card-image img {
    transform: scale(1);
}
.fcn-image-hover-lift .fcn-item-surface:hover .fcn-card-image img {
    transform: translateY(calc(-1 * var(--fcn-image-lift, 6px))) scale(1.02);
}
.fcn-image-hover-fade .fcn-item-surface:hover .fcn-card-image img {
    opacity: .82;
}
.fcn-image-hover-grayscale .fcn-card-image img {
    filter: grayscale(100%);
}
.fcn-image-hover-grayscale .fcn-item-surface:hover .fcn-card-image img {
    filter: grayscale(0%);
}
.fcn-image-hover-darken .fcn-item-surface:hover .fcn-card-image img {
    filter: brightness(.78);
}
.fcn-image-hover-lighten .fcn-item-surface:hover .fcn-card-image img {
    filter: brightness(1.12);
}

/* Keep motion accessible. */
@media (prefers-reduced-motion: reduce) {
    .fcn-card-image img,
    .fcn-card-image::after,
    .fcn-item-surface {
        transition-duration: 0.01ms !important;
        transform: none !important;
    }
}


/* ==========================================================
   Fly Related Work v1.7
   Theme-safe: colors inherit unless Elementor overrides them.
   ========================================================== */

.fcn-related-work {
    width:100%;
    color:inherit;
}
.fcn-work-section-header {
    margin-bottom:32px;
}
.fcn-work-section-eyebrow,
.fcn-case-eyebrow {
    margin-bottom:8px;
    font-size:.78em;
    font-weight:600;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:inherit;
}
.fcn-work-section-heading,
.fcn-work-grid-heading,
.fcn-case-title,
.fcn-work-card-title {
    color:inherit;
}
.fcn-work-section-heading {
    margin:0 0 12px;
}
.fcn-work-section-description p:last-child,
.fcn-case-summary p:last-child,
.fcn-case-result p:last-child {
    margin-bottom:0;
}

/* Featured case study */
.fcn-case-study {
    display:flex;
    align-items:center;
    gap:48px;
    margin-bottom:40px;
}
.fcn-case-media-col {
    flex:0 0 50%;
    min-width:0;
}
.fcn-case-content {
    flex:1 1 0;
    min-width:0;
}
.fcn-case-media-right .fcn-case-media-col {
    order:2;
}
.fcn-case-media-right .fcn-case-content {
    order:1;
}
.fcn-case-media {
    position:relative;
    overflow:hidden;
    width:100%;
    background:transparent;
}
.fcn-case-media img,
.fcn-case-media video,
.fcn-case-media iframe {
    display:block;
    width:100%;
    max-width:100%;
}
.fcn-case-media img {
    height:auto;
    transition:transform .35s ease, opacity .35s ease;
}
.fcn-case-video-embed {
    position:relative;
    width:100%;
    aspect-ratio:16/9;
    overflow:hidden;
}
.fcn-case-video-embed iframe {
    position:absolute;
    inset:0;
    width:100% !important;
    height:100% !important;
}
.fcn-case-media video {
    aspect-ratio:16/9;
    object-fit:cover;
}
.fcn-case-hover-zoom .fcn-case-media:hover img {
    transform:scale(1.045);
}
.fcn-case-hover-fade .fcn-case-media:hover img {
    opacity:.84;
}
.fcn-case-title {
    margin:0 0 16px;
}
.fcn-case-meta {
    display:flex;
    flex-wrap:wrap;
    gap:8px 20px;
    margin-bottom:16px;
    opacity:.82;
}
.fcn-case-summary {
    margin-bottom:18px;
}
.fcn-case-result {
    margin:18px 0;
    padding:16px 18px;
    border-left:3px solid currentColor;
    background:color-mix(in srgb, currentColor 5%, transparent);
}
.fcn-case-result-label {
    display:block;
    margin-bottom:4px;
    font-size:.75em;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.fcn-case-button {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:.45em;
    margin-top:4px;
    padding:12px 20px;
    border:1px solid currentColor;
    text-decoration:none !important;
    color:inherit;
    transition:color .2s ease, background-color .2s ease, border-color .2s ease;
}

/* Related projects grid */
.fcn-work-grid-heading {
    margin:0 0 20px;
}
.fcn-work-grid {
    display:grid;
    gap:24px;
}
.fcn-work-card {
    overflow:hidden;
    box-sizing:border-box;
    border:1px solid rgba(0,0,0,.09);
    background:transparent;
    transition:transform .25s ease, border-color .25s ease, background-color .25s ease;
}
.fcn-work-card-image {
    display:block;
    overflow:hidden;
}
.fcn-work-card-image img {
    display:block;
    width:100%;
    height:210px;
    object-fit:cover;
    transition:transform .35s ease, opacity .35s ease;
}
.fcn-work-hover-zoom .fcn-work-card:hover .fcn-work-card-image img {
    transform:scale(1.045);
}
.fcn-work-hover-fade .fcn-work-card:hover .fcn-work-card-image img {
    opacity:.84;
}
.fcn-work-card-body {
    padding:18px;
}
.fcn-work-card-title-link {
    text-decoration:none !important;
    color:inherit;
}
.fcn-work-card-title {
    margin:0 0 10px;
    transition:color .2s ease;
}
.fcn-work-card-excerpt {
    margin-bottom:14px;
    color:inherit;
    opacity:.78;
}
.fcn-work-card-link,
.fcn-work-view-all {
    display:inline-flex;
    align-items:center;
    gap:.35em;
    color:inherit;
    text-decoration:none !important;
}
.fcn-work-view-all-wrap {
    margin-top:22px;
}

/* Responsive case-study ordering */
@media(max-width:767px) {
    .fcn-case-study {
        flex-direction:column;
        align-items:stretch;
    }
    .fcn-case-media-col,
    .fcn-case-content {
        flex-basis:auto !important;
        width:100%;
    }
    .fcn-case-mobile-media-first .fcn-case-media-col { order:1; }
    .fcn-case-mobile-media-first .fcn-case-content { order:2; }
    .fcn-case-mobile-content-first .fcn-case-content { order:1; }
    .fcn-case-mobile-content-first .fcn-case-media-col { order:2; }
}

@media(prefers-reduced-motion: reduce) {
    .fcn-case-media img,
    .fcn-work-card-image img,
    .fcn-work-card {
        transition-duration:.01ms !important;
        transform:none !important;
    }
}


/* v1.9 — grouped Platform Categories / mega-menu mode */
.fcn-platform-groups{display:grid;gap:24px;width:100%}
.fcn-platform-group{box-sizing:border-box;min-width:0}
.fcn-platform-group-title{margin:0 0 18px;color:inherit}
.fcn-platform-group-title a{color:inherit;text-decoration:none!important}
.fcn-platform-group-list{display:flex;flex-direction:column;gap:14px}
.fcn-platform-group-link{display:flex;align-items:center;gap:.55em;color:inherit;text-decoration:none!important;line-height:1.35}
.fcn-platform-group-link .fcn-icon{flex:0 0 auto}
@media(max-width:767px){.fcn-platform-groups{gap:20px}}
