 :root{
    --lime: #C5E847;
    --curacao: #4DB6D6;
    --asphalt: #2A2E33;
    --flannel: #6B6F75;
    --dark: #0D1B2A;
    --darker: #08121C;
    --white: #FFFFFF;
    --soft: #E8EAED;
    --ease: cubic-bezier(.22,1,.36,1);
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'IBM Plex Sans Arabic','Tajawal',sans-serif;
    background:var(--darker);
    color:var(--white);
    line-height:1.7;
    overflow-x:hidden;
  }
  /* Grain texture overlay */
  body::before{
    content:'';
    position:fixed;
    inset:0;
    background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.15'/%3E%3C/svg%3E");
    opacity:.4;
    pointer-events:none;
    z-index:1;
    mix-blend-mode:overlay;
  }

  /* ===== NAV ===== */
  nav{
    position:fixed;top:0;left:0;right:0;
    padding:1.2rem 4vw;
    display:flex;justify-content:space-between;align-items:center;
    direction:rtl;
    z-index:100;
    background:rgba(8,18,28,.7);
    backdrop-filter:blur(20px);
    -webkit-backdrop-filter:blur(20px);
    border-bottom:1px solid rgba(197,232,71,.08);
  }
  .logo{
    display:flex;
    align-items:center;
    flex-shrink:0;
    font-family:'Tajawal',sans-serif;
    font-weight:900;
    font-size:1.6rem;
    color:var(--lime);
    letter-spacing:-.5px;
    line-height:1;
    text-decoration:none;
  }
  a.logo:hover{opacity:.9;}
  .logo img,
  .site-logo-img{
    display:block;
    height:auto;
    max-height:42px;
    width:auto;
    max-width:150px;
    object-fit:contain;
    object-position:center;
  }
  footer .logo img,
  footer .site-logo-img{
    max-height:52px;
    max-width:180px;
  }
  .logo span{color:var(--white);font-weight:300;}
  .nav-links{display:flex;gap:2.5rem;list-style:none;}
  .nav-links a{
    color:var(--soft);
    text-decoration:none;
    font-size:.95rem;
    font-weight:500;
    transition:color .3s var(--ease);
    position:relative;
  }
  .nav-links a:hover{color:var(--lime);}
  .nav-links a::after{
    content:'';
    position:absolute;
    bottom:-6px;right:0;
    width:0;height:1px;
    background:var(--lime);
    transition:width .3s var(--ease);
  }
  .nav-links a:hover::after{width:100%;}
  .nav-cta{
    padding:.6rem 1.4rem;
    background:transparent;
    border:1px solid var(--curacao);
    color:var(--curacao);
    border-radius:50px;
    font-family:inherit;
    font-weight:600;
    cursor:pointer;
    transition:all .3s var(--ease);
  }
  .nav-cta:hover{background:var(--curacao);color:var(--dark);}
  .menu-toggle{display:none;background:none;border:none;color:var(--white);font-size:1.5rem;cursor:pointer;}

  /* ===== HERO ===== */
  .hero{
    min-height:100vh;
    padding:6rem 4vw 3rem;
    display:flex;
    flex-direction:column;
    justify-content:center;
    position:relative;
    overflow:hidden;
    background:radial-gradient(circle at 25% 40%, rgba(77,182,214,.12) 0%, transparent 45%),
               radial-gradient(circle at 75% 60%, rgba(197,232,71,.08) 0%, transparent 45%),
               #050B14;
  }
  .hero::before{
    content:'';
    position:absolute;inset:0;
    background-image:linear-gradient(rgba(255,255,255,.02) 1px, transparent 1px),
                     linear-gradient(90deg, rgba(255,255,255,.02) 1px, transparent 1px);
    background-size:50px 50px;
    pointer-events:none;
  }
  /* ── Grid: نص يمين، لوحة يسار (RTL) ── */
  .hero-grid{
    display:grid;
    grid-template-columns:1fr 1.15fr;
    gap:5rem;
    align-items:center;
    width:100%;
    max-width:1380px;
    margin:0 auto;
    position:relative;
    z-index:2;
  }
  .hero-content{text-align:right;align-self:center;}
  .hero-visual{align-self:center;}
  .hero-tag{
    display:inline-flex;align-items:center;gap:.6rem;
    padding:.5rem 1.2rem;
    background:rgba(255,255,255,.03);
    backdrop-filter:blur(10px);
    border:1px solid rgba(255,255,255,.1);
    border-radius:50px;
    color:var(--white);
    font-size:.85rem;
    font-weight:500;
    margin-bottom:2rem;
  }
  .hero-tag::after{
    content:'';width:8px;height:8px;
    background:#22C55E;border-radius:50%;
    box-shadow:0 0 12px #22C55E;
  }
  .hero h1{
    font-family:'Tajawal',sans-serif;
    font-size:clamp(2.5rem,5vw,4.5rem);
    font-weight:900;
    line-height:1.15;
    margin-bottom:1.5rem;
    color:var(--white);
  }
  .hero h1 .accent{color:var(--lime);}
  .hero h1 .underline{
    position:relative;
    display:inline-block;
  }
  .hero h1 .underline::after{
    content:'';
    position:absolute;
    bottom:10px;right:0;width:100%;height:3px;
    background:var(--lime);
    opacity:.6;
    border-radius:2px;
  }
  .hero p{
    font-size:1.1rem;
    color:rgba(255,255,255,.7);
    max-width:580px;
    margin-bottom:2.5rem;
    line-height:1.8;
  }
  .cta-group{display:flex;gap:1.2rem;flex-wrap:wrap;margin-bottom:3rem;}

  /* Hero partners — inline marquee swiper */
  .hero-partners-strip{
    display:flex;
    align-items:center;
    gap:1.25rem;
    width:100%;
    max-width:1380px;
    margin:2rem auto 0;
    padding:0 4vw;
    position:relative;
    z-index:2;
    direction:rtl;
  }
  .hero-partners-swiper-wrap{
    flex:1;
    min-width:0;
    width:100%;
    overflow:hidden;
    direction:rtl;
  }
  .hero-partners-swiper{
    overflow:hidden;
    width:100%;
    height:44px;
    direction:rtl;
    -webkit-mask-image:linear-gradient(to left, transparent, #000 6%, #000 94%, transparent);
    mask-image:linear-gradient(to left, transparent, #000 6%, #000 94%, transparent);
  }
  .hero-partners-swiper .swiper-wrapper{
    transition-timing-function:linear !important;
    align-items:center;
  }
  .hero-partners-swiper .swiper-slide{
    width:auto;
    height:auto;
  }
  .hero-partner-chip{
    display:flex;
    align-items:center;
    justify-content:center;
    height:40px;
    width:40px;
    padding:.45rem;
    background:rgba(255,255,255,.97);
    border:1px solid rgba(255,255,255,.12);
    border-radius:12px;
    box-shadow:0 2px 10px rgba(0,0,0,.18);
  }
  .hero-partner-logo{
    height:26px;
    width:26px;
    max-width:26px;
    object-fit:contain;
    display:block;
  }
  .hero-partners-label{
    flex-shrink:0;
    font-size:.72rem;
    font-weight:700;
    letter-spacing:.14em;
    color:rgba(255,255,255,.55);
    white-space:nowrap;
  }
  .btn-gradient{
    padding:1rem 2rem;
    background:linear-gradient(135deg, #4DB6D6, #C5E847);
    color:var(--dark);
    border:none;border-radius:50px;
    font-family:inherit;font-weight:700;font-size:1rem;
    cursor:pointer;
    display:inline-flex;align-items:center;gap:.7rem;
    transition:all .3s var(--ease);
    box-shadow:0 10px 25px rgba(197,232,71,.3);
  }
  .btn-gradient:hover{transform:translateY(-3px);box-shadow:0 15px 35px rgba(197,232,71,.5);}
  .btn-outline{
    padding:1rem 2rem;
    background:rgba(255,255,255,.03);
    color:var(--white);
    border:1px solid rgba(255,255,255,.2);
    border-radius:50px;
    font-family:inherit;font-weight:600;font-size:1rem;
    cursor:pointer;
    display:inline-flex;align-items:center;gap:.7rem;
    transition:all .3s var(--ease);
  }
  .btn-outline:hover{background:rgba(255,255,255,.08);border-color:var(--white);}

  .hero-features{
    display:flex;gap:2rem;flex-wrap:wrap;
  }
  .feature-item{
    display:flex;align-items:center;gap:.6rem;
    color:rgba(255,255,255,.6);
    font-size:.9rem;
    font-weight:500;
  }
  .feature-item svg{color:var(--lime);opacity:.8;}

  /* ── Hero Visual (Dashboard Card) ── */
  .hero-visual{
    position:relative;
    width:100%;
    display:flex;
    flex-direction:column;
  }
  /* Main analytics card — matches dashboard screenshot ratio */
  .dash-main{
    width:100%;
    margin:0 auto;
    background:transparent;
    border:1px solid rgba(255,255,255,.1);
    border-radius:24px;
    padding:0;
    box-shadow:0 40px 80px rgba(0,0,0,.5);
    position:relative;
    overflow:hidden;
    aspect-ratio:2.05 / 1;
    box-sizing:border-box;
  }
  .dash-main--mockup{
    display:flex;
    align-items:stretch;
    aspect-ratio:2.05 / 1;
  }
  .dash-analytics-card{
    flex:1;
    display:flex;
    flex-direction:column;
    background:#fff;
    border-radius:20px;
    padding:1.15rem 1.25rem 1rem;
    color:var(--dark);
    direction:rtl;
  }
  .dash-analytics-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:1rem;
    margin-bottom:.75rem;
  }
  .dash-analytics-title{
    font-size:1rem;
    font-weight:800;
    color:var(--dark);
    margin:0 0 .2rem;
  }
  .dash-analytics-sub{
    margin:0;
    font-size:.78rem;
    color:rgba(13,27,42,.55);
  }
  .dash-analytics-period{
    flex-shrink:0;
    font-size:.72rem;
    font-weight:700;
    padding:.35rem .75rem;
    border-radius:999px;
    background:rgba(197,232,71,.2);
    color:#3d4f0a;
    border:1px solid rgba(197,232,71,.45);
  }
  .dash-analytics-card .dash-chart{
    flex:1;
    min-height:0;
    height:auto;
    margin-top:0;
  }
  .dash-analytics-card .dash-chart svg{
    width:100%;
    height:100%;
    display:block;
  }
  .dash-chart-label{
    font-family:'Tajawal',sans-serif;
    font-size:10px;
    fill:rgba(13,27,42,.55);
  }
  .dash-analytics-card .chart-area{
    fill:url(#heroChartArea);
    stroke:none;
  }
  .dash-analytics-card .chart-line{
    fill:none;
    stroke-width:3;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
  .dash-analytics-card .chart-line--sales{stroke:var(--lime);}
  .dash-analytics-card .chart-line--return{stroke:var(--curacao);}
  .dash-analytics-legend{
    display:flex;
    justify-content:flex-start;
    gap:1.25rem;
    margin-top:.55rem;
    font-size:.75rem;
    font-weight:600;
    color:rgba(13,27,42,.65);
  }
  .dash-analytics-legend span{
    display:inline-flex;
    align-items:center;
    gap:.4rem;
  }
  .dash-legend-dot{
    width:10px;
    height:10px;
    border-radius:50%;
    display:inline-block;
  }
  .dash-legend-dot--lime{background:var(--lime);}
  .dash-legend-dot--blue{background:var(--curacao);}
  .dash-top-row{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:1.4rem;
  }
  .dash-month{
    display:flex;
    align-items:center;
    gap:.5rem;
    font-size:.82rem;
    color:rgba(255,255,255,.6);
  }
  .dash-bonus{
    font-size:.72rem;
    padding:.3rem .8rem;
    border-radius:20px;
    background:rgba(197,232,71,.12);
    color:var(--lime);
    border:1px solid rgba(197,232,71,.25);
  }
  /* KPI row */
  .dash-kpis{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:.8rem;
    margin-bottom:1.4rem;
  }
  .dash-kpi{
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.07);
    border-radius:14px;
    padding:.9rem 1rem;
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
  }
  .dash-kpi-label{
    font-size:.72rem;
    color:rgba(255,255,255,.5);
    margin-bottom:.3rem;
  }
  .dash-kpi-val{
    font-size:1.1rem;
    font-weight:700;
  }
  .dash-kpi-icon{
    width:30px;height:30px;
    border-radius:8px;
    background:rgba(255,255,255,.06);
    display:grid;place-items:center;
  }
  /* Bar chart */
  .dash-chart-area{
    background:rgba(255,255,255,.025);
    border-radius:14px;
    padding:1rem;
    margin-bottom:1.2rem;
  }
  .dash-chart-bars{
    display:flex;
    align-items:flex-end;
    gap:5px;
    height:100px;
  }
  .dash-bar{
    flex:1;
    border-radius:4px 4px 0 0;
    background:rgba(77,182,214,.3);
    transition:background .3s;
    position:relative;
  }
  .dash-bar.hi{background:var(--curacao);}
  .dash-bar.peak{background:var(--lime);}
  /* Goal row */
  .dash-goal-row{
    display:flex;
    justify-content:space-between;
    align-items:center;
    font-size:.75rem;
    color:rgba(255,255,255,.5);
    margin-bottom:.5rem;
  }
  .dash-goal-val{ color:var(--white); font-weight:700; }
  .dash-progress{
    height:6px;
    border-radius:3px;
    background:rgba(255,255,255,.08);
    overflow:hidden;
    margin-bottom:1rem;
  }
  .dash-progress-fill{
    height:100%;
    border-radius:3px;
    background:linear-gradient(90deg, var(--curacao), var(--lime));
    width:55%;
  }
  .dash-cta-btn{
    display:inline-flex;
    align-items:center;
    gap:.5rem;
    padding:.55rem 1.2rem;
    border-radius:20px;
    border:1px solid rgba(255,255,255,.15);
    background:rgba(255,255,255,.06);
    color:var(--white);
    font-size:.8rem;
    font-weight:600;
    cursor:default;
  }
  /* Bottom 2 mini cards */
  .dash-mini-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:1rem;
  }

  
  .dash-mini{
    background:rgba(13,27,42,.75);
    backdrop-filter:blur(14px);
    border:1px solid rgba(255,255,255,.09);
    border-radius:20px;
    padding:1.2rem;
    box-shadow:0 20px 50px rgba(0,0,0,.3);
  }
  .dash-mini-label{
    font-size:.72rem;
    color:rgba(255,255,255,.5);
    margin-bottom:.4rem;
    display:flex;
    align-items:center;
    gap:.4rem;
  }
  .dash-mini-val{
    font-size:2rem;
    font-weight:900;
    line-height:1.1;
  }
  .dash-mini-val.lime{ color:var(--lime); }
  .dash-mini-sub{
    font-size:.7rem;
    color:rgba(255,255,255,.4);
    margin-top:.2rem;
  }
  .dash-mini-bars{
    display:flex;
    align-items:flex-end;
    gap:4px;
    height:28px;
    margin-top:.8rem;
  }
  .dash-mini-bar{
    flex:1;
    border-radius:3px 3px 0 0;
    background:rgba(255,255,255,.1);
  }
  .dash-mini-bar.a{background:var(--curacao);}
  .dash-container{
    width:100%;
    max-width:580px;
    aspect-ratio:1.2;
    background:rgba(13,27,42,.6);
    backdrop-filter:blur(20px);
    border:1px solid rgba(255,255,255,.1);
    border-radius:24px;
    padding:1.5rem;
    position:relative;
    box-shadow:0 40px 100px rgba(0,0,0,.5);
  }
  .dash-sidebar{
    position:absolute;left:0;top:0;bottom:0;
    width:60px;
    border-right:1px solid rgba(255,255,255,.05);
    display:flex;flex-direction:column;align-items:center;padding:1.5rem 0;gap:1.5rem;
  }
  .dash-sidebar i{width:20px;height:20px;background:rgba(255,255,255,.1);border-radius:4px;}
  .dash-sidebar i.active{background:var(--lime);}
  
  .dash-content{margin-left:50px;padding:0 1rem;}
  .dash-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;}
  .dash-header h4{font-size:1rem;font-weight:600;}
  .dash-tabs{display:flex;gap:.8rem;background:rgba(255,255,255,.05);padding:.3rem;border-radius:8px;}
  .dash-tabs span{padding:.3rem .8rem;font-size:.7rem;border-radius:6px;}
  .dash-tabs span.active{background:rgba(255,255,255,.1);}

  .dash-main-card{
    background:rgba(255,255,255,.03);
    border:1px solid rgba(255,255,255,.05);
    border-radius:16px;
    padding:1.5rem;
  }
  .dash-chart{
    height:180px;width:100%;margin-top:1.5rem;
    position:relative;
  }
  .dash-chart svg{width:100%;height:100%;overflow:visible;}
  .dash-chart path{stroke:var(--lime);stroke-width:3;fill:none;}
  .dash-chart .area{fill:url(#grad);opacity:.2;stroke:none;}

  .floating-stats{
    position:absolute;
    bottom:-20px;left:-40px;
    width:220px;
    background:rgba(13,27,42,.9);
    backdrop-filter:blur(10px);
    border:1px solid rgba(197,232,71,.3);
    border-radius:20px;
    padding:1.5rem;
    box-shadow:0 20px 50px rgba(0,0,0,.3);
    animation:float 6s ease-in-out infinite;
  }
  .floating-roas{
    position:absolute;
    bottom:20px;right:-30px;
    width:180px;
    background:rgba(13,27,42,.9);
    backdrop-filter:blur(10px);
    border:1px solid rgba(255,255,255,.1);
    border-radius:20px;
    padding:1.2rem;
    box-shadow:0 20px 50px rgba(0,0,0,.3);
    animation:float 6s ease-in-out infinite 3s;
  }
  @keyframes float{
    0%,100%{transform:translateY(0);}
    50%{transform:translateY(-15px);}
  }
  
  .partners-row{
    position:absolute;bottom:4rem;left:0;right:0;
    display:flex;flex-direction:column;align-items:center;gap:2rem;
    z-index:2;
  }
  .partners-text{font-size:.9rem;color:rgba(255,255,255,.4);font-weight:500;}
  .partners-logos{
    display:flex;justify-content:center;align-items:center;gap:4rem;flex-wrap:wrap;
    opacity:.6;transition:opacity .3s;
  }
  .partners-logos:hover{opacity:1;}
  .partners-logos img{height:24px;filter:brightness(0) invert(1);}

  /* ===== SECTION COMMON ===== */
  section{padding:7rem 4vw;position:relative;z-index:2;}
  .container{max-width:1400px;margin:0 auto;}
  .section-tag{
    display:inline-block;
    padding:.4rem 1rem;
    background:rgba(77,182,214,.1);
    border:1px solid rgba(77,182,214,.3);
    border-radius:50px;
    color:var(--curacao);
    font-size:.85rem;
    font-weight:600;
    margin-bottom:1.2rem;
  }
  .section-title{
    font-family:'Tajawal',sans-serif;
    font-size:clamp(2rem,4vw,3.5rem);
    font-weight:900;
    line-height:1.2;
    letter-spacing:-1px;
    margin-bottom:1.2rem;
  }
  .section-title .accent{color:var(--lime);}
  .section-desc{
    font-size:1.1rem;
    color:var(--soft);
    max-width:600px;
    margin-bottom:3.5rem;
  }

  /* ===== SERVICES ===== */
  .services{
    background:var(--asphalt);
    position:relative;
    overflow:hidden;
  }
  .services::before{
    content:'';
    position:absolute;
    top:0;left:0;right:0;height:1px;
    background:linear-gradient(90deg,transparent,var(--lime),transparent);
    opacity:.3;
  }
  .services::after{
    content:'';
    position:absolute;
    inset:0;
    background:
      radial-gradient(circle at 18% 22%, rgba(77,182,214,.13) 0%, transparent 35%),
      radial-gradient(circle at 80% 78%, rgba(197,232,71,.1) 0%, transparent 34%);
    pointer-events:none;
  }
  .services .container{position:relative;z-index:2;}
  .services .section-desc{max-width:760px;}
  .services-map{
    position:relative;
    min-height:760px;
    margin:4rem auto 2.2rem;
    max-width:1240px;
  }
  .map-lines{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    pointer-events:none;
    opacity:.65;
  }
  .map-lines line{
    stroke:rgba(197,232,71,.34);
    stroke-width:1.5;
    stroke-dasharray:7 10;
    stroke-dashoffset:90;
  }
  .map-lines line:nth-child(even){stroke:rgba(77,182,214,.4);}
  .services-map.visible .map-lines line{
    animation:mapLineDraw 1.6s var(--ease) forwards;
  }
  .services-map.visible .map-lines line:nth-child(1){animation-delay:.15s;}
  .services-map.visible .map-lines line:nth-child(2){animation-delay:.42s;}
  .services-map.visible .map-lines line:nth-child(3){animation-delay:.54s;}
  .services-map.visible .map-lines line:nth-child(4){animation-delay:.66s;}
  .services-map.visible .map-lines line:nth-child(5){animation-delay:.78s;}
  .services-map.visible .map-lines line:nth-child(6){animation-delay:.9s;}
  .map-center{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    width:250px;
    min-height:150px;
    border-radius:30px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:1.6rem;
    background:linear-gradient(145deg,rgba(197,232,71,.15),rgba(77,182,214,.12));
    border:1px solid rgba(197,232,71,.35);
    box-shadow:0 20px 70px rgba(0,0,0,.22), inset 0 0 40px rgba(255,255,255,.03);
    opacity:0;
  }
  .services-map.visible .map-center{
    animation:mapCenterIn .7s var(--ease) .05s forwards, mapCenterGlow 3.2s ease-in-out 1s infinite;
  }
  .map-center strong{
    font-family:'Tajawal',sans-serif;
    font-size:1.35rem;
    line-height:1.5;
    color:var(--white);
  }
  .map-center span{
    margin-top:.6rem;
    color:var(--lime);
    font-size:.88rem;
    font-weight:700;
  }
  .map-branch{
    --branch-x:0%;
    --branch-y:0px;
    --branch-delay:.5s;
    position:absolute;
    width:240px;
    padding:0;
    background:transparent;
    border:0;
    overflow:visible;
    opacity:0;
    transform:translate(var(--branch-x),var(--branch-y));
    transition:transform .35s var(--ease), border-color .35s var(--ease), box-shadow .35s var(--ease);
  }
  .services-map.visible .map-branch{
    animation:mapBranchIn .65s var(--ease) var(--branch-delay) forwards;
  }
  .map-branch:hover{
    transform:translate(var(--branch-x),var(--branch-y)) translateY(-6px);
  }
  .branch-strategy{top:0;left:50%;--branch-x:-50%;--branch-delay:.42s;}
  .branch-growth{top:160px;left:210px;--branch-delay:.68s;}
  .branch-social{top:395px;left:210px;--branch-delay:.82s;}
  .branch-creative{bottom:105px;left:250px;--branch-delay:.96s;}
  .branch-brand{bottom:105px;right:250px;--branch-delay:1.1s;}
  .branch-ecommerce{top:285px;right:210px;--branch-delay:1.24s;}
  .branch-title{
    width:100%;
    border:1px solid rgba(255,255,255,.08);
    border-radius:22px;
    padding:1.05rem 1.15rem;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:1rem;
    background:linear-gradient(145deg,rgba(13,27,42,.86),rgba(13,27,42,.55));
    color:var(--white);
    font-family:inherit;
    cursor:pointer;
    text-align:right;
    transition:all .3s var(--ease);
    box-shadow:0 18px 45px rgba(0,0,0,.18), inset 0 0 35px rgba(255,255,255,.025);
    backdrop-filter:blur(14px);
  }
  .branch-title:hover,
  .branch-title.active{
    background:var(--lime);
    color:var(--dark);
  }
  .branch-title strong{
    font-family:'Tajawal',sans-serif;
    font-size:1.08rem;
    display:block;
    line-height:1.3;
  }
  .branch-title > span:not(.branch-index){
    display:block;
    color:currentColor;
    text-align:right;
  }
  .branch-title > span:not(.branch-index) > span{
    display:block;
    font-size:.76rem;
    color:currentColor;
    opacity:.72;
    direction:ltr;
    text-align:right;
  }
  .branch-index{
    width:34px;
    height:34px;
    flex:0 0 34px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:rgba(255,255,255,.08);
    color:inherit;
    font-weight:900;
    font-size:.82rem;
  }
  .branch-services{
    display:flex;
    flex-wrap:nowrap;
    gap:.7rem;
    margin:0;
    position:absolute;
    z-index:2;
  }
  .branch-services::before{
    content:'';
    position:absolute;
    background:linear-gradient(90deg,rgba(77,182,214,.2),rgba(197,232,71,.55));
    opacity:.8;
  }
  .branch-growth .branch-services,
  .branch-social .branch-services,
  .branch-strategy .branch-services{
    right:calc(100% + 22px);
    top:50%;
    transform:translateY(-50%);
    flex-direction:column;
    width:165px;
  }
  .branch-growth .branch-services::before,
  .branch-social .branch-services::before,
  .branch-strategy .branch-services::before{
    width:22px;
    height:1px;
    top:50%;
    right:-22px;
  }
  .branch-ecommerce .branch-services{
    left:calc(100% + 22px);
    top:50%;
    transform:translateY(-50%);
    flex-direction:column;
    width:165px;
  }
  .branch-ecommerce .branch-services::before{
    width:22px;
    height:1px;
    top:50%;
    left:-22px;
  }
  .branch-creative .branch-services,
  .branch-brand .branch-services{
    top:calc(100% + 22px);
    left:50%;
    transform:translateX(-50%);
    width:max-content;
  }
  .branch-creative .branch-services::before,
  .branch-brand .branch-services::before{
    width:1px;
    height:22px;
    top:-22px;
    left:50%;
  }
  .service-chip{
    --chip-delay:.04s;
    border:1px solid rgba(255,255,255,.09);
    border-radius:16px;
    padding:.72rem .9rem;
    min-height:46px;
    min-width:145px;
    background:linear-gradient(145deg,rgba(13,27,42,.8),rgba(13,27,42,.42));
    color:var(--soft);
    font-family:inherit;
    font-size:.84rem;
    font-weight:600;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.8rem;
    position:relative;
    opacity:0;
    transform:translateY(14px) scale(.96);
    box-shadow:0 12px 30px rgba(0,0,0,.14);
    transition:all .25s var(--ease);
  }
  .service-chip:nth-child(2){--chip-delay:.14s;}
  .service-chip:nth-child(3){--chip-delay:.24s;}
  .services-map.visible .service-chip{
    animation:mapChipIn .48s var(--ease) calc(var(--branch-delay) + .42s + var(--chip-delay)) forwards;
  }
  .service-chip::after{
    content:'‹';
    width:24px;
    height:24px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:rgba(255,255,255,.05);
    color:var(--curacao);
    font-size:1.05rem;
    line-height:1;
    flex:0 0 24px;
  }
  .service-chip:hover,
  .service-chip.active{
    border-color:rgba(77,182,214,.65);
    color:var(--curacao);
    background:rgba(77,182,214,.1);
    transform:translateY(-2px);
  }
  @keyframes mapLineDraw{
    from{stroke-dashoffset:90;opacity:0;}
    to{stroke-dashoffset:0;opacity:1;}
  }
  @keyframes mapCenterIn{
    from{opacity:0;transform:translate(-50%,calc(-50% + 24px)) scale(.9);filter:blur(8px);}
    to{opacity:1;transform:translate(-50%,-50%) scale(1);filter:blur(0);}
  }
  @keyframes mapCenterGlow{
    50%{box-shadow:0 24px 80px rgba(197,232,71,.12), inset 0 0 52px rgba(255,255,255,.04);}
  }
  @keyframes mapBranchIn{
    from{opacity:0;transform:translate(var(--branch-x),calc(var(--branch-y) + 28px)) scale(.92);filter:blur(6px);}
    to{opacity:1;transform:translate(var(--branch-x),var(--branch-y)) scale(1);filter:blur(0);}
  }
  @keyframes mapChipIn{
    from{opacity:0;transform:translateY(14px) scale(.96);filter:blur(4px);}
    to{opacity:1;transform:translateY(0) scale(1);filter:blur(0);}
  }
  .service-details{
    display:grid;
    grid-template-columns:1fr .9fr;
    gap:1.4rem;
    align-items:stretch;
    margin-top:2.5rem;
  }
  .service-detail-card,
  .services-note{
    background:linear-gradient(145deg,rgba(13,27,42,.7),rgba(13,27,42,.35));
    border:1px solid rgba(255,255,255,.07);
    border-radius:26px;
    padding:2rem;
  }
  .service-detail-eyebrow{
    color:var(--curacao);
    font-size:.85rem;
    font-weight:700;
    margin-bottom:.5rem;
  }
  .service-detail-card h3{
    font-family:'Tajawal',sans-serif;
    font-size:1.65rem;
    margin-bottom:.8rem;
  }
  .service-detail-card p{
    color:var(--soft);
    line-height:1.9;
    margin-bottom:1.1rem;
  }
  .detail-points{
    display:flex;
    flex-wrap:wrap;
    gap:.65rem;
  }
  .detail-points span{
    padding:.5rem .85rem;
    border-radius:999px;
    color:var(--lime);
    background:rgba(197,232,71,.08);
    border:1px solid rgba(197,232,71,.18);
    font-size:.86rem;
    font-weight:600;
  }
  .services-note h4{
    font-family:'Tajawal',sans-serif;
    color:var(--lime);
    font-size:1.25rem;
    margin-bottom:.8rem;
  }
  .services-note p{color:var(--flannel);line-height:1.9;}
  .service-modal{
    position:fixed;
    inset:0;
    z-index:500;
    display:grid;
    place-items:center;
    padding:1.5rem;
    background:rgba(8,18,28,.72);
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
    opacity:0;
    pointer-events:none;
    transition:opacity .28s var(--ease);
  }
  .service-modal.active{
    opacity:1;
    pointer-events:auto;
  }
  .service-modal[hidden]{display:none;}
  .modal-card{
    width:min(640px,100%);
    max-height:min(86vh,720px);
    overflow:auto;
    position:relative;
    border-radius:30px;
    padding:2.2rem;
    background:
      radial-gradient(circle at 18% 0%, rgba(197,232,71,.15) 0%, transparent 32%),
      linear-gradient(145deg,rgba(13,27,42,.96),rgba(13,27,42,.84));
    border:1px solid rgba(255,255,255,.1);
    box-shadow:0 30px 100px rgba(0,0,0,.42), inset 0 0 45px rgba(255,255,255,.025);
    transform:translateY(18px) scale(.96);
    transition:transform .32s var(--ease);
  }
  .service-modal.active .modal-card{transform:translateY(0) scale(1);}
  .modal-close{
    position:absolute;
    top:1.15rem;
    left:1.15rem;
    width:42px;
    height:42px;
    border:1px solid rgba(255,255,255,.1);
    border-radius:50%;
    background:rgba(255,255,255,.05);
    color:var(--soft);
    font-size:1.45rem;
    line-height:1;
    cursor:pointer;
    transition:all .25s var(--ease);
  }
  .modal-close:hover{
    background:var(--lime);
    color:var(--dark);
    border-color:var(--lime);
    transform:rotate(90deg);
  }
  .modal-eyebrow{
    color:var(--curacao);
    font-size:.88rem;
    font-weight:800;
    margin-bottom:.7rem;
    padding-left:3rem;
  }
  .modal-title{
    font-family:'Tajawal',sans-serif;
    font-size:clamp(1.6rem,4vw,2.2rem);
    line-height:1.25;
    margin-bottom:1rem;
    padding-left:3rem;
  }
  .modal-text{
    color:var(--soft);
    line-height:2;
    font-size:1.02rem;
    margin-bottom:1.6rem;
  }
  .modal-benefits-title{
    color:var(--lime);
    font-weight:800;
    margin-bottom:.8rem;
  }
  .modal-points{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:.75rem;
  }
  .modal-points span{
    padding:.8rem .9rem;
    border-radius:16px;
    background:rgba(197,232,71,.08);
    border:1px solid rgba(197,232,71,.18);
    color:var(--soft);
    font-size:.9rem;
    font-weight:700;
  }
  .modal-points span::before{
    content:'';
    display:inline-block;
    width:7px;
    height:7px;
    border-radius:50%;
    background:var(--lime);
    box-shadow:0 0 12px rgba(197,232,71,.8);
    margin-left:.5rem;
  }
  body.modal-open{overflow:hidden;}

  /* ===== WHY — CURVED ROADMAP ===== */
  .why{
    background:var(--darker);
    position:relative;
    overflow:hidden;
    padding:7rem 4vw 9rem;
  }
  .why::before{
    content:'';
    position:absolute;
    inset:0;
    background:
      radial-gradient(circle at 20% 30%, rgba(77,182,214,.12) 0%, transparent 40%),
      radial-gradient(circle at 80% 70%, rgba(197,232,71,.1) 0%, transparent 40%);
    pointer-events:none;
  }
  .why::after{
    content:'';
    position:absolute;
    inset:0;
    background-image:
      linear-gradient(rgba(255,255,255,.02) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255,255,255,.02) 1px, transparent 1px);
    background-size:40px 40px;
    pointer-events:none;
    mask-image:radial-gradient(ellipse at center, black 0%, transparent 70%);
  }
  .why-header{text-align:center;margin-bottom:5rem;position:relative;z-index:2;}
  .why-header .section-desc{margin-left:auto;margin-right:auto;}

  /* Curved roadmap container */
  .roadmap{
    position:relative;
    max-width:1200px;
    margin:0 auto;
    height:1800px;
    padding-bottom:120px;
    z-index:2;
  }

  /* The curving SVG path */
  .roadmap-svg{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    pointer-events:none;
  }
  .path-bg{
    fill:none;
    stroke:rgba(255,255,255,.06);
    stroke-width:2;
    stroke-dasharray:6 10;
  }
  .path-glow{
    fill:none;
    stroke:url(#pathGradient);
    stroke-width:3;
    stroke-linecap:round;
    stroke-dasharray:3000;
    stroke-dashoffset:3000;
    filter:drop-shadow(0 0 12px rgba(197,232,71,.5));
  }
  /* Arrow head that travels along the path */
  .path-arrow{
    position:absolute;
    width:26px;height:26px;
    pointer-events:none;
    z-index:10;
    opacity:0;
    transform:translate(-50%,-50%);
  }
  .path-arrow svg{
    width:100%;height:100%;
    filter:drop-shadow(0 0 8px rgba(197,232,71,1));
  }

  /* Each station positioned absolutely along the curve */
  .station{
    position:absolute;
    width:380px;
    opacity:0;
    transform:translateY(40px) scale(.95);
    transition:all .8s cubic-bezier(.22,1,.36,1);
  }
  .station.visible{
    opacity:1;
    transform:translateY(0) scale(1);
  }

  /* Position each station — dots sit exactly on path at x=870(odd)/x=330(even) */
  .station-1{ top:105px;   right:60px;  }
  .station-2{ top:365px;   left:60px;   }
  .station-3{ top:625px;   right:60px;  }
  .station-4{ top:885px;   left:60px;   }
  .station-5{ top:1145px;  right:60px;  }
  .station-6{ top:1405px;  left:60px;   }

  /* The numbered circle dot on the path */
  .station-dot{
    position:absolute;
    top:50%;
    width:90px;
    height:90px;
    transform:translateY(-50%);
    z-index:3;
  }
  /* Odd stations (right side) — dot on the left edge */
  .station:nth-child(odd) .station-dot{left:-130px;}
  /* Even stations (left side) — dot on the right edge */
  .station:nth-child(even) .station-dot{right:-130px;}

  .dot-ring-outer{
    position:absolute;
    inset:-12px;
    border-radius:50%;
    border:1px dashed rgba(197,232,71,.3);
    animation:spinSlow 25s linear infinite;
  }
  .station:nth-child(even) .dot-ring-outer{border-color:rgba(77,182,214,.3);}
  @keyframes spinSlow{to{transform:rotate(360deg);}}

  .dot-pulse{
    position:absolute;
    inset:0;
    border-radius:50%;
    background:var(--lime);
    opacity:0;
    animation:pulseExpand 2.8s ease-out infinite;
  }
  .station:nth-child(even) .dot-pulse{background:var(--curacao);}
  @keyframes pulseExpand{
    0%{transform:scale(1);opacity:.5;}
    100%{transform:scale(1.8);opacity:0;}
  }

  .dot-core{
    position:absolute;
    inset:0;
    border-radius:50%;
    background:linear-gradient(135deg,var(--lime),#9BC92E);
    display:flex;align-items:center;justify-content:center;
    font-family:'Tajawal',sans-serif;
    font-weight:900;
    font-size:2rem;
    color:var(--dark);
    box-shadow:
      0 0 0 8px rgba(13,27,42,.9),
      0 0 40px rgba(197,232,71,.5),
      inset 0 -3px 8px rgba(0,0,0,.15);
    transition:transform .4s var(--ease);
  }
  .station:nth-child(even) .dot-core{
    background:linear-gradient(135deg,var(--curacao),#2E8EAF);
    box-shadow:
      0 0 0 8px rgba(13,27,42,.9),
      0 0 40px rgba(77,182,214,.5),
      inset 0 -3px 8px rgba(0,0,0,.15);
  }
  .station:hover .dot-core{transform:scale(1.12) rotate(-5deg);}

  /* The content card */
  .station-card{
    background:linear-gradient(145deg,rgba(42,46,51,.85),rgba(13,27,42,.7));
    border:1px solid rgba(255,255,255,.08);
    border-radius:22px;
    padding:2rem 2.2rem;
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
    position:relative;
    transition:all .4s var(--ease);
    box-shadow:0 10px 40px rgba(0,0,0,.3);
  }
  .station:hover .station-card{
    border-color:rgba(197,232,71,.35);
    transform:translateY(-5px);
    box-shadow:0 20px 60px rgba(0,0,0,.5), 0 0 30px rgba(197,232,71,.1);
  }
  .station:nth-child(even):hover .station-card{
    border-color:rgba(77,182,214,.35);
    box-shadow:0 20px 60px rgba(0,0,0,.5), 0 0 30px rgba(77,182,214,.1);
  }

  /* Connector line from card to dot */
  .station:nth-child(odd) .station-card::before{
    content:'';
    position:absolute;
    top:50%;left:-50px;
    width:50px;height:2px;
    background:linear-gradient(90deg, transparent, var(--lime));
    transform:translateY(-50%);
  }
  .station:nth-child(even) .station-card::before{
    content:'';
    position:absolute;
    top:50%;right:-50px;
    width:50px;height:2px;
    background:linear-gradient(-90deg, transparent, var(--curacao));
    transform:translateY(-50%);
  }

  .station-label{
    display:inline-flex;align-items:center;gap:.5rem;
    padding:.35rem .9rem;
    background:rgba(197,232,71,.12);
    border:1px solid rgba(197,232,71,.3);
    border-radius:50px;
    color:var(--lime);
    font-size:.78rem;
    font-weight:700;
    margin-bottom:1rem;
    letter-spacing:.3px;
  }
  .station:nth-child(even) .station-label{
    background:rgba(77,182,214,.12);
    border-color:rgba(77,182,214,.3);
    color:var(--curacao);
  }
  .station-label::before{
    content:'';
    width:6px;height:6px;
    background:currentColor;
    border-radius:50%;
    box-shadow:0 0 8px currentColor;
  }

  .station-card h4{
    font-family:'Tajawal',sans-serif;
    font-size:1.45rem;
    font-weight:800;
    margin-bottom:.7rem;
    color:var(--white);
    line-height:1.3;
  }
  .station-card p{
    color:var(--soft);
    font-size:.98rem;
    line-height:1.85;
    margin-bottom:1.2rem;
  }

  .station-features{
    display:flex;
    flex-wrap:wrap;
    gap:.5rem;
  }
  .feature-chip{
    display:inline-flex;align-items:center;gap:.4rem;
    padding:.4rem .8rem;
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.08);
    border-radius:50px;
    font-size:.78rem;
    color:var(--soft);
    transition:all .3s var(--ease);
  }
  .feature-chip svg{color:var(--lime);width:12px;height:12px;}
  .station:nth-child(even) .feature-chip svg{color:var(--curacao);}
  .station:hover .feature-chip{
    background:rgba(255,255,255,.08);
    border-color:rgba(197,232,71,.2);
  }

  /* Big number in the background of the card */
  .station-bignum{
    position:absolute;
    top:.5rem;
    font-family:'Tajawal',sans-serif;
    font-size:7rem;
    font-weight:900;
    line-height:1;
    color:rgba(255,255,255,.025);
    pointer-events:none;
    z-index:0;
  }
  .station:nth-child(odd) .station-bignum{left:1rem;}
  .station:nth-child(even) .station-bignum{right:1rem;}

  /* Destination at the bottom */
  .roadmap-destination{
    position:absolute;
    bottom:-80px;
    left:50%;
    transform:translateX(-50%);
    text-align:center;
    z-index:5;
    white-space:nowrap;
  }
  .destination-glow{
    position:absolute;
    inset:-40px;
    background:radial-gradient(circle, rgba(197,232,71,.3), transparent 70%);
    filter:blur(20px);
    z-index:-1;
  }
  .destination-badge{
    display:inline-flex;align-items:center;gap:.8rem;
    padding:1.3rem 2.5rem;
    background:linear-gradient(135deg,var(--lime),var(--curacao));
    color:var(--dark);
    border-radius:50px;
    font-family:'Tajawal',sans-serif;
    font-weight:900;
    font-size:1.2rem;
    box-shadow:0 15px 50px rgba(197,232,71,.4);
    cursor:pointer;
    transition:transform .3s var(--ease);
  }
  .destination-badge:hover{transform:translateY(-4px) scale(1.04);}

  /* Arrow above destination that appears after animation */
  .destination-arrow{
    display:block;
    text-align:center;
    margin-bottom:.8rem;
    opacity:0;
    transform:translateY(-10px);
    transition:opacity .5s, transform .5s;
  }
  .roadmap-destination.visible .destination-arrow{
    opacity:1;
    transform:translateY(0);
    animation:arrowBounce 1.2s ease-in-out .3s infinite;
  }
  @keyframes arrowBounce{
    0%,100%{ transform:translateY(0); }
    50%{ transform:translateY(6px); }
  }

  /* ===== Mobile responsive — vertical timeline ===== */
  @media (max-width: 900px){
    .roadmap{height:auto;padding:1rem 0 4rem;}
    .roadmap-svg{display:none;}
    .station{
      position:relative !important;
      top:auto !important;
      left:auto !important;
      right:auto !important;
      width:100% !important;
      padding-right:75px;
      margin-bottom:2rem;
    }
    .station-dot{
      width:60px !important;
      height:60px !important;
      left:0 !important;
      right:auto !important;
      top:20px !important;
      transform:none !important;
    }
    .dot-core{font-size:1.4rem;box-shadow:0 0 0 5px rgba(13,27,42,.9), 0 0 25px rgba(197,232,71,.4) !important;}
    .station:nth-child(even) .dot-core{box-shadow:0 0 0 5px rgba(13,27,42,.9), 0 0 25px rgba(77,182,214,.4) !important;}
    .station-card::before{display:none !important;}
    .station-card{padding:1.4rem 1.5rem;}
    .station-card h4{font-size:1.2rem;}
    .station-bignum{font-size:5rem;}
    .station:nth-child(odd) .station-bignum,
    .station:nth-child(even) .station-bignum{left:auto;right:1rem;}
    /* vertical connecting line */
    .roadmap::after{
      content:'';
      position:absolute;
      right:29px;top:50px;bottom:120px;
      width:2px;
      background:linear-gradient(to bottom, var(--lime), var(--curacao));
      opacity:.3;
    }
    .roadmap-destination{position:relative;bottom:auto;left:auto;transform:none;margin-top:2rem;}
  }

  /* ===== STATS / PARTNERS ===== */
  .stats{
    background:var(--asphalt);
    padding:5rem 4vw;
    border-top:1px solid rgba(255,255,255,.05);
    border-bottom:1px solid rgba(255,255,255,.05);
  }
  .stats-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:2rem;
    text-align:center;
  }
  .stat-item{position:relative;padding:1rem;}
  .stat-item:not(:last-child)::after{
    content:'';
    position:absolute;
    left:0;top:20%;bottom:20%;
    width:1px;
    background:rgba(255,255,255,.1);
  }
  .stat-value{
    font-family:'Tajawal',sans-serif;
    font-size:clamp(2.5rem,4vw,3.5rem);
    font-weight:900;
    color:var(--lime);
    line-height:1;
    margin-bottom:.5rem;
  }
  .stat-item:nth-child(even) .stat-value{color:var(--curacao);}
  .stat-label{color:var(--flannel);font-size:.95rem;}

  /* ===== PARTNERS — connected logos (performance-optimized) ===== */
  .partners{
    background:var(--darker);
    position:relative;
    overflow:hidden;
    padding:6rem 4vw;
  }
  /* Lighter ambient glow — single gradient, no blur filter */
  .partners::before{
    content:'';
    position:absolute;
    inset:0;
    background:
      radial-gradient(ellipse at 20% 30%, rgba(77,182,214,.06) 0%, transparent 55%),
      radial-gradient(ellipse at 80% 70%, rgba(197,232,71,.05) 0%, transparent 55%);
    pointer-events:none;
  }
  .partners-header{
    text-align:center;
    margin-bottom:4rem;
    position:relative;
    z-index:2;
  }
  .partners-header .section-desc{margin-left:auto;margin-right:auto;}

  .partners-swiper-rows{
    position:relative;
    z-index:2;
    display:flex;
    flex-direction:column;
    gap:1rem;
    margin:0 -4vw;
    padding:0 4vw;
    direction:ltr;
  }
  .partners-swiper{
    overflow:hidden;
    width:100%;
    direction:ltr;
    -webkit-mask-image:linear-gradient(to right, transparent, #000 6%, #000 94%, transparent);
    mask-image:linear-gradient(to right, transparent, #000 6%, #000 94%, transparent);
  }
  .partners-swiper--row-2{
    margin-top:.15rem;
  }
  .partners-swiper .swiper-wrapper{
    transition-timing-function:linear !important;
  }
  .partners-swiper .swiper-slide{
    width:auto;
    height:auto;
  }

  .partner{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
  }
  /* Salla-style logo tile — compact rounded square */
  .partner-inner{
    width:56px;
    height:56px;
    border-radius:14px;
    background:#ffffff;
    border:1px solid rgba(0,0,0,.06);
    display:flex;
    align-items:center;
    justify-content:center;
    transition:transform .2s ease-out, box-shadow .2s ease-out, border-color .2s ease-out;
    box-shadow:0 2px 8px rgba(0,0,0,.08);
    position:relative;
    z-index:2;
    overflow:hidden;
    flex-shrink:0;
  }
  .partner-inner-logo{
    background:#ffffff;
    border-color:rgba(0,0,0,.06);
    padding:8px;
  }
  .partner-logo-img{
    width:100%;
    height:100%;
    object-fit:contain;
    display:block;
    transition:transform .2s ease-out;
  }
  .partner:hover .partner-inner{
    transform:translateY(-2px);
    border-color:rgba(0,0,0,.1);
    box-shadow:0 6px 16px rgba(0,0,0,.12);
  }
  .partner:hover .partner-logo-img{
    transform:scale(1.04);
  }

  .partners-cta{
    text-align:center;
    margin-top:3.5rem;
    position:relative;
    z-index:2;
  }
  .partners-cta p{
    color:var(--flannel);
    font-size:1rem;
    margin-bottom:1.5rem;
  }
  .partners-cta strong{color:var(--lime);font-weight:700;}

  /* ===== OUR WORKS — portfolio carousel ===== */
  .works{
    background:var(--darker);
    position:relative;
    overflow:hidden;
  }
  .works::before{
    content:'';
    position:absolute;
    inset:0;
    background:
      radial-gradient(ellipse at 50% 0%, rgba(197,232,71,.08) 0%, transparent 55%),
      radial-gradient(ellipse at 20% 80%, rgba(77,182,214,.06) 0%, transparent 45%);
    pointer-events:none;
  }
  .works::after{
    content:'';
    position:absolute;
    top:0;left:0;right:0;height:1px;
    background:linear-gradient(90deg,transparent,var(--lime),transparent);
    opacity:.25;
  }
  .works .container{position:relative;z-index:2;}
  .works-header{
    text-align:center;
    max-width:780px;
    margin:0 auto 2.5rem;
  }
  .works-badge{
    display:inline-flex;
    align-items:center;
    gap:.5rem;
    padding:.45rem 1.1rem;
    background:rgba(197,232,71,.06);
    border:1px solid rgba(197,232,71,.32);
    border-radius:50px;
    color:var(--lime);
    font-size:.85rem;
    font-weight:600;
    margin-bottom:1.4rem;
  }
  .works-badge svg{width:14px;height:14px;opacity:.9;}
  .works-header .section-desc{margin-left:auto;margin-right:auto;margin-bottom:0;}

  .works-filters-wrap{
    display:flex;
    justify-content:center;
    margin-bottom:2.8rem;
    overflow-x:auto;
    padding:.4rem 0 1rem;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .works-filters-wrap::-webkit-scrollbar{display:none;}
  .works-filters{
    display:inline-flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:.35rem;
    padding:.45rem;
    border:1px solid rgba(255,255,255,.08);
    border-radius:50px;
    background:rgba(13,27,42,.45);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
  }
  .works-filter{
    display:inline-flex;
    align-items:center;
    gap:.45rem;
    padding:.55rem 1.05rem;
    border:none;
    border-radius:50px;
    background:transparent;
    color:var(--soft);
    font-family:inherit;
    font-size:.82rem;
    font-weight:500;
    cursor:pointer;
    white-space:nowrap;
    transition:all .45s var(--ease);
  }
  .works-filter svg{width:15px;height:15px;flex-shrink:0;opacity:.75;transition:opacity .3s;}
  .works-filter:hover{color:var(--white);}
  .works-filter:hover svg{opacity:1;}
  .works-filter.active{
    background:var(--lime);
    color:var(--dark);
    font-weight:700;
    box-shadow:0 0 28px rgba(197,232,71,.35);
  }
  .works-filter.active svg{opacity:1;color:var(--dark);}

  .works-stage{
    display:flex;
    align-items:center;
    gap:.8rem;
    margin-bottom:1.8rem;
    overflow:hidden;
  }
  .works-nav{
    flex-shrink:0;
    width:48px;height:48px;
    border-radius:50%;
    border:1px solid rgba(197,232,71,.45);
    background:rgba(13,27,42,.6);
    color:var(--lime);
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:all .4s var(--ease);
  }
  .works-nav:hover{
    background:rgba(197,232,71,.12);
    box-shadow:0 0 20px rgba(197,232,71,.25);
    transform:scale(1.06);
  }
  .works-nav:disabled{opacity:.3;cursor:not-allowed;transform:none;box-shadow:none;}
  .works-nav svg{width:20px;height:20px;}

  .works-viewport{
    flex:1;
    min-width:0;
    overflow:hidden;
    padding:1.5rem 0 2rem;
    direction:ltr;
    transition:opacity .5s var(--ease), transform .5s var(--ease);
  }
  .works-viewport.is-switching{
    opacity:0;
    transform:translateY(14px);
  }
  .works-track{
    display:flex;
    align-items:center;
    gap:1.4rem;
    transition:transform .75s var(--ease);
    will-change:transform;
  }

  .works-card{
    flex:0 0 clamp(460px, 76vw, 540px);
    opacity:.45;
    transform:scale(.88);
    transition:opacity .75s var(--ease), transform .75s var(--ease), flex-basis .75s var(--ease), box-shadow .75s var(--ease);
    cursor:pointer;
  }
  .works-card.is-active{
    flex:0 0 clamp(520px, 56vw, 680px);
    opacity:1;
    transform:scale(1);
  }
  .works-card.is-active .works-frame{
    box-shadow:
      0 0 0 1px rgba(197,232,71,.25),
      0 0 50px rgba(197,232,71,.18),
      0 24px 60px rgba(0,0,0,.45);
  }

  .works-frame{
    border-radius:22px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.08);
    background:#0a1018;
    transition:box-shadow .75s var(--ease);
    min-height:380px;
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
  }
  .works-frame:has(.works-preview--has-image){
    min-height:clamp(320px, 42vw, 480px);
  }
  .works-preview{
    position:absolute;
    inset:0;
    display:flex;
    flex-direction:column;
    padding:1rem 1.1rem 1.2rem;
    direction:rtl;
  }
  .works-preview--has-image{
    padding:.65rem;
    background:#0a1018 !important;
    align-items:center;
    justify-content:center;
  }
  .works-preview-img{
    position:relative;
    z-index:1;
    width:auto;
    height:auto;
    max-width:100%;
    max-height:100%;
    object-fit:contain;
    object-position:center;
    display:block;
    flex-shrink:0;
  }
  .works-preview--has-image .works-preview-ui{display:none;}
  .works-preview-bar{
    display:flex;
    gap:.35rem;
    margin-bottom:.8rem;
  }
  .works-preview-bar span{
    width:7px;height:7px;border-radius:50%;
    background:rgba(255,255,255,.2);
  }
  .works-preview-brand{
    font-family:'Tajawal',sans-serif;
    font-weight:900;
    font-size:1.35rem;
    margin-bottom:.25rem;
  }
  .works-preview-tag{
    font-size:.72rem;
    opacity:.75;
    margin-bottom:auto;
  }
  .works-preview-cta{
    align-self:flex-start;
    padding:.4rem 1rem;
    border-radius:50px;
    font-size:.72rem;
    font-weight:700;
    border:none;
    margin-top:.6rem;
  }
  .works-preview-features{
    display:flex;
    gap:.5rem;
    flex-wrap:wrap;
    margin-top:.7rem;
  }
  .works-preview-features span{
    font-size:.6rem;
    padding:.2rem .45rem;
    border-radius:6px;
    background:rgba(255,255,255,.08);
  }

  .works-preview--green{
    background:linear-gradient(160deg,#0a1f12 0%,#1a4d2e 45%,#2d6a4f 100%);
    color:#e8f5e9;
  }
  .works-preview--green .works-preview-cta{background:var(--lime);color:var(--dark);}
  .works-preview--green .works-preview-brand{color:#a8e063;}

  .works-preview--luxury{
    background:linear-gradient(160deg,#0a0a0a 0%,#1a1a1a 50%,#2d2d2d 100%);
    color:#f5f0e8;
  }
  .works-preview--luxury .works-preview-cta{background:#d4c4a8;color:#1a1a1a;}
  .works-preview--luxury .works-preview-brand{color:#d4c4a8;}

  .works-preview--clinic{
    background:linear-gradient(160deg,#e8f4fc 0%,#b8dff5 50%,#7ec8e3 100%);
    color:#0d3b5c;
  }
  .works-preview--clinic .works-preview-cta{background:#2563eb;color:#fff;}
  .works-preview--clinic .works-preview-brand{color:#0d47a1;}

  .works-preview--restaurant{
    background:linear-gradient(160deg,#1a0f0a 0%,#4a2010 50%,#8b4513 100%);
    color:#ffe4c4;
  }
  .works-preview--restaurant .works-preview-cta{background:#e67e22;color:#fff;}

  .works-preview--corporate{
    background:linear-gradient(160deg,var(--dark) 0%,#1e3a5f 100%);
    color:var(--soft);
  }
  .works-preview--corporate .works-preview-cta{background:var(--curacao);color:var(--dark);}

  .works-preview--brand{
    background:linear-gradient(135deg,#1a1a2e 0%,#16213e 50%,#0f3460 100%);
    color:#fff;
  }
  .works-preview--brand .works-preview-cta{background:var(--lime);color:var(--dark);}

  .works-preview--ui{
    background:linear-gradient(160deg,#1e1e2f 0%,#2d2d44 50%,#4a4a6a 100%);
    color:#e0e0ff;
  }
  .works-preview--ui .works-preview-cta{background:#a78bfa;color:#1a1a2e;}

  .works-preview--dashboard{
    background:linear-gradient(160deg,#0d1117 0%,#161b22 50%,#21262d 100%);
    color:#c9d1d9;
  }
  .works-preview--dashboard .works-preview-cta{background:var(--lime);color:var(--dark);}
  .works-preview--dashboard .works-preview-features span{background:rgba(197,232,71,.12);color:var(--lime);}

  .works-card-meta{
    text-align:center;
    margin-top:1rem;
    direction:rtl;
    opacity:0;
    transform:translateY(8px);
    transition:all .5s var(--ease) .1s;
  }
  .works-card.is-active .works-card-meta{opacity:1;transform:translateY(0);}
  .works-card-meta h4{
    font-family:'Tajawal',sans-serif;
    font-size:1.05rem;
    font-weight:700;
    margin-bottom:.2rem;
  }
  .works-card-meta span{font-size:.82rem;color:var(--flannel);}

  .works-dots{
    display:flex;
    justify-content:center;
    gap:.5rem;
    direction:ltr;
  }
  .works-dot{
    width:8px;height:8px;
    border-radius:50%;
    border:none;
    padding:0;
    background:rgba(255,255,255,.2);
    cursor:pointer;
    transition:all .4s var(--ease);
  }
  .works-dot.active{
    background:var(--lime);
    box-shadow:0 0 12px rgba(197,232,71,.6);
    transform:scale(1.2);
  }
  .works-dot:hover:not(.active){background:rgba(197,232,71,.4);}

  /* ===== WORKS DETAIL MODAL — split layout ===== */
  .works-modal{
    position:fixed;
    inset:0;
    z-index:510;
    display:grid;
    place-items:center;
    padding:1.25rem;
    background:rgba(8,18,28,.78);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    opacity:0;
    pointer-events:none;
    transition:opacity .3s var(--ease);
  }
  .works-modal.active{
    opacity:1;
    pointer-events:auto;
  }
  .works-modal[hidden]{display:none;}
  .works-modal-card{
    width:min(960px,96vw);
    max-height:min(92vh,860px);
    position:relative;
    border-radius:28px;
    overflow:hidden;
    background:linear-gradient(145deg,rgba(13,27,42,.98),rgba(13,27,42,.9));
    border:1px solid rgba(255,255,255,.1);
    box-shadow:0 36px 120px rgba(0,0,0,.5), inset 0 0 50px rgba(255,255,255,.02);
    transform:translateY(20px) scale(.96);
    transition:transform .34s var(--ease);
  }
  .works-modal.active .works-modal-card{
    transform:translateY(0) scale(1);
  }
  .works-modal-card .modal-close{
    top:1rem;
    left:1rem;
    z-index:3;
  }
  .works-modal-layout{
    display:flex;
    flex-direction:column;
    direction:rtl;
    max-height:inherit;
  }
  .works-modal-media{
    position:relative;
    background:#0a1018;
    height:480px;
    flex-shrink:0;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0;
    border-bottom:1px solid rgba(255,255,255,.08);
  }
  .works-modal-media img{
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:center;
    display:block;
  }
  .works-modal-body{
    padding:2.5rem 2.25rem;
    overflow-y:auto;
    direction:rtl;
    display:flex;
    flex-direction:column;
  }
  .works-modal-eyebrow{
    color:var(--curacao);
    font-size:.92rem;
    font-weight:800;
    margin-bottom:.65rem;
  }
  .works-modal-title{
    font-family:'Tajawal',sans-serif;
    font-size:clamp(1.75rem,3.2vw,2.35rem);
    line-height:1.2;
    margin-bottom:1.1rem;
  }
  .works-modal-desc{
    color:var(--soft);
    line-height:2;
    font-size:1.08rem;
    margin-bottom:1.5rem;
  }
  .works-modal-desc p + p{margin-top:1rem;}
  .works-modal-lead{
    font-weight:700;
    color:var(--white);
    font-size:1.06rem;
    margin-bottom:1.05rem;
    line-height:1.55;
  }
  .works-modal-features{
    display:flex;
    flex-wrap:wrap;
    gap:.65rem;
  }
  .works-modal-features span{
    padding:.55rem 1rem;
    border-radius:50px;
    background:rgba(197,232,71,.1);
    border:1px solid rgba(197,232,71,.22);
    color:var(--lime);
    font-size:.88rem;
    font-weight:700;
  }
  @media (max-width:780px){
    .works-modal-card{
      max-height:94vh;
    }
    .works-modal-media{
      height:320px;
    }
    .works-modal-body{
      padding:1.65rem 1.35rem 2rem;
    }
  }

  /* ===== TESTIMONIALS ===== */
  .testimonials{background:var(--darker);}
  .testimonials-stage{
    display:flex;
    align-items:center;
    gap:.8rem;
    margin-top:3rem;
  }
  .testimonials-swiper{
    flex:1;
    min-width:0;
    overflow:hidden;
    padding-bottom:2.6rem;
  }
  .testimonials-swiper .swiper-slide{
    height:auto;
    box-sizing:border-box;
  }
  .testimonial{
    background:linear-gradient(145deg,rgba(42,46,51,.5),rgba(13,27,42,.3));
    border:1px solid rgba(255,255,255,.06);
    border-radius:20px;
    overflow:hidden;
    margin:0;
    transition:border-color .4s var(--ease),transform .4s var(--ease);
  }
  .testimonial.testimonial-image{
    padding:0;
    height:auto;
    display:block;
    background:var(--asphalt);
  }
  .testimonial-image:hover{
    border-color:rgba(198,255,0,.25);
    transform:translateY(-4px);
  }
  .testimonial-slide-media{
    width:100%;
    overflow:hidden;
    box-sizing:border-box;
    line-height:0;
  }
  .testimonial-slide-media img{
    display:block;
    width:100%;
    height:auto;
    object-fit:contain;
    object-position:center;
  }
  .testimonials-nav{
    flex-shrink:0;
    width:48px;
    height:48px;
    border-radius:50%;
    border:1px solid rgba(197,232,71,.45);
    background:rgba(13,27,42,.6);
    color:var(--lime);
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:all .4s var(--ease);
  }
  .testimonials-nav:hover{
    background:rgba(197,232,71,.12);
    box-shadow:0 0 20px rgba(197,232,71,.25);
    transform:scale(1.06);
  }
  .testimonials-nav svg{width:20px;height:20px;}
  .testimonials-pagination.swiper-pagination{
    bottom:0 !important;
  }
  .testimonials-pagination .swiper-pagination-bullet{
    background:rgba(255,255,255,.28);
    opacity:1;
  }
  .testimonials-pagination .swiper-pagination-bullet-active{
    background:var(--lime);
  }

  /* ===== BLOG ===== */
  .blog{background:var(--dark);}
  .blog-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1.5rem;
    margin-top:3rem;
  }
  .blog-card{
    border-radius:20px;
    overflow:hidden;
    background:var(--asphalt);
    border:1px solid rgba(255,255,255,.05);
    transition:all .4s var(--ease);
    cursor:pointer;
  }
  .blog-card:hover{
    transform:translateY(-6px);
    border-color:rgba(77,182,214,.3);
  }
  .blog-image{
    height:200px;
    background:linear-gradient(135deg,var(--dark),var(--asphalt));
    position:relative;
    overflow:hidden;
  }
  .blog-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    position:relative;
    z-index:1;
  }
  .blog-image::after{
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(135deg, rgba(197,232,71,.1), rgba(77,182,214,.1));
  }
  .blog-1 .blog-image{background:linear-gradient(135deg,#0D1B2A 0%,#1B3A5C 100%);}
  .blog-2 .blog-image{background:linear-gradient(135deg,#2A2E33 0%,#4DB6D6 200%);}
  .blog-3 .blog-image{background:linear-gradient(135deg,#0D1B2A 0%,#C5E847 250%);}
  .blog-cat{
    position:absolute;
    top:1rem;right:1rem;
    padding:.3rem .8rem;
    background:rgba(13,27,42,.8);
    backdrop-filter:blur(10px);
    border-radius:50px;
    font-size:.75rem;
    color:var(--lime);
    font-weight:600;
    z-index:2;
  }
  .blog-content{padding:1.8rem;}
  .blog-date{color:var(--flannel);font-size:.82rem;margin-bottom:.7rem;}
  .blog-content h4{
    font-family:'Tajawal',sans-serif;
    font-size:1.2rem;
    font-weight:700;
    line-height:1.5;
    margin-bottom:.8rem;
  }
  .blog-content p{color:var(--flannel);font-size:.9rem;margin-bottom:1.2rem;}
  .blog-link{color:var(--curacao);font-size:.9rem;font-weight:600;display:flex;align-items:center;gap:.4rem;}

  /* ===== BLOG POST (single) ===== */
  .blog-post{
    background:var(--dark);
    padding:8rem 0 5rem;
    min-height:60vh;
    position:relative;
    z-index:2;
  }
  .blog-back{
    display:inline-flex;
    align-items:center;
    gap:.4rem;
    color:var(--curacao);
    font-size:.9rem;
    font-weight:600;
    text-decoration:none;
    margin-bottom:2rem;
    transition:color .3s var(--ease);
  }
  .blog-back:hover{color:var(--lime);}
  .blog-post-header{margin-bottom:2.5rem;max-width:820px;}
  .blog-post-title{
    font-family:'Tajawal',sans-serif;
    font-size:clamp(2rem,4vw,3rem);
    font-weight:900;
    line-height:1.25;
    margin:.8rem 0 1rem;
  }
  .blog-post-excerpt{
    color:var(--soft);
    font-size:1.1rem;
    margin-bottom:1rem;
    line-height:1.8;
  }
  .blog-post-featured{
    width:100%;
    max-width:920px;
    height:clamp(220px,40vw,420px);
    border-radius:20px;
    margin-bottom:2.5rem;
    border:1px solid rgba(255,255,255,.06);
    overflow:hidden;
  }
  .blog-post-featured img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
  }
  .blog-post-body{
    max-width:820px;
    color:var(--soft);
    font-size:1.05rem;
    line-height:1.9;
  }
  .blog-post-body h2,
  .blog-post-body h3,
  .blog-post-body h4{
    font-family:'Tajawal',sans-serif;
    color:var(--white);
    font-weight:700;
    margin:2rem 0 1rem;
    line-height:1.4;
  }
  .blog-post-body h2{font-size:1.75rem;}
  .blog-post-body h3{font-size:1.4rem;}
  .blog-post-body h4{font-size:1.2rem;}
  .blog-post-body p{margin-bottom:1.2rem;}
  .blog-post-body ul,
  .blog-post-body ol{
    margin:0 0 1.2rem;
    padding-right:1.5rem;
  }
  .blog-post-body li{margin-bottom:.5rem;}
  .blog-post-body a{color:var(--curacao);text-decoration:underline;}
  .blog-post-body a:hover{color:var(--lime);}
  .blog-post-body img{
    max-width:100%;
    height:auto;
    border-radius:12px;
    margin:1.5rem 0;
  }
  .blog-post-body blockquote{
    border-right:3px solid var(--lime);
    padding:.5rem 1.2rem;
    margin:1.5rem 0;
    color:var(--flannel);
    font-style:italic;
  }

  /* ===== CONTACT ===== */
  .contact{background:var(--asphalt);position:relative;overflow:hidden;}
  .contact::before{
    content:'';
    position:absolute;
    top:0;right:0;
    width:50%;height:100%;
    background:radial-gradient(circle at right, rgba(197,232,71,.08) 0%, transparent 60%);
    pointer-events:none;
  }
  .contact-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:4rem;
    align-items:center;
  }
  .contact-info h2{
    font-family:'Tajawal',sans-serif;
    font-size:clamp(2rem,4vw,3rem);
    font-weight:900;
    line-height:1.2;
    margin-bottom:1.5rem;
  }
  .contact-info p{color:var(--soft);font-size:1.1rem;margin-bottom:2.5rem;}
  .contact-channels{display:flex;flex-direction:column;gap:1rem;}
  .channel{
    display:flex;align-items:center;gap:1rem;
    padding:1.2rem 1.5rem;
    background:rgba(13,27,42,.5);
    border:1px solid rgba(255,255,255,.05);
    border-radius:16px;
    transition:all .3s var(--ease);
    cursor:pointer;
  }
  .channel:hover{
    border-color:var(--lime);
    transform:translateX(-6px);
  }
  .channel-icon{
    width:48px;height:48px;
    background:rgba(197,232,71,.1);
    border-radius:12px;
    display:flex;align-items:center;justify-content:center;
    color:var(--lime);
  }
  .channel-info .channel-label{font-size:.82rem;color:var(--flannel);}
  .channel-info .channel-value{font-weight:600;}

  .contact-form{
    background:linear-gradient(145deg,rgba(13,27,42,.8),rgba(13,27,42,.4));
    border:1px solid rgba(255,255,255,.08);
    border-radius:24px;
    padding:2.5rem;
    backdrop-filter:blur(10px);
  }
  .form-group{margin-bottom:1.2rem;}
  .form-group label{
    display:block;
    color:var(--flannel);
    font-size:.85rem;
    margin-bottom:.5rem;
  }
  .form-group input,.form-group textarea{
    width:100%;
    padding:.9rem 1.1rem;
    background:rgba(8,18,28,.6);
    border:1px solid rgba(255,255,255,.08);
    border-radius:12px;
    color:var(--white);
    font-family:inherit;
    font-size:.95rem;
    transition:all .3s var(--ease);
  }
  .form-group input:focus,.form-group textarea:focus{
    outline:none;
    border-color:var(--curacao);
    background:rgba(8,18,28,.9);
  }
  .form-group textarea{resize:vertical;min-height:100px;}
  .form-submit{
    width:100%;
    padding:1.1rem;
    background:var(--lime);
    color:var(--dark);
    border:none;
    border-radius:12px;
    font-family:inherit;
    font-weight:700;
    font-size:1rem;
    cursor:pointer;
    transition:all .3s var(--ease);
    margin-top:.5rem;
  }
  .form-submit:hover{background:var(--curacao);transform:translateY(-2px);}

  /* ===== FOOTER ===== */
  footer{
    background:var(--darker);
    padding:4rem 4vw 2rem;
    border-top:1px solid rgba(255,255,255,.05);
  }
  .footer-grid{
    display:grid;
    grid-template-columns:2fr 1fr 1fr 1fr;
    gap:3rem;
    margin-bottom:3rem;
  }
  .footer-brand p{
    color:var(--flannel);
    margin-top:1rem;
    line-height:1.8;
    max-width:320px;
  }
  .footer-col h5{
    font-family:'Tajawal',sans-serif;
    color:var(--lime);
    margin-bottom:1.2rem;
    font-size:1rem;
  }
  .footer-col ul{list-style:none;}
  .footer-col li{margin-bottom:.7rem;}
  .footer-col a{
    color:var(--flannel);
    text-decoration:none;
    font-size:.92rem;
    transition:color .3s var(--ease);
  }
  .footer-col a:hover{color:var(--lime);}
  .footer-bottom{
    padding-top:2rem;
    border-top:1px solid rgba(255,255,255,.05);
    display:flex;justify-content:space-between;align-items:center;
    color:var(--flannel);
    font-size:.85rem;
  }
  .socials{display:flex;gap:.7rem;}
  .social-icon{
    width:36px;height:36px;
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.06);
    border-radius:10px;
    display:flex;align-items:center;justify-content:center;
    color:var(--flannel);
    transition:all .3s var(--ease);
    cursor:pointer;
  }
  .social-icon:hover{
    background:var(--lime);
    color:var(--dark);
    border-color:var(--lime);
    transform:translateY(-3px);
  }

  /* Animations */
  @keyframes fadeUp{
    from{opacity:0;transform:translateY(30px);}
    to{opacity:1;transform:translateY(0);}
  }
  .reveal{opacity:0;transform:translateY(40px);transition:all .8s var(--ease);}
  .reveal.visible{opacity:1;transform:translateY(0);}

  /* RESPONSIVE */
  @media (max-width: 980px){
    .nav-links,.nav-cta{display:none;}
    .menu-toggle{display:block;}
    .hero-grid{
      display:flex;
      flex-direction:column;
      align-items:center;
      gap:1.75rem;
    }
    .hero-content{
      display:contents;
      text-align:center;
    }
    .hero-tag{order:1;width:100%;justify-content:center;}
    .hero-content h1{order:2;}
    .hero-content p{order:3;}
    .hero-visual{
      order:4;
      height:auto;
      width:100%;
      max-width:520px;
    }
    .hero .cta-group{
      order:5;
      flex-direction:row;
      flex-wrap:nowrap;
      justify-content:center;
      width:100%;
      max-width:520px;
      margin-bottom:0;
      gap:.75rem;
    }
    .hero .cta-group .btn-gradient,
    .hero .cta-group .btn-outline{
      flex:1 1 0;
      min-width:0;
      justify-content:center;
      padding:.9rem .75rem;
      font-size:clamp(.72rem, 2.8vw, .88rem);
      white-space:nowrap;
    }
    .hero .cta-group svg{
      width:16px;
      height:16px;
      flex-shrink:0;
    }
    .hero-partners-strip{
      margin-top:1.5rem;
      gap:1rem;
    }
    .hero-partner-chip{
      height:36px;
      width:36px;
      padding:.4rem;
    }
    .hero-partner-logo{
      height:22px;
      width:22px;
      max-width:22px;
    }
    .blog-grid{grid-template-columns:1fr;}
    .testimonials-stage{gap:.55rem;}
    .testimonials-nav{width:42px;height:42px;}
    .works-stage{gap:.5rem;}
    .works-nav{width:42px;height:42px;}
    .works-card{flex:0 0 calc(92vw - 7.5rem);}
    .works-card.is-active{flex:0 0 calc(92vw - 5.75rem);}
    .works-frame{min-height:0;aspect-ratio:16 / 10;}
    .works-frame:has(.works-preview--has-image){min-height:0;aspect-ratio:16 / 10;}
    .services-map{
      min-height:auto;
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:1rem;
      margin:3rem auto 2rem;
    }
    .map-lines{display:none;}
    .map-center,
    .map-branch{
      position:relative;
      inset:auto;
      top:auto;
      right:auto;
      bottom:auto;
      left:auto;
      width:auto;
      --branch-x:0%;
      --branch-y:0px;
      transform:none;
    }
    .branch-strategy:hover,
    .map-branch:hover{transform:translateY(-4px);}
    .map-center{grid-column:1/-1;width:auto;}
    .branch-services,
    .branch-growth .branch-services,
    .branch-social .branch-services,
    .branch-strategy .branch-services,
    .branch-ecommerce .branch-services,
    .branch-creative .branch-services,
    .branch-brand .branch-services{
      position:static;
      transform:none;
      width:auto;
      flex-direction:row;
      flex-wrap:wrap;
      margin-top:.8rem;
    }
    .branch-services::before{display:none;}
    .service-chip{min-width:auto;flex:1 1 130px;}
    .service-details{grid-template-columns:1fr;}
    .why-grid{grid-template-columns:repeat(2,1fr);}
    .stats-grid{grid-template-columns:repeat(2,1fr);gap:2.5rem;}
    .stat-item::after{display:none;}
    .contact-grid{grid-template-columns:1fr;}
    .footer-grid{grid-template-columns:1fr 1fr;}
    .footer-bottom{flex-direction:column;gap:1rem;text-align:center;}
    section{padding:5rem 4vw;}
  }
  @media (max-width: 560px){
    .why-grid{grid-template-columns:1fr;}
    .services-map{grid-template-columns:1fr;}
    .service-detail-card,.services-note{padding:1.5rem;}
    .modal-card{padding:1.6rem;}
    .modal-eyebrow,.modal-title{padding-left:2.8rem;}
    .modal-points{grid-template-columns:1fr;}
    .footer-grid{grid-template-columns:1fr;}
    .cta-group{flex-direction:column;}
    .hero .cta-group{flex-direction:row;}
    .btn-primary,.btn-secondary{width:100%;justify-content:center;}
  }
  @media (prefers-reduced-motion: reduce){
    .services-map.visible .map-lines line,
    .services-map.visible .map-center,
    .services-map.visible .map-branch,
    .services-map.visible .service-chip{
      animation:none;
      opacity:1;
      filter:none;
    }
    .services-map.visible .map-center{transform:translate(-50%,-50%);}
    .services-map.visible .map-branch{transform:translate(var(--branch-x),var(--branch-y));}
    .services-map.visible .service-chip{transform:none;}
  }

  /* ===== SITE-WIDE RESPONSIVE POLISH ===== */
  @media (max-width: 1180px) and (min-width: 981px){
    .nav-links{gap:1.4rem;}
    .hero-grid{grid-template-columns:1fr .8fr;gap:2.5rem;}
    .hero-visual{height:auto;}
    .services-map{max-width:980px;min-height:720px;}
    .map-center{width:230px;}
    .map-branch{width:218px;}
    .branch-growth{left:150px;}
    .branch-social{left:150px;}
    .branch-ecommerce{right:150px;}
    .branch-creative{left:170px;}
    .branch-brand{right:170px;}
    .service-chip{min-width:126px;font-size:.78rem;padding:.68rem .75rem;}
    .branch-growth .branch-services,
    .branch-social .branch-services,
    .branch-strategy .branch-services,
    .branch-ecommerce .branch-services{width:145px;}
    .blog-grid{gap:1rem;}
    .footer-grid{grid-template-columns:1.5fr 1fr 1fr 1fr;gap:2rem;}
  }

  @media (max-width: 980px){
    body{font-size:15px;}
    nav{
      padding:1rem 4vw;
      align-items:flex-start;
      flex-wrap:wrap;
    }
    .logo{font-size:1.4rem;}
    .logo img,
    .site-logo-img{max-height:36px;max-width:120px;}
    footer .logo img,
    footer .site-logo-img{max-height:44px;max-width:140px;}
    .menu-toggle{
      display:block;
      width:42px;
      height:42px;
      border:1px solid rgba(255,255,255,.1);
      border-radius:12px;
      background:rgba(255,255,255,.04);
      line-height:1;
    }
    .nav-links{
      order:4;
      width:100%;
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:.75rem;
      max-height:0;
      opacity:0;
      overflow:hidden;
      pointer-events:none;
      transition:all .35s var(--ease);
    }
    nav.menu-open .nav-links{
      margin-top:1rem;
      max-height:320px;
      opacity:1;
      pointer-events:auto;
    }
    .nav-links a{
      display:block;
      padding:.75rem 1rem;
      border:1px solid rgba(255,255,255,.08);
      border-radius:14px;
      background:rgba(255,255,255,.04);
    }
    .nav-links a::after{display:none;}
    .nav-cta{display:none;}
    .hero{
      min-height:auto;
      padding:7.5rem 4vw 4rem;
    }
    .hero-grid{text-align:center;}
    .hero-tag,.cta-group{justify-content:center;}
    .hero p{margin-left:auto;margin-right:auto;}
    .hero-visual{
      max-width:520px;
      width:100%;
      margin:0 auto;
    }
    .dash-main{
      aspect-ratio:2 / 1;
    }
    .vc-1{right:5%;}
    .vc-2{left:5%;}
    .vc-3{right:50%;}

    .services .section-tag,
    .services .section-title,
    .services .section-desc{text-align:center;margin-left:auto;margin-right:auto;}
    .services-map{
      padding:1.2rem;
      border:1px solid rgba(255,255,255,.06);
      border-radius:30px;
      background:
        radial-gradient(circle at 50% 0%, rgba(197,232,71,.08), transparent 35%),
        rgba(13,27,42,.28);
    }
    .map-center{
      min-height:130px;
      margin-bottom:.3rem;
    }
    .services-map.visible .map-center{
      animation:mapMobileItemIn .55s var(--ease) forwards;
    }
    .map-branch{
      padding:1rem;
      border:1px solid rgba(255,255,255,.06);
      border-radius:24px;
      background:rgba(8,18,28,.28);
    }
    .branch-title{min-height:86px;}
    .service-chip{justify-content:center;}

    .stats-grid{
      padding:2rem 0;
    }
    .contact-info{text-align:center;}
    .contact-info p{margin-left:auto;margin-right:auto;max-width:620px;}
    .contact-channels{max-width:620px;margin:0 auto;}
    .contact-form{max-width:680px;margin:0 auto;width:100%;}
    footer{text-align:center;}
    .footer-brand p{margin-left:auto;margin-right:auto;}

    /* Partners — tablet */
    .partners{padding:5rem 4vw;}
    .partners-swiper-rows{gap:1rem;}
    .partner-inner{width:52px;height:52px;border-radius:12px;padding:7px;}
  }
  @keyframes mapMobileItemIn{
    from{opacity:0;transform:translateY(18px) scale(.96);filter:blur(6px);}
    to{opacity:1;transform:translateY(0) scale(1);filter:blur(0);}
  }

  @media (max-width: 760px){
    section{padding:4.5rem 5vw;}
    .works-filters{border-radius:16px;max-width:100%;}
    .works-filter{padding:.5rem .85rem;font-size:.78rem;}
    .works-nav{width:38px;height:38px;}
    .works-card{flex:0 0 calc(90vw - 7rem);}
    .works-card.is-active{flex:0 0 calc(90vw - 5.5rem);}
    .works-viewport{padding:1rem 0 1.5rem;}
    .works-frame{min-height:0;aspect-ratio:4 / 3;}
    .works-frame:has(.works-preview--has-image){min-height:0;aspect-ratio:16 / 10;}
    .works-preview-img{width:100%;height:auto;max-height:100%;object-fit:contain;}
    .section-title{font-size:clamp(1.75rem,8vw,2.55rem);letter-spacing:-.5px;}
    .section-desc{font-size:1rem;margin-bottom:2.2rem;}
    .hero h1{font-size:clamp(2.15rem,11vw,3.5rem);}
    .hero p{font-size:1rem;}

    /* Three palms — scaled down + tighter spacing on mobile */
    .palm-svg{width:200px;opacity:.12;}
    .palm-svg-left,.palm-svg-right{width:160px;opacity:.08;}
    .palm-svg-left{transform:translateX(calc(-50% - 130px)) rotate(-14deg);}
    .palm-svg-right{transform:translateX(calc(-50% + 130px)) rotate(14deg);}
    @keyframes palmGrowLeft{
      0%{transform:translateX(calc(-50% - 130px)) rotate(-14deg) scaleY(0.04) scaleX(0.04);opacity:0;}
      40%{opacity:.05;}
      100%{transform:translateX(calc(-50% - 130px)) rotate(-14deg) scaleY(1) scaleX(1);opacity:.08;}
    }
    @keyframes palmGrowRight{
      0%{transform:translateX(calc(-50% + 130px)) rotate(14deg) scaleY(0.04) scaleX(0.04);opacity:0;}
      40%{opacity:.05;}
      100%{transform:translateX(calc(-50% + 130px)) rotate(14deg) scaleY(1) scaleX(1);opacity:.08;}
    }
    @keyframes palmSwayLeft{
      0%,100%{transform:translateX(calc(-50% - 130px)) rotate(-14deg);}
      30%{transform:translateX(calc(-50% - 130px)) rotate(-12.5deg);}
      70%{transform:translateX(calc(-50% - 130px)) rotate(-15.5deg);}
    }
    @keyframes palmSwayRight{
      0%,100%{transform:translateX(calc(-50% + 130px)) rotate(14deg);}
      30%{transform:translateX(calc(-50% + 130px)) rotate(15.5deg);}
      70%{transform:translateX(calc(-50% + 130px)) rotate(12.5deg);}
    }

    .hero-visual{
      height:auto;
    }
    .dash-main{
      aspect-ratio:1.85 / 1;
      padding:0;
    }
    .dash-main img{
      inset:0;
      width:100%;
      height:100%;
      object-fit:contain;
    }
    .visual-card{
      position:relative;
      inset:auto;
      width:100%;
      max-width:none;
      transform:none !important;
      animation:fadeUp .8s var(--ease) both;
    }
    .vc-1,.vc-2,.vc-3{width:100%;right:auto;left:auto;top:auto;bottom:auto;}

    .services-map{
      grid-template-columns:1fr;
      gap:1rem;
      padding:1rem;
      border-radius:26px;
    }
    .map-center{
      width:100%;
      min-height:120px;
      border-radius:24px;
    }
    .branch-title{
      min-height:auto;
      padding:.95rem;
    }
    .branch-services{
      display:grid !important;
      grid-template-columns:1fr 1fr;
      gap:.65rem;
    }
    .branch-services .service-chip:last-child:nth-child(odd){grid-column:1/-1;}
    .service-chip{min-height:44px;}
    .services-note{text-align:center;padding:1.4rem;}

    .roadmap{padding-bottom:3rem;}
    .station{
      padding-right:74px !important;
      margin-bottom:1.4rem !important;
    }
    .station-dot{
      width:54px !important;
      height:54px !important;
      right:6px !important;
    }
    .dot-core{font-size:1.1rem;}
    .station-card{
      padding:1.25rem !important;
      border-radius:18px;
    }
    .station-label{font-size:.72rem;}
    .station-card h4{font-size:1.12rem !important;}
    .station-card p{font-size:.92rem;}
    .station-bignum{display:none;}
    .destination-badge{
      width:100%;
      justify-content:center;
      padding:1rem 1.2rem;
      font-size:1rem;
    }

    .stats-grid{grid-template-columns:1fr 1fr !important;gap:1.4rem !important;}
    .stat-value{font-size:clamp(2rem,10vw,3.2rem);}
    .blog-grid{gap:1rem;}
    .blog-content,.contact-form{padding:1.4rem;}
    .testimonials-nav{width:38px;height:38px;}
    .contact-grid{gap:2.2rem;}
    .channel{
      align-items:flex-start;
      padding:1rem;
      text-align:right;
    }

    /* Partners — mobile */
    .partners{padding:4rem 5vw;}
    .partners-swiper-rows{
      gap:.85rem;
      margin:0 -5vw;
      padding:0 5vw;
    }
    .partner-inner{width:48px;height:48px;border-radius:11px;padding:6px;}
  }

  @media (max-width: 520px){
    nav{padding:.85rem 5vw;}
    .nav-links{grid-template-columns:1fr;}
    .works-filters{border-radius:14px;padding:.35rem;}
    .works-filter{padding:.45rem .65rem;font-size:.72rem;gap:.35rem;}
    .works-filter svg{width:13px;height:13px;}
    .works-nav{width:34px;height:34px;}
    .works-card{flex:0 0 calc(90vw - 6.25rem);}
    .works-card.is-active{flex:0 0 calc(90vw - 5.25rem);}
    .hero{padding-top:6.8rem;}
    .hero-tag{
      width:100%;
      justify-content:center;
      font-size:.78rem;
      line-height:1.6;
    }
    .hero .cta-group{width:100%;}
    .hero .cta-group .btn-gradient,
    .hero .cta-group .btn-outline{
      font-size:.7rem;
      padding:.85rem .55rem;
      gap:.4rem;
    }
    .btn-primary,.btn-secondary{padding:1rem 1.2rem;}
    .services-map{padding:.85rem;}
    .map-center strong{font-size:1.12rem;}
    .map-center span{font-size:.8rem;}
    .branch-title strong{font-size:1rem;}
    .branch-title > span:not(.branch-index) > span{font-size:.68rem;}
    .branch-index{
      width:30px;
      height:30px;
      flex-basis:30px;
    }
    .branch-services{grid-template-columns:1fr !important;}
    .service-chip{
      width:100%;
      min-width:0;
      justify-content:space-between;
    }
    .modal-card{
      max-height:84vh;
      border-radius:22px;
    }
    .stats-grid{grid-template-columns:1fr !important;}
    .stat-item{padding:1rem;border:1px solid rgba(255,255,255,.05);border-radius:18px;background:rgba(255,255,255,.025);}
    .blog-image{height:160px;}
    .contact-form{padding:1.2rem;}
    .footer-bottom{font-size:.78rem;}
    .socials{justify-content:center;flex-wrap:wrap;}
  }
  @media (max-width: 760px){
    .services-map{
      display:block;
      position:relative;
      min-height:1030px;
      max-width:430px;
      margin:2.4rem auto 1.8rem;
      padding:.9rem;
      overflow:visible;
      border-radius:34px;
      background:
        radial-gradient(circle at 50% 50%, rgba(197,232,71,.13), transparent 24%),
        radial-gradient(circle at 18% 30%, rgba(77,182,214,.1), transparent 24%),
        radial-gradient(circle at 82% 63%, rgba(77,182,214,.09), transparent 24%),
        rgba(13,27,42,.22);
    }
    .map-lines{
      display:block;
      opacity:.78;
      inset:0;
      z-index:1;
    }
    .map-lines line{
      stroke-width:2.5;
      stroke-dasharray:7 9;
      filter:drop-shadow(0 0 8px rgba(197,232,71,.25));
    }
    .map-center{
      position:absolute;
      top:50%;
      left:50%;
      width:122px;
      min-height:122px;
      padding:1rem;
      border-radius:50%;
      z-index:5;
      transform:translate(-50%,-50%);
      box-shadow:
        0 0 0 1px rgba(197,232,71,.32),
        0 0 0 28px rgba(197,232,71,.035),
        0 24px 70px rgba(0,0,0,.26),
        inset 0 0 40px rgba(255,255,255,.035);
    }
    .services-map.visible .map-center{
      animation:mapCenterIn .7s var(--ease) .05s forwards, mapCenterGlow 3.2s ease-in-out 1s infinite;
    }
    .map-center strong{font-size:1.08rem;}
    .map-center span{font-size:.72rem;}
    .map-branch{
      position:absolute;
      width:clamp(138px,40vw,164px);
      padding:.52rem;
      border-radius:20px;
      background:rgba(8,18,28,.5);
      border:1px solid rgba(255,255,255,.07);
      box-shadow:0 14px 40px rgba(0,0,0,.18);
      --branch-x:0%;
      --branch-y:0px;
      z-index:3;
    }
    .services-map.visible .map-branch{
      animation:mapBranchIn .65s var(--ease) var(--branch-delay) forwards;
    }
    .map-branch:hover,
    .branch-strategy:hover{
      transform:translate(var(--branch-x),var(--branch-y)) translateY(-4px);
    }
    .branch-strategy{
      top:0;
      left:50%;
      --branch-x:-50%;
      --branch-delay:.42s;
    }
    .branch-growth{top:230px;left:0;--branch-delay:.68s;}
    .branch-ecommerce{top:275px;right:0;--branch-delay:.82s;}
    .branch-social{top:620px;left:0;--branch-delay:.96s;}
    .branch-brand{top:640px;right:0;--branch-delay:1.1s;}
    .branch-creative{
      top:830px;
      left:50%;
      --branch-x:-50%;
      --branch-delay:1.24s;
    }
    .branch-title{
      min-height:auto;
      border-radius:16px;
      padding:.72rem .75rem;
      gap:.55rem;
      box-shadow:0 10px 26px rgba(0,0,0,.14), inset 0 0 24px rgba(255,255,255,.02);
    }
    .branch-title strong{
      font-size:.92rem;
      line-height:1.25;
    }
    .branch-title > span:not(.branch-index) > span{
      font-size:.62rem;
      line-height:1.2;
    }
    .branch-index{
      width:28px;
      height:28px;
      flex-basis:28px;
      font-size:.68rem;
    }
    .branch-services,
    .branch-growth .branch-services,
    .branch-social .branch-services,
    .branch-strategy .branch-services,
    .branch-ecommerce .branch-services,
    .branch-creative .branch-services,
    .branch-brand .branch-services{
      position:static;
      width:auto;
      transform:none;
      display:grid !important;
      grid-template-columns:1fr;
      gap:.45rem;
      margin-top:.55rem;
    }
    .branch-services::before{display:none;}
    .service-chip{
      min-width:0;
      width:100%;
      min-height:34px;
      padding:.48rem .58rem;
      border-radius:12px;
      font-size:.7rem;
      justify-content:space-between;
      gap:.4rem;
    }
    .service-chip::after{
      width:20px;
      height:20px;
      flex-basis:20px;
      font-size:.92rem;
    }
    .services-note{
      max-width:430px;
      margin:1rem auto 0;
    }
  }
  @media (max-width: 380px){
    .services-map{
      min-height:1040px;
      max-width:340px;
      padding:.45rem;
    }
    .map-center{
      top:50%;
      width:108px;
      min-height:108px;
      padding:.8rem;
    }
    .map-center strong{font-size:.98rem;}
    .map-center span{font-size:.66rem;}
    .map-branch{width:138px;padding:.45rem;}
    .branch-growth{top:230px;}
    .branch-ecommerce{top:300px;}
    .branch-social{top:640px;}
    .branch-brand{top:705px;}
    .branch-creative{top:870px;}
    .branch-title{padding:.62rem;}
    .branch-title strong{font-size:.84rem;}
    .service-chip{font-size:.66rem;}
  }
  @media (min-width: 761px) and (max-width: 980px) and (prefers-reduced-motion: reduce){
    .services-map.visible .map-center{transform:none;}
  }
  @media (max-width: 760px) and (prefers-reduced-motion: reduce){
    .services-map.visible .map-center{transform:translate(-50%,-50%);}
  }
  .hero-img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
    border-radius: 24px;
  }
  .hero-images-swiper{
    width:100%;
    max-width:100%;
    aspect-ratio:2.05 / 1;
    border-radius:24px;
    overflow:hidden;
  }
  .hero-images-swiper .swiper-slide{
    display:flex;
    align-items:center;
    justify-content:center;
    height:100%;
  }
  .hero-images-pagination{
    position:relative;
    margin-top:.75rem;
  }
  .hero-images-pagination .swiper-pagination-bullet{
    background:rgba(255,255,255,.35);
    opacity:1;
  }
  .hero-images-pagination .swiper-pagination-bullet-active{
    background:var(--lime);
  }

body {
  background: #0b0f1a;
}