/*
Theme Name: Fluxos V3
Theme URI: https://fluxos.tn/
Author: Fluxos
Description: Lightweight custom WordPress theme for Fluxos Tunisie. No Elementor, no jQuery, no external framework.
Version: 3.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: fluxos-v3
*/

:root{
 --fx-bg:#ffffff;--fx-text:#0b0d12;--fx-muted:#69717e;--fx-line:#e7e9ed;
 --fx-soft:#f5f7fa;--fx-dark:#080a0e;--fx-blue:#1769ff;--fx-max:1180px;
 --fx-radius:22px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--fx-bg);color:var(--fx-text);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}
body,button,input,textarea,select{font-synthesis:none}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{cursor:pointer}
.fx-container{width:min(calc(100% - 36px),var(--fx-max));margin:0 auto}

.fx-header{position:sticky;top:0;z-index:999;background:rgba(255,255,255,.96);border-bottom:1px solid var(--fx-line)}
.fx-header-inner{height:74px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.fx-logo{display:inline-flex;align-items:center;gap:9px;font-weight:900;letter-spacing:-1.6px;font-size:24px}
.fx-logo-mark{width:34px;height:34px;border-radius:10px;background:var(--fx-dark);display:grid;place-items:center;color:#fff;font-size:14px}
.fx-logo-text span{color:var(--fx-blue)}
.fx-nav{display:flex;align-items:center;gap:27px;font-size:14px;font-weight:700}
.fx-nav a:hover{color:var(--fx-blue)}
.fx-header-button,.fx-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:12px 19px;font-size:14px;font-weight:800;border:1px solid transparent;transition:transform .2s ease,background .2s ease}
.fx-header-button,.fx-btn-dark{background:var(--fx-dark);color:#fff}
.fx-btn-outline{border-color:#cfd4dc;background:#fff}
.fx-btn-blue{background:var(--fx-blue);color:#fff}
.fx-btn:hover,.fx-header-button:hover{transform:translateY(-2px)}
.fx-menu{display:none;border:0;background:transparent;font-size:25px;padding:4px}

.fx-hero{padding:105px 0 90px;background:radial-gradient(circle at 84% 14%,#eaf2ff 0,transparent 31%),linear-gradient(#fff,#f8f9fb)}
.fx-hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:65px;align-items:center}
.fx-eyebrow{color:var(--fx-blue);font-size:12px;font-weight:900;letter-spacing:1.6px;text-transform:uppercase;margin-bottom:16px}
.fx-hero h1{font-size:clamp(48px,7vw,82px);line-height:.98;letter-spacing:-4px;margin:0 0 25px}
.fx-hero h1 span{color:var(--fx-blue)}
.fx-lead{font-size:19px;color:var(--fx-muted);max-width:690px}
.fx-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}

.fx-visual{background:var(--fx-dark);border-radius:30px;padding:16px;min-height:420px;box-shadow:0 25px 75px rgba(12,20,40,.18);position:relative;overflow:hidden}
.fx-visual:after{content:"";position:absolute;width:240px;height:240px;border-radius:50%;background:var(--fx-blue);filter:blur(85px);opacity:.28;right:-80px;top:-70px}
.fx-screen{position:relative;z-index:1;border:1px solid #292e38;background:#11141a;border-radius:22px;min-height:388px;padding:18px}
.fx-screen-top{height:25px;display:flex;gap:6px}.fx-dot{width:8px;height:8px;border-radius:50%;background:#59606c}
.fx-screen-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:12px;margin-top:18px}
.fx-panel{min-height:105px;border:1px solid #292e37;border-radius:15px;background:linear-gradient(135deg,#1c212b,#111319)}
.fx-panel.tall{grid-row:span 2;min-height:222px}.fx-panel.wide{grid-column:1/-1;min-height:75px}
.fx-floating{position:absolute;z-index:2;right:18px;bottom:18px;background:#fff;border-radius:14px;padding:10px 14px;font-size:12px;font-weight:900;box-shadow:0 12px 30px rgba(0,0,0,.22)}

.fx-section{padding:100px 0}
.fx-dark{background:var(--fx-dark);color:#fff}
.fx-section-head{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:45px}
.fx-section-head h2,.fx-section h2{font-size:clamp(35px,4.4vw,55px);line-height:1.03;letter-spacing:-2.5px;margin:0 0 16px}
.fx-section-head p{max-width:540px;color:var(--fx-muted);margin:0}
.fx-dark .fx-section-head p{color:#a9afb9}

.fx-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#292d35;border:1px solid #292d35;border-radius:23px;overflow:hidden}
.fx-stat{background:var(--fx-dark);padding:30px}.fx-stat strong{display:block;font-size:42px;line-height:1;letter-spacing:-2px}.fx-stat span{display:block;color:#a8aeb9;margin-top:8px;font-size:13px}

.fx-services{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.fx-service{padding:30px;border:1px solid var(--fx-line);border-radius:var(--fx-radius);transition:.25s}
.fx-service:hover{transform:translateY(-5px);box-shadow:0 22px 55px rgba(0,0,0,.07)}
.fx-service-num{color:var(--fx-blue);font-size:11px;font-weight:900;margin-bottom:50px}.fx-service h3{font-size:22px;line-height:1.1;letter-spacing:-.7px;margin:0 0 12px}.fx-service p{color:var(--fx-muted);margin:0}

.fx-b2b{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.fx-features{margin-top:25px}.fx-feature{padding:17px 0;border-bottom:1px solid #292d35}.fx-feature strong{display:block}.fx-feature span{color:#a8aeb9;font-size:14px}
.fx-ui{border:1px solid #292d35;border-radius:24px;padding:15px;background:#11141a}.fx-ui-top{height:42px;border-bottom:1px solid #292d35;display:flex;justify-content:space-between;align-items:center;color:#b9bec7;font-size:11px;font-weight:800}.fx-ui-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding-top:15px}.fx-ui-box{height:105px;border:1px solid #2b303a;border-radius:14px;background:linear-gradient(135deg,#1c2029,#111318)}.fx-ui-box.large{grid-column:1/-1;height:150px}

.fx-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}.fx-filter{border:1px solid var(--fx-line);background:#fff;border-radius:999px;padding:9px 15px;font-size:13px;font-weight:800}.fx-filter.active,.fx-filter:hover{background:var(--fx-dark);border-color:var(--fx-dark);color:#fff}
.fx-portfolio{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.fx-project{border:1px solid var(--fx-line);border-radius:24px;overflow:hidden;background:#fff;transition:.25s}.fx-project.is-hidden{display:none}.fx-project:hover{transform:translateY(-4px);box-shadow:0 25px 60px rgba(0,0,0,.08)}
.fx-project-image{aspect-ratio:16/10;background:#eef1f5;overflow:hidden}.fx-project-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.fx-project:hover .fx-project-image img{transform:scale(1.025)}
.fx-project-body{padding:25px}.fx-tag{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:1.2px;color:var(--fx-blue)}.fx-project h3{font-size:22px;line-height:1.1;letter-spacing:-.7px;margin:8px 0 12px}.fx-project p{color:var(--fx-muted);margin:0}.fx-project-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.fx-project-actions .fx-btn{font-size:12px;padding:9px 14px}

.fx-process{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.fx-step{border-top:1px solid var(--fx-line);padding-top:22px}.fx-step-num{color:var(--fx-blue);font-size:11px;font-weight:900;margin-bottom:28px}.fx-step h3{font-size:22px;margin:0 0 10px}.fx-step p{color:var(--fx-muted);margin:0}

.fx-tech{display:flex;flex-wrap:wrap;gap:9px}.fx-tech span{border:1px solid #30343d;border-radius:999px;padding:10px 15px;color:#d2d6dd;font-size:13px}
.fx-cta{background:linear-gradient(135deg,#0a0c10,#1a1e26);border-radius:30px;padding:70px;color:#fff;position:relative;overflow:hidden}.fx-cta:after{content:"";position:absolute;width:280px;height:280px;border-radius:50%;background:var(--fx-blue);filter:blur(100px);opacity:.18;right:-80px;bottom:-100px}.fx-cta>*{position:relative;z-index:1}.fx-cta p{color:#aeb4bd;max-width:600px}

.fx-footer{background:#07080a;color:#fff;padding:70px 0 25px}.fx-footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:35px}.fx-footer-title{font-weight:900;margin-bottom:15px}.fx-footer-links{display:grid;gap:8px;color:#a8adb7;font-size:14px}.fx-footer-copy{margin-top:50px;border-top:1px solid #24272e;padding-top:20px;color:#757b85;font-size:12px;display:flex;justify-content:space-between;gap:20px}

.fx-single{padding:90px 0}.fx-content{max-width:850px}.fx-content h1{font-size:clamp(45px,6vw,75px);line-height:1;letter-spacing:-3px}.fx-content img{border-radius:20px;margin:28px 0}.fx-content p{font-size:17px}
.fx-reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.fx-reveal.fx-visible{opacity:1;transform:none}

@media(max-width:900px){.fx-hero-grid,.fx-b2b{grid-template-columns:1fr}.fx-services,.fx-process{grid-template-columns:1fr 1fr}.fx-footer-grid{grid-template-columns:1fr 1fr}.fx-stats{grid-template-columns:1fr 1fr}}
@media(max-width:700px){
 .fx-container{width:min(calc(100% - 28px),var(--fx-max))}
 .fx-header-inner{height:64px}.fx-menu{display:block}.fx-header-button{display:none}
 .fx-nav{display:none;position:absolute;left:0;right:0;top:64px;background:#fff;border-bottom:1px solid var(--fx-line);padding:18px;flex-direction:column;align-items:flex-start}
 .fx-nav.fx-open{display:flex}
 .fx-hero{padding:70px 0}.fx-hero h1{letter-spacing:-2.5px}.fx-visual{min-height:320px}.fx-screen{min-height:288px}
 .fx-section{padding:70px 0}.fx-section-head{display:block}.fx-services,.fx-portfolio,.fx-process{grid-template-columns:1fr}.fx-footer-grid{grid-template-columns:1fr}.fx-stats{grid-template-columns:1fr 1fr}.fx-stat strong{font-size:34px}.fx-cta{padding:42px 25px}.fx-footer-copy{display:block}.fx-footer-copy span{display:block;margin-bottom:8px}
}

/* =========================================================
   FLUXOS V3 — MODERN / COMPACT POLISH
   Keeps the original V3 structure; refines only Hero + Portfolio.
   ========================================================= */

/* HERO */
.fx-hero{
    padding:82px 0 74px;
    background:
        radial-gradient(circle at 88% 12%,#eaf2ff 0,transparent 30%),
        linear-gradient(#fff,#f8f9fb);
}
.fx-hero-grid{
    grid-template-columns:minmax(0,1.03fr) minmax(390px,.97fr);
    gap:52px;
}
.fx-hero h1{
    font-size:clamp(56px,6.2vw,78px);
    line-height:.94;
    letter-spacing:-4.5px;
    margin:12px 0 24px;
    max-width:760px;
}
.fx-hero .fx-lead{
    max-width:680px;
    font-size:18px;
    line-height:1.65;
}
.fx-hero .fx-actions{
    margin-top:27px;
}
.fx-hero-trust{
    display:flex;
    flex-wrap:wrap;
    gap:9px 22px;
    margin-top:22px;
    color:#727a86;
    font-size:12px;
}
.fx-hero-trust span{
    position:relative;
}
.fx-hero-trust span:not(:last-child)::after{
    content:"";
    width:3px;
    height:3px;
    border-radius:50%;
    background:#b8bec8;
    position:absolute;
    right:-13px;
    top:50%;
}
.fx-hero-trust b{
    color:#151922;
}
.fx-hero-project{
    position:relative;
    max-width:610px;
    margin-left:auto;
}
.fx-project-label{
    display:flex;
    align-items:center;
    gap:9px;
    margin:0 0 10px;
    padding:0 3px;
    font-size:11px;
    letter-spacing:.7px;
    text-transform:uppercase;
}
.fx-project-label span{color:#1769ff;font-weight:900}
.fx-project-label b{color:#101319}
.fx-project-label em{
    margin-left:auto;
    color:#7a828d;
    font-style:normal;
    font-weight:800;
}
.fx-hero-project > div:not(.fx-project-label){
    border-radius:23px !important;
}
.fx-hero-project img{
    display:block;
}

/* PORTFOLIO HEADER */
.fx-portfolio-intro{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:25px;
    margin-bottom:26px;
}
.fx-portfolio-intro h2{
    font-size:clamp(36px,4vw,52px);
    line-height:1;
    letter-spacing:-3px;
    margin:7px 0 0;
}
.fx-portfolio-link{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:11px 15px;
    border:1px solid #d7dce4;
    border-radius:999px;
    color:#0c0f14;
    text-decoration:none;
    font-size:13px;
    font-weight:900;
    white-space:nowrap;
}
.fx-portfolio-link span{
    color:#1769ff;
    font-size:17px;
}

/* FILTERS */
.fx-filters{
    gap:7px;
    margin-bottom:22px;
}
.fx-filter{
    padding:8px 13px;
    font-size:12px;
}

/* PROJECT GRID — compact 3-column presentation */
.fx-portfolio{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
}
.fx-project{
    border-radius:18px;
}
.fx-project-image{
    aspect-ratio:16/10;
}
.fx-project-body{
    padding:17px 17px 18px;
}
.fx-project h3{
    font-size:19px;
    margin:7px 0 8px;
}
.fx-project p{
    font-size:13px;
    line-height:1.5;
}
.fx-project-actions{
    margin-top:14px;
}
.fx-project-actions .fx-btn{
    font-size:11px;
    padding:8px 11px;
}

/* Give the section slightly less vertical air. */
#realisations{
    padding-top:78px;
    padding-bottom:82px;
}

@media(max-width:1000px){
    .fx-portfolio{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media(max-width:900px){
    .fx-hero{
        padding:68px 0 62px;
    }
    .fx-hero-grid{
        grid-template-columns:1fr;
    }
    .fx-hero-project{
        max-width:none;
    }
}
@media(max-width:650px){
    .fx-hero h1{
        font-size:clamp(48px,14vw,68px);
        letter-spacing:-3px;
    }
    .fx-hero-trust{
        display:block;
        line-height:2;
    }
    .fx-hero-trust span{
        margin-right:15px;
    }
    .fx-hero-trust span:not(:last-child)::after{
        display:none;
    }
    .fx-portfolio-intro{
        align-items:flex-start;
        flex-direction:column;
    }
    .fx-portfolio-intro h2{
        font-size:40px;
        letter-spacing:-2.2px;
    }
    .fx-portfolio{
        grid-template-columns:1fr;
    }
}

/* FLUXOS native FR / EN / AR switcher */
.fx-lang-switcher{
    position:fixed;
    top:86px;
    right:24px;
    z-index:9998;
    display:flex;
    gap:3px;
    padding:4px;
    border:1px solid #dfe3e9;
    border-radius:999px;
    background:rgba(255,255,255,.94);
    backdrop-filter:blur(12px);
    box-shadow:0 8px 24px rgba(10,15,25,.08);
}
.fx-lang-switcher a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:34px;
    height:30px;
    border-radius:999px;
    color:#68717d;
    text-decoration:none;
    font-size:11px;
    font-weight:900;
}
.fx-lang-switcher a.is-active{
    color:#fff;
    background:#0b0d12;
}
html[dir="rtl"] body{
    direction:rtl;
}
html[dir="rtl"] .fx-lang-switcher{
    right:auto;
    left:24px;
}
html[dir="rtl"] .fx-hero-grid,
html[dir="rtl"] .fx-section-head,
html[dir="rtl"] .fx-portfolio-intro{
    direction:rtl;
}
html[dir="rtl"] .fx-hero,
html[dir="rtl"] .fx-section,
html[dir="rtl"] .fx-header{
    text-align:right;
}
html[dir="rtl"] .fx-hero-project{
    margin-left:0;
    margin-right:auto;
}
html[dir="rtl"] .fx-hero-trust span:not(:last-child)::after{
    right:auto;
    left:-13px;
}
@media(max-width:700px){
    .fx-lang-switcher{
        top:72px;
        right:12px;
    }
    html[dir="rtl"] .fx-lang-switcher{
        right:auto;
        left:12px;
    }
}

/* =========================================================
   FLUXOS — CASE STUDY PORTFOLIO
   Compact screenshots + project information.
   ========================================================= */
#realisations{
    padding-top:64px;
    padding-bottom:72px;
}
#realisations .fx-portfolio-intro{
    margin-bottom:22px;
}
#realisations .fx-portfolio-intro h2{
    font-size:clamp(32px,3.6vw,48px);
    letter-spacing:-2.8px;
}
#realisations .fx-filters{
    margin-bottom:22px;
}

/* Three compact case studies per row. */
#realisations .fx-portfolio{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
    align-items:start;
}
#realisations .fx-case-study{
    border:1px solid #e2e6ec;
    border-radius:20px;
    background:#fff;
    overflow:hidden;
    box-shadow:0 8px 30px rgba(14,20,30,.045);
    transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
#realisations .fx-case-study:hover{
    transform:translateY(-5px);
    border-color:#d5dbe4;
    box-shadow:0 22px 55px rgba(14,20,30,.11);
}

/* Browser-like screenshot frame instead of a raw giant image. */
.fx-case-media{
    display:block;
    position:relative;
    padding:9px 9px 0;
    background:#f4f6f9;
    overflow:hidden;
}
.fx-browser-bar{
    height:27px;
    display:flex;
    align-items:center;
    gap:5px;
    padding:0 9px;
    border:1px solid #dfe3e9;
    border-bottom:0;
    border-radius:11px 11px 0 0;
    background:#fff;
}
.fx-browser-bar > span{
    width:6px;
    height:6px;
    border-radius:50%;
    background:#c7ccd4;
}
.fx-browser-bar small{
    margin-left:7px;
    color:#89919d;
    font-size:8px;
    font-weight:800;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.fx-case-shot{
    height:205px;
    overflow:hidden;
    border:1px solid #dfe3e9;
    border-top:0;
    border-radius:0 0 11px 11px;
    background:#fff;
}
.fx-case-shot img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:top center;
    transition:transform .45s ease;
}
.fx-case-study:hover .fx-case-shot img{
    transform:scale(1.025);
}
.fx-case-hover{
    position:absolute;
    right:19px;
    bottom:14px;
    display:flex;
    align-items:center;
    gap:6px;
    padding:8px 11px;
    border-radius:999px;
    background:#0b0d12;
    color:#fff;
    font-size:10px;
    font-weight:900;
    opacity:0;
    transform:translateY(5px);
    transition:.25s ease;
}
.fx-case-study:hover .fx-case-hover{
    opacity:1;
    transform:none;
}

/* Project information becomes the main visual hierarchy. */
.fx-case-body{
    padding:17px 18px 16px;
}
.fx-case-topline{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:10px;
}
.fx-case-number{
    color:#a0a7b1;
    font-size:10px;
    font-weight:900;
    letter-spacing:1px;
}
.fx-case-body h3{
    margin:8px 0 7px;
    font-size:22px;
    line-height:1.05;
    letter-spacing:-.8px;
}
.fx-case-body > p{
    margin:0;
    color:#68717d;
    font-size:12px;
    line-height:1.55;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
    min-height:37px;
}
.fx-case-meta{
    display:flex;
    flex-wrap:wrap;
    gap:6px 14px;
    margin-top:12px;
    padding-top:11px;
    border-top:1px solid #edf0f3;
    color:#6e7682;
    font-size:10px;
}
.fx-case-meta b{
    color:#1a1e25;
    font-weight:900;
}
.fx-case-footer{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-top:13px;
}
.fx-case-tech{
    max-width:55%;
    color:#8a929d;
    font-size:9px;
    font-weight:800;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.fx-case-footer a{
    display:inline-flex;
    align-items:center;
    gap:6px;
    color:#0c0f14;
    text-decoration:none;
    font-size:11px;
    font-weight:900;
}
.fx-case-footer a span{
    color:#1769ff;
    font-size:15px;
}

/* Hide the old oversized generic portfolio rules only for this section. */
#realisations .fx-project-body{
    padding:0;
}
#realisations .fx-project-image{
    aspect-ratio:auto;
}

/* RTL */
html[dir="rtl"] .fx-browser-bar small{
    margin-left:0;
    margin-right:7px;
}
html[dir="rtl"] .fx-case-hover{
    right:auto;
    left:19px;
}
html[dir="rtl"] .fx-case-footer,
html[dir="rtl"] .fx-case-topline{
    flex-direction:row-reverse;
}
html[dir="rtl"] .fx-case-meta{
    justify-content:flex-start;
}

@media(max-width:1050px){
    #realisations .fx-portfolio{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media(max-width:650px){
    #realisations .fx-portfolio{
        grid-template-columns:1fr;
        gap:15px;
    }
    .fx-case-shot{
        height:220px;
    }
}

/* =========================================================
   FLUXOS HERO — PREMIUM PROJECT CASE STUDY
   Replace the large raw screenshot with a compact product
   case-study card: browser preview + project information.
   ========================================================= */
.fx-hero-project.fx-visual{
    min-height:0;
    padding:12px;
    border-radius:28px;
    background:#0b0e14;
    box-shadow:0 30px 80px rgba(12,20,40,.18);
}
.fx-hero-project.fx-visual:after{
    width:180px;
    height:180px;
    right:-65px;
    top:-65px;
    opacity:.2;
}
.fx-hero-case{
    position:relative;
    z-index:2;
    border:1px solid #292e37;
    border-radius:21px;
    overflow:hidden;
    background:#10141b;
}
.fx-hero-case-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:42px;
    padding:0 15px;
    border-bottom:1px solid #292e37;
}
.fx-hero-case-kicker{
    display:flex;
    align-items:center;
    gap:7px;
    color:#fff;
    font-size:10px;
    font-weight:900;
    letter-spacing:1.2px;
    text-transform:uppercase;
}
.fx-hero-live-dot{
    width:6px;
    height:6px;
    border-radius:50%;
    background:#2d76ff;
    box-shadow:0 0 0 4px rgba(45,118,255,.12);
}
.fx-hero-case-index{
    color:#727b89;
    font-size:9px;
    font-weight:800;
    letter-spacing:1px;
}
.fx-hero-browser{
    display:block;
    margin:12px 12px 0;
    border:1px solid #dfe3e9;
    border-radius:14px;
    overflow:hidden;
    background:#fff;
    text-decoration:none;
}
.fx-browser-chrome{
    height:30px;
    display:flex;
    align-items:center;
    gap:9px;
    padding:0 10px;
    border-bottom:1px solid #e6e8ec;
    background:#f7f8fa;
}
.fx-browser-dots{
    display:flex;
    gap:4px;
}
.fx-browser-dots i{
    width:6px;
    height:6px;
    border-radius:50%;
    background:#c6cbd3;
}
.fx-browser-url{
    flex:1;
    min-width:0;
    color:#8b929d;
    font-size:8px;
    font-weight:700;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.fx-browser-chrome > span{
    color:#69717d;
    font-size:12px;
    font-weight:900;
}
.fx-hero-shot{
    height:255px;
    overflow:hidden;
    background:#fff;
}
.fx-hero-shot img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:top center;
    transition:transform .45s ease;
}
.fx-hero-browser:hover .fx-hero-shot img{
    transform:scale(1.025);
}
.fx-hero-case-info{
    padding:16px 17px 15px;
    color:#fff;
}
.fx-hero-case-title{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:15px;
}
.fx-hero-project-type{
    display:block;
    margin-bottom:5px;
    color:#3f80ff;
    font-size:9px;
    font-weight:900;
    letter-spacing:1.1px;
    text-transform:uppercase;
}
.fx-hero-case-title h3{
    margin:0;
    color:#fff;
    font-size:25px;
    line-height:1;
    letter-spacing:-1px;
}
.fx-hero-case-title > a{
    width:32px;
    height:32px;
    flex:0 0 32px;
    display:grid;
    place-items:center;
    border:1px solid #353b46;
    border-radius:50%;
    color:#fff;
    text-decoration:none;
    font-size:15px;
    transition:.2s ease;
}
.fx-hero-case-title > a:hover{
    background:#fff;
    color:#0b0e14;
}
.fx-hero-case-info > p{
    margin:10px 0 0;
    color:#9da5b2;
    font-size:11px;
    line-height:1.5;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}
.fx-hero-case-meta{
    display:flex;
    flex-wrap:wrap;
    gap:6px 13px;
    margin-top:12px;
    padding-top:11px;
    border-top:1px solid #292e37;
    color:#7f8794;
    font-size:9px;
    font-weight:700;
}
.fx-hero-case-meta b{
    color:#dce1e8;
    font-weight:900;
}
.fx-hero-tech{
    max-width:48%;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
@media(max-width:1100px){
    .fx-hero-grid{gap:38px;}
    .fx-hero-shot{height:225px;}
}
@media(max-width:760px){
    .fx-hero-grid{grid-template-columns:1fr;gap:30px;}
    .fx-hero-project.fx-visual{max-width:600px;margin:auto;width:100%;}
    .fx-hero-shot{height:240px;}
}
@media(max-width:480px){
    .fx-hero-case-head{min-height:38px;padding:0 12px;}
    .fx-hero-browser{margin:9px 9px 0;}
    .fx-hero-shot{height:205px;}
    .fx-hero-case-info{padding:14px;}
    .fx-hero-case-title h3{font-size:22px;}
}
