/* REM Native Elementor v8.1.1 — behaviour/effects only.
   Layout, spacing, colours, typography, borders, backgrounds and responsive sizing are stored in Elementor settings. */
.rem-native-site{--rem-teal:#5bc5be;--rem-teal2:#91d9d4;--rem-ink:#090b0c;--rem-paper:#f2efe8;--rem-dark:#172022;}
.rem-native-site *{box-sizing:border-box}
.rem-native-site a:focus-visible,.rem-native-site button:focus-visible{outline:2px solid var(--rem-teal);outline-offset:3px}

/* Header behaviour */
.rem-native-site .rem-header{backdrop-filter:blur(16px);transition:min-height .25s ease,background-color .25s ease}
.rem-native-site .rem-header.rem-compact{min-height:70px}

/* Hero carousel behaviour. Each project is one native slide Container containing its own Image + caption widgets. */
.rem-home-hero .rem-hero-project-slide{display:none;pointer-events:none}
.rem-home-hero .rem-hero-project-slide.rem-active{display:flex;pointer-events:auto;animation:remHeroFade .7s ease both}
.rem-home-hero .rem-hero-project-slide[aria-hidden="true"]{display:none}
.rem-home-hero .rem-hero-slide-image img{transition:transform 7s cubic-bezier(.18,.68,.2,1);transform:scale(1.04)}
.rem-home-hero .rem-hero-project-slide.rem-active .rem-hero-slide-image img{transform:scale(1)}
@keyframes remHeroFade{from{opacity:.25}to{opacity:1}}

/* Native overlay Containers are styled in Elementor; CSS only prevents them intercepting clicks. */
.rem-native-site .rem-overlay{pointer-events:none}

/* Image hover effect */
.rem-native-site .rem-card-image img{transition:transform .7s ease}
.rem-native-site .rem-project-card:hover .rem-card-image img,.rem-native-site .rem-work-card:hover .rem-card-image img{transform:scale(1.035)}

/* Work filtering is interaction state only. */
.rem-native-site .rem-work-card.rem-filter-hidden{display:none}

/* Active states are interaction states; normal/hover styling remains editable in Elementor. */
.rem-native-site .rem-filter.rem-active .elementor-button{background:#183b3d;color:#fff;border-color:#183b3d}
.rem-native-site .rem-hero-dot.rem-active .elementor-button{border-color:var(--rem-teal);background:rgba(91,197,190,.13);color:var(--rem-teal2)}
.rem-native-site .rem-nav-link.rem-active .elementor-button{color:var(--rem-teal2)}

/* Sticky case-study metadata is an unsupported behaviour effect, not visible content. */
.rem-native-site .rem-case-meta{position:sticky;top:105px;align-self:flex-start}

/* One native navigation container becomes an off-canvas/dropdown menu on tablet/mobile. */
@media(max-width:1024px){
 .rem-native-site .rem-desktop-nav{position:fixed;z-index:1002;top:70px;left:0;right:0;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-12px);transition:opacity .22s ease,transform .22s ease,visibility .22s ease}
 body.rem-menu-open .rem-native-site .rem-desktop-nav{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
}

@media(prefers-reduced-motion:reduce){
 .rem-native-site *{scroll-behavior:auto;transition:none;animation:none}
 .rem-home-hero .rem-hero-slide-image img{transform:none}
}
