/*
 * Falc-Lion Art Direction Studio — shared visual engine
 * All rules are scoped to body.flads-enabled and are designed to override
 * the supplied Falc-Lion ACF PRO theme without editing its templates.
 */

@property --flads-border-angle {
    syntax: '<angle>';
    initial-value: 0deg;
    inherits: false;
}

:root {
    --flads-user-glass: .78;
    --flads-user-glow: .74;
    --flads-motion-factor: 1;
    --flads-pointer-x: 50vw;
    --flads-pointer-y: 30vh;
}

body.flads-enabled {
    --flads-body-bg: #070707;
    --flads-bg: #0b0b0b;
    --flads-bg-alt: #101010;
    --flads-dark: #050505;
    --flads-surface: rgba(20, 20, 20, .72);
    --flads-surface-strong: rgba(10, 10, 10, .9);
    --flads-input: rgba(255, 255, 255, .055);
    --flads-heading: #ffffff;
    --flads-text: #f1f1f1;
    --flads-muted: #b5b5b5;
    --flads-on-dark: #ffffff;
    --flads-on-dark-muted: rgba(255,255,255,.64);
    --flads-accent: #d97706;
    --flads-accent-2: #fbbf24;
    --flads-accent-3: #92400e;
    --flads-accent-rgb: 217, 119, 6;
    --flads-button-text: #ffffff;
    --flads-border: rgba(255,255,255,.13);
    --flads-border-strong: rgba(255,255,255,.26);
    --flads-header: rgba(7,7,7,.76);
    --flads-header-text: #ffffff;
    --flads-topbar: #050505;
    --flads-hero-panel: rgba(7,7,7,.52);
    --flads-hero-gradient: linear-gradient(90deg, rgba(0,0,0,.88), rgba(0,0,0,.5) 60%, rgba(0,0,0,.16));
    --flads-title-gradient: linear-gradient(112deg, #fff 15%, var(--flads-accent-2) 62%, var(--flads-accent) 100%);
    --flads-featured: linear-gradient(145deg, rgba(7,7,7,.98), rgba(20,20,20,.86));
    --flads-shadow: 0 28px 80px rgba(0,0,0,.28);
    --flads-shadow-soft: 0 16px 45px rgba(0,0,0,.16);
    --flads-radius: 24px;
    --flads-radius-sm: 16px;
    --flads-button-radius: 999px;
    --flads-art: none;
    --flads-art-opacity: .12;
    --flads-mix-mode: screen;

    position: relative;
    isolation: isolate;
    overflow-x: clip;
    background: var(--flads-body-bg) !important;
    color: var(--flads-text) !important;
    accent-color: var(--flads-accent);
}

body.flads-enabled::selection,
body.flads-enabled *::selection {
    background: var(--flads-accent) !important;
    color: var(--flads-button-text) !important;
}

body.flads-enabled > main,
body.flads-enabled > header,
body.flads-enabled > footer,
body.flads-enabled > #nr-topbar,
body.flads-enabled > .fl-marquee {
    z-index: 1;
}

body.flads-enabled a,
body.flads-enabled button,
body.flads-enabled input,
body.flads-enabled select,
body.flads-enabled textarea {
    -webkit-tap-highlight-color: transparent;
}

/* Ambient art and pointer-responsive light. */
.flads-ambient-layer {
    position: fixed;
    inset: 0;
    z-index: 0;
    overflow: hidden;
    pointer-events: none;
    contain: strict;
    opacity: calc(.25 + (var(--flads-user-glow) * .24));
    mix-blend-mode: var(--flads-mix-mode);
}

.flads-ambient-off .flads-ambient-layer {
    display: none;
}

.flads-ambient-layer::before {
    content: '';
    position: absolute;
    inset: -8%;
    background-image: var(--flads-art);
    background-position: center;
    background-size: cover;
    opacity: var(--flads-art-opacity);
    filter: saturate(1.12) contrast(1.04);
    transform: scale(1.05);
}

.flads-orb {
    position: absolute;
    width: min(42vw, 680px);
    aspect-ratio: 1;
    border-radius: 50%;
    filter: blur(80px);
    opacity: calc(.1 + (var(--flads-user-glow) * .18));
    will-change: transform;
    animation: flads-orbit calc(22s / var(--flads-motion-factor)) ease-in-out infinite alternate;
}

.flads-orb-a {
    left: -18vw;
    top: 8vh;
    background: rgba(var(--flads-accent-rgb), .55);
}

.flads-orb-b {
    right: -16vw;
    top: 34vh;
    background: color-mix(in srgb, var(--flads-accent-2) 48%, transparent);
    animation-delay: -8s;
}

.flads-orb-c {
    left: 38vw;
    bottom: -32vw;
    background: rgba(var(--flads-accent-rgb), .32);
    animation-delay: -13s;
}

.flads-scanline {
    position: absolute;
    left: 0;
    right: 0;
    top: -20%;
    height: 18%;
    background: linear-gradient(180deg, transparent, rgba(var(--flads-accent-rgb), .08), transparent);
    opacity: calc(var(--flads-user-glow) * .65);
    animation: flads-scan calc(15s / var(--flads-motion-factor)) linear infinite;
}

.flads-pointer-light {
    position: fixed;
    inset: 0;
    z-index: 3;
    pointer-events: none;
    opacity: calc(.04 + (var(--flads-user-glow) * .12));
    background: radial-gradient(420px circle at var(--flads-pointer-x) var(--flads-pointer-y), rgba(var(--flads-accent-rgb), .56), transparent 66%);
    mix-blend-mode: var(--flads-mix-mode);
    transition: opacity .3s ease;
}

.flads-spotlight-off .flads-pointer-light,
.flads-pointer-light.is-idle {
    opacity: 0;
}

@keyframes flads-orbit {
    0%   { transform: translate3d(-2%, -1%, 0) scale(.94); }
    55%  { transform: translate3d(8%, 5%, 0) scale(1.05); }
    100% { transform: translate3d(-4%, 10%, 0) scale(.98); }
}

@keyframes flads-scan {
    to { transform: translateY(760%); }
}

/* Header and navigation. */
body.flads-enabled #nr-topbar {
    background: var(--flads-topbar) !important;
    color: var(--flads-on-dark-muted) !important;
    border-bottom: 1px solid var(--flads-border) !important;
}

body.flads-enabled #nr-header,
body.flads-enabled #nr-header.scrolled,
body.flads-enabled #nr-header.light-bg {
    background:
        linear-gradient(90deg, rgba(var(--flads-accent-rgb), .04), transparent 35%, rgba(var(--flads-accent-rgb), .025)),
        var(--flads-header) !important;
    border-bottom: 1px solid var(--flads-border) !important;
    box-shadow: 0 16px 50px rgba(0,0,0,.12) !important;
    backdrop-filter: blur(22px) saturate(1.35) !important;
    -webkit-backdrop-filter: blur(22px) saturate(1.35) !important;
}

body.flads-enabled #nr-header::after {
    content: '';
    position: absolute;
    left: 4%;
    right: 4%;
    bottom: -1px;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--flads-accent), var(--flads-accent-2), transparent);
    opacity: calc(.15 + (var(--flads-user-glow) * .52));
    box-shadow: 0 0 18px rgba(var(--flads-accent-rgb), calc(var(--flads-user-glow) * .52));
    pointer-events: none;
}

body.flads-enabled #nr-header #nr-logo-text,
body.flads-enabled #nr-header .nr-header-phone,
body.flads-enabled #nr-header.light-bg #nr-logo-text,
body.flads-enabled #nr-header.light-bg .nr-header-phone,
body.flads-enabled #nr-header nav a,
body.flads-enabled #nr-header.light-bg nav a,
body.flads-enabled #nr-menu-toggle,
body.flads-enabled #nr-header.light-bg #nr-menu-toggle {
    color: var(--flads-header-text) !important;
}

body.flads-enabled #nr-header nav a {
    border: 1px solid transparent;
    border-radius: 999px !important;
    padding-inline: .9rem !important;
}

body.flads-enabled #nr-header nav a:hover,
body.flads-enabled #nr-header nav .current-menu-item > a {
    color: var(--flads-header-text) !important;
    background: rgba(var(--flads-accent-rgb), .1) !important;
    border-color: rgba(var(--flads-accent-rgb), .24) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 10px 30px rgba(var(--flads-accent-rgb), .08);
}

body.flads-enabled #nr-header nav a::after {
    background: linear-gradient(90deg, var(--flads-accent), var(--flads-accent-2)) !important;
    box-shadow: 0 0 12px rgba(var(--flads-accent-rgb), .55);
}

body.flads-enabled #nr-mobile-menu {
    background: var(--flads-surface-strong) !important;
    border-color: var(--flads-border) !important;
    backdrop-filter: blur(24px) saturate(1.25);
    -webkit-backdrop-filter: blur(24px) saturate(1.25);
}

/* Hero. */
body.flads-enabled #hero {
    background: var(--flads-dark) !important;
    isolation: isolate;
}

body.flads-enabled #hero::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    background-image:
        linear-gradient(115deg, rgba(var(--flads-accent-rgb), .13), transparent 30%, transparent 70%, rgba(var(--flads-accent-rgb), .08)),
        var(--flads-art);
    background-size: cover, cover;
    background-position: center, var(--flads-art-position, center);
    opacity: var(--flads-hero-art-opacity, var(--flads-art-opacity));
    mix-blend-mode: var(--flads-hero-art-blend, var(--flads-mix-mode));
}

body.flads-enabled #hero::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 3;
    pointer-events: none;
    background:
        linear-gradient(90deg, transparent 0 8%, rgba(var(--flads-accent-rgb), .2) 8.1%, transparent 8.25%),
        linear-gradient(180deg, transparent 0 88%, rgba(var(--flads-accent-rgb), .18) 88.1%, transparent 88.25%);
    opacity: calc(var(--flads-user-glow) * .22);
}

body.flads-enabled .nr-hero-swiper .swiper-slide > div:first-child::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 4;
    pointer-events: none;
    background: var(--flads-hero-gradient);
}

body.flads-enabled .nr-hero-swiper .swiper-slide > .nr-container {
    z-index: 6 !important;
}

body.flads-enabled .nr-hero-swiper .swiper-slide > .nr-container > div {
    position: relative;
    padding: clamp(1.35rem, 3.5vw, 2.5rem);
    border-radius: var(--flads-radius);
    background:
        linear-gradient(135deg, rgba(255,255,255,.075), transparent 42%),
        var(--flads-hero-panel);
    border: 1px solid var(--flads-border);
    box-shadow: var(--flads-shadow), inset 0 1px 0 rgba(255,255,255,.08);
    backdrop-filter: blur(calc(8px + (var(--flads-user-glass) * 14px))) saturate(1.26);
    -webkit-backdrop-filter: blur(calc(8px + (var(--flads-user-glass) * 14px))) saturate(1.26);
}

body.flads-enabled .nr-hero-swiper .swiper-slide > .nr-container > div::before {
    content: '';
    position: absolute;
    inset: -1px;
    border-radius: inherit;
    padding: 1px;
    background: linear-gradient(125deg, rgba(var(--flads-accent-rgb), .72), rgba(255,255,255,.12), transparent 52%, rgba(var(--flads-accent-rgb), .25));
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
    opacity: calc(.28 + (var(--flads-user-glow) * .46));
}

body.flads-enabled #hero .fl-gradient-text,
body.flads-enabled #hero h1 {
    background: var(--flads-title-gradient) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    color: transparent !important;
    filter: drop-shadow(0 14px 32px rgba(0,0,0,.35));
}

body.flads-enabled:not(.flads-native-htfx-sub-on) #hero p {
    color: var(--flads-on-dark-muted) !important;
}

body.flads-enabled .nr-hero-pagination .swiper-pagination-bullet-active::after,
body.flads-enabled #fl-scroll-progress {
    background: linear-gradient(90deg, var(--flads-accent), var(--flads-accent-2)) !important;
    box-shadow: 0 0 16px rgba(var(--flads-accent-rgb), .65) !important;
}

body.flads-enabled .nr-swiper-btn {
    background: var(--flads-surface) !important;
    border-color: var(--flads-border-strong) !important;
    color: var(--flads-on-dark) !important;
    box-shadow: 0 12px 35px rgba(0,0,0,.2), inset 0 1px 0 rgba(255,255,255,.1);
    backdrop-filter: blur(14px) saturate(1.3);
}

body.flads-enabled .nr-swiper-btn:hover {
    background: rgba(var(--flads-accent-rgb), .22) !important;
    border-color: rgba(var(--flads-accent-rgb), .65) !important;
    box-shadow: 0 0 28px rgba(var(--flads-accent-rgb), .24);
}

/* Main section canvases. */
body.flads-enabled main > section,
body.flads-enabled main section {
    position: relative;
    isolation: isolate;
}

body.flads-enabled #services,
body.flads-enabled #portfolio,
body.flads-enabled #cta,
body.flads-enabled main section[style*="background:#f5f1ea"],
body.flads-enabled main section[style*="background: #f5f1ea"] {
    background: var(--flads-bg-alt) !important;
}

body.flads-enabled #why-us,
body.flads-enabled #testimonials,
body.flads-enabled main section[style*="background:#fff"],
body.flads-enabled main section[style*="background: #fff"],
body.flads-enabled main section[style*="background:#ffffff"],
body.flads-enabled main section[style*="background: #ffffff"] {
    background: var(--flads-bg) !important;
}

body.flads-enabled #process,
body.flads-enabled #areas,
body.flads-enabled main section[style*="background:#0f1117"],
body.flads-enabled main section[style*="background: #0f1117"],
body.flads-enabled main section[style*="background:#1a1d24"],
body.flads-enabled main section[style*="linear-gradient(165deg,#0f1117"],
body.flads-enabled main section[style*="linear-gradient(160deg,#0f1117"] {
    background: var(--flads-dark) !important;
}

body.flads-enabled :is(#services, #portfolio, #cta, #why-us, #testimonials, #process, #areas)::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background-image: var(--flads-art);
    background-size: cover;
    background-position: center;
    opacity: calc(var(--flads-art-opacity) * .78);
    mix-blend-mode: var(--flads-mix-mode);
    -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 18%, #000 82%, transparent 100%);
    mask-image: linear-gradient(180deg, transparent 0%, #000 18%, #000 82%, transparent 100%);
}

body.flads-enabled :is(#services, #portfolio, #cta, #why-us, #testimonials)::after {
    content: '';
    position: absolute;
    left: 5%;
    right: 5%;
    top: 0;
    height: 1px;
    z-index: 2;
    pointer-events: none;
    background: linear-gradient(90deg, transparent, rgba(var(--flads-accent-rgb), .55), transparent);
    opacity: calc(var(--flads-user-glow) * .55);
}

/* Typography and color remapping. */
body.flads-enabled main .nr-display,
body.flads-enabled main [style*="color:#0f1117"],
body.flads-enabled main [style*="color: #0f1117"] {
    color: var(--flads-heading) !important;
}

body.flads-enabled main [style*="color:#6b7280"],
body.flads-enabled main [style*="color: #6b7280"] {
    color: var(--flads-muted) !important;
}

body.flads-enabled main :is(#process, #areas) .nr-display,
body.flads-enabled main :is(#process, #areas) h3,
body.flads-enabled main :is(#process, #areas) [style*="color:#ffffff"],
body.flads-enabled main :is(#process, #areas) [style*="color:#fff"] {
    color: var(--flads-on-dark) !important;
}

body.flads-enabled main :is(#process, #areas) p,
body.flads-enabled main :is(#process, #areas) [style*="rgba(255,255,255"] {
    color: var(--flads-on-dark-muted) !important;
}

body.flads-enabled .nr-label,
body.flads-enabled main [style*="color:#d97706"],
body.flads-enabled main [style*="color: #d97706"],
body.flads-enabled main [style*="color:#fbbf24"],
body.flads-enabled main [style*="color: #fbbf24"] {
    color: var(--flads-accent) !important;
}

body.flads-enabled .nr-label::before {
    background: linear-gradient(90deg, var(--flads-accent), var(--flads-accent-2)) !important;
    box-shadow: 0 0 14px rgba(var(--flads-accent-rgb), .55);
}

body.flads-enabled .nr-display {
    text-wrap: balance;
}

body.flads-enabled main p,
body.flads-enabled main li,
body.flads-enabled main blockquote {
    text-wrap: pretty;
}

/* Premium buttons. */
body.flads-enabled .nr-btn {
    --flads-mx: 0px;
    --flads-my: 0px;
    --flads-hover-lift: 0px;
    position: relative;
    isolation: isolate;
    overflow: hidden;
    border-radius: var(--flads-button-radius) !important;
    border-width: 1px !important;
    transform: translate3d(var(--flads-mx), calc(var(--flads-my) - var(--flads-hover-lift)), 0) !important;
    transition:
        transform .25s cubic-bezier(.22,1,.36,1),
        box-shadow .3s ease,
        border-color .3s ease,
        background .3s ease !important;
    will-change: transform;
}

body.flads-enabled .nr-btn::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(112deg, transparent 20%, rgba(255,255,255,.36) 44%, transparent 68%);
    transform: translateX(-130%) skewX(-18deg);
    transition: transform .72s cubic-bezier(.22,1,.36,1);
    pointer-events: none;
}

body.flads-enabled .nr-btn:hover {
    --flads-hover-lift: 3px;
}

body.flads-enabled .nr-btn:hover::after {
    transform: translateX(135%) skewX(-18deg);
}

body.flads-enabled .nr-btn-primary,
body.flads-enabled .nr-btn-dark {
    color: var(--flads-button-text) !important;
    background: linear-gradient(135deg, var(--flads-accent-2), var(--flads-accent) 52%, var(--flads-accent-3)) !important;
    border-color: rgba(var(--flads-accent-rgb), .74) !important;
    box-shadow:
        0 14px 34px rgba(var(--flads-accent-rgb), calc(.12 + (var(--flads-user-glow) * .24))),
        inset 0 1px 0 rgba(255,255,255,.32),
        inset 0 -1px 0 rgba(0,0,0,.18) !important;
}

body.flads-enabled .nr-btn-primary:hover,
body.flads-enabled .nr-btn-dark:hover {
    background: linear-gradient(135deg, var(--flads-accent-2), var(--flads-accent) 46%, var(--flads-accent-3)) !important;
    border-color: var(--flads-accent-2) !important;
    box-shadow:
        0 18px 44px rgba(var(--flads-accent-rgb), calc(.18 + (var(--flads-user-glow) * .32))),
        0 0 0 4px rgba(var(--flads-accent-rgb), .09),
        inset 0 1px 0 rgba(255,255,255,.38) !important;
}

body.flads-enabled .nr-btn-outline {
    color: var(--flads-on-dark) !important;
    background: rgba(255,255,255,.055) !important;
    border-color: var(--flads-border-strong) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 12px 28px rgba(0,0,0,.1);
    backdrop-filter: blur(14px) saturate(1.2);
    -webkit-backdrop-filter: blur(14px) saturate(1.2);
}

body.flads-enabled .nr-btn-outline:hover {
    color: var(--flads-on-dark) !important;
    background: rgba(var(--flads-accent-rgb), .13) !important;
    border-color: rgba(var(--flads-accent-rgb), .58) !important;
}

body.flads-enabled :is(a, button, input, select, textarea):focus-visible {
    outline: 3px solid rgba(var(--flads-accent-rgb), .38) !important;
    outline-offset: 3px !important;
}

/* Shared card system. JS applies .flads-card to exact Falc-Lion surfaces. */
body.flads-enabled .flads-card,
body.flads-enabled #services [data-tilt],
body.flads-enabled .nr-portfolio-item,
body.flads-enabled #areas-grid > div,
body.flads-enabled #cta-grid > div,
body.flads-enabled #testimonials blockquote,
body.flads-enabled article[style*="background:#fff"],
body.flads-enabled article[style*="background: #fff"] {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    border-radius: var(--flads-radius) !important;
    background:
        linear-gradient(145deg, rgba(255,255,255,.085), transparent 42%),
        var(--flads-surface) !important;
    border: 1px solid var(--flads-border) !important;
    box-shadow: var(--flads-shadow-soft), inset 0 1px 0 rgba(255,255,255,.08) !important;
    backdrop-filter: blur(calc(7px + (var(--flads-user-glass) * 15px))) saturate(1.24) !important;
    -webkit-backdrop-filter: blur(calc(7px + (var(--flads-user-glass) * 15px))) saturate(1.24) !important;
    transition:
        transform calc(.52s / var(--flads-motion-factor)) cubic-bezier(.22,1,.36,1),
        border-color .35s ease,
        box-shadow .35s ease !important;
}

body.flads-enabled .flads-card::before {
    content: '';
    position: absolute;
    inset: -1px;
    z-index: 4;
    pointer-events: none;
    border-radius: inherit;
    background: radial-gradient(330px circle at var(--flads-card-x, 50%) var(--flads-card-y, 0%), rgba(255,255,255,.22), rgba(var(--flads-accent-rgb), .11) 28%, transparent 68%);
    opacity: 0;
    transition: opacity .3s ease;
    mix-blend-mode: screen;
}

body.flads-enabled.flads-glare-on .flads-card:hover::before {
    opacity: calc(.22 + (var(--flads-user-glow) * .56));
}

body.flads-enabled .flads-card::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 5;
    pointer-events: none;
    border-radius: inherit;
    border: 1px solid transparent;
    background: linear-gradient(125deg, rgba(var(--flads-accent-rgb), .44), transparent 28%, transparent 68%, rgba(255,255,255,.18)) border-box;
    -webkit-mask: linear-gradient(#000 0 0) padding-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    opacity: calc(.28 + (var(--flads-user-glow) * .34));
}

body.flads-enabled .flads-card:hover,
body.flads-enabled .nr-portfolio-item:hover,
body.flads-enabled #testimonials blockquote:hover {
    border-color: rgba(var(--flads-accent-rgb), .42) !important;
    box-shadow:
        0 28px 70px rgba(0,0,0,.24),
        0 0 40px rgba(var(--flads-accent-rgb), calc(var(--flads-user-glow) * .12)),
        inset 0 1px 0 rgba(255,255,255,.12) !important;
}

body.flads-enabled .flads-featured,
body.flads-enabled #cta-grid > div:first-child {
    background:
        linear-gradient(145deg, rgba(var(--flads-accent-rgb), .12), transparent 38%),
        var(--flads-featured) !important;
    border-color: rgba(var(--flads-accent-rgb), .56) !important;
    box-shadow:
        0 30px 84px rgba(0,0,0,.3),
        0 0 44px rgba(var(--flads-accent-rgb), calc(var(--flads-user-glow) * .13)),
        inset 0 1px 0 rgba(255,255,255,.08) !important;
}

body.flads-enabled .flads-card h3,
body.flads-enabled .nr-portfolio-item h3,
body.flads-enabled #testimonials blockquote p,
body.flads-enabled #testimonials blockquote cite {
    color: var(--flads-heading) !important;
}

body.flads-enabled .flads-card p,
body.flads-enabled .flads-card li,
body.flads-enabled .nr-portfolio-item [style*="color:#6b7280"],
body.flads-enabled #testimonials blockquote [style*="color:#6b7280"] {
    color: var(--flads-muted) !important;
}

body.flads-enabled .flads-featured h3,
body.flads-enabled .flads-featured p,
body.flads-enabled .flads-featured li,
body.flads-enabled #cta-grid > div:first-child h3,
body.flads-enabled #cta-grid > div:first-child p,
body.flads-enabled #cta-grid > div:first-child label {
    color: var(--flads-on-dark) !important;
}


body.flads-enabled .flads-mini-surface {
    position: relative;
    border: 1px solid var(--flads-border) !important;
    border-radius: var(--flads-radius-sm) !important;
    background: var(--flads-surface) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 12px 30px rgba(0,0,0,.1) !important;
    backdrop-filter: blur(12px) saturate(1.2);
    -webkit-backdrop-filter: blur(12px) saturate(1.2);
}

body.flads-enabled #process-steps > .flads-card {
    padding: 1.45rem 1rem 1.6rem;
}

body.flads-enabled #process-steps > .flads-card::before {
    opacity: calc(.08 + (var(--flads-user-glow) * .18));
}

/* Why-us image receives a luminous frame. */
body.flads-enabled .flads-image-shell {
    position: relative;
    isolation: isolate;
}

body.flads-enabled .flads-image-shell::before {
    content: '';
    position: absolute;
    inset: -10px;
    z-index: -1;
    border-radius: calc(var(--flads-radius) + 9px);
    background:
        linear-gradient(130deg, rgba(var(--flads-accent-rgb), .7), transparent 30%, rgba(255,255,255,.1) 55%, rgba(var(--flads-accent-rgb), .32)),
        var(--flads-art);
    opacity: calc(.36 + (var(--flads-user-glow) * .36));
    filter: blur(.2px);
}

body.flads-enabled .flads-image-shell::after {
    content: '';
    position: absolute;
    width: 38%;
    height: 2px;
    right: -5%;
    top: 9%;
    z-index: 4;
    background: linear-gradient(90deg, transparent, var(--flads-accent-2), transparent);
    box-shadow: 0 0 20px rgba(var(--flads-accent-rgb), .72);
    opacity: calc(.3 + (var(--flads-user-glow) * .52));
    transform: rotate(-3deg);
    pointer-events: none;
}

body.flads-enabled .flads-image-shell > img {
    border-radius: var(--flads-radius) !important;
    border: 1px solid var(--flads-border-strong) !important;
    box-shadow: var(--flads-shadow) !important;
}

body.flads-enabled #why-us .flads-image-shell > div[style*="position:absolute"] {
    background: var(--flads-surface-strong) !important;
    border: 1px solid rgba(var(--flads-accent-rgb), .42) !important;
    border-radius: var(--flads-radius-sm) !important;
    box-shadow: 0 18px 54px rgba(0,0,0,.28), 0 0 30px rgba(var(--flads-accent-rgb), .12) !important;
    backdrop-filter: blur(16px);
}

/* Process and trust bar. */
body.flads-enabled .flads-trustbar {
    background: var(--flads-dark) !important;
    border-color: var(--flads-border) !important;
}

body.flads-enabled .flads-trustbar .nr-container > div {
    background: var(--flads-border) !important;
    border: 1px solid var(--flads-border) !important;
    border-radius: var(--flads-radius-sm) !important;
    box-shadow: var(--flads-shadow-soft);
}

body.flads-enabled .flads-trustbar .nr-container > div > div {
    background: var(--flads-surface-strong) !important;
    color: var(--flads-on-dark) !important;
}

body.flads-enabled .flads-trustbar .nr-container > div > div:hover {
    background: rgba(var(--flads-accent-rgb), .11) !important;
}

body.flads-enabled #process-steps > div > div:first-child > div {
    background: var(--flads-surface) !important;
    border-color: rgba(var(--flads-accent-rgb), .34) !important;
    color: var(--flads-accent) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.07), 0 16px 36px rgba(0,0,0,.18);
    backdrop-filter: blur(12px);
}

body.flads-enabled #process-steps > div > div:first-child > span {
    background: linear-gradient(135deg, var(--flads-accent-2), var(--flads-accent)) !important;
    color: var(--flads-button-text) !important;
    box-shadow: 0 8px 22px rgba(var(--flads-accent-rgb), .28);
}

/* Portfolio and gallery controls. */
body.flads-enabled .nr-filter-btn {
    color: var(--flads-muted) !important;
    background: var(--flads-surface) !important;
    border-color: var(--flads-border) !important;
    backdrop-filter: blur(12px);
}

body.flads-enabled .nr-filter-btn:hover,
body.flads-enabled .nr-filter-btn.active {
    color: var(--flads-button-text) !important;
    background: linear-gradient(135deg, var(--flads-accent-2), var(--flads-accent)) !important;
    border-color: var(--flads-accent) !important;
    box-shadow: 0 10px 28px rgba(var(--flads-accent-rgb), .22);
}

body.flads-enabled .nr-portfolio-item > div:first-child,
body.flads-enabled article[style*="background:#fff"] > div:first-child {
    border-bottom: 1px solid var(--flads-border);
}

body.flads-enabled .nr-portfolio-item img,
body.flads-enabled .fl-card-gallery img,
body.flads-enabled .fl-svc-coverflow img {
    filter: saturate(1.03) contrast(1.04);
}

body.flads-enabled .fl-cg-nav,
body.flads-enabled .nr-ba-toggle {
    background: var(--flads-surface-strong) !important;
    border: 1px solid var(--flads-border-strong) !important;
    color: var(--flads-on-dark) !important;
    backdrop-filter: blur(12px);
}

body.flads-enabled .fl-cg-nav:hover,
body.flads-enabled .nr-ba-toggle:hover {
    background: var(--flads-accent) !important;
    border-color: var(--flads-accent-2) !important;
    color: var(--flads-button-text) !important;
}

body.flads-enabled .nr-test-pagination .swiper-pagination-bullet-active,
body.flads-enabled .fl-svc-coverflow .swiper-pagination-bullet-active {
    background: linear-gradient(90deg, var(--flads-accent), var(--flads-accent-2)) !important;
    box-shadow: 0 0 14px rgba(var(--flads-accent-rgb), .45);
}

/* Forms. */
body.flads-enabled #cta input,
body.flads-enabled #cta select,
body.flads-enabled #cta textarea,
body.flads-enabled main input:not([type="submit"]):not([type="button"]),
body.flads-enabled main select,
body.flads-enabled main textarea {
    color: var(--flads-heading) !important;
    background: var(--flads-input) !important;
    border-color: var(--flads-border) !important;
    border-radius: calc(var(--flads-radius-sm) * .72) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.04) !important;
    backdrop-filter: blur(12px);
    transition: border-color .25s ease, box-shadow .25s ease, background .25s ease !important;
}

body.flads-enabled #cta input::placeholder,
body.flads-enabled #cta textarea::placeholder,
body.flads-enabled main input::placeholder,
body.flads-enabled main textarea::placeholder {
    color: color-mix(in srgb, var(--flads-muted) 72%, transparent) !important;
}

body.flads-enabled #cta input:focus,
body.flads-enabled #cta select:focus,
body.flads-enabled #cta textarea:focus,
body.flads-enabled main input:focus,
body.flads-enabled main select:focus,
body.flads-enabled main textarea:focus {
    background: color-mix(in srgb, var(--flads-input) 82%, rgba(var(--flads-accent-rgb), .08)) !important;
    border-color: rgba(var(--flads-accent-rgb), .7) !important;
    box-shadow: 0 0 0 4px rgba(var(--flads-accent-rgb), .11), inset 0 1px 0 rgba(255,255,255,.06) !important;
}

body.flads-enabled main select option {
    color: var(--flads-heading);
    background: var(--flads-bg);
}

/* Service area map and cards. */
body.flads-enabled .fl-wpgomaps-wrap,
body.flads-enabled #areas [style*="border-radius:1rem"] {
    border-color: var(--flads-border) !important;
    border-radius: var(--flads-radius) !important;
    box-shadow: var(--flads-shadow-soft) !important;
    overflow: hidden;
}

/* Footer and persistent controls. */
body.flads-enabled .fl-marquee,
body.flads-enabled > footer {
    background: var(--flads-dark) !important;
    border-color: var(--flads-border) !important;
}

body.flads-enabled .fl-marquee {
    box-shadow: inset 0 1px 0 var(--flads-border);
}

body.flads-enabled .fl-marquee-item {
    color: color-mix(in srgb, var(--flads-on-dark) 34%, transparent) !important;
}

body.flads-enabled .fl-marquee-item:hover,
body.flads-enabled .fl-marquee-dot {
    color: var(--flads-accent) !important;
}

body.flads-enabled > footer h3,
body.flads-enabled > footer strong,
body.flads-enabled > footer [style*="color:#fff"] {
    color: var(--flads-on-dark) !important;
}

body.flads-enabled > footer p,
body.flads-enabled > footer li,
body.flads-enabled > footer a,
body.flads-enabled > footer address,
body.flads-enabled > footer [style*="rgba(255,255,255"] {
    color: var(--flads-on-dark-muted) !important;
}

body.flads-enabled > footer a:hover {
    color: var(--flads-on-dark) !important;
}

body.flads-enabled #fl-backtotop,
body.flads-enabled .fl-mcb-book {
    color: var(--flads-button-text) !important;
    background: linear-gradient(135deg, var(--flads-accent-2), var(--flads-accent)) !important;
    border: 1px solid rgba(var(--flads-accent-rgb), .7) !important;
    box-shadow: 0 12px 34px rgba(var(--flads-accent-rgb), .28) !important;
}

body.flads-enabled .fl-mcb-call {
    background: var(--flads-surface-strong) !important;
    color: var(--flads-on-dark) !important;
    border: 1px solid var(--flads-border) !important;
}

/* Admin-only front-end preview banner. */
.flads-preview-banner {
    position: fixed;
    left: 50%;
    bottom: 22px;
    z-index: 100002;
    transform: translateX(-50%);
    width: min(720px, calc(100vw - 30px));
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .85rem 1rem .85rem 1.15rem;
    color: var(--flads-on-dark);
    background: var(--flads-surface-strong);
    border: 1px solid rgba(var(--flads-accent-rgb), .48);
    border-radius: 18px;
    box-shadow: 0 24px 70px rgba(0,0,0,.42), 0 0 34px rgba(var(--flads-accent-rgb), .16);
    backdrop-filter: blur(22px) saturate(1.3);
    -webkit-backdrop-filter: blur(22px) saturate(1.3);
    font: 500 13px/1.4 system-ui, sans-serif;
}

.flads-preview-actions {
    display: flex;
    align-items: center;
    gap: .55rem;
    flex-wrap: wrap;
}

.flads-preview-banner a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: .55rem .85rem;
    border-radius: 999px;
    text-decoration: none;
    font-weight: 700;
}

.flads-preview-activate {
    color: var(--flads-button-text) !important;
    background: linear-gradient(135deg, var(--flads-accent-2), var(--flads-accent));
}

.flads-preview-exit {
    color: var(--flads-on-dark) !important;
    border: 1px solid var(--flads-border-strong);
    background: rgba(255,255,255,.05);
}

/* Theme-level motion choices. */
body.flads-motion-subtle .flads-orb-c,
body.flads-motion-subtle .flads-scanline {
    display: none;
}

body.flads-motion-subtle .flads-orb {
    animation-duration: 42s;
    opacity: calc(.06 + (var(--flads-user-glow) * .08));
}

body.flads-motion-cinematic .flads-image-shell::after {
    animation: flads-edge-pulse 3.8s ease-in-out infinite;
}

@keyframes flads-edge-pulse {
    0%, 100% { opacity: .28; transform: rotate(-3deg) scaleX(.82); }
    50% { opacity: .9; transform: rotate(-3deg) scaleX(1.08); }
}

/* Responsive tuning. */
@media (max-width: 1023px) {
    body.flads-enabled .nr-hero-swiper .swiper-slide > .nr-container > div {
        max-width: min(680px, 92vw);
    }

    .flads-pointer-light {
        display: none;
    }
}

@media (max-width: 767px) {
    body.flads-enabled {
        --flads-radius: 19px;
        --flads-radius-sm: 14px;
    }

    body.flads-enabled .nr-hero-swiper .swiper-slide > .nr-container > div {
        padding: 1.35rem;
        background: color-mix(in srgb, var(--flads-hero-panel) 92%, transparent);
    }

    body.flads-enabled .flads-card::before,
    body.flads-enabled .flads-image-shell::after {
        display: none;
    }

    .flads-preview-banner {
        align-items: flex-start;
        flex-direction: column;
        bottom: 84px;
    }
}

@media (max-width: 480px) {
    body.flads-enabled .nr-btn {
        width: 100%;
        justify-content: center;
    }

    body.flads-enabled #hero .nr-btn {
        width: auto;
    }
}

@media (prefers-reduced-motion: reduce) {
    .flads-orb,
    .flads-scanline,
    body.flads-motion-cinematic .flads-image-shell::after {
        animation: none !important;
    }

    body.flads-enabled .nr-btn,
    body.flads-enabled .flads-card {
        transform: none !important;
        transition-duration: .01ms !important;
    }

    .flads-pointer-light,
    body.flads-enabled .flads-card::before {
        display: none !important;
    }
}

@supports not (backdrop-filter: blur(4px)) {
    body.flads-enabled .flads-card,
    body.flads-enabled .nr-hero-swiper .swiper-slide > .nr-container > div,
    body.flads-enabled #nr-header {
        background: var(--flads-surface-strong) !important;
    }
}

/* ============================================================
   Falc-Lion ACF PRO 3.7 selector compatibility
   ============================================================ */
body.flads-enabled :is(#fl-backtotop,#fl-back-top,.fl-mcb-book,.fl-mb-cta) {
    color: var(--flads-button-text) !important;
    background: linear-gradient(135deg, var(--flads-accent-2), var(--flads-accent)) !important;
    border: 1px solid rgba(var(--flads-accent-rgb), .7) !important;
    box-shadow: 0 12px 34px rgba(var(--flads-accent-rgb), .28) !important;
}
body.flads-enabled :is(.fl-mcb-call,.fl-mb-call) {
    background: var(--flads-surface-strong) !important;
    color: var(--flads-on-dark) !important;
    border: 1px solid var(--flads-border) !important;
}
body.flads-enabled .fl-mobile-bar {
    border-top-color: var(--flads-border) !important;
    background: color-mix(in srgb, var(--flads-dark) 92%, transparent) !important;
    backdrop-filter: blur(22px) saturate(1.25);
    -webkit-backdrop-filter: blur(22px) saturate(1.25);
}

/* Explicit v3.7 cards supplement the legacy structural selectors. */
body.flads-enabled :is(.fl-svc-card,.fl-project-card,.fl-area-card,.fl-cta-card,.fl-testimonial-card,.fl-process-step) {
    position: relative;
}

/* When the 3.7 native Hero Text FX engine is active, leave its title optics
   intact instead of stacking the Studio's generic title paint on top. */
body.flads-enabled.flads-native-htfx-on #hero .fl-hero-title {
    background:none !important;
    -webkit-background-clip:border-box !important;
    background-clip:border-box !important;
    -webkit-text-fill-color:initial !important;
    color:inherit !important;
    filter:none !important;
}
