  :root{
    --navy-950:#070d16;
    --navy-900:#0b1522;
    --navy-800:#10203a;
    --navy-700:#16304f;
    --steel-500:#4a7fb5;
    --steel-400:#6ea0d1;
    --gold-500:#c9972e;
    --gold-400:#e0b355;
    --ink-900:#101820;
    --ink-600:#4a5560;
    --ink-400:#7c8896;
    --paper-0:#ffffff;
    --paper-50:#f6f7f9;
    --paper-100:#eceef2;
    --line:#e2e5ea;
    --radius:14px;
    --maxw:1240px;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  /* !important: the Woodmart parent theme sets its own font (Ubuntu on body,
     Manrope on headings, etc.) on individual elements with enough specificity
     to beat a plain "body{font-family:...}" rule — this universal override
     forces the Cairo design-system font everywhere on SAF pages. The WP admin
     toolbar is genuinely excluded from the selector (not just re-overridden)
     so WordPress's own dashicons icon font — visible only to logged-in staff —
     keeps working instead of turning into boxes. */
  *:not(#wpadminbar):not(#wpadminbar *){font-family:'Cairo',system-ui,-apple-system,sans-serif !important;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--paper-0);
    color:var(--ink-900);
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  img{max-width:100%; display:block;}
  a{text-decoration:none; color:inherit;}
  ul{list-style:none;}
  .wrap{max-width:var(--maxw); margin:0 auto; padding:0 28px;}
  /* language toggle: driven purely by <html lang="en|ar">, set synchronously by an
     inline script in <head> (before first paint) and updated live by site.js on
     click. !important guarantees this always wins over component display values
     (flex, inline-flex...) regardless of selector specificity or source order —
     and, just as importantly, over the Woodmart parent theme's own CSS. */
  html[lang="en"] [data-lang="ar"]{display:none !important;}
  html[lang="ar"] [data-lang="en"]{display:none !important;}
  /* [hidden] kept as a belt-and-braces fallback in case any element is ever
     hidden a different way. */
  [hidden]{display:none !important;}

  /* ---------- Top bar ---------- */
  /* !important: Woodmart gives real <button>/<a> elements their own default
     padding, min-height and line-height, which otherwise makes this bar taller
     than the intended compact 40px strip regardless of the fixed height below. */
  .topbar{background:var(--navy-950) !important; color:#b9c3cf !important; font-size:13px !important;}
  .topbar .wrap{display:flex !important; align-items:center !important; justify-content:space-between !important; height:40px !important; min-height:40px !important; max-height:40px !important; padding-top:0 !important; padding-bottom:0 !important;}
  .topbar-info{display:flex !important; gap:22px !important; align-items:center !important; height:100% !important; margin:0 !important;}
  .topbar-info a{color:#b9c3cf !important; display:flex !important; gap:7px !important; align-items:center !important; transition:color .2s !important; padding:0 !important; margin:0 !important; line-height:1 !important; font-size:13px !important; min-height:0 !important;}
  .topbar-info a:hover{color:var(--gold-400) !important;}
  .lang-switch{display:flex !important; gap:0 !important; border:1px solid #26364c !important; border-radius:20px !important; overflow:hidden !important; height:26px !important; margin:0 !important;}
  .lang-switch button{
    background:transparent !important; border:none !important; color:#b9c3cf !important; font-family:inherit !important; font-size:12px !important;
    padding:0 14px !important; margin:0 !important; cursor:pointer !important; font-weight:600 !important; letter-spacing:.3px !important; transition:.2s !important;
    height:100% !important; line-height:1 !important; min-height:0 !important;
  }
  .lang-switch button.active{background:var(--gold-500) !important; color:#181206 !important;}

  /* ---------- Header ---------- */
  header.site{
    position:sticky; top:0; z-index:50; background:rgba(11,21,34,.96);
    backdrop-filter:blur(6px); border-bottom:1px solid #1c2c42;
  }
  /* When a logged-in admin is browsing the site, WordPress pins its own
     black admin bar at top:0 above everything (higher z-index) — without
     this the sticky header (also top:0) ends up partly hidden behind it
     once you scroll. Only affects logged-in users; regular visitors never
     see the admin bar so this is a no-op for them. */
  body.admin-bar header.site{top:32px !important;}
  @media(max-width:782px){
    body.admin-bar header.site{top:46px !important;}
  }
  header.site .wrap{display:flex; align-items:center; justify-content:space-between; height:82px;}
  .logo{display:flex; align-items:center; gap:12px;}
  .logo-mark{
    height:48px; display:flex; align-items:center; justify-content:center; flex:none;
  }
  .logo-mark img{height:100%; width:auto; object-fit:contain;}
  .logo-text{color:#fff !important; line-height:1.15;}
  .logo-text b{display:block; font-size:19px; font-weight:800; letter-spacing:.5px;}
  .logo-text small{display:block; font-size:11px; color:#8ea3bc; font-weight:500; letter-spacing:.5px;}
  nav.main{display:flex; gap:2px;}
  nav.main a{
    color:#dfe6ee; font-size:14.5px; font-weight:600; padding:10px 15px; border-radius:8px; transition:.2s;
  }
  nav.main a:hover{background:#16283f; color:var(--gold-400);}
  .header-cta{display:flex; align-items:center; gap:16px;}
  /* !important below: the Woodmart parent theme ships its own generic .btn
     rules that otherwise win the cascade on these WordPress pages and flatten
     every button to the same plain look. This forces the SAF button styles
     (gold / outline) to render as designed regardless of theme load order. */
  .btn{
    display:inline-flex !important; align-items:center !important; gap:8px !important; justify-content:center !important;
    padding:12px 24px !important; border-radius:8px !important; font-weight:700 !important; font-size:14.5px !important;
    cursor:pointer !important; border:none !important; transition:.2s !important; white-space:nowrap !important;
    text-decoration:none !important; line-height:normal !important;
  }
  .btn-gold{background:var(--gold-500) !important; color:#1c1305 !important;}
  .btn-gold:hover{background:var(--gold-400) !important; color:#1c1305 !important; transform:translateY(-1px);}
  .btn-outline{border:1.5px solid #33465f !important; background:transparent !important; color:#fff !important;}
  .btn-outline:hover{border-color:var(--gold-400) !important; color:var(--gold-400) !important;}
  .btn-lg{padding:15px 30px !important; font-size:15.5px !important;}
  .burger{display:none !important; width:40px; height:40px; border:1.5px solid var(--gold-500) !important; border-radius:8px; color:var(--gold-500) !important; align-items:center; justify-content:center; background:transparent !important; cursor:pointer; flex:none; font-size:18px; line-height:1;}
  .burger:hover{border-color:var(--gold-400) !important; color:var(--gold-400) !important;}

  /* ---------- Hero ---------- */
  .hero{
    position:relative; min-height:640px; display:flex; align-items:center;
    overflow:hidden; background-color:var(--navy-950);
  }
  .hero-video{
    position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0;
  }
  .hero-overlay{
    position:absolute; inset:0; z-index:1;
    background:linear-gradient(120deg,rgba(6,12,20,.94) 10%,rgba(8,18,32,.72) 55%,rgba(8,18,32,.4) 100%);
  }
  .hero .wrap{position:relative; z-index:2; padding-top:70px; padding-bottom:70px;}
  .eyebrow{
    display:inline-flex; align-items:center; gap:10px; color:var(--gold-400); font-weight:700;
    font-size:13px; letter-spacing:1.6px; margin-bottom:22px;
  }
  .eyebrow::before{content:""; width:34px; height:2px; background:var(--gold-400);}
  .hero h1{
    color:#fff !important; font-size:56px; font-weight:800; line-height:1.15; max-width:760px; margin-bottom:22px;
    letter-spacing:-.5px;
  }
  .hero p.lead{color:#c3cedb; font-size:18px; max-width:600px; margin-bottom:36px;}
  .hero-actions{display:flex; gap:16px; flex-wrap:wrap;}
  .hero-stats{
    margin-top:64px; display:grid; grid-template-columns:repeat(4,1fr); gap:0;
    border-top:1px solid rgba(255,255,255,.14); padding-top:28px; max-width:900px;
  }
  .hero-stats div{border-inline-start:1px solid rgba(255,255,255,.14); padding-inline-start:20px;}
  .hero-stats div:first-child{border-inline-start:none; padding-inline-start:0;}
  .hero-stats strong{display:block; color:#fff !important; font-size:15px; font-weight:700;}
  .hero-stats span{color:#93a3b6; font-size:12.5px;}

  /* ---------- Section generic ---------- */
  /* !important: Woodmart's own layout CSS otherwise collapses the vertical
     rhythm between sections on these pages. */
  section{padding:96px 0 !important;}
  .section-head{max-width:640px; margin-bottom:56px;}
  .section-head.center{margin-left:auto; margin-right:auto; text-align:center;}
  .kicker{color:var(--gold-500); font-weight:800; font-size:13px; letter-spacing:1.6px; margin-bottom:14px; display:block;}
  h2.h-title{font-size:36px; font-weight:800; color:var(--navy-900); letter-spacing:-.3px; margin-bottom:14px;}
  .section-head p{color:var(--ink-600); font-size:16px;}
  .bg-dark{background:var(--navy-950); color:#e8ecf1;}
  .bg-dark .h-title{color:#fff !important;}
  .bg-dark .section-head p{color:#9fb0c3;}
  .bg-alt{background:var(--paper-50);}

  /* ---------- About ---------- */
  .about-grid{display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center;}
  .about-media{position:relative; border-radius:var(--radius); overflow:hidden; aspect-ratio:4/3.1;}
  .about-media img{width:100%; height:100%; object-fit:cover;}
  .about-media .badge{
    position:absolute; bottom:20px; inset-inline-start:20px; background:rgba(8,15,25,.82);
    color:#fff !important; padding:14px 20px; border-radius:10px; font-weight:700; font-size:14px;
    display:flex; align-items:center; gap:10px; backdrop-filter:blur(4px);
  }
  .about-media .badge b{color:var(--gold-400); font-size:20px;}
  .about-copy p{color:var(--ink-600); margin-bottom:16px; font-size:15.5px;}
  .check-list{margin:24px 0; display:grid; gap:12px;}
  .check-list li{display:flex; gap:12px; align-items:flex-start; font-size:14.5px; color:var(--ink-900); font-weight:600;}
  .check-list li i{
    width:22px; height:22px; border-radius:50%; background:#eef6ee; color:#2f9e44; flex:none;
    display:flex; align-items:center; justify-content:center; font-size:13px; margin-top:1px;
  }

  /* ---------- Product / card grids ---------- */
  .grid-4{display:grid; grid-template-columns:repeat(4,1fr); gap:24px;}
  .grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
  .card{
    border-radius:var(--radius); overflow:hidden; background:#fff; border:1px solid var(--line);
    transition:.25s; display:flex; flex-direction:column;
  }
  .card:hover{transform:translateY(-4px); box-shadow:0 18px 40px -18px rgba(10,25,45,.28); border-color:transparent;}
  .card .card-media{aspect-ratio:5/4; overflow:hidden; position:relative;}
  .card .card-media img{width:100%; height:100%; object-fit:cover; transition:transform .5s;}
  .card:hover .card-media img{transform:scale(1.07);}
  .card-body{padding:22px 22px 26px;}
  .card-body h3{font-size:17px; font-weight:800; margin-bottom:8px; color:var(--navy-900);}
  .card-body p{font-size:13.8px; color:var(--ink-600); margin-bottom:14px;}
  .card-link{font-size:13px; font-weight:700; color:var(--steel-500); display:inline-flex; gap:6px; align-items:center;}
  .card:hover .card-link{color:var(--gold-500);}

  /* dark value cards */
  .value-card{
    border-radius:var(--radius); overflow:hidden; position:relative; aspect-ratio:1/1.05;
    display:flex; align-items:flex-end; padding:22px;
  }
  .value-card img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0;}
  .value-card::after{
    content:""; position:absolute; inset:0; z-index:1;
    background:linear-gradient(0deg,rgba(6,12,20,.92) 10%,rgba(6,12,20,.35) 60%,rgba(6,12,20,.1) 100%);
  }
  .value-card .vc-inner{position:relative; z-index:2; color:#fff !important;}
  .value-card .vc-num{font-size:12px; color:var(--gold-400); font-weight:800; letter-spacing:1px; margin-bottom:6px; display:block;}
  .value-card h4{font-size:16.5px; font-weight:800; color:#fff !important;}

  /* ---------- Sectors ---------- */
  .sector-card{position:relative; border-radius:var(--radius); overflow:hidden; aspect-ratio:4/3.4;}
  .sector-card img{width:100%; height:100%; object-fit:cover;}
  .sector-card::after{content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(6,12,20,.88),rgba(6,12,20,.05) 55%);}
  .sector-card .sc-inner{position:absolute; inset-inline-start:24px; bottom:22px; z-index:2; color:#fff !important; inset-inline-end:24px;}
  .sector-card h3{font-size:19px; font-weight:800; margin-bottom:6px; color:#fff !important;}
  .sector-card p{font-size:13.5px; color:#c3cedb;}

  /* ---------- Vision / Mission ---------- */
  .vm-grid{display:grid; grid-template-columns:1fr 1fr; gap:28px;}
  .vm-card{border-radius:var(--radius); overflow:hidden; position:relative; min-height:340px; display:flex; align-items:flex-end; padding:36px;}
  .vm-card img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0;}
  .vm-card::after{content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(180deg,rgba(7,13,22,.25),rgba(7,13,22,.92));}
  .vm-inner{position:relative; z-index:2; color:#fff !important;}
  .vm-inner .vm-icon{
    width:48px; height:48px; border-radius:10px; background:rgba(201,151,46,.18); border:1px solid rgba(201,151,46,.5);
    display:flex; align-items:center; justify-content:center; margin-bottom:18px; color:var(--gold-400); font-size:20px; font-weight:800;
  }
  .vm-inner h3{font-size:22px; font-weight:800; margin-bottom:12px; color:#fff !important;}
  .vm-inner p{font-size:14.5px; color:#cfd7e0;}

  /* ---------- Multimedia ---------- */
  .media-box{
    position:relative; border-radius:var(--radius); overflow:hidden; aspect-ratio:16/7.2;
    background:#000;
  }
  .media-box img{width:100%; height:100%; object-fit:cover; opacity:.55;}
  .media-box .mb-overlay{
    position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center;
    text-align:center; gap:18px; color:#fff !important;
  }
  .play-btn{
    width:78px; height:78px; border-radius:50%; background:rgba(255,255,255,.14); border:1.5px solid rgba(255,255,255,.5);
    display:flex; align-items:center; justify-content:center; backdrop-filter:blur(3px); cursor:pointer; transition:.2s;
  }
  .play-btn:hover{background:var(--gold-500); border-color:var(--gold-500);}
  .play-btn svg{width:26px; height:26px; fill:#fff; margin-inline-start:4px;}
  .media-box .mb-tag{
    background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.3); padding:6px 16px; border-radius:20px;
    font-size:12.5px; font-weight:700; letter-spacing:.4px;
  }
  .media-box h3{font-size:24px; font-weight:800; color:#fff !important;}
  .media-box p{color:#cfd7e0; font-size:14px; max-width:440px;}

  /* ---------- Partners ---------- */
  .partners-strip{text-align:center; padding:70px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
  .partners-strip p.lead{color:var(--ink-600); font-size:15px; margin-bottom:36px;}
  .logo-row{display:flex; justify-content:center; gap:56px; flex-wrap:wrap; opacity:.55;}
  .logo-chip{
    width:130px; height:52px; border:1.5px dashed var(--line); border-radius:8px;
    display:flex; align-items:center; justify-content:center; color:var(--ink-400); font-size:11.5px; font-weight:700;
  }

  /* ---------- CTA banner ---------- */
  .cta-banner{
    position:relative; border-radius:20px; overflow:hidden; padding:64px 56px; text-align:center;
    background:linear-gradient(120deg,var(--navy-950),var(--navy-800));
    margin:0 28px;
  }
  .cta-banner h2{color:#fff !important; font-size:32px; font-weight:800; margin-bottom:14px;}
  .cta-banner p{color:#a9b8c8; font-size:15.5px; max-width:520px; margin:0 auto 30px;}
  .cta-actions{display:flex; gap:16px; justify-content:center; flex-wrap:wrap;}

  /* ---------- Footer ---------- */
  /* !important throughout: same Woodmart-collision story as the buttons,
     section spacing and fonts above — Woodmart's own (higher-specificity)
     link-color and spacing rules otherwise win over these plain selectors. */
  footer{background:var(--navy-950) !important; color:#8fa0b3 !important; padding-top:80px !important; padding-bottom:0 !important;}
  footer .wrap{padding-top:0 !important; padding-bottom:0 !important;}
  .footer-grid{
    display:grid !important; grid-template-columns:1.4fr 1fr 1fr 1.2fr !important; gap:40px !important;
    padding-top:0 !important; padding-bottom:56px !important; margin-bottom:0 !important;
    border-bottom:1px solid #1c2c42 !important;
  }
  .footer-col{margin:0 !important; padding:0 !important;}
  .footer-col h4{color:#fff !important; font-size:14.5px !important; font-weight:800 !important; margin:0 0 20px !important; letter-spacing:.3px !important; line-height:1.4 !important;}
  .footer-col p{color:#8fa0b3 !important; font-size:13.8px !important; line-height:1.8 !important; margin:0 0 18px !important;}
  .footer-col ul{display:grid !important; gap:11px !important; margin:0 !important; padding:0 !important;}
  .footer-col ul li{margin:0 !important; padding:0 !important;}
  .footer-col ul a{color:#8fa0b3 !important; font-size:13.8px !important; line-height:1.5 !important; transition:.2s !important;}
  .footer-col ul a:hover{color:var(--gold-400) !important;}
  .foot-social{display:flex !important; gap:10px !important; margin:0 !important; padding:0 !important;}
  .foot-social a{
    width:36px !important; height:36px !important; border-radius:8px !important; border:1px solid #26364c !important;
    display:flex !important; align-items:center !important; justify-content:center !important;
    font-size:13px !important; color:#8fa0b3 !important; transition:.2s !important; margin:0 !important;
  }
  .foot-social a:hover{background:var(--gold-500) !important; border-color:var(--gold-500) !important; color:#181206 !important;}
  .foot-contact{margin:0 !important; padding:0 !important;}
  .foot-contact li{display:flex !important; gap:10px !important; align-items:flex-start !important; font-size:13.8px !important; color:#8fa0b3 !important; margin:0 0 14px !important; line-height:1.6 !important;}
  .foot-contact li i{color:var(--gold-400) !important; margin-top:2px !important; font-style:normal !important;}
  .foot-contact li span{color:#8fa0b3 !important;}
  .foot-bottom{
    display:flex !important; justify-content:space-between !important; align-items:center !important;
    padding:26px 0 !important; margin:0 !important; font-size:12.8px !important; color:#7c8ea3 !important;
    flex-wrap:wrap !important; gap:14px !important;
  }
  .foot-bottom-links{display:flex !important; gap:22px !important; margin:0 !important; padding:0 !important;}
  .foot-bottom-links a{color:#7c8ea3 !important; font-size:12.8px !important; transition:.2s !important;}
  .foot-bottom-links a:hover{color:var(--gold-400) !important;}

  /* ---------- utils ---------- */
  .reveal{opacity:0; transform:translateY(18px); transition:opacity .6s ease, transform .6s ease;}
  .reveal.in{opacity:1; transform:none;}

  /* !important on the nav/burger toggle rules below: Woodmart's own header
     CSS otherwise keeps nav.main visible (or the burger hidden) on these
     widths regardless of source order. */
  @media(max-width:1080px){
    nav.main, .header-cta .btn-outline{display:none !important;}
    .burger{display:flex !important;}
    .grid-4{grid-template-columns:repeat(2,1fr);}
    .grid-3{grid-template-columns:repeat(2,1fr);}
    .about-grid, .vm-grid{grid-template-columns:1fr;}
    .footer-grid{grid-template-columns:1fr 1fr;}
    .hero h1{font-size:40px;}
    .hero-stats{grid-template-columns:repeat(2,1fr); row-gap:20px;}

    /* Mobile dropdown menu, opened by the burger button. */
    header.site.nav-open nav.main{
      display:flex !important; flex-direction:column; gap:0;
      position:absolute; inset-inline:0; top:100%;
      background:var(--navy-950); padding:8px 18px 18px;
      border-top:1px solid #1c2c42; box-shadow:0 16px 30px -16px rgba(0,0,0,.5);
    }
    header.site.nav-open nav.main a{
      padding:14px 6px; border-bottom:1px solid #1c2c42; border-radius:0;
    }
    header.site.nav-open nav.main a:hover{background:transparent;}
    .burger-icon-close{color:var(--gold-400);}
  }
  @media(max-width:640px){
    .grid-4, .grid-3, .footer-grid{grid-template-columns:1fr;}
    .hero{min-height:auto; padding-top:20px;}
    h2.h-title{font-size:28px;}
    .cta-banner{padding:44px 24px; margin:0 16px;}
    .wrap{padding:0 18px;}
  }

/* ============================================================
   INNER-PAGE COMPONENTS (about / services / products / projects /
   technologies / certifications / testimonials / partners / blog / faq / contact)
   ============================================================ */

/* Page hero (shorter banner used on every inner page) */
.page-hero{
  position:relative; padding:56px 0 60px;
  background-color:var(--navy-950);
  color:#fff !important;
}
.crumb{color:#9fb0c3; font-size:13px; margin-bottom:16px; display:flex; gap:8px; align-items:center;}
.crumb a{color:#9fb0c3; transition:.2s;}
.crumb a:hover{color:var(--gold-400);}
.crumb span{color:#57687d;}
.page-hero h1{font-size:38px; font-weight:800; color:#fff !important; max-width:680px;}
.page-hero p.lead{color:#c3cedb; font-size:15.5px; max-width:600px; margin-top:14px;}

/* Feature row: alternating media/copy block used on Services & Products */
.feature-row{display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; margin-bottom:88px;}
.feature-row:last-child{margin-bottom:0;}
.feature-row .fr-media{border-radius:var(--radius); overflow:hidden; aspect-ratio:4/3.1;}
.feature-row .fr-media img{width:100%; height:100%; object-fit:cover;}
.feature-row .fr-num{font-size:13px; font-weight:800; color:var(--gold-500); letter-spacing:1.4px; margin-bottom:12px; display:block;}
.feature-row h3{font-size:25px; font-weight:800; margin-bottom:14px; color:var(--navy-900);}
.feature-row > div > p{color:var(--ink-600); font-size:15px; margin-bottom:8px;}
.feature-row ul{display:grid; gap:11px; margin-top:20px;}
.feature-row ul li{display:flex; gap:10px; font-size:14.3px; color:var(--ink-600); align-items:flex-start;}
.feature-row ul li::before{content:"—"; color:var(--gold-500); font-weight:800; flex:none;}
@media(max-width:900px){.feature-row{grid-template-columns:1fr; gap:24px; margin-bottom:52px;}}

/* Category jump tabs (Products page) */
.cat-tabs{display:flex; gap:10px; flex-wrap:wrap; margin-bottom:60px;}
.cat-tabs a{padding:10px 22px; border:1.5px solid var(--line); border-radius:30px; font-size:13.5px; font-weight:700; color:var(--ink-600); transition:.2s;}
.cat-tabs a:hover{border-color:var(--gold-500); color:var(--gold-500);}

/* Sub-product pill list */
.pill-list{display:flex; flex-wrap:wrap; gap:10px; margin-top:18px;}
.pill-list span{background:var(--paper-100); color:var(--ink-600); font-size:12.8px; font-weight:600; padding:8px 14px; border-radius:20px;}

/* Stat row (generic reusable version of hero-stats for inner pages) */
.stat-row{display:grid; grid-template-columns:repeat(4,1fr); gap:24px; text-align:center;}
.stat-row div{padding:28px 14px; background:var(--paper-50); border-radius:var(--radius);}
.stat-row strong{display:block; font-size:28px; font-weight:800; color:var(--navy-900); margin-bottom:6px;}
.stat-row span{font-size:13px; color:var(--ink-600);}
@media(max-width:700px){.stat-row{grid-template-columns:1fr 1fr;}}

/* Gallery grid (Technologies / machinery) */
.gallery-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
.gallery-item{position:relative; border-radius:12px; overflow:hidden; aspect-ratio:4/3.2;}
.gallery-item img{width:100%; height:100%; object-fit:cover; transition:transform .5s;}
.gallery-item:hover img{transform:scale(1.06);}
.gallery-item .gi-cap{
  position:absolute; inset-inline-start:0; bottom:0; inset-inline-end:0; padding:14px 16px;
  background:linear-gradient(0deg,rgba(6,12,20,.9),transparent); color:#fff !important; font-size:12.5px; font-weight:700;
}
@media(max-width:900px){.gallery-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.gallery-grid{grid-template-columns:1fr;}}

/* Process steps (Technologies) */
.step-row{display:flex; gap:20px; align-items:flex-start; margin-bottom:8px;}
.step-num{
  width:38px; height:38px; border-radius:50%; background:var(--navy-950); color:var(--gold-400); flex:none;
  display:flex; align-items:center; justify-content:center; font-weight:800; font-size:14px;
}
.step-line{width:1.5px; background:var(--line); flex:1; margin:4px 0;}
.step-body{padding-bottom:36px;}
.step-body h4{font-size:16.5px; font-weight:800; color:var(--navy-900); margin-bottom:6px;}
.step-body p{font-size:14px; color:var(--ink-600);}

/* Certification / badge cards */
.cert-card{
  background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:30px; text-align:center;
  display:flex; flex-direction:column; align-items:center; gap:14px;
}
.cert-badge{
  width:64px; height:64px; border-radius:50%; background:var(--paper-50); border:1.5px dashed var(--line);
  display:flex; align-items:center; justify-content:center; font-size:24px; color:var(--gold-500);
}
.cert-card h4{font-size:15.5px; font-weight:800; color:var(--navy-900);}
.cert-card p{font-size:13px; color:var(--ink-600);}
.status-chip{font-size:11px; font-weight:700; padding:5px 12px; border-radius:20px;}
.status-chip.committed{background:#fdf3e3; color:#8a6116;}
.status-chip.compliant{background:#e8f3ea; color:#2f7a3c;}

/* Testimonials */
.testi-card{background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:32px; height:100%;}
.testi-card .quote-mark{font-size:42px; color:var(--gold-500); font-weight:900; line-height:1; margin-bottom:10px; font-family:Georgia,serif;}
.testi-card p{color:var(--ink-600); font-size:14.5px; margin-bottom:22px; font-style:italic;}
.testi-person{display:flex; align-items:center; gap:12px;}
.testi-avatar{
  width:44px; height:44px; border-radius:50%; background:var(--paper-100); color:var(--ink-400); flex:none;
  display:flex; align-items:center; justify-content:center; font-weight:800; font-size:14px;
}
.testi-person b{display:block; font-size:13.5px; color:var(--navy-900);}
.testi-person span{font-size:12px; color:var(--ink-400);}
.placeholder-note{
  margin-top:40px; padding:16px 20px; background:#fdf3e3; border:1px dashed #e0b355; border-radius:10px;
  color:#8a6116; font-size:13px; font-weight:600;
}

/* Partners */
.partner-type-card{background:var(--paper-50); border-radius:var(--radius); padding:28px; text-align:center;}
.partner-type-card .pt-icon{
  width:54px; height:54px; border-radius:14px; background:var(--navy-950); color:var(--gold-400); margin:0 auto 16px;
  display:flex; align-items:center; justify-content:center; font-size:22px; font-weight:800;
}
.partner-type-card h4{font-size:15.5px; font-weight:800; color:var(--navy-900); margin-bottom:8px;}
.partner-type-card p{font-size:13px; color:var(--ink-600);}

/* Blog */
.post-meta{display:flex; gap:14px; font-size:12px; color:var(--ink-400); margin-bottom:10px; align-items:center;}
.post-meta .tag{background:var(--paper-100); color:var(--ink-600); padding:3px 10px; border-radius:20px; font-weight:700;}

/* FAQ accordion */
.accordion{max-width:820px;}
.accordion-item{border-bottom:1px solid var(--line);}
.accordion-q{
  display:flex; justify-content:space-between; align-items:center; gap:20px; padding:24px 2px;
  cursor:pointer; font-weight:700; font-size:15.5px; color:var(--navy-900); user-select:none;
}
.accordion-q .plus{font-size:22px; color:var(--gold-500); flex:none; transition:transform .25s; font-weight:400;}
.accordion-item.open .accordion-q .plus{transform:rotate(45deg);}
.accordion-a{max-height:0; overflow:hidden; transition:max-height .3s ease;}
.accordion-item.open .accordion-a{max-height:300px;}
.accordion-a-inner{padding:0 2px 24px; color:var(--ink-600); font-size:14.5px; max-width:700px;}

/* Contact page */
.form-grid{display:grid; grid-template-columns:1fr 1fr; gap:20px;}
.form-grid .full{grid-column:1/-1;}
.field label{display:block; font-size:13px; font-weight:700; color:var(--navy-900); margin-bottom:8px;}
.field input, .field textarea, .field select{
  width:100%; border:1.5px solid var(--line); border-radius:8px; padding:13px 14px; font-family:inherit;
  font-size:14px; color:var(--ink-900); background:#fff; transition:.2s;
}
.field input:focus, .field textarea:focus, .field select:focus{outline:none; border-color:var(--steel-500);}
.field textarea{resize:vertical; min-height:120px;}
.contact-info-card{background:var(--navy-950); border-radius:var(--radius); padding:36px; color:#fff !important;}
.contact-info-card h3{font-size:19px; font-weight:800; margin-bottom:26px; color:#fff !important;}
.ci-item{display:flex; gap:14px; margin-bottom:24px; align-items:flex-start;}
.ci-item:last-child{margin-bottom:0;}
.ci-icon{
  width:40px; height:40px; border-radius:10px; background:rgba(201,151,46,.15); border:1px solid rgba(201,151,46,.4);
  display:flex; align-items:center; justify-content:center; color:var(--gold-400); flex:none; font-size:15px;
}
.ci-item b{display:block; font-size:13.5px; color:#fff !important; margin-bottom:3px;}
.ci-item span{font-size:13px; color:#a9b8c8; line-height:1.6;}
.map-frame{border-radius:var(--radius); overflow:hidden; margin-top:24px; aspect-ratio:16/8; background:var(--paper-100); display:flex; align-items:center; justify-content:center; color:var(--ink-400); font-size:13px; font-weight:700;}

/* ---------- Floating WhatsApp button ---------- */
.wa-float{
  position:fixed !important; bottom:26px !important; right:26px !important; left:auto !important;
  width:58px !important; height:58px !important; border-radius:50% !important;
  background:linear-gradient(135deg,var(--gold-400),var(--gold-500)) !important;
  display:flex !important; align-items:center !important; justify-content:center !important;
  color:#1c1305 !important; z-index:999 !important; box-shadow:0 8px 24px -6px rgba(201,151,46,.55) !important;
  transition:transform .2s ease !important; text-decoration:none !important;
}
.wa-float:hover{transform:scale(1.08) !important; color:#1c1305 !important;}
.wa-float svg{width:30px !important; height:30px !important; position:relative !important; z-index:2 !important;}
.wa-float-ring{
  position:absolute !important; inset:0 !important; border-radius:50% !important;
  box-shadow:0 0 0 0 rgba(201,151,46,.65) !important;
  animation:wa-pulse 2.2s ease-out infinite !important; pointer-events:none !important;
}
@keyframes wa-pulse{
  0%   { box-shadow:0 0 0 0 rgba(201,151,46,.65); }
  70%  { box-shadow:0 0 0 18px rgba(201,151,46,0); }
  100% { box-shadow:0 0 0 0 rgba(201,151,46,0); }
}
@media(max-width:640px){
  .wa-float{width:52px !important; height:52px !important; bottom:18px !important; right:18px !important;}
  .wa-float svg{width:26px !important; height:26px !important;}
}
