:root{
  --navy-950:#070f22;
  --navy-900:#0a1a33;
  --navy-800:#0f2545;
  --navy-700:#173259;
  --gold:#d4af37;
  --gold-light:#f0d77b;
  --cyan:#22d3ee;
  --bg:#f6f4ee;
  --panel:#ffffff;
  --ink:#12151d;
  --ink-soft:#565c6b;
  --line:#e4e0d4;
  --radius:14px;
  --maxw:1180px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:'Inter',sans-serif;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img,svg{display:block;max-width:100%;}
img{height:auto;}
a{color:inherit;text-decoration:none;}
ul{margin:0;padding:0;list-style:none;}
h1,h2,h3,h4{font-family:'Oswald',sans-serif;margin:0;letter-spacing:.01em;text-transform:uppercase;}
.eyebrow{
  font-family:'JetBrains Mono',monospace;
  font-size:.72rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--gold);
  display:inline-flex;
  align-items:center;
  gap:.55em;
}
.eyebrow::before{
  content:"";
  width:22px;height:1px;
  background:var(--gold);
  display:inline-block;
}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;}
.ar{font-family:'Noto Kufi Arabic',sans-serif;direction:rtl;}

.skip-link{
  position:absolute;left:12px;top:-60px;z-index:300;
  background:var(--gold);color:var(--navy-950);font-weight:700;
  padding:10px 16px;border-radius:8px;transition:top .2s;
}
.skip-link:focus{top:12px;}
.visually-hidden{
  position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
body.menu-open{overflow:hidden;}

::selection{background:var(--gold);color:var(--navy-950);}

a:focus-visible, button:focus-visible, [role="button"]:focus-visible, summary:focus-visible{
  outline:2px solid var(--cyan);
  outline-offset:3px;
  border-radius:4px;
}

/* ---------- nav ---------- */
header.site{
  position:sticky;top:0;z-index:50;
  background:rgba(10,26,51,.94);
  backdrop-filter:blur(10px);
  border-bottom:1px solid #ffffff14;
}
nav.wrap{
  display:flex;align-items:center;justify-content:space-between;
  padding-top:14px;padding-bottom:14px;
}
.brand{display:flex;align-items:center;gap:12px;}

.nav-links{display:flex;gap:34px;align-items:center;}
.nav-links a{
  color:#dfe4ee;font-size:.86rem;font-weight:500;
  letter-spacing:.02em;position:relative;padding:6px 0;
  transition:color .2s;
}
.nav-links a::after{
  content:"";position:absolute;left:0;bottom:0;height:1.5px;width:0;
  background:var(--gold);transition:width .25s;
}
.nav-links a:hover{color:#fff;}
.nav-links a:hover::after{width:100%;}
.nav-links a.active{color:#fff;}
.nav-links a.active::after{width:100%;}

.nav-cta{
  display:flex;align-items:center;gap:10px;
  background:var(--gold);color:var(--navy-950);
  font-weight:700;font-size:.84rem;
  padding:10px 18px;border-radius:8px;
  letter-spacing:.02em;white-space:nowrap;
  transition:background .2s, transform .2s;
}
.nav-cta:hover{background:var(--gold-light);transform:translateY(-1px);}
.nav-toggle{display:none;}

/* ---------- generic buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:14px 24px;border-radius:9px;
  font-weight:700;font-size:.92rem;letter-spacing:.01em;
  transition:transform .2s, box-shadow .2s, background .2s;
  border:1.5px solid transparent;
}
.btn-gold{background:var(--gold);color:var(--navy-950);}
.btn-gold:hover{background:var(--gold-light);transform:translateY(-2px);box-shadow:0 10px 24px -8px #d4af3766;}
.btn-ghost{border-color:#ffffff3a;color:#f2f2ea;}
.btn-ghost:hover{border-color:var(--cyan);color:#fff;background:#22d3ee14;}
.btn-ghost-dark{border-color:#0a1a3333;color:var(--navy-900);}
.btn-ghost-dark:hover{border-color:var(--navy-900);background:#0a1a330d;}
.btn svg{width:18px;height:18px;}

/* ---------- page banner (subpages) ---------- */
.page-banner{
  position:relative;
  background:
    radial-gradient(ellipse 900px 500px at 85% 0%, #1a3a63 0%, transparent 60%),
    linear-gradient(180deg,var(--navy-900) 0%, var(--navy-950) 100%);
  color:#f4f1e8;
  padding:64px 0 54px;
  overflow:hidden;
}
.page-banner .grid-bg{
  position:absolute;inset:0;
  background-image:linear-gradient(#ffffff09 1px, transparent 1px),linear-gradient(90deg,#ffffff09 1px, transparent 1px);
  background-size:42px 42px;
  mask-image:radial-gradient(ellipse 70% 60% at 80% 20%, #000 40%, transparent 90%);
  pointer-events:none;
}
.page-banner .wrap{position:relative;z-index:2;}
.page-banner h1{font-size:clamp(2rem,4vw,3rem);color:#fff;margin-top:12px;}
.page-banner p{color:#c3cbdc;max-width:560px;margin-top:14px;font-size:1rem;line-height:1.6;}
.crumb{font-family:'JetBrains Mono',monospace;font-size:.74rem;color:#93a0bb;letter-spacing:.06em;margin-top:18px;}
.crumb a{color:var(--gold-light);}
.crumb a:hover{text-decoration:underline;}

/* ---------- hero (home only) ---------- */
.hero{
  position:relative;
  background:
    radial-gradient(ellipse 900px 500px at 82% 8%, #1a3a63 0%, transparent 60%),
    linear-gradient(180deg,var(--navy-900) 0%, var(--navy-950) 100%);
  color:#f4f1e8;
  overflow:hidden;
  padding:56px 0 0;
}
.hero-grid{
  position:absolute;inset:0;
  background-image:
    linear-gradient(#ffffff09 1px, transparent 1px),
    linear-gradient(90deg,#ffffff09 1px, transparent 1px);
  background-size:42px 42px;
  mask-image:radial-gradient(ellipse 70% 60% at 70% 30%, #000 40%, transparent 90%);
  pointer-events:none;
}
.hero .wrap{
  position:relative;z-index:2;
  display:grid;grid-template-columns:1.05fr .95fr;gap:40px;
  align-items:center;
  padding-top:56px;padding-bottom:56px;
}
.hero-copy .ar{
  font-size:2rem;font-weight:700;color:var(--gold-light);
  margin:0 0 10px;line-height:1.5;text-align:start;
}
.hero-copy h1 .h1-kicker{display:flex;font-size:.72rem;font-weight:400;line-height:1.5;margin-bottom:16px;}
.hero-copy h1{
  font-size:clamp(2.3rem,4.3vw,3.6rem);
  line-height:1.05;color:#fff;margin:6px 0 20px;
}
.hero-copy h1 em{font-style:normal;color:var(--gold);}
.hero-copy p.lede{
  font-size:1.05rem;color:#c3cbdc;max-width:520px;
  line-height:1.65;margin-bottom:30px;
}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:34px;}
.hero-meta{
  list-style:none;margin:0;
  display:flex;gap:28px;flex-wrap:wrap;
  padding-top:22px;border-top:1px solid #ffffff1c;
}
.hero-meta li{font-family:'JetBrains Mono',monospace;}
.hero-meta b{display:block;color:var(--cyan);font-size:1.5rem;font-weight:600;}
.hero-meta span{font-size:.72rem;color:#93a0bb;letter-spacing:.05em;text-transform:uppercase;}

.hero-visual{position:relative;width:100%;aspect-ratio:1/1;max-width:460px;margin-inline-start:auto;}
.scan-ring{position:absolute;inset:0;border-radius:50%;border:1px solid #22d3ee2e;}
.scan-ring.r2{inset:12%;border-color:#22d3ee22;}
.scan-ring.r3{inset:26%;border-color:#22d3ee1c;}
.scan-sweep{
  position:absolute;inset:0;border-radius:50%;
  background:conic-gradient(from 0deg, #22d3ee55 0deg, transparent 55deg, transparent 360deg);
  animation:spin 4.5s linear infinite;
}
@keyframes spin{to{transform:rotate(360deg);}}
.car-outline{position:absolute;inset:16%;display:flex;align-items:center;justify-content:center;}
.car-outline svg{width:100%;height:100%;}
.crosshair{
  position:absolute;width:9px;height:9px;border-radius:50%;
  background:var(--cyan);box-shadow:0 0 0 5px #22d3ee22, 0 0 14px #22d3ee;
}
.crosshair.c1{top:22%;left:18%;}
.crosshair.c2{top:64%;left:78%;}
.crosshair.c3{top:74%;left:26%;}
.badge-abs{
  position:absolute;bottom:-6px;right:-6px;
  background:var(--navy-800);border:1px solid var(--gold);
  color:var(--gold-light);font-family:'JetBrains Mono',monospace;
  font-size:.68rem;letter-spacing:.08em;padding:8px 12px;border-radius:8px;
}

/* ---------- marquee strip ---------- */
.strip{
  background:var(--navy-800);border-top:1px solid #ffffff12;border-bottom:1px solid #ffffff12;
  overflow:hidden;padding:14px 0;
}
.strip .track{
  display:flex;gap:56px;white-space:nowrap;
  animation:marquee 26s linear infinite;
  width:max-content;
}
.strip span{
  font-family:'JetBrains Mono',monospace;font-size:.78rem;
  letter-spacing:.14em;text-transform:uppercase;color:#9fb0cc;
}
.strip span.dot::before{content:"•";color:var(--gold);margin-inline-end:56px;}
@keyframes marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* ---------- section shell ---------- */
section{padding:96px 0;}
.section-head{
  display:flex;justify-content:space-between;align-items:flex-end;
  gap:24px;margin-bottom:52px;flex-wrap:wrap;
}
.section-head h2{font-size:clamp(1.9rem,3vw,2.6rem);color:var(--navy-900);margin-top:10px;}
.section-head.center{justify-content:center;text-align:center;}
.section-head.center > div{margin:0 auto;}
.center-cta{margin-top:36px;text-align:center;}
.wrap.narrow{max-width:820px;}
.section-head p{max-width:420px;color:var(--ink-soft);font-size:.98rem;line-height:1.6;}

/* ---------- credential strip (18 yrs / guarantee) ---------- */
.credentials{
  padding:0;
  background:var(--panel);border-top:1px solid var(--line);border-bottom:1px solid var(--line);
}
.credentials .wrap{
  display:grid;grid-template-columns:repeat(3,1fr);gap:0;
}
.cred-item{
  padding:30px 28px;display:flex;gap:16px;align-items:flex-start;
  border-inline-end:1px solid var(--line);
}
.cred-item:last-child{border-inline-end:none;}
.cred-item svg{width:30px;height:30px;stroke:var(--gold);flex:none;margin-top:2px;}
.cred-item b{display:block;font-family:'Oswald',sans-serif;font-size:1.05rem;color:var(--navy-900);text-transform:uppercase;letter-spacing:.01em;}
.cred-item span{font-size:.86rem;color:var(--ink-soft);line-height:1.5;display:block;margin-top:4px;}

/* ---------- services ---------- */
.services{background:var(--bg);}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.svc-card{
  background:var(--panel);border:1px solid var(--line);
  border-radius:var(--radius);padding:30px 26px;
  position:relative;overflow:hidden;
  transition:transform .25s, box-shadow .25s, border-color .25s;
}
.svc-card:hover{transform:translateY(-5px);box-shadow:0 22px 40px -20px #0a1a3340;border-color:#d4af3766;}
.svc-card .num{font-family:'JetBrains Mono',monospace;font-size:.72rem;color:var(--gold);letter-spacing:.1em;}
.svc-icon{
  width:52px;height:52px;border-radius:12px;background:var(--navy-900);
  display:flex;align-items:center;justify-content:center;margin:16px 0 20px;
}
.svc-icon svg{width:26px;height:26px;stroke:var(--gold-light);}
.svc-card h2, .svc-card h3{font-size:1.12rem;color:var(--navy-900);margin-bottom:10px;letter-spacing:0;}
.svc-card p{color:var(--ink-soft);font-size:.92rem;line-height:1.6;margin:0;}
.svc-card.feature{
  grid-column:span 2;
  background:linear-gradient(135deg,var(--navy-900),var(--navy-800));
  color:#e9ecf4;border-color:transparent;
}
.svc-card.feature .svc-icon{background:#ffffff14;}
.svc-card.feature .num{color:var(--cyan);}
.svc-card.feature h2, .svc-card.feature h3{color:#fff;}
.svc-card .svc-guides{margin-top:16px;font-size:.84rem;}
.svc-card .svc-guides a{color:var(--navy-800);font-weight:600;text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:3px;}
.svc-card.feature .svc-guides a{color:var(--gold-light);}
.svc-card .svc-guides a:hover{color:var(--gold);}
.svc-card.feature p{color:#b9c2d6;}

.svc-card ul.pts{margin-top:14px;display:flex;flex-direction:column;gap:7px;}
.svc-card ul.pts li{
  font-size:.84rem;color:var(--ink-soft);display:flex;gap:8px;align-items:flex-start;
}
.svc-card.feature ul.pts li{color:#b9c2d6;}
.svc-card ul.pts li::before{
  content:"";width:5px;height:5px;border-radius:50%;background:var(--gold);
  margin-top:7px;flex:none;
}

/* ---------- why / process ---------- */
.why{background:var(--navy-950);color:#e9ecf4;position:relative;}
.why .grid-bg{
  position:absolute;inset:0;
  background-image:linear-gradient(#ffffff08 1px, transparent 1px),linear-gradient(90deg,#ffffff08 1px, transparent 1px);
  background-size:46px 46px;
  mask-image:radial-gradient(ellipse 60% 60% at 15% 20%, #000, transparent 85%);
}
.why .wrap{position:relative;z-index:2;}
.why .section-head h2{color:#fff;}
.why .section-head p{color:#a9b3c9;}
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.why-card{
  border:1px solid #ffffff1c;border-radius:var(--radius);
  padding:26px 22px;background:#ffffff06;
  transition:border-color .25s, background .25s;
}
.why-card:hover{border-color:#22d3ee55;background:#22d3ee0d;}
.why-card svg{width:28px;height:28px;stroke:var(--cyan);margin-bottom:16px;}
.why-card h3{
  font-size:.98rem;color:#fff;margin-bottom:8px;letter-spacing:0;
  text-transform:none;font-family:'Inter',sans-serif;font-weight:700;
}
.why-card p{font-size:.86rem;color:#9aa5bd;line-height:1.55;margin:0;}

/* ---------- tech band ---------- */
.tech-band{padding:0;background:var(--panel);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.tech-band .wrap{
  display:flex;align-items:center;justify-content:space-between;
  gap:28px;flex-wrap:wrap;padding:36px 28px;
}
.tech-item{display:flex;align-items:center;gap:12px;}
.tech-item svg{width:30px;height:30px;stroke:var(--navy-800);flex:none;}
.tech-item span{
  font-family:'JetBrains Mono',monospace;font-size:.78rem;
  letter-spacing:.06em;color:var(--navy-800);text-transform:uppercase;font-weight:600;
}

/* ---------- home gallery preview ---------- */
.gallery-preview{background:var(--bg);}
.gp-grid{
  display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:150px;gap:14px;
}
.gp-grid a{
  position:relative;border-radius:10px;overflow:hidden;display:block;
  border:1px solid var(--line);
}
.gp-grid a img{width:100%;height:100%;object-fit:cover;transition:transform .5s;}
.gp-grid a:hover img{transform:scale(1.08);}
.gp-grid a.big{grid-column:span 2;grid-row:span 2;}
.gp-grid a .tag{
  position:absolute;inset-inline-start:10px;bottom:10px;
  background:#070f22cc;color:var(--gold-light);
  font-family:'JetBrains Mono',monospace;font-size:.68rem;letter-spacing:.06em;
  padding:5px 9px;border-radius:6px;text-transform:uppercase;
}

/* ---------- gallery page ---------- */
.gallery-page{background:var(--bg);}
.filter-bar{
  display:flex;gap:10px;flex-wrap:wrap;margin-bottom:38px;
}
.filter-btn{
  font-family:'JetBrains Mono',monospace;font-size:.76rem;letter-spacing:.05em;
  padding:9px 16px;border-radius:999px;border:1px solid var(--line);
  background:var(--panel);color:var(--ink-soft);cursor:pointer;
  text-transform:uppercase;transition:all .2s;
}
.filter-btn:hover{border-color:var(--gold);color:var(--navy-900);}
.filter-btn.active{background:var(--navy-900);border-color:var(--navy-900);color:#fff;}

.masonry{
  columns:3 260px;column-gap:16px;
}
.masonry figure{
  break-inside:avoid;margin:0 0 16px;border-radius:12px;overflow:hidden;
  border:1px solid var(--line);background:var(--panel);position:relative;
  cursor:zoom-in;
}
.masonry figure[hidden]{display:none;}
.masonry figure img{width:100%;display:block;transition:transform .5s;}
.masonry figure:hover img{transform:scale(1.05);}
.masonry figcaption{
  position:absolute;left:0;right:0;bottom:0;
  background:linear-gradient(0deg,#070f22ee, transparent);
  color:#eef1f8;font-size:.78rem;padding:24px 12px 10px;
  font-family:'Inter',sans-serif;
}

/* lightbox */
.lightbox{
  position:fixed;inset:0;background:#070f22f2;z-index:200;
  display:flex;align-items:center;justify-content:center;padding:40px 70px;
}
.lightbox[hidden]{display:none;}
.lightbox-figure{margin:0;text-align:center;}
.lightbox img{max-width:min(86vw,1100px);max-height:80vh;width:auto;height:auto;margin:0 auto;border-radius:10px;box-shadow:0 30px 60px -20px #000;}
.lightbox figcaption{color:#c3cbdc;font-size:.88rem;margin-top:12px;}
.lightbox-nav{
  position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;
  background:#ffffff14;border:1px solid #ffffff30;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;
}
.lightbox-nav:hover{background:#ffffff28;}
.lightbox-nav.prev{left:16px;}
.lightbox-nav.next{right:16px;}
@media (max-width:600px){
  .lightbox{padding:60px 12px;}
  .lightbox-nav{top:auto;bottom:16px;transform:none;}
}
.lightbox-close{
  position:absolute;top:24px;right:28px;width:42px;height:42px;border-radius:50%;
  background:#ffffff14;border:1px solid #ffffff30;color:#fff;display:flex;align-items:center;justify-content:center;
  cursor:pointer;
}
.lightbox-close:hover{background:#ffffff28;}

/* ---------- contact page ---------- */
.contact{background:linear-gradient(180deg,var(--navy-900),var(--navy-950));color:#e9ecf4;}
.contact .section-head h2{color:#fff;}
.contact .section-head p{color:#a9b3c9;}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;}
.contact-card{background:#ffffff08;border:1px solid #ffffff1c;border-radius:var(--radius);padding:32px;}
.contact-list li{display:flex;gap:16px;padding:16px 0;border-bottom:1px solid #ffffff14;}
.contact-list li:last-child{border-bottom:none;}
.contact-list svg{width:22px;height:22px;stroke:var(--gold);flex:none;margin-top:2px;}
.contact-list .label{
  font-family:'JetBrains Mono',monospace;font-size:.68rem;
  letter-spacing:.1em;color:#8f9ab3;text-transform:uppercase;margin-bottom:4px;
}
.contact-list .value{font-size:1rem;color:#fff;font-weight:600;font-style:normal;display:block;}
.contact-list .small-link{display:inline-block;margin-top:8px;font-size:.84rem;color:var(--gold-light);}
.contact-list .small-link:hover{text-decoration:underline;}
.contact-card .card-label{
  font-family:'JetBrains Mono',monospace;font-size:.68rem;letter-spacing:.1em;color:#8f9ab3;
  text-transform:uppercase;margin:0 0 14px;font-weight:400;
}
.card-actions{margin-top:22px;display:flex;gap:12px;flex-wrap:wrap;}
.contact-list a.value:hover{color:var(--gold-light);}

.hours-row{display:flex;justify-content:space-between;padding:9px 0;font-size:.9rem;border-bottom:1px dashed #ffffff1c;}
.hours-row:last-child{border-bottom:none;}
.hours-row span:first-child{color:#b9c2d6;}
.hours-row span:last-child{font-family:'JetBrains Mono',monospace;color:var(--cyan);font-size:.84rem;}

.map-frame{margin-top:28px;border-radius:var(--radius);overflow:hidden;border:1px solid #ffffff1c;}
.map-frame iframe{display:block;width:100%;height:450px;border:0;filter:grayscale(.2) contrast(1.05);}

.contact-form-section{background:var(--bg);}
.form-card{
  background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);
  padding:36px;max-width:640px;margin:0 auto;
}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;}
.form-field{display:flex;flex-direction:column;gap:6px;min-width:0;}
.form-field.full{grid-column:1/-1;}
.form-field label{
  font-family:'JetBrains Mono',monospace;font-size:.72rem;letter-spacing:.06em;
  text-transform:uppercase;color:var(--ink-soft);
}
.form-field input, .form-field select, .form-field textarea{
  border:1px solid var(--line);border-radius:8px;padding:12px 14px;
  font-family:'Inter',sans-serif;font-size:1rem;color:var(--ink);background:#fbfaf6;
  width:100%;min-width:0;
  transition:border-color .2s, box-shadow .2s;
}
.form-field input:focus, .form-field select:focus, .form-field textarea:focus{
  outline:none;border-color:var(--navy-800);box-shadow:0 0 0 3px #d4af3780;
}
.form-field textarea{resize:vertical;min-height:110px;}
.form-note{font-size:.8rem;color:var(--ink-soft);margin-top:14px;}
.form-note a{text-decoration:underline;}
.form-error{margin:0 0 14px;padding:10px 14px;border-radius:8px;background:#fdecea;color:#8a1c12;font-size:.88rem;}
.btn-block{width:100%;justify-content:center;}

/* ---------- footer ---------- */
.site-footer{background:var(--navy-950);color:#8f9ab3;border-top:1px solid #ffffff12;font-size:.88rem;line-height:1.65;}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr .7fr;gap:32px;padding-top:56px;padding-bottom:40px;}
.footer-col h2{
  font-family:'JetBrains Mono',monospace;font-size:.72rem;letter-spacing:.14em;
  color:var(--gold);font-weight:400;margin-bottom:14px;
}
.footer-col p, .footer-col address{margin:0 0 12px;font-style:normal;}
.footer-about .brand-logo{margin-bottom:16px;}
.footer-links{display:flex;flex-direction:column;gap:6px;}
.site-footer a{color:#c3cbdc;transition:color .2s;}
.site-footer a:hover{color:var(--gold-light);}
.site-footer .footer-link{color:var(--gold-light);}
.footer-bottom{border-top:1px solid #ffffff12;padding-top:22px;padding-bottom:22px;font-size:.8rem;}
@media (max-width:960px){.footer-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:600px){.footer-grid{grid-template-columns:1fr;gap:28px;}.footer-bottom{padding-bottom:96px;}}

/* ---------- floating whatsapp ---------- */
.fab{
  position:fixed;bottom:24px;right:24px;z-index:60;
  width:58px;height:58px;border-radius:50%;
  background:#25D366;display:flex;align-items:center;justify-content:center;
  box-shadow:0 10px 26px -8px #00000055;transition:transform .2s;
}
.fab:hover{transform:scale(1.08);}
.fab svg{width:28px;height:28px;fill:#fff;}

/* ---------- CTA band ---------- */
.cta-band{
  background:linear-gradient(135deg,var(--navy-900),var(--navy-800));
  color:#fff;padding:64px 0;
}
.cta-band .wrap{
  display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;
}
.cta-band h2{font-size:clamp(1.5rem,2.6vw,2.1rem);color:#fff;max-width:520px;}
.cta-band p{color:#b9c2d6;margin-top:8px;font-size:.94rem;}
.cta-band .actions{display:flex;gap:14px;flex-wrap:wrap;}

@media (max-width:960px){
  .hero .wrap{grid-template-columns:1fr;}
  .hero-visual{margin-inline:auto;max-width:340px;}
  .nav-links{
    position:absolute;top:100%;left:0;right:0;
    height:calc(100vh - 100%);height:calc(100dvh - 100%);
    background:var(--navy-950);border-top:1px solid #ffffff14;
    flex-direction:column;align-items:flex-start;padding:32px 28px;gap:22px;overflow-y:auto;
    opacity:0;visibility:hidden;transform:translateY(-8px);
    transition:opacity .25s, transform .25s, visibility 0s linear .25s;
  }
  .nav-links.open{opacity:1;visibility:visible;transform:none;transition:opacity .25s, transform .25s;}
  .nav-links a{font-size:1.15rem;}
  .nav-toggle{
    display:flex;width:38px;height:38px;border-radius:8px;border:1px solid #ffffff30;
    align-items:center;justify-content:center;background:none;color:#fff;cursor:pointer;
  }
  .nav-cta{display:none;}
  .svc-grid{grid-template-columns:1fr 1fr;}
  .svc-card.feature{grid-column:span 2;}
  .why-grid{grid-template-columns:1fr 1fr;}
  .contact-grid{grid-template-columns:1fr;}
  .credentials .wrap{grid-template-columns:1fr;}
  .cred-item{border-inline-end:none;border-bottom:1px solid var(--line);}
  .cred-item:last-child{border-bottom:none;}
  .gp-grid{grid-template-columns:repeat(2,1fr);}
  .gp-grid a.big{grid-column:span 2;grid-row:span 1;}
  .masonry{columns:2 200px;}
  .form-row{grid-template-columns:1fr;}
}
@media (max-width:600px){
  .svc-grid{grid-template-columns:1fr;}
  .svc-card.feature{grid-column:span 1;}
  .why-grid{grid-template-columns:1fr;}
  section{padding:64px 0;}
  .hero-meta{gap:20px;}
  .gp-grid{grid-template-columns:1fr 1fr;}
  .masonry{columns:1 100%;}
  .cta-band .wrap{flex-direction:column;align-items:flex-start;}
}

@media (prefers-reduced-motion: reduce){
  .scan-sweep, .strip .track{animation:none;}
}

/* ---------- blog listing ---------- */
.blog-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px;
  margin-top:20px;
}
@media(max-width:900px){.blog-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:620px){.blog-grid{grid-template-columns:1fr;}}
.blog-card{
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:var(--radius);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  transition:transform .25s, box-shadow .25s, border-color .25s;
}
.blog-card:hover{transform:translateY(-5px);box-shadow:0 22px 40px -20px #0a1a3340;border-color:#d4af3766;}
.blog-card img{width:100%;height:190px;object-fit:cover;}
.blog-list .blog-grid{margin-top:0;}
.home-blog{background:var(--panel);border-top:1px solid var(--line);}
.blog-card .blog-card-body{padding:22px 22px 26px;display:flex;flex-direction:column;gap:10px;flex:1;}
.blog-card .blog-tag{
  font-family:'JetBrains Mono',monospace;
  font-size:.68rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--gold);
}
.blog-card h2, .blog-card h3{font-size:1.08rem;color:var(--navy-900);line-height:1.35;}
.blog-card p{color:var(--ink-soft);font-size:.9rem;line-height:1.6;margin:0;flex:1;}
.blog-card .blog-read{
  font-family:'JetBrains Mono',monospace;
  font-size:.74rem;
  letter-spacing:.06em;
  color:var(--navy-900);
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-top:4px;
}
.blog-card .blog-read svg{width:14px;height:14px;stroke:var(--navy-900);}
.blog-card:hover .blog-read{color:var(--gold);}
.blog-card:hover .blog-read svg{stroke:var(--gold);}

/* ---------- blog post ---------- */
.post{padding:56px 0 80px;}
.post .wrap{max-width:760px;}
.post-meta{
  font-family:'JetBrains Mono',monospace;
  font-size:.72rem;
  letter-spacing:.08em;
  color:var(--ink-soft);
  text-transform:uppercase;
  margin-bottom:10px;
}
.post h1{font-size:clamp(1.7rem,3.4vw,2.5rem);color:var(--navy-900);line-height:1.25;margin-bottom:18px;}
.post-body h2{
  font-family:'Oswald',sans-serif;
  font-size:1.35rem;
  color:var(--navy-900);
  text-transform:none;
  letter-spacing:0;
  margin:36px 0 14px;
}
.post-body p{color:var(--ink-soft);font-size:1rem;line-height:1.8;margin:0 0 18px;}
.post-body ul{margin:0 0 18px;display:flex;flex-direction:column;gap:10px;}
.post-body ul li{
  position:relative;
  padding-inline-start:22px;
  color:var(--ink-soft);
  font-size:.98rem;
  line-height:1.6;
}
.post-body ul li::before{
  content:"";
  position:absolute;inset-inline-start:0;top:.55em;
  width:8px;height:8px;
  background:var(--gold);
  border-radius:2px;
}
.post-body img{border-radius:var(--radius);margin:22px 0;}
.post-hero{width:100%;height:auto;max-height:440px;object-fit:cover;border-radius:var(--radius);margin:8px 0 28px;}
.post-body a{color:var(--navy-800);font-weight:600;text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:2px;text-underline-offset:3px;}
.post-body a:hover{color:var(--gold);}
.post-body strong{color:var(--ink);}
.post-body .post-cta a.btn{text-decoration:none;}
.post-body .post-cta .btn-gold{color:var(--navy-950);}
.post-body .post-cta .btn-ghost{color:#f2f2ea;}
.post-cta-actions{display:flex;gap:12px;flex-wrap:wrap;}
.faq{margin-top:40px;padding:0;}
.faq h2{margin-bottom:16px;}
.faq-section .faq{margin-top:0;}
.faq-section .faq > h2{font-size:clamp(1.6rem,2.6vw,2.2rem);color:var(--navy-900);margin-bottom:24px;}
.faq-item{border:1px solid var(--line);border-radius:10px;background:var(--panel);margin-bottom:10px;}
.faq-item summary{
  cursor:pointer;list-style:none;padding:16px 48px 16px 18px;position:relative;
  font-weight:600;color:var(--navy-900);font-size:.98rem;line-height:1.45;
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{
  content:"+";position:absolute;right:18px;top:50%;transform:translateY(-50%);
  font-family:'JetBrains Mono',monospace;font-size:1.2rem;color:var(--gold);
}
.faq-item[open] summary::after{content:"\2013";}
.faq-a{padding:0 18px 16px;}
.faq-a p{margin:0;color:var(--ink-soft);font-size:.95rem;line-height:1.7;}
.faq-a a{color:var(--navy-800);font-weight:600;text-decoration:underline;text-decoration-color:var(--gold);}
.notfound{padding:110px 0 120px;}
.notfound-actions{margin-top:28px;}
.post-cta{
  margin-top:40px;
  padding:28px;
  border-radius:var(--radius);
  background:var(--navy-950);
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:16px;
}
.post-body .post-cta p{color:#fff;font-family:'Oswald',sans-serif;font-weight:700;text-transform:uppercase;font-size:1.05rem;margin:0;letter-spacing:.02em;line-height:1.4;}
.post-related{
  margin-top:48px;
  padding-top:32px;
  border-top:1px solid var(--line);
}
.post-related > h2{font-size:1rem;color:var(--navy-900);margin-bottom:16px;}

/* ---------- brand logo (image) ---------- */
.brand{display:flex;align-items:center;}
.brand-logo{height:56px;width:auto;display:block;flex:none;background:#fff;border-radius:8px;padding:3px 6px;}
@media(max-width:640px){.brand-logo{height:46px;}}

/* ---------- service landing pages ---------- */
.banner-actions{margin:24px 0 0;}
.svc-detail{background:var(--bg);}
.svc-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:48px;align-items:start;}
.svc-aside{position:sticky;top:110px;display:flex;flex-direction:column;gap:18px;}
.aside-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:24px;}
.aside-card h2, .aside-card h3{font-size:1.05rem;color:var(--navy-900);margin-bottom:12px;}
.aside-card p{font-size:.88rem;color:var(--ink-soft);line-height:1.6;margin:0 0 16px;}
.aside-card .btn{margin-bottom:10px;}
.aside-card.dark{background:linear-gradient(135deg,var(--navy-900),var(--navy-800));border-color:transparent;}
.aside-card.dark h2{color:#fff;}
.aside-card.dark p{color:#b9c2d6;}
.aside-card.dark .aside-addr{font-size:.8rem;margin:8px 0 0;}
.aside-card.dark .aside-addr a{color:var(--gold-light);text-decoration:underline;}
.aside-links{display:flex;flex-direction:column;}
.aside-links li{border-bottom:1px solid var(--line);}
.aside-links li:last-child{border-bottom:none;}
.aside-links a{display:block;padding:10px 0;font-size:.92rem;font-weight:600;color:var(--navy-800);}
.aside-links a:hover{color:var(--gold);}
.svc-card h2 a, .svc-card h3 a{color:inherit;}
.svc-card h2 a:hover, .svc-card h3 a:hover{color:var(--gold);}
.svc-card p a{color:var(--navy-800);text-decoration:underline;text-decoration-color:var(--gold);}
.svc-more{margin-top:16px;display:flex;gap:16px;flex-wrap:wrap;}
.svc-more a{font-family:'JetBrains Mono',monospace;font-size:.76rem;letter-spacing:.04em;text-transform:uppercase;color:var(--navy-800);font-weight:600;}
.svc-card.feature .svc-more a{color:var(--gold-light);}
.svc-more a:hover{color:var(--gold);}

/* ---------- home: local SEO block ---------- */
.local-seo{background:var(--panel);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.local-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:56px;align-items:start;}
.local-copy h2{font-size:clamp(1.8rem,3vw,2.4rem);color:var(--navy-900);margin:10px 0 18px;}
.local-copy p{color:var(--ink-soft);line-height:1.75;margin:0 0 14px;}
.local-copy a{color:var(--navy-800);font-weight:600;text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:3px;}
.local-seo .aside-card{background:var(--bg);}

/* ---------- language link ---------- */
.nav-links a.lang-link{font-family:'Noto Kufi Arabic','Inter',sans-serif;border:1px solid #ffffff30;border-radius:6px;padding:4px 10px;}
.nav-links a.lang-link::after{display:none;}
.nav-links a.lang-link:hover{border-color:var(--gold);}
html[lang="ar"] .nav-links a.lang-link{font-family:'Inter',sans-serif;}

/* ---------- Arabic (RTL) ---------- */
html[lang="ar"] body{font-family:'Noto Kufi Arabic','Inter',sans-serif;}
html[lang="ar"] h1, html[lang="ar"] h2, html[lang="ar"] h3, html[lang="ar"] h4,
html[lang="ar"] .eyebrow, html[lang="ar"] .card-label, html[lang="ar"] .footer-col h2,
html[lang="ar"] .cred-item b, html[lang="ar"] .hours-row span:last-child{font-family:'Noto Kufi Arabic',sans-serif;letter-spacing:0;text-transform:none;}
html[lang="ar"] h1{line-height:1.5;}
html[lang="ar"] .section-head h2{line-height:1.5;}
html[lang="ar"] .page-banner p{max-width:720px;line-height:1.9;}
html[lang="ar"] p, html[lang="ar"] li{line-height:1.9;}
html[lang="ar"] .svc-card .num{font-family:'JetBrains Mono',monospace;}
html[lang="ar"] .fab{right:auto;left:24px;}
html[lang="ar"] .faq-item summary{padding:16px 18px 16px 48px;}
html[lang="ar"] .faq-item summary::after{right:auto;left:18px;}
html[lang="ar"] .skip-link{left:auto;right:12px;}
.ar-hero h1{font-size:clamp(1.7rem,3.4vw,2.6rem);}
.ar-address{font-style:normal;color:#fff;font-size:1rem;line-height:1.9;}
.ar-contact .contact-card{display:flex;flex-direction:column;}

@media (max-width:960px){
  .svc-detail-grid, .local-grid{grid-template-columns:1fr;gap:32px;}
  .svc-aside{position:static;}
  .footer-grid{grid-template-columns:1fr 1fr;}
}
.page-banner p.name-note{font-size:.86rem;color:#93a0bb;border-inline-start:2px solid var(--gold);padding-inline-start:12px;max-width:640px;}

/* RTL details */
html[dir="rtl"] .flip-rtl, html[dir="rtl"] .blog-read svg, html[dir="rtl"] .btn svg.flip-rtl{transform:scaleX(-1);}
html[dir="rtl"] .strip .track{direction:ltr;}
html[dir="rtl"] .lightbox-nav.prev{left:auto;right:16px;transform:translateY(-50%) scaleX(-1);}
html[dir="rtl"] .lightbox-nav.next{right:auto;left:16px;transform:translateY(-50%) scaleX(-1);}
@media (max-width:600px){
  html[dir="rtl"] .lightbox-nav.prev, html[dir="rtl"] .lightbox-nav.next{transform:scaleX(-1);}
}
html[dir="rtl"] .hero-copy h1{line-height:1.35;}
html[dir="rtl"] .svc-more a, html[dir="rtl"] .blog-read, html[dir="rtl"] .blog-tag, html[dir="rtl"] .post-meta,
html[dir="rtl"] .crumb, html[dir="rtl"] .filter-btn, html[dir="rtl"] .form-field label, html[dir="rtl"] .contact-list .label,
html[dir="rtl"] .tech-item span, html[dir="rtl"] .gp-grid a .tag, html[dir="rtl"] .hero-meta span, html[dir="rtl"] .hero-meta b{
  font-family:'Noto Kufi Arabic','JetBrains Mono',sans-serif;letter-spacing:0;text-transform:none;
}
.notfound-ar{margin-top:44px;padding-top:28px;border-top:1px solid #ffffff1c;}
.notfound-ar p{font-family:'Noto Kufi Arabic',sans-serif;}
