/* Generated from the Arabic stylesheet — direction mirrored RTL -> LTR.
   Edit the Arabic file and regenerate; do not hand-edit this one. */


  @font-face {
    font-family: 'Thmanyah Serif Display';
    src: url('/fonts/font-1.otf') format('opentype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'ABC Favorit Arabic';
    src: url('/fonts/font-2.otf') format('opentype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
  }
  @font-face {
    font-family: 'ABC Favorit Arabic';
    src: url('/fonts/font-3.otf') format('opentype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
  }

/* ================= MOBILE REDESIGN (comprehensive) ================= */
@media(max-width:768px){
  html,body{overflow-x:hidden;width:100%;}
  .container{width:100%;padding:0 20px;box-sizing:border-box;}

  /* Universal: force every *-grid layout to a single column on mobile */
  [class$="-grid"], [class*="-grid "], [class*=" grid"]{
    grid-template-columns:1fr !important;
  }

  /* Known flex "row" layouts that should stack vertically */
  .report-actions, .detail-actions{
    flex-direction:column;align-items:stretch;
  }
  .report-actions a, .detail-actions a{
    width:100%;text-align:center;justify-content:center;
  }
  .cf-row{grid-template-columns:1fr !important;}
  .board-grid{justify-content:center;}
  .board-card{width:100% !important;max-width:340px;margin:0 auto;}

  /* Typography: scale everything down and guarantee wrapping */
  h1{font-size:30px !important;line-height:1.35 !important;}
  h2{font-size:22px !important;line-height:1.4 !important;}
  h3{font-size:18px !important;line-height:1.5 !important;}
  .hero h1,.hero .en-sub{font-size:28px !important;}
  #heroSecondary .hero-secondary-p{font-size:16px !important;}
  .about-text h2{font-size:22px !important;}
  .section-head h2{font-size:20px !important;}
  .mc-hero h1{font-size:28px !important;}
  p, li, a, span, div{word-break:break-word;overflow-wrap:break-word;}

  /* Sector label banner */
  .sector-label{font-size:17px !important;padding:14px 14px 22px !important;white-space:normal;}

  /* Stats */
  .stats-grid{grid-template-columns:1fr !important;gap:36px;}
  .stat-card .stat-inner{max-width:100%;}
  .stat-card .lbl-top,.stat-card .lbl{text-align:center !important;}
  .stat-card .num{font-size:40px !important;}

  /* Services */
  .services-grid{flex-direction:column !important;height:auto !important;}
  .service-card{
    flex:none !important;height:auto !important;min-height:180px;padding:10px 0;
    overflow:visible !important;
  }
  .service-card-inner{height:auto !important;}
  .service-card h3{white-space:normal !important;max-height:none !important;overflow:visible !important;}
  .service-card ul{max-height:none !important;opacity:1 !important;margin-top:10px;overflow:visible !important;}

  /* Team photo — mobile: simple full-width landscape image, then text below (no scroll-jacking) */
  .team-photo-wrap{height:auto !important;}
  .team-photo-reveal{
    position:relative !important;height:auto !important;
    display:block !important;overflow:visible !important;background:var(--bg-dark);
  }
  .team-photo-inner{
    position:relative !important;width:100% !important;height:auto !important;
    aspect-ratio:16/10;overflow:hidden;
  }
  .team-photo-inner img{
    position:absolute !important;top:50% !important;right:50% !important;
    width:100% !important;height:100% !important;min-width:0 !important;min-height:0 !important;
    object-fit:cover;transform:translate(50%, -50%) !important;
  }
  .team-photo-text{
    position:relative !important;top:auto !important;right:auto !important;width:92% !important;
    max-width:100% !important;margin:26px auto 60px;transform:none !important;
    text-align:center;color:#fff;pointer-events:auto;
  }
  .team-photo-text h2{font-size:24px !important;}
  .team-photo-text .tp-sub span{font-size:12.5px !important;}
  .team-photo-text h2 span, .team-photo-text .tp-sub span{animation:none !important;opacity:1 !important;transform:none !important;}

  /* Partners / logos */
  .partners-grid{grid-template-columns:repeat(2,1fr) !important;}

  /* Footer */
  .footer-grid{grid-template-columns:1fr 1fr !important;gap:28px;}
  .footer-bottom-row{flex-direction:column;text-align:center;gap:14px;}
  .footer-brand{flex-direction:column;text-align:center;}

  /* Forms */
  .register-card{padding:30px 22px;}
  .register-grid{grid-template-columns:1fr !important;gap:36px !important;}
  .field-row{grid-template-columns:1fr !important;}
  .contact-form-card{padding:26px 20px;}

  /* Nav dropdown */
  .nav-dropdown-links ul li a{font-size:20px !important;}
  .nav-news-grid{grid-template-columns:1fr !important;}

  /* Floating buttons stay usable */
  .float-actions{left:16px;bottom:16px;}
  .side-cta{right:0 !important;font-size:12px;padding:10px 20px;}
  .hero-pin-spacer{display:none !important;}
  .hero{
    position:relative !important;height:auto !important;min-height:100vh;min-height:100dvh;
    overflow:visible !important;display:block !important;padding-bottom:0 !important;
  }
  .hero-bg-img{position:absolute !important;inset:0;height:100vh !important;height:100dvh !important;}
  .hero-overlay{position:absolute !important;inset:0;height:100vh !important;height:100dvh !important;}
  #heroTagline{
    position:relative !important;top:auto !important;transform:none !important;
    height:100vh !important;height:100dvh !important;
    display:flex !important;align-items:center !important;justify-content:center !important;
  }
  #heroSecondary{
    position:relative !important;top:auto !important;transform:none !important;
    height:100vh !important;height:100dvh !important;
    display:flex !important;align-items:center !important;
    background:var(--bg-darker);
    opacity:0;transition:opacity .8s ease;
  }
  #heroSecondary.reveal{opacity:1;}
  #heroSecondary .hero-secondary-p span{animation:none !important;opacity:1 !important;transform:none !important;}

  /* Maps / media */
  .contact-map-wrap,.sync-map{width:100%;}
  iframe{max-width:100%;}
}

@media(max-width:480px){
  .container{padding:0 16px;}
  h1{font-size:26px !important;}
  h2{font-size:20px !important;}
  .hero h1,.hero .en-sub{font-size:24px !important;}
  .stat-card .num{font-size:34px !important;}
  .footer-grid{grid-template-columns:1fr !important;}
  .partners-grid{grid-template-columns:repeat(2,1fr) !important;}
  .team-photo-text h2{font-size:20px !important;}
}
/* ================= END MOBILE REDESIGN ================= */




  :root{
    --bg-darker:#0d1620;
    --bg-dark:#132230;
    --bg-card:#1b2e3d;
    --bg-card2:#203547;
    --gold:#c9a876;
    --gold-light:#e0c99a;
    --text-light:#f4f2ec;
    --text-muted:#93a3b0;
    --border:rgba(255,255,255,0.08);
    --teal:#7fa89a;
    --mint:#bee5e1;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  p{text-align:start;}
  @media(hover:hover) and (pointer:fine){
    *{cursor:none;}
  }
  .cursor-dot, .cursor-ring{
    position:fixed;top:0;right:0;pointer-events:none;z-index:9999;
    border-radius:50%;transform:translate(50%, -50%);
  }
  .cursor-dot{
    width:10.5px;height:10.5px;background:#a8ddff;
  }
  .cursor-ring{
    width:51px;height:51px;border:1.5px solid #a8ddff;
    transition:width .2s ease, height .2s ease, opacity .2s ease, border-color .2s ease, background .2s ease;
  }
  .cursor-ring.hovering{
    width:78px;height:78px;background:rgba(168,221,255,.15);border-color:#ffffff;
  }
  @media(hover:none), (pointer:coarse){
    .cursor-dot,.cursor-ring{display:none;}
  }
  html{scroll-behavior:smooth;}
  body{
    font-family:'ABC Favorit Arabic', sans-serif;
    background:var(--bg-dark);
    color:var(--text-light);
    line-height:1.7;
    overflow-x:hidden;
  }
  a{text-decoration:none;color:inherit;}
  h1,h2,h3{font-family:'ABC Favorit Arabic', sans-serif;}
  ul{list-style:none;}
  img{max-width:100%;display:block;}
  .container{max-width:1200px;margin:0 auto;padding:0 32px;}
  .eyebrow{
    display:flex;align-items:center;gap:10px;
    color:var(--gold);font-size:14px;letter-spacing:.5px;margin-bottom:14px;
    font-weight:500;font-family:'ABC Favorit Arabic', sans-serif;
  }

  /* Header */
  header{
    position:fixed;top:0;right:0;left:0;z-index:100;
    background:transparent;
    backdrop-filter:none;
    border-bottom:1px solid transparent;
    transition:background .35s ease, border-color .35s ease, backdrop-filter .35s ease;
  }
  header.scrolled{
    background:transparent;
    backdrop-filter:none;
    border-bottom:1px solid transparent;
  }
  .nav-wrap{
    display:flex;align-items:center;justify-content:space-between;
    padding:62px 100px 14px;max-width:100%;margin:0;
  }
  .logo{
    display:flex;align-items:center;
  }
  .logo svg{height:69px;width:auto;display:block;transition:height .35s ease;}
  header.scrolled .logo svg{height:44px;}
  .nav-actions{display:flex;align-items:center;gap:18px;}
  .icon-btn{
    width:38px;height:38px;border-radius:0;border:1px solid var(--border);
    display:flex;align-items:center;justify-content:center;font-size:15px;color:var(--text-muted);
    cursor:pointer;transition:.2s;
  }
  .icon-btn:hover{border-color:var(--gold);color:var(--gold);}
  .menu-toggle{
    display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;
    width:44px;height:38px;background:none;border:1px solid var(--border);cursor:pointer;
    transition:border-color .2s;padding:0;
  }
  .menu-toggle:hover{border-color:var(--gold);}
  .menu-toggle span{
    display:block;width:20px;height:2px;background:var(--text-light);transition:.3s;
  }
  .menu-toggle:hover span{background:var(--gold);}
  .nav-dropdown{
    position:fixed;inset:0;width:100%;height:100vh;
    background:var(--bg-darker);z-index:150;
    transform:translateY(-100%);transition:transform .5s cubic-bezier(.65,0,.35,1);
    overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;
  }
  .nav-dropdown::before{
    content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
    background-image:url('/images/image-11.svg');
    background-repeat:no-repeat;background-size:75vw auto;background-position:right 78%;
    opacity:.18;
  }
  .nav-dropdown::after{
    content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
    background-image:url('/images/image-12.svg');
    background-repeat:no-repeat;background-size:75vw auto;background-position:right 78%;
    opacity:.6;
    -webkit-mask-image:linear-gradient(115deg, transparent 25%, rgba(255,255,255,.95) 50%, transparent 75%);
    mask-image:linear-gradient(115deg, transparent 25%, rgba(255,255,255,.95) 50%, transparent 75%);
    -webkit-mask-size:280% 280%;mask-size:280% 280%;
    -webkit-mask-position:-40% -40%;mask-position:-40% -40%;
    animation:patternGlow 9s linear infinite;
  }
  @keyframes patternGlow{
    0%{-webkit-mask-position:-60% -60%;mask-position:-60% -60%;}
    100%{-webkit-mask-position:160% 160%;mask-position:160% 160%;}
  }
  .nav-dropdown-top,.nav-dropdown-body,.nav-dropdown-bottom{position:relative;z-index:1;}
  .nav-dropdown.open{transform:translateY(0);}
  .nav-dropdown-top{ display:flex;align-items:center;justify-content:space-between; max-width:100%;margin:0; padding:62px 100px 14px; }
  .nav-dropdown-top .logo svg{height:38px;width:auto;}
  .nav-dropdown-close{
    display:flex;align-items:center;gap:12px;background:none;border:none;
    color:var(--text-light);font-size:14px;cursor:pointer;transition:.2s;
  }
  .nav-dropdown-close:hover{color:var(--gold);}
  .nav-dropdown-close .close-bar{width:26px;height:1px;background:currentColor;display:inline-block;}
  .nav-dropdown-body{ flex:1;display:grid;grid-template-columns:1fr 1.3fr;gap:0; max-width:100%;margin:0;width:100%; padding:60px 100px 40px;align-items:stretch; border:1px solid var(--border); }
  .nav-dropdown-links{order:1;padding-right:40px;border-right:1px solid var(--border);}
  .nav-dropdown-news{order:2;padding-left:40px;}
  .nav-dropdown-news .eyebrow{margin-bottom:26px;font-size:16px;}
  .nav-news-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;max-width:100%;margin-left:0;margin-right:auto;}
  .nav-dropdown-news{display:flex;flex-direction:column;height:100%;}
  .nav-news-card{ border:1px solid var(--border); opacity:0;transform:translateY(30px); transition:opacity .6s cubic-bezier(.22,.61,.36,1), transform .6s cubic-bezier(.22,.61,.36,1); }
  .nav-dropdown.open .nav-news-card{opacity:1;transform:translateY(0);}
  .nav-dropdown.open .nav-news-card:nth-child(1){transition-delay:.15s;}
  .nav-dropdown.open .nav-news-card:nth-child(2){transition-delay:.28s;}
  .nav-dropdown.open .nav-news-card:nth-child(3){transition-delay:.41s;}
  .nav-news-card .nav-news-img{height:170px;background-size:cover;background-position:center;}
  .nav-news-card p{padding:16px;font-size:14.5px;line-height:1.7;color:var(--text-light);font-weight:500;}
  .nav-dropdown-links ul{display:flex;flex-direction:column;gap:20px;text-align:left;}
  .nav-dropdown-links ul li a{
    font-size:26px;font-weight:300;color:var(--text-light);transition:color .2s, font-weight .2s;
    font-family:'ABC Favorit Arabic', sans-serif;
  }
  .nav-dropdown-links ul li a:hover{color:var(--gold);font-weight:700;}
  .nav-dropdown-bottom{
    border-top:1px solid var(--border);
  }
  .nav-dropdown-bottom-inner{
    max-width:100%;margin:0;width:100%;
    padding:24px 100px;
    display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;
  }
  .nav-dropdown-bottom .socials{display:flex;gap:12px;}
  .nav-dropdown-bottom .legal-links{display:flex;gap:28px;font-size:13px;color:var(--text-muted);flex-wrap:wrap;}
  .nav-dropdown-bottom .legal-links a{transition:.2s;}
  .nav-dropdown-bottom .legal-links a:hover{color:var(--gold);}
  .nav-dropdown-copy{font-size:13px;color:var(--text-muted);}

  /* Hero */
  .hero-pin-wrap{position:relative;}
  .hero-pin-spacer{height:90vh;}
  .hero{
    position:sticky;top:0;height:100vh;display:flex;align-items:flex-end;
    overflow:hidden;
    padding-bottom:90px;
    background:var(--bg-darker);
    z-index:1;
  }
  .hero-bg-img{
    position:absolute;inset:0;width:100%;height:100%;background-size:cover;background-position:center;
    animation:heroBgSlowZoom 22s ease-in-out infinite alternate;
  }
  @keyframes heroBgSlowZoom{
    0%{transform:scale(1);}
    100%{transform:scale(1.08);}
  }
  .hero-overlay{
    position:absolute;inset:0;z-index:1;
    background:linear-gradient(180deg, rgba(13,22,32,.15) 0%, rgba(13,22,32,.3) 55%, rgba(13,22,32,.6) 100%);
  }
  .hero-content{position:absolute;z-index:2;left:0;right:0;top:50%;transform:translateY(-50%);transition:opacity .1s linear;}
  #heroTagline{opacity:1;}
  #heroTagline h1, #heroTagline .en-sub,
  #heroSecondary .hero-secondary-p{
    overflow:hidden;
  }
  #heroTagline h1 span, #heroTagline .en-sub span{
    display:inline-block;
    animation:heroLineUp .8s cubic-bezier(.22,.61,.36,1) both;
  }
  #heroSecondary .hero-secondary-p span{
    display:inline-block;
    transform:translateY(100%);
    opacity:0;
  }
  #heroSecondary.reveal .hero-secondary-p span{
    animation:heroLineUp .8s cubic-bezier(.22,.61,.36,1) both;
  }
  #heroTagline h1 span{animation-delay:1.3s;}
  #heroTagline .en-sub span{animation-delay:1.5s;}
  #heroSecondary.reveal .hero-secondary-p span{animation-delay:.15s;}
  @keyframes patternZoomFast{
    0%{transform:scale(1);}
    100%{transform:scale(1.3);}
  }
  @keyframes patternPan{
    0%{background-position:0% 30%;transform:scale(1);}
    100%{background-position:100% 70%;transform:scale(1.08);}
  }
  @keyframes heroLineUp{
    from{transform:translateY(100%);opacity:0;}
    to{transform:translateY(0);opacity:1;}
  }
  #heroSecondary .hero-secondary-p{
    font-family:'ABC Favorit Arabic', sans-serif;
    font-size:21.6px;font-weight:400;color:var(--text-light);line-height:1.85;
    max-width:820px;white-space:normal;margin-top:0;
  }
  .hero h1{
    font-size:57px;font-weight:700;line-height:1.25;margin-bottom:6px;color:var(--text-light);
    white-space:nowrap;
  }
  .hero .en-sub{
    font-family:'ABC Favorit Arabic', sans-serif;font-weight:300;font-size:57px;color:var(--text-light);
    letter-spacing:.5px;white-space:nowrap;
  }
  .side-cta{
    position:fixed;right:0;top:calc(78% - 75px);
    transform:rotate(-90deg);
    transform-origin:top right;
    white-space:nowrap;
    background:var(--mint);color:var(--bg-darker);
    padding:12px 26px;font-weight:700;font-size:14px;letter-spacing:1px;
    border-radius:0;cursor:pointer;z-index:90;
    box-shadow:0 6px 18px rgba(0,0,0,.35);
  }
  @media(max-width:900px){
  }

  /* About */
  .about-reveal{padding:120px 0 96px;background:var(--bg-dark);}
  .about-grid{display:grid;grid-template-columns:0.9fr 1.1fr;gap:70px;align-items:center;max-width:1150px;margin:0 auto;}
  .geo-collage{width:100%;max-width:650px;aspect-ratio:1/1;margin:0 auto;}
  .about-reveal .container{max-width:100%;padding:0 4vw;}
  .geo-collage svg{width:100%;height:100%;display:block;}
  .geo-blade{opacity:0;transform:translateX(-70px);transition:transform .35s ease;}
  .geo-collage.in-view .geo-blade{
    animation:slideInBlade .8s cubic-bezier(.22,.61,.36,1) forwards;
  }
  .geo-collage.in-view .geo-blade:nth-of-type(1){animation-delay:.45s;}
  .geo-collage.in-view .geo-blade:nth-of-type(2){animation-delay:.3s;}
  .geo-collage.in-view .geo-blade:nth-of-type(3){animation-delay:.15s;}
  .geo-collage.in-view .geo-blade:nth-of-type(4){animation-delay:0s;}
  .geo-collage.in-view .geo-blade:nth-of-type(5){animation-delay:.55s;}
  .geo-blade-img{
    transform-origin:center;transform-box:fill-box;
    transform:scale(1);
  }
  .geo-collage.in-view .geo-blade-img{
    animation:geoImgZoom 12s ease-in-out infinite alternate;
  }
  @keyframes geoImgZoom{
    from{transform:scale(1);}
    to{transform:scale(1.15);}
  }
  @keyframes slideInBlade{
    from{opacity:0;transform:translateX(-70px);}
    to{opacity:1;transform:translateX(0);}
  }
  .about-text h2{font-size:34px;font-weight:700;margin-bottom:22px;color:var(--mint);}
  .about-text p{color:var(--text-muted);font-size:16px;max-width:520px;}

  /* Section heading pattern */
  .section-head{
    display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:48px;flex-wrap:wrap;gap:16px;
  }
  .section-head h2{font-size:30px;font-weight:700;color:var(--mint);}
  .view-all{
    display:inline-flex;align-items:center;gap:8px;color:var(--text-muted);font-size:14px;
    border:1px solid var(--border);padding:10px 18px;transition:.2s;
  }
  .view-all:hover{border-color:var(--gold);color:var(--gold);}

  /* Stats */
  .stats{padding:24px 0 104px;}
  .stats-grid{
    display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
  }
  .stat-card{
    background:transparent;border:none;border-radius:0;
    padding:36px 24px;text-align:center;
  }
  .stat-card .stat-inner{display:inline-block;}
  .stat-card .lbl-top{color:var(--text-muted);font-size:15px;margin-bottom:2px;text-align:left;}
  .stat-card .num{font-family:'Thmanyah Serif Display','ABC Favorit Arabic', sans-serif;font-size:64px;font-weight:400;font-style:normal;color:var(--gold);text-align:center;line-height:1;}
  .stat-card .lbl{color:var(--text-muted);font-size:14px;margin-top:2px;text-align:right;}

  /* Services */
  .services{padding:24px 0 104px;background:var(--bg-darker);}
  .services-grid{display:flex;gap:20px;height:420px;}
  .services-grid .service-card{
    position:relative;flex-grow:1;flex-shrink:1;flex-basis:0;overflow:hidden;cursor:pointer;
    background-size:cover;background-position:center;
    border:1px solid var(--border);border-radius:0;
    transition:flex-grow 1.6s cubic-bezier(.19,1,.22,1), opacity .7s cubic-bezier(.22,.61,.36,1), transform .7s cubic-bezier(.22,.61,.36,1);
    will-change:flex-grow;
  }
  .service-card::before{
    content:"";position:absolute;inset:0;z-index:0;
    background:linear-gradient(180deg, rgba(13,22,32,.55) 0%, rgba(13,22,32,.97) 100%);
    transition:background .4s ease;
  }
  .service-card:hover{flex-grow:2.1;}
  .services-grid:hover .service-card:not(:hover){flex-grow:.75;}
  .services-grid:hover .service-card:not(:hover) h3,
  .services-grid:hover .service-card:not(:hover) p{
    opacity:0;max-height:0;margin:0;pointer-events:none;
  }
  .services-grid:hover .service-card:not(:hover) .ic{margin-bottom:0;}
  .service-card-inner{
    position:relative;z-index:1;height:100%;display:flex;flex-direction:column;
    align-items:center;justify-content:center;padding:32px 26px;text-align:center;
  }
  .service-card .ic{
    width:58px;height:58px;border:1px solid var(--gold);background:rgba(201,168,118,.12);color:var(--gold);
    display:flex;align-items:center;justify-content:center;margin-bottom:66px;flex-shrink:0;
  }
  .service-card .ic svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;}
  .service-card h3{font-size:22px;font-weight:700;color:#fff;line-height:1.5;overflow:hidden;max-height:80px;transition:opacity .5s ease, max-height .5s ease, margin .5s ease;}
  .service-card ul{
    color:var(--text-muted);font-size:15.6px;line-height:1.6;text-align:left;
    max-height:0;opacity:0;overflow:hidden;list-style:none;padding:0;
    transition:max-height 1.2s cubic-bezier(.65,0,.35,1), opacity 1s ease .2s, margin-top 1.2s cubic-bezier(.65,0,.35,1);
  }
  .service-card ul li{position:relative;padding-left:14px;margin-bottom:6px;}
  .service-card ul li::before{content:"";position:absolute;left:0;top:7px;width:4px;height:4px;background:var(--gold);}
  .service-card:hover ul{max-height:340px;opacity:1;margin-top:14px;}

  /* Sectors */
  .sectors{padding:104px 0;background-color:var(--bg-darker);position:relative;overflow:hidden;}
  .sectors::before{
    content:"";position:absolute;inset:0;z-index:0;opacity:.4;
    background-image:url('/images/image-43.png');
    background-size:145% auto;background-position:0% 50%;background-repeat:no-repeat;
    mix-blend-mode:multiply;pointer-events:none;
    animation:patternPan 28s ease-in-out infinite alternate;
  }
  .sectors .container{position:relative;z-index:1;}
  .sectors-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
  .sector-card{
    border:1px solid var(--border);overflow:hidden;
    display:flex;flex-direction:column;background:var(--bg-card);
  }
  .sector-photo{
    height:280px;background-size:cover;background-position:center;position:relative;
  }
  .sector-label{
    position:absolute;top:0;left:0;right:0;z-index:2;
    background:linear-gradient(180deg, rgba(13,22,32,.85) 0%, rgba(13,22,32,.55) 70%, transparent 100%);
    color:#fff;font-size:26px;font-weight:700;letter-spacing:.5px;
    padding:22px 24px 40px;text-align:center;
  }
  .sector-info{
    background:var(--bg-darker);padding:26px 22px;
    display:flex;align-items:center;gap:20px;flex:1;
  }
  .sector-logo{flex:0 0 auto;}
  .sector-logo svg{height:58px;width:auto;display:block;}
  .sector-info p{font-size:12.5px;line-height:1.85;color:var(--text-muted);margin:0;}

  /* Projects */
  .projects{padding:24px 0 112px;background:var(--bg-darker);}
  .filter-tab{
    display:inline-flex;align-items:center;gap:10px;border:1px solid var(--border);
    border-radius:0;padding:10px 18px;font-size:14px;color:var(--text-muted);margin-bottom:36px;
  }
  .projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
  .project-card{
    position:relative;background:#18252d;border:1px solid var(--border);overflow:hidden;
    aspect-ratio:3/4;display:flex;flex-direction:column;
  }
  .project-overlay{
    position:absolute;inset:0;z-index:0;background-size:cover;background-position:center;opacity:.15;
  }
  .badge-row{
    position:relative;z-index:2;padding:18px;
    display:flex;gap:8px;
  }
  .badge-status, .badge-type{
    padding:6px 26.4px;font-size:12px;font-weight:700;border-radius:0;
  }
  .badge-type{background:rgba(13,22,32,.75);color:var(--text-light);border:1px solid var(--border);}
  .badge-status.status-ongoing{background:#3d6b53;color:#c9f0d8;}
  .badge-status.status-soon{background:#7a5a2a;color:#f3dcaa;}
  .project-logo-mark{
    position:relative;z-index:2;flex:1;display:flex;align-items:center;justify-content:center;
    opacity:.9;
  }
  .project-logo-mark img{max-height:114.53px;max-width:198.168px;width:auto;height:auto;filter:drop-shadow(0 2px 8px rgba(0,0,0,.4));}
  .project-info{position:relative;z-index:2;padding:22px;color:#fff;}
  .project-info h3{font-size:19px;font-weight:700;margin-bottom:6px;color:#fff;}
  .project-loc{color:#d8dee3;font-size:13.5px;margin-bottom:18px;display:flex;align-items:center;gap:6px;}
  .btn-outline{
    display:inline-block;width:100%;text-align:center;border:1px solid rgba(255,255,255,.35);border-radius:0;
    padding:12px;font-size:14px;transition:.2s;color:#fff;
  }
  .btn-outline:hover{border-color:var(--gold);color:var(--gold);}
  .project-card.reveal-item{transform:translateY(60px);}

  /* News */
  .news{padding:104px 0 112px;background:var(--bg-dark);}
  .news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
  .news-card{
    background:var(--bg-card);border:1px solid var(--border);overflow:hidden;
    display:flex;flex-direction:column;transition:.25s;
  }
  .news-card:hover{border-color:var(--gold);transform:translateY(-6px);}
  .news-img{height:260px;background-size:cover;background-position:center;}
  .news-body{padding:24px;}
  .news-date{color:var(--gold);font-size:12.5px;font-weight:700;letter-spacing:.5px;margin-bottom:10px;}
  .news-body h3{font-size:17px;font-weight:700;line-height:1.5;margin-bottom:10px;}
  .news-body p{color:var(--text-muted);font-size:13.5px;line-height:1.75;margin-bottom:16px;}
  .news-link{color:var(--gold);font-size:13.5px;font-weight:600;transition:.2s;}
  .news-link:hover{color:var(--gold-light);}

  /* Partners */
  .partners{padding:88px 0 104px;background-color:var(--bg-dark);position:relative;overflow:hidden;}
  .partners::before{
    content:"";position:absolute;inset:0;z-index:0;opacity:.4;
    background-image:url('/images/image-44.png');
    background-size:145% auto;background-position:0% 50%;background-repeat:no-repeat;
    mix-blend-mode:multiply;pointer-events:none;
    animation:patternZoomFast 3.5s ease-out infinite;transform-origin:center center;
  }
  .partners .container{position:relative;z-index:1;}
  .partners-grid{
    display:grid;grid-template-columns:repeat(6,1fr);gap:18px;
  }
  .partner-chip{
    position:relative;background:transparent;border:1px solid var(--border);border-radius:0;
    height:76px;display:flex;align-items:center;justify-content:center;
    color:var(--text-muted);font-size:12px;text-align:center;padding:8px;
  }
  .partner-chip::before{
    content:"";position:absolute;inset:0;background:rgba(6,11,16,.4);mix-blend-mode:multiply;
  }
  .partner-logo{
    position:relative;background:transparent;border:1px solid var(--border);
    height:84px;display:flex;align-items:center;justify-content:center;
    padding:14px;transition:transform .2s, box-shadow .2s, border-color .2s;
  }
  .partner-logo::before{
    content:"";position:absolute;inset:0;background:rgba(6,11,16,.35);mix-blend-mode:multiply;
  }
  .partner-logo:hover{transform:translateY(-3px);box-shadow:0 8px 20px rgba(0,0,0,.25);border-color:var(--gold);}
  .partner-logo svg, .partner-logo img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;filter:brightness(0) invert(1);opacity:1;}


  /* Footer */
  footer{background:var(--bg-darker);border-top:1px solid var(--border);}
  .footer-top{padding:72px 0 48px;}
  .footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr 1.3fr;gap:40px;}
  .footer-col h4{font-size:15px;font-weight:700;color:var(--text-light);margin-bottom:22px;}
  .footer-col ul{display:flex;flex-direction:column;gap:13px;}
  .footer-col ul li a{font-size:14px;color:var(--text-muted);transition:.2s;}
  .footer-col ul li a:hover{color:var(--gold);}
  .newsletter-field{position:relative;margin-top:8px;max-width:320px;}
  .newsletter-field input{
    width:100%;background:transparent;border:none;border-bottom:1px solid var(--border);
    padding:10px 34px 10px 0;color:var(--text-light);font-family:inherit;font-size:14px;
  }
  .newsletter-field input::placeholder{color:var(--text-muted);}
  .newsletter-field input:focus{outline:none;border-color:var(--gold);}
  .newsletter-field button{
    position:absolute;right:0;top:50%;transform:translateY(-50%);
    background:none;border:none;color:var(--gold);font-size:18px;cursor:pointer;padding:4px;
  }
  .footer-contact-mini{margin-top:22px;display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--text-muted);}
  .footer-divider{border-top:1px solid var(--border);}
  .footer-bottom-row{
    padding:26px 0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:18px;
  }
  .footer-brand{display:flex;align-items:center;gap:18px;}
  .footer-brand svg{height:26px;width:auto;display:block;}
  .footer-brand span{font-size:13px;color:var(--text-muted);}
  .socials{display:flex;gap:12px;}
  .socials a{
    width:36px;height:36px;border-radius:0;border:1px solid var(--border);
    display:flex;align-items:center;justify-content:center;color:var(--text-muted);
    transition:.2s;
  }
  .socials a svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
  .socials a:hover{border-color:var(--gold);color:var(--gold);}

  /* Registration modal-ish inline form band (register interest) */
  .register-band{
    padding:112px 0;position:relative;
    background:linear-gradient(90deg, rgba(13,22,32,.97) 0%, rgba(13,22,32,.55) 55%, rgba(13,22,32,.15) 100%),
      url('/images/image-3.jpg') center/cover;
  }
  .register-card{
    background:rgba(20,33,45,.85);backdrop-filter:blur(6px);
    border:1px solid var(--border);border-radius:0;padding:38px;
  }
  .register-card h3{font-size:24px;font-weight:700;margin-bottom:24px;}
  .register-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
  .register-text .eyebrow{color:var(--gold);font-size:13px;letter-spacing:2px;margin-bottom:14px;}
  .register-text h2{font-size:32px;font-weight:700;color:var(--mint);margin-bottom:18px;}
  .register-text p{color:var(--text-muted);font-size:15px;line-height:1.9;max-width:440px;}
  .field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
  select.field{appearance:none;-webkit-appearance:none;background-color:rgba(255,255,255,.03);cursor:pointer;}
  select.field option{background:var(--bg-darker);color:var(--text-light);}
  .terms-row{display:flex;align-items:flex-start;gap:8px;margin-bottom:18px;}
  .terms-row input[type="checkbox"]{margin-top:3px;accent-color:var(--gold);flex-shrink:0;cursor:pointer;}
  .terms-row label{font-size:12.5px;color:var(--text-muted);line-height:1.7;cursor:pointer;}
  .terms-row a{color:var(--gold);text-decoration:underline;}

  /* Divider band above partners */
  .divider-band{
    height:75vh;position:relative;
    background-image: url('/images/image-3.jpg');
    background-size:cover;background-position:center;background-attachment:fixed;
  }
  .divider-band::after{
    content:"";position:absolute;inset:0;background:rgba(13,22,32,.45);
  }
  @media(max-width:900px){
    .divider-band{background-attachment:scroll;height:50vh;}
    .container{padding:0 20px;}
    .nav-wrap{padding:22px 20px;}
    .logo svg{height:44px;}
    header.scrolled .logo svg{height:38px;}
    .nav-dropdown-top{padding:22px 20px 14px;}
    .nav-dropdown-bottom-inner{padding:20px 20px;}
    .sector-label{font-size:19px;padding:16px 16px 26px;}
    .about-grid{grid-template-columns:1fr;gap:40px;}
    .about-reveal{padding:70px 0 60px;}
    .about-reveal .container{padding:0 20px;}
  }
  .team-photo-wrap{height:220vh;position:relative;}
  .team-photo-reveal{
    height:100vh;height:100dvh;position:sticky;top:0;z-index:3;
    display:flex;align-items:center;justify-content:center;overflow:hidden;
    background:var(--bg-dark);
  }
  .team-photo-inner{
    position:relative;overflow:hidden;will-change:width,height;
  }
  .team-photo-inner img{
    position:absolute;top:50%;right:50%;
    width:auto;height:auto;min-width:100vw;min-height:100vh;max-width:none;
    transform:translate(50%, -50%);
  }
  .team-photo-inner::after{
    content:"";position:absolute;inset:0;z-index:1;
    background:linear-gradient(180deg, rgba(13,22,32,.15) 0%, rgba(13,22,32,.3) 55%, rgba(13,22,32,.6) 100%);
  }
  .team-photo-text{
    position:absolute;top:76%;right:50%;z-index:4;text-align:center;color:#fff;width:90%;max-width:800px;
    transform:translate(50%, -50%);
    pointer-events:none;
  }
  .team-photo-text h2{font-size:57px;font-weight:700;line-height:1.25;overflow:hidden;}
  .team-photo-text h2 span{
    display:inline-block;transform:translateY(100%);opacity:0;text-shadow:0 4px 30px rgba(0,0,0,.5);
  }
  .team-photo-text .tp-sub{overflow:hidden;margin-top:16px;}
  .team-photo-text .tp-sub span{
    display:inline-block;color:#fff;font-size:17px;letter-spacing:.5px;transform:translateY(100%);opacity:0;
  }
  .team-photo-text.show h2 span{animation:heroLineUp .8s cubic-bezier(.22,.61,.36,1) both;animation-delay:.1s;}
  .team-photo-text.show .tp-sub span{animation:heroLineUp .8s cubic-bezier(.22,.61,.36,1) both;animation-delay:.3s;}
  @media(max-width:900px){
    .team-photo-text h2{font-size:32px;}
  }
  .field{
    width:100%;padding:13px 16px;margin-bottom:14px;border-radius:0;
    border:1px solid var(--border);background:rgba(255,255,255,.03);color:var(--text-light);font-family:inherit;font-size:14px;
  }
  .field::placeholder{color:var(--text-muted);}
  .submit-btn{
    width:100%;padding:13px;border:none;border-radius:0;background:var(--gold);color:var(--bg-darker);
    font-weight:700;font-size:15px;cursor:pointer;transition:.2s;font-family:inherit;
  }
  .submit-btn:hover{background:var(--gold-light);}

  @media(max-width:900px){
    .services-grid,.sectors-grid,.projects-grid,.news-grid{grid-template-columns:1fr;}
    .services-grid{flex-direction:column;height:auto;}
    .service-card{flex:none !important;height:auto;min-height:220px;padding:8px 0;overflow:visible !important;}
    .service-card-inner{height:auto !important;}
    .service-card:hover{flex-grow:0 !important;}
    .service-card .ic{margin-bottom:20px;}
    .service-card h3{white-space:normal;max-height:none;overflow:visible;}
    .service-card ul{max-height:none;opacity:1;margin-top:10px;}
    .stats-grid{grid-template-columns:1fr;}
    .stat-card .lbl-top{text-align:center;}
    .stat-card .lbl{text-align:center;}
    .partners-grid{grid-template-columns:repeat(3,1fr);}
    .hero h1{font-size:36px;}
    .hero .en-sub{font-size:36px;}
    .section-head h2{font-size:24px;}
    .about-text h2{font-size:26px;}
    .footer-grid{grid-template-columns:1fr 1fr;}
    .footer-bottom-row{flex-direction:column;text-align:center;}
    .nav-dropdown-body{grid-template-columns:1fr;padding:40px 24px;}
    .nav-dropdown-links{padding-right:0;border-right:none;padding-bottom:30px;border-bottom:1px solid var(--border);}
    .nav-dropdown-news{height:auto;padding-left:0;padding-top:30px;}
    .nav-news-grid{grid-template-columns:1fr;}
    .nav-news-card .nav-news-img{height:150px;}
    .nav-dropdown-links ul li a{font-size:22px;}
    .nav-news-grid{max-width:100%;}
    .nav-dropdown-bottom-inner{padding:20px 24px;flex-direction:column;align-items:flex-start;}
  }

  @media(max-width:480px){
    .container{padding:0 20px;}
    .nav-wrap{padding:18px 16px;}
    .nav-dropdown-top{padding:18px 16px 14px;}
    .nav-dropdown-body{padding:28px 16px;}
    .nav-dropdown-bottom-inner{padding:16px 16px;}
    .hero h1{font-size:28px;}
    .hero .en-sub{font-size:24px;}
    .about-text h2{font-size:22px;}
    .section-head h2{font-size:20px;}
    .stat-card .num{font-size:44px;}
    .footer-grid{grid-template-columns:1fr;gap:32px;}
    .partners-grid{grid-template-columns:repeat(2,1fr);}
    .sector-label{font-size:16px;padding:14px 14px 22px;}
    .team-photo-text h2{font-size:24px;}
    .team-photo-text .tp-sub span{font-size:13px;}
    .side-cta{right:0;font-size:12.5px;padding:10px 22px;}
    .float-actions{left:16px;bottom:16px;}
    .register-card{padding:32px 22px;}
  }

  /* Site-wide scroll reveal — same feel as the hero slogan line-up */
  .reveal-mask{overflow:hidden;display:block;}
  .reveal-mask > *{
    display:inline-block;transform:translateY(115%);opacity:0;
  }
  .reveal-mask.in-view > *{
    animation:heroLineUp .8s cubic-bezier(.22,.61,.36,1) forwards;
  }
  .stat-card .lbl-top .reveal-mask.in-view > *{animation-delay:0s;}
  .stat-card .num .reveal-mask.in-view > *{animation-delay:.3s;}
  .stat-card .lbl .reveal-mask.in-view > *{animation-delay:.45s;}
  .reveal-item{
    opacity:0;transform:translateY(36px);
    transition:opacity .7s cubic-bezier(.22,.61,.36,1), transform .7s cubic-bezier(.22,.61,.36,1);
  }
  .reveal-item.in-view{opacity:1;transform:translateY(0);}


.st0{fill:#fff;}

.st0{fill:#fff;}

.cls-1{fill:#fff;}

.cls-1{fill:#fff;}

.cls-1{fill:#fff;}

.st0{fill:#fff;}


  .float-actions{
    position:fixed;bottom:28px;left:28px;z-index:999;
    display:flex;align-items:center;gap:12px;
  }
  .whatsapp-float{
    width:56px;height:56px;border-radius:50%;background:#25D366;flex-shrink:0;
    display:flex;align-items:center;justify-content:center;
    box-shadow:0 6px 20px rgba(0,0,0,.35);transition:transform .25s ease, box-shadow .25s ease;
  }
  .whatsapp-float:hover{transform:scale(1.08);box-shadow:0 8px 26px rgba(0,0,0,.45);}
  .whatsapp-float svg{width:28px;height:28px;}
  @media(max-width:600px){
    .float-actions{bottom:18px;left:18px;gap:8px;}
    .whatsapp-float{width:50px;height:50px;}
    .whatsapp-float svg{width:25px;height:25px;}
  }



  .soon-toast{
    position:fixed;bottom:30px;right:50%;transform:translateX(50%) translateY(20px);
    background:var(--bg-card);border:1px solid var(--gold);color:var(--text-light);
    padding:14px 24px;font-size:14px;z-index:9999;opacity:0;transition:opacity .3s,transform .3s;
    pointer-events:none;white-space:nowrap;
  }
  .soon-toast.show{opacity:1;transform:translateX(50%) translateY(0);}

/* nav dropdown — unified across the site */
.nav-dropdown-links ul li a{font-size:20px !important;}
.nav-dropdown.open .nav-news-card{opacity:1;transform:none;}
.nav-dropdown.open .nav-news-card:nth-child(2){transition-delay:.08s}
.nav-dropdown.open .nav-news-card:nth-child(3){transition-delay:.16s}
@media(max-width:900px){
  .nav-dropdown-top{padding:40px 24px 12px;}
  .nav-dropdown-body{grid-template-columns:1fr;padding:24px;border:0;}
  .nav-dropdown-links,.nav-dropdown-news{padding:0 !important;border:0 !important;}
  .nav-dropdown-links{margin-bottom:28px}
  .nav-dropdown-links ul li a{font-size:17px !important;}
}




/* ===== sector cards — full-bleed image, content stacked over it =====
   Each card is one photograph laid over the dark surface at low opacity,
   with the title, mark and description stacked on top. Done entirely in CSS:
   the markup is untouched, so the inline SVG marks and anything scripted
   against them keep working. */

.sectors{ position:relative; }

/* The gold rule crossing the section behind the cards, full-viewport wide.
   On ::after because ::before already carries the animated section pattern —
   reusing it silently replaced that texture.
   it runs past the container edges */
.sectors::after{
  content:'';
  position:absolute;
  top:72%; left:50%;
  transform:translateX(-50%);
  width:100vw; height:2px;
  background:var(--gold);
  opacity:1;
  z-index:0;
  pointer-events:none;
}
.sectors .container{ position:relative; z-index:1; }

.sector-card{
  position:relative;
  height:615px;
  overflow:hidden;
  background:var(--bg-darker);
  transition:transform .35s cubic-bezier(.22,.61,.36,1), border-color .35s;
}
.sector-card:hover{
  transform:translateY(-4px);
  border-color:rgba(255,255,255,.18);
}

/* the photograph sits at 15% over the dark surface — a texture behind the
   content rather than a picture the text has to fight */
.sector-photo{
  position:absolute; inset:0;
  height:auto; min-height:0;
  background-size:cover; background-position:center;
  /* 0.15 was the brief, but measured against this surface it lands only ~9
     luminance levels above the background on the darkest of the three photos
     — present in the DOM, invisible to the eye. 0.28 keeps the same washed
     -back character while the picture actually reads. */
  opacity:.28;
  transition:opacity .35s ease;
}
.sector-card:hover .sector-photo{ opacity:.4; }

/* title at the top, gold rule beneath it */
.sector-label{
  position:absolute; top:0; right:0; left:0; z-index:3;
  background:none;
  padding:34px 24px 0;
  text-align:center;
  color:#fff; font-size:26px; font-weight:700; letter-spacing:.5px;
}
.sector-label::after{
  content:'';
  display:block;
  width:82px; height:2px;
  margin:6px auto 0;
  background:var(--gold);
}

/* One column over the photo. The bottom padding is reserved on EVERY card,
   whether or not it has store buttons — that is what puts all three
   descriptions on the same line: the Units card fills the reserve, the
   others leave it empty. */
.sector-info{
  position:absolute; inset:0; z-index:2;
  background:none;
  display:flex; flex-direction:column; align-items:center;
  padding:118px 26px 96px;
  gap:0;
}
.sector-logo{
  flex:1 1 auto;
  display:flex; align-items:center; justify-content:center;
  min-height:0;
}
.sector-logo svg{ height:138px; width:auto; max-width:168.13px; display:block; }
.sector-info p{
  flex:0 0 auto;
  text-align:center;
  font-size:13px; line-height:1.9;
  color:rgba(255,255,255,.82);
  margin:0;
}

/* the buttons live in the reserved strip, directly under the description */
.sector-card.is-linked{ cursor:pointer; }
.sector-link{ position:absolute; inset:0; z-index:4; }
.sector-actions{
  position:absolute; z-index:5;
  right:0; left:0; bottom:26px;
  display:flex; align-items:center; justify-content:center; gap:12px;
  padding:0 26px;
  background:none;
  height:auto;
}
.sector-store{ display:inline-flex; transition:opacity .2s, transform .2s; }
.sector-store img{ height:42px; width:auto; display:block; }
.sector-store:hover{ opacity:.85; transform:translateY(-2px); }

@media(max-width:900px){
  .sector-card{ height:min(126vw, 615px); }
  .sectors::after{ top:auto; bottom:8%; }
}
@media(hover:none){
  .sector-card:hover{ transform:none; }
  .sector-card:hover .sector-photo{ opacity:.28; }
}

/* the mobile block near the top of this file sets .sector-label padding with
   !important, which would pull the gold rule up against the title. Matched
   here rather than edited there, so that block stays as it was written. */
@media(max-width:768px){
  .sector-label{ padding:28px 18px 0 !important; font-size:21px !important; }
  .sector-logo svg{ height:101px; max-width:138px; }
  .sector-info{ padding:96px 18px 84px; }
  .sector-info p{ font-size:12.5px; }
  .sector-store img{ height:36px; }
  .sector-actions{ bottom:20px; }
}
/* Per-card focal point. The three photographs are framed very differently:
   the aerial is nearly half empty sky, so a centred crop would light up the
   top of that card while the other two stay dark. Each is pulled to the part
   that carries the subject. */
.sector-card:nth-child(1) .sector-photo{ background-position:center 45%; }  /* auction hall */
.sector-card:nth-child(2) .sector-photo{ background-position:center 82%; }  /* aerial — skip the sky */
.sector-card:nth-child(3) .sector-photo{ background-position:center 60%; }  /* building at dusk */
/* the Units mark is a transparent PNG rather than an inline SVG like the
   other two, so it needs its own sizing rule */
.sector-logo img{ width:auto; height:auto; max-width:120.06px; max-height:138px; object-fit:contain; display:block; }
@media(max-width:768px){ .sector-logo img{ max-width:99.4px; max-height:101px; } }
/* ===== one width for all three marks =====
   The three logos have very different proportions (1.03, 1.03 and 1.54), so
   sizing by height made them render at different widths. Width is set
   explicitly instead, and each height is stated to match its own ratio —
   never `auto`, which collapses an inline <svg> that carries only a viewBox. */
.sector-logo svg,
.sector-logo img{ width:94.94px; max-width:none; max-height:none; display:block; }

.sector-card:nth-child(1) .sector-logo svg{ height:91.72px; }
.sector-card:nth-child(2) .sector-logo svg{ height:91.85px; }
.sector-card:nth-child(3) .sector-logo img{ height:61.79px; object-fit:contain; }

@media(max-width:768px){
  .sector-logo svg,
  .sector-logo img{ width:69.36px; }
  .sector-card:nth-child(1) .sector-logo svg{ height:67.05px; }
  .sector-card:nth-child(2) .sector-logo svg{ height:67.12px; }
  .sector-card:nth-child(3) .sector-logo img{ height:45.16px; }
}
/* the projects strip is dragged with a mouse; the cursor says so, and both
   snapping and smooth scrolling stand down while a drag is in progress */
.projects-grid#homeProjectsGrid{ cursor:grab; }
.projects-grid#homeProjectsGrid.is-dragging{
  cursor:grabbing;
  scroll-snap-type:none;
  scroll-behavior:auto;
  user-select:none;
}
.projects-grid#homeProjectsGrid.is-dragging img,
.projects-grid#homeProjectsGrid.is-dragging a{ pointer-events:none; }
/* ===== شريط الأرقام على الجوال =====
   الشريط صفّان: صفّ أرقام ثم خط ثم صفّ نصوص. على العرض الواسع تصطفّ
   الأعمدة الثلاثة فيقع كل نصّ تحت رقمه. وعلى الجوال ينهار كل صفّ إلى عمود،
   فتتجمّع الأرقام الثلاثة معاً ثم الخط ثم النصوص الثلاثة — منفصلة عن أرقامها.
   الحلّ: نُذيب الصفّين (display:contents) فتصير البطاقات الستّ أبناءً مباشرين
   للحاوية، ثم نتناوب بينها بـ order، ويحمل كل رقم خطّه الخاص بدل خط واحد
   مشترك لا موضع له بعد التفكيك. */
@media(max-width:900px){
  .stats-band > .container{ display:grid; grid-template-columns:1fr; row-gap:0; }
  .stats-band > .container > .stats-grid{ display:contents; }
  .stats-band > .container > .stats-rule{ display:none; }

  .stats-band > .container > .stats-grid:first-child > .stat-card:nth-child(1){ order:1 }
  .stats-band > .container > .stats-grid:last-child  > .stat-card:nth-child(1){ order:2 }
  .stats-band > .container > .stats-grid:first-child > .stat-card:nth-child(2){ order:3 }
  .stats-band > .container > .stats-grid:last-child  > .stat-card:nth-child(2){ order:4 }
  .stats-band > .container > .stats-grid:first-child > .stat-card:nth-child(3){ order:5 }
  .stats-band > .container > .stats-grid:last-child  > .stat-card:nth-child(3){ order:6 }

  /* الرقم ثم خطّه ثم نصّه، ثم فاصل قبل المجموعة التالية */
  .stats-band > .container > .stats-grid:first-child > .stat-card{
    position:relative; padding-bottom:14px; margin-bottom:0;
  }
  /* the rule runs the full width of the screen, not of the padded container —
     it reads as a band across the page rather than a line inside a column */
  .stats-band > .container > .stats-grid:first-child > .stat-card::after{
    content:''; position:absolute; bottom:0; height:1px;
    inset-inline:auto; left:calc(50% - 50vw); width:100vw;
    background:var(--gold,#c9a876);
    transform:scaleX(0); transform-origin:center;
    transition:transform .7s cubic-bezier(.22,.61,.36,1);
  }
  /* the caption belongs to the number above it, so it sits close under the
     rule instead of drifting into the middle of the gap */
  .stats-band > .container > .stats-grid:last-child > .stat-card{ padding-top:12px; }
  .stats-band.drawn > .container > .stats-grid:first-child > .stat-card::after{ transform:scaleX(1); }
  .stats-band > .container > .stats-grid:last-child > .stat-card{ margin-bottom:38px; }
  .stats-band > .container > .stats-grid:last-child > .stat-card:nth-child(3){ margin-bottom:0; }
}
/* ===== النص تحت السلوقان — أبيض =====
   كان يُقرأ رمادياً لأن قاعدة التدرّج اللوني للأقسام تلوّن كل <p> بـ
   --morph-muted، وهذه الفقرة واحدة منها. وهي فوق الفيديو الداكن دائماً،
   فلونها ثابت أبيض لا يتبع تدرّج الأقسام. */
#heroSecondary .hero-secondary-p,
#heroSecondary .hero-secondary-p span,
body.morph #heroSecondary .hero-secondary-p,
body.morph #heroSecondary .hero-secondary-p span{
  color:#ffffff !important;
}
/* ===== نسبة صور الأخبار موحّدة: 16:9 =====
   كانت الارتفاعات ثابتة ومختلفة من موضع لآخر — 260 و220 و190 و170 و130
   بكسل — فيتغيّر مقدار القصّ مع عرض البطاقة، وتظهر الصورة منقوصة الأطراف
   وبنِسب متباينة بين الصفحة الرئيسية والمركز الإعلامي وقائمة التنقل.
   النسبة الآن واحدة والارتفاع يتبع العرض، فتُعرض الصورة كما صُمّمت.
   الترجيح هنا يطابق القواعد الأصلية (مثل .nav-news-card .nav-news-img)
   وإلا لغلبته وبقيت بارتفاعها القديم. */
.news-img,
.mc-card-img,
.nav-news-img,
.nav-news-card .nav-news-img,
.rel-img,
.article-related-card .rel-img{
  height:auto;
  aspect-ratio:16 / 9;
  background-size:cover;
  background-position:center;
}
/* صورة الخبر فوق نصّه تتبع النسبة نفسها */
.article-figure img{
  aspect-ratio:16 / 9;
  height:auto;
  object-fit:cover;
}
/* ===== أيقونات التواصل الرسمية =====
   الأيقونات الجديدة مصمتة (fill) بينما القاعدة العامة ترسم الأيقونات
   بالخطوط (stroke) — وتركها على القاعدة العامة يجعلها تختفي، لأن مسارات
   مصمتة بلا تعبئة لا تُرى. */
.socials a svg.brand-icon{
  fill:currentColor;
  stroke:none;
  width:16px; height:16px;
}
/* رسالة نتيجة الاشتراك في النشرة */
.newsletter-note{ font-size:12px; margin-top:8px; min-height:1em; color:var(--text-muted); }
.newsletter-note.ok{ color:#8fd3a8 }
.newsletter-note.bad{ color:#e0a09a }

/* ===== صور بطاقات «خدماتنا» بالأبيض والأسود =====
   الصورة خلفيةُ البطاقة نفسها، فوضع filter على البطاقة يسحب اللون من كلّ
   ما بداخلها كذلك — الأيقونة الذهبية والعنوان الأبيض ونقاط القائمة. لذلك
   تُنقل الصورة إلى طبقةٍ خاصّة بها ترث الـ url المكتوب في سطر العنصر،
   فيقع المرشّح عليها وحدها.

   الترتيب: الصورة (0) ثم التدرّج الداكن القائم (1) ثم النصّ (2). الترقيم
   ضرورة لا زينة — ::after يُرسم بعد المحتوى بطبيعته، فلولا الأرقام لغطّت
   الصورةُ الكلامَ. و isolation تحصر هذه الأرقام داخل البطاقة فلا تتسرّب
   إلى ما حولها. */
.services-grid .service-card{ isolation:isolate; }
.service-card::after{
  content:"";
  position:absolute; inset:0; z-index:0;
  background-image:inherit;
  background-size:cover; background-position:center; background-repeat:no-repeat;
  filter:grayscale(1);
  pointer-events:none;
}
/* التأثيرات القائمة كما هي، رُفعت فوق الصورة لا غير */
.service-card::before{ z-index:1; }
.service-card-inner{ z-index:2; }
