:root{--font-ar:"Cairo",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;--font-en:"Inter",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}

:root{
  --blue-900:#071a33;
  --blue-800:#0a2b57;
  --blue-700:#0b3b7a;
  --blue-500:#2a8cff;
  --blue-600:#0b5ed7;
  --gold-500:#ffc93c;
  --gold-600:#f4c542;
  --bg:#0b0f17;
  --card:#0f1725;
  --text:#f5f7fb;
  --muted:#a9b2c3;
  --border:rgba(255,255,255,.09);
  --shadow:0 18px 60px rgba(0,0,0,.35);
  --radius:20px;
  --container:1180px;
}

html[data-theme="light"]{
  --bg:#f3f7ff;
  --card:#ffffff;
  --text:#0e1626;
  --muted:#56657d;
  --border:rgba(11,94,215,.14);
  --shadow:0 18px 50px rgba(10,22,40,.10);
}

*{box-sizing:border-box;max-width:100vw}
html{width:100%;overflow-x:hidden;scroll-behavior:smooth}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:var(--font-ar);
  line-height:1.6;
  width:100%;
  overflow-x:hidden;
  max-width:100vw;
}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:var(--border);border-radius:5px}
::-webkit-scrollbar-thumb:hover{background:var(--muted)}
html[lang="en"] body{font-family:var(--font-en)}
img,svg,video,canvas{max-width:100%;height:auto}
iframe{max-width:100%}

.container{width:min(var(--container),calc(100% - 40px));margin:0 auto}
.muted{color:var(--muted)}
.w-full{width:100%}

.skip-link{
  position:fixed;left:-9999px;top:-9999px;
  background:var(--card);color:var(--text);
  padding:10px 14px;border-radius:12px;border:1px solid var(--border);z-index:1000;
  width:0;height:0;overflow:hidden;clip:rect(0,0,0,0);
  pointer-events:none;
}
.skip-link:focus{
  left:12px;top:12px;width:auto;height:auto;overflow:visible;clip:auto;
  pointer-events:auto;
}

.site-header{
  position:sticky;top:0;z-index:50;
  backdrop-filter:saturate(120%) blur(10px);
  background:linear-gradient(180deg,rgba(11,15,23,.78),rgba(11,15,23,.42));
  border-bottom:1px solid var(--border);
  transition:background .3s,border-color .3s;
}
@media (max-width: 768px){.site-header{backdrop-filter:saturate(120%) blur(8px)}}
html[data-theme="light"] .site-header{
  background:linear-gradient(180deg,rgba(247,249,252,.88),rgba(247,249,252,.62));
}

.header-inner{display:flex;align-items:center;justify-content:space-between;padding:16px 0;gap:14px}
@media (max-width: 768px){.header-inner{padding:12px 0;gap:10px}}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand-logo{height:42px;max-width:190px;object-fit:contain}

.nav{display:flex;gap:18px;align-items:center}
.nav a{
  color:var(--muted);
  text-decoration:none;
  font-weight:600;
  font-size:14px;
  padding:10px 12px;
  border-radius:12px;
  transition:background .2s,color .2s;
  white-space:nowrap;
}
.nav a:hover{background:rgba(255,255,255,.06);color:var(--text)}
html[data-theme="light"] .nav a:hover{background:rgba(15,23,37,.06)}

.header-actions{display:flex;align-items:center;gap:10px}
.icon-btn{
  width:42px;height:42px;border-radius:14px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.04);
  color:var(--text);
  display:grid;place-items:center;
  cursor:pointer;
  transition:transform .2s,background .2s,border-color .2s;
  user-select:none;
  -webkit-tap-highlight-color:transparent;
}
.icon-btn:hover{transform:translateY(-1px);background:rgba(255,255,255,.07);border-color:var(--blue-600)}
.icon-btn:active{transform:scale(.95)}
html[data-theme="light"] .icon-btn{background:rgba(15,23,37,.03)}
@media (max-width: 768px){.icon-btn{width:38px;height:38px}}

.theme-icon{font-size:18px;line-height:1}
html[data-theme="light"] .theme-icon::before{content:"☀"}
html[data-theme="dark"] .theme-icon::before{content:"🌙"}
.icon-menu{font-size:18px;line-height:1}
.icon-menu::before{content:"☰"}

.lang-pill{
  display:inline-flex;align-items:center;justify-content:center;
  padding:10px 12px;border-radius:14px;
  border:1px solid var(--border);
  color:var(--text);text-decoration:none;
  font-weight:700;font-size:13px;
  background:rgba(255,255,255,.04);
  transition:background .2s,border-color .2s,transform .2s;
  user-select:none;
  -webkit-tap-highlight-color:transparent;
}
.lang-pill:hover{background:rgba(255,255,255,.07);border-color:var(--blue-600);transform:translateY(-1px)}
.lang-pill:active{transform:scale(.95)}
@media (max-width: 768px){.lang-pill{padding:8px 10px;font-size:12px}}

.btn{
  display:inline-flex;align-items:center;justify-content:center;
  gap:10px;
  padding:12px 16px;
  border-radius:14px;
  text-decoration:none;
  font-weight:800;
  letter-spacing:.2px;
  border:1px solid rgba(11,94,215,.45);
  background:linear-gradient(135deg,var(--blue-500),var(--blue-600));
  color:var(--gold-500);
  cursor:pointer;
  transition:transform .2s,box-shadow .2s,background .2s,border-color .2s;
  user-select:none;
  -webkit-tap-highlight-color:transparent;
}
@media (max-width: 768px){.btn{padding:10px 14px;font-size:13px}}
.btn:hover{transform:translateY(-1px)}
.btn-primary{
  background:linear-gradient(135deg,var(--blue-500),var(--blue-600));
  border-color:rgba(11,94,215,.55);
  box-shadow:0 14px 40px rgba(11,94,215,.22);
}
.btn-primary:hover{box-shadow:0 18px 60px rgba(11,94,215,.28)}
.btn-ghost{background:linear-gradient(135deg,var(--blue-500),var(--blue-600))}
html[data-theme="light"] .btn-ghost{background:linear-gradient(135deg,var(--blue-500),var(--blue-600))}
.btn-ghost.danger{border-color:rgba(255,73,92,.35);background:linear-gradient(135deg,#ffb0b9,#ff7c8b);color:#0a1628}
.btn:focus-visible{outline:3px solid rgba(11,94,215,.35);outline-offset:2px}

.nav-toggle{display:none}
.mobile-nav{display:none;border-top:1px solid var(--border);max-height:0;overflow:hidden;transition:max-height .3s ease}
.mobile-nav.open{max-height:600px}
.mobile-nav-inner{display:flex;flex-direction:column;padding:16px 0;gap:12px}
.mobile-nav a{color:var(--text);text-decoration:none;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.03);font-weight:700}
.mobile-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:8px}

.hero{position:relative;overflow:hidden}
.hero-bg{
  position:absolute;inset:0;
  background:
    radial-gradient(900px 400px at 20% 20%, rgba(255,201,60,.14), transparent 60%),
    radial-gradient(900px 600px at 80% 30%, rgba(11,94,215,.22), transparent 60%),
    linear-gradient(180deg, rgba(7,26,51,.78), rgba(7,26,51,.55)),
    var(--hero-bg);
  background-size:cover;
  background-position:center;
  filter:saturate(1.05) contrast(1.05);
}
.hero-bg::after{
  content:"";
  position:absolute;inset:0;
  background-image:radial-gradient(rgba(255,255,255,.08) 1px, transparent 1px);
  background-size:22px 22px;
  opacity:.18;
  mix-blend-mode:overlay;
}

.hero-inner{position:relative;padding:86px 0 74px;display:grid;grid-template-columns:1.08fr .92fr;gap:34px;align-items:center}
@media (max-width: 768px){.hero-inner{padding:60px 0 50px;gap:24px}}
.badge{
  display:inline-flex;align-items:center;gap:10px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);
  width:fit-content;
  font-weight:800;
}
.hero-title{font-size:clamp(28px,4vw,52px);line-height:1.34;margin:16px 0 12px;font-weight:900;word-wrap:break-word;overflow-wrap:break-word}
.hero-subtitle{color:#fff;font-size:clamp(14px,1.6vw,18px);margin:0 0 18px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.hero-metrics{display:flex;gap:14px;margin-top:18px;flex-wrap:wrap}
.metric{
  border:1px solid rgba(255,255,255,.14);
  background:rgba(10,22,40,.18);
  border-radius:16px;
  padding:10px 12px;
  min-width:120px;
}
.metric-number{font-weight:900;font-size:18px;color:var(--gold-500)}
.metric-label{color:#fff;font-weight:700;font-size:12px;opacity:.86}

.hero-panels{display:grid;gap:14px}
@media (max-width: 768px){.hero-panels{gap:12px}}
.panel-card{
  border-radius:22px;
  border:1px solid rgba(255,255,255,.14);
  background:linear-gradient(180deg, rgba(15,23,37,.46), rgba(15,23,37,.25));
  box-shadow:var(--shadow);
  padding:18px 18px 16px;
  position:relative;
  overflow:hidden;
}
.panel-card::before{
  content:"";
  position:absolute;inset:-2px;
  background:radial-gradient(200px 140px at 20% 20%, rgba(255,201,60,.22), transparent 60%);
  opacity:.7;
  pointer-events:none;
}
.panel-icon{font-size:22px}
.panel-title{font-weight:900;margin-top:10px;color:#fff}
.panel-desc{color:#fff;font-weight:600;font-size:13px;opacity:.86}

.hero .badge{color:#fff;border-color:rgba(255,201,60,.35)}
.hero .hero-title{
  background:linear-gradient(135deg, var(--gold-500), var(--blue-500)) !important;
  -webkit-background-clip:text !important;
  -webkit-text-fill-color:transparent !important;
  background-clip:text !important;
  display:inline-block;
}
.hero .btn-ghost{color:var(--gold-500);border-color:rgba(11,94,215,.55);background:linear-gradient(135deg,var(--blue-500),var(--blue-600))}

/* --- Hero Light Theme (force dark overlay + same text colors) --- */
html[data-theme="light"] .hero-bg{
  background:
    radial-gradient(900px 400px at 20% 20%, rgba(255,201,60,.14), transparent 60%),
    radial-gradient(900px 600px at 80% 30%, rgba(11,94,215,.22), transparent 60%),
    linear-gradient(180deg, rgba(7,26,51,.88), rgba(7,26,51,.78)),
    var(--hero-bg) !important;
}
html[data-theme="light"] .hero .badge{color:#fff !important;border-color:rgba(255,201,60,.35) !important}
html[data-theme="light"] .hero .hero-subtitle{color:#fff !important}
html[data-theme="light"] .hero .metric-number{color:var(--gold-500) !important}
html[data-theme="light"] .hero .metric-label{color:#fff !important;opacity:.86}
html[data-theme="light"] .hero .panel-title{color:#fff !important}
html[data-theme="light"] .hero .panel-desc{color:#fff !important;opacity:.86}
html[data-theme="light"] .hero .panel-icon{color:#fff !important}
html[data-theme="light"] .hero .btn-ghost{color:var(--gold-500) !important;border-color:rgba(11,94,215,.55);background:linear-gradient(135deg,var(--blue-500),var(--blue-600))}
html[data-theme="light"] .hero .metric{border-color:rgba(255,255,255,.14);background:rgba(10,22,40,.18)}
html[data-theme="light"] .panel-card{background:linear-gradient(180deg, rgba(15,23,37,.46), rgba(15,23,37,.25)) !important;border-color:rgba(255,255,255,.14) !important}
html[data-theme="light"] .panel-card::before{opacity:.7 !important}

.page-hero{position:relative;overflow:hidden}
.page-hero-bg{
  position:absolute;inset:0;
  background:
    radial-gradient(900px 400px at 20% 20%, rgba(255,201,60,.14), transparent 60%),
    radial-gradient(900px 600px at 80% 30%, rgba(11,94,215,.22), transparent 60%),
    linear-gradient(180deg, rgba(7,26,51,.78), rgba(7,26,51,.55)),
    var(--page-hero-bg);
  background-size:cover;
  background-position:center;
  filter:saturate(1.05) contrast(1.05);
}
.page-hero-bg::after{
  content:"";
  position:absolute;inset:0;
  background-image:radial-gradient(rgba(255,255,255,.08) 1px, transparent 1px);
  background-size:22px 22px;
  opacity:.18;
  mix-blend-mode:overlay;
}
.page-hero-inner{position:relative;padding:87px 0 54px}
@media (max-width: 768px){.page-hero-inner{padding:69px 0 45px}}
.page-hero-title{
  margin:12px 0 8px;font-size:clamp(26px,3.2vw,40px);line-height:1.28;font-weight:900;
  background:linear-gradient(135deg, var(--gold-500), var(--blue-500));
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
  display:inline-block;
  word-wrap:break-word;overflow-wrap:break-word;
}
.page-hero-subtitle{margin:0;color:#fff;opacity:.92;font-weight:650;max-width:880px}

/* --- Page Hero Light Theme --- */
html[data-theme="light"] .page-hero-bg{
  background:
    radial-gradient(900px 400px at 20% 20%, rgba(255,201,60,.14), transparent 60%),
    radial-gradient(900px 600px at 80% 30%, rgba(11,94,215,.22), transparent 60%),
    linear-gradient(180deg, rgba(7,26,51,.88), rgba(7,26,51,.78)),
    var(--page-hero-bg) !important;
}
html[data-theme="light"] .page-hero-title{
  background:none !important;
  -webkit-background-clip:unset !important;
  -webkit-text-fill-color:#fff !important;
  background-clip:unset !important;
  color:#fff !important;
}
html[data-theme="light"] .page-hero-subtitle{color:#fff !important;opacity:.92}

@keyframes floaty{0%{transform:translateY(0)}50%{transform:translateY(-10px)}100%{transform:translateY(0)}}
.float-1{animation:floaty 6.8s ease-in-out infinite}
.float-2{animation:floaty 7.6s ease-in-out infinite .2s}
.float-3{animation:floaty 8.1s ease-in-out infinite .35s}

.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}
@media (max-width: 900px){.contact-grid{grid-template-columns:1fr}}
.contact-panel{border-radius:var(--radius);border:1px solid var(--border);background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.01));box-shadow:var(--shadow);padding:18px}
html[data-theme="light"] .contact-panel{background:linear-gradient(180deg,rgba(10,22,40,.03),rgba(10,22,40,.01))}
.map-embed{border-radius:16px;overflow:hidden;border:1px solid rgba(255,255,255,.08)}
html[data-theme="light"] .map-embed{border-color:rgba(10,22,40,.08)}
.map-embed iframe{display:block;width:100%;height:320px;border:0}
.contact-lines{display:grid;gap:10px;margin-top:14px}
.contact-line{display:flex;gap:10px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap}
.contact-line .label{color:var(--muted);font-weight:800}
.contact-line .value{font-weight:800}

.section{padding:64px 0}
.section-alt{background:linear-gradient(180deg,rgba(255,255,255,.02),transparent)}
html[data-theme="light"] .section-alt{background:linear-gradient(180deg,rgba(10,22,40,.03),transparent)}
.section-head{margin-bottom:22px}
.section-title{font-size:28px;margin:0 0 8px;font-weight:900;word-wrap:break-word;overflow-wrap:break-word}
.section-subtitle{margin:0;color:var(--muted);font-weight:600}
.section-actions{margin-top:18px}
@media (max-width: 768px){.section{padding:50px 0}.section-title{font-size:24px}}

.grid{display:grid;gap:22px}
.cards-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.cards-4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width: 768px){.grid{gap:18px}.cards-3{grid-template-columns:repeat(2,minmax(0,1fr))}.cards-4{grid-template-columns:repeat(2,minmax(0,1fr))}}

.card{
  --accent:var(--blue-500);
  border-radius:var(--radius);
  border:1px solid var(--border);
  background:var(--card);
  box-shadow:var(--shadow);
  padding:28px 22px;
  position:relative;
  overflow:hidden;
  text-align:center;
  transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease;
  display:flex;
  flex-direction:column;
  gap:12px;
}
@media (max-width: 768px){.card{padding:20px 16px}}
.card.accent-gold{--accent:var(--gold-500)}
.card::before{
  content:"";
  position:absolute;left:0;right:0;top:0;height:5px;
  background:linear-gradient(90deg,var(--accent),rgba(11,94,215,.0));
  border-top-left-radius:var(--radius);
  border-top-right-radius:var(--radius);
}
.card:hover{
  transform:translateY(-6px);
  box-shadow:0 26px 70px rgba(0,0,0,.22);
  border-color:rgba(11,94,215,.22);
}
.card:active{transform:translateY(-3px)}
html[data-theme="light"] .card:hover{box-shadow:0 26px 70px rgba(10,22,40,.14)}
.card::after{
  content:"";
  position:absolute;inset:auto -60px -70px auto;
  width:220px;height:220px;
  background:radial-gradient(circle at 30% 30%, rgba(255,201,60,.22), transparent 62%);
  opacity:.75;
}
.card-icon{
  width:60px;height:60px;
  border-radius:18px;
  margin:0 auto 14px;
  display:grid;place-items:center;
  font-size:26px;
  border:1px solid rgba(11,94,215,.18);
  background:
    radial-gradient(80px 60px at 30% 30%, rgba(255,201,60,.20), transparent 60%),
    linear-gradient(135deg, rgba(11,94,215,.14), rgba(11,94,215,.04));
  box-shadow:0 14px 40px rgba(11,94,215,.12);
}
.accent-gold .card-icon{border-color:rgba(255,201,60,.30);box-shadow:0 14px 40px rgba(255,201,60,.12)}
.card-badge{
  display:inline-flex;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(255,201,60,.12);
  border:1px solid rgba(255,201,60,.22);
  font-weight:900;font-size:12px;color:var(--text);
}
.card-title{margin:10px 0 10px;font-size:20px;font-weight:900;color:var(--blue-500)}
html[data-theme="light"] .card-title{color:var(--blue-500)}
.card-text{margin:0;color:var(--muted);font-weight:600}

.card.service-card{padding:0;text-align:start}
.service-media{position:relative;overflow:hidden;border-top-left-radius:var(--radius);border-top-right-radius:var(--radius)}
.service-media img{display:block;width:100%;height:270px;object-fit:cover}
@media (max-width: 768px){.service-media img{height:220px}}
.service-body{padding:22px 18px;display:flex;flex-direction:column;gap:12px}
@media (max-width: 768px){.service-body{padding:18px 14px}}
.service-head{display:flex;gap:14px;align-items:flex-start}
.service-actions{margin-top:auto;display:flex;gap:10px;flex-wrap:wrap}
.service-actions .btn{width:100%}
.service-actions{align-items:flex-end}
.service-title{margin:0 0 8px}
.service-desc{margin:0;line-height:1.75;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
html[data-theme="light"] .service-desc{color:var(--muted)}

.card.service-card{transform-style:preserve-3d;perspective:900px}
.card.service-card:hover{transform:translateY(-8px) rotateX(6deg) rotateY(6deg)}
html[dir="rtl"] .card.service-card:hover{transform:translateY(-8px) rotateX(6deg) rotateY(-6deg)}
.card.service-card:active{transform:translateY(-4px) rotateX(3deg) rotateY(0deg)}
@media (prefers-reduced-motion: reduce){
  .card.service-card,.card.service-card:hover,.card.service-card:active{transform:none}
}

.tool-card{
  --accent:var(--blue-500);
  border-radius:var(--radius);
  border:1px solid var(--border);
  background:var(--card);
  box-shadow:var(--shadow);
  padding:22px 18px;
  text-decoration:none;
  color:var(--text);
  display:flex;
  flex-direction:column;
  gap:12px;
  min-height:168px;
  position:relative;
  overflow:hidden;
  text-align:center;
  transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease;
}
@media (max-width: 768px){.tool-card{padding:18px 14px;min-height:150px}}
.tool-card.is-featured{--accent:var(--gold-500)}
.tool-card::before{
  content:"";
  position:absolute;left:0;right:0;top:0;height:5px;
  background:linear-gradient(90deg,var(--accent),rgba(255,255,255,0));
  border-top-left-radius:var(--radius);
  border-top-right-radius:var(--radius);
}
.tool-card::after{
  content:"";
  position:absolute;inset:auto -70px -80px auto;
  width:240px;height:240px;
  background:radial-gradient(circle at 30% 30%, rgba(11,94,215,.14), transparent 62%);
  opacity:.6;
}
.tool-card.is-featured::after{background:radial-gradient(circle at 30% 30%, rgba(255,201,60,.20), transparent 62%)}
.tool-card:hover{
  transform:translateY(-6px);
  border-color:rgba(11,94,215,.22);
  box-shadow:0 26px 70px rgba(0,0,0,.22);
}
.tool-card:active{transform:translateY(-3px)}
html[data-theme="light"] .tool-card:hover{box-shadow:0 26px 70px rgba(10,22,40,.14)}
.tool-top{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;position:relative;z-index:1}
.tool-name{font-weight:900;font-size:18px;color:var(--blue-500)}
.tool-card.is-featured .tool-name{color:var(--blue-500)}
.tool-desc{color:var(--muted);font-weight:600;font-size:13px}
.tool-desc,.tool-cta{position:relative;z-index:1}
.tool-cta{margin-top:auto;font-weight:900;color:var(--accent)}
.chip{
  display:inline-flex;align-items:center;justify-content:center;
  padding:6px 10px;border-radius:999px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.06);
  font-size:12px;font-weight:900;color:var(--text);
}

.tool-icon-center{
  width:48px;height:48px;border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,rgba(42,140,255,.12),rgba(42,140,255,.04));
  border:1px solid rgba(42,140,255,.15);
  margin:0 auto 6px;position:relative;z-index:1;
  transition:transform .3s,box-shadow .3s;
  color:var(--blue-600);
}
.tool-icon-center svg{width:24px;height:24px}
.tool-card:hover .tool-icon-center{transform:scale(1.1);box-shadow:0 8px 28px rgba(42,140,255,.20)}
.tool-card.is-featured .tool-icon-center{
  background:linear-gradient(135deg,rgba(255,201,60,.14),rgba(255,201,60,.04));
  border-color:rgba(255,201,60,.20);
  color:var(--gold-600,#b8860b);
}
.tool-card.is-featured:hover .tool-icon-center{box-shadow:0 8px 28px rgba(255,201,60,.20)}

.reviews-grid{display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}
.review-card{
  --accent:var(--blue-500);
  border-radius:var(--radius);
  border:1px solid var(--border);
  background:var(--card);
  box-shadow:var(--shadow);
  padding:18px;
  position:relative;
  overflow:hidden;
  transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease;
  display:flex;
  flex-direction:column;
  gap:12px;
}
@media (max-width: 768px){.review-card{padding:16px 14px}}
.review-card::before{
  content:"";
  position:absolute;left:0;right:0;top:0;height:5px;
  background:linear-gradient(90deg,var(--accent),rgba(255,255,255,0));
  border-top-left-radius:var(--radius);
  border-top-right-radius:var(--radius);
}
.review-card:hover{
  transform:translateY(-6px);
  border-color:rgba(11,94,215,.22);
  box-shadow:0 26px 70px rgba(0,0,0,.22);
}
.review-card:active{transform:translateY(-3px)}
html[data-theme="light"] .review-card:hover{box-shadow:0 26px 70px rgba(10,22,40,.14)}
.review-head{display:flex;align-items:center;gap:12px}
.review-avatar{width:44px;height:44px;border-radius:14px;overflow:hidden;border:1px solid var(--border);background:rgba(255,255,255,.05);display:grid;place-items:center}
.review-avatar img{width:100%;height:100%;object-fit:cover}
.avatar-fallback{font-weight:900}
.review-meta{flex:1;min-width:0}
.review-name{font-weight:900}
.review-company{color:var(--muted);font-weight:700;font-size:12px}
.review-rating{display:flex;gap:2px}
.star{opacity:.25}
.star.on{opacity:1;color:var(--gold-500)}
.review-text{margin-top:10px;color:var(--muted);font-weight:600}

.page-head{padding:46px 0 18px}
.page-title{margin:0 0 10px;font-size:34px;font-weight:900;word-wrap:break-word;overflow-wrap:break-word}
.page-subtitle{margin:0;color:var(--muted);font-weight:600}
.breadcrumb{display:flex;gap:8px;color:var(--muted);font-weight:700;margin-bottom:10px;align-items:center;flex-wrap:wrap}
.breadcrumb a{color:var(--muted);text-decoration:none;transition:color .2s}
.breadcrumb a:hover{color:var(--text)}
@media (max-width: 768px){.page-head{padding:36px 0 14px}.page-title{font-size:28px}.breadcrumb{font-size:13px}}
.search-bar{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}
@media (max-width: 768px){.search-bar{flex-direction:column;gap:8px}}
.input,.textarea,.select{
  width:100%;
  border-radius:14px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.04);
  color:var(--text);
  padding:12px 14px;
  outline:none;
  font-weight:700;
  transition:border-color .2s,box-shadow .2s;
}
.input:focus,.textarea:focus,.select:focus{
  border-color:var(--blue-600);
  box-shadow:0 0 0 3px rgba(11,94,215,.15);
}
@media (max-width: 768px){.input,.textarea,.select{padding:10px 12px;font-size:14px}}
html[data-theme="light"] .input,html[data-theme="light"] .textarea,html[data-theme="light"] .select{background:#fff}
.textarea{resize:vertical}
.textarea.code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;font-size:12px}
.label{display:flex;flex-direction:column;gap:8px;font-weight:900}
.label.inline{flex-direction:row;align-items:center;gap:10px}

.tool-shell{display:grid;grid-template-columns:1fr 360px;gap:14px}
.tool-runner{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow);overflow:visible}
.tool-embed{padding:18px}
.tool-iframe{width:100%;height:600px;min-height:400px;border:0;background:transparent;display:block;transition:height .3s ease}
.tool-side .side-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow);padding:16px;position:sticky;top:88px}
.side-title{font-weight:900;margin-bottom:10px}
.side-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0}
.side-divider{height:1px;background:var(--border);margin:10px 0}
.empty-state{padding:26px;text-align:center}
.empty-title{font-weight:900;font-size:18px}
.empty-text{color:var(--muted);font-weight:700;margin-top:6px}

.section-cta{padding:44px 0}
.cta-inner{
  border-radius:24px;
  border:1px solid rgba(255,201,60,.22);
  background:
    radial-gradient(600px 240px at 20% 20%, rgba(255,201,60,.22), transparent 60%),
    linear-gradient(135deg, rgba(11,94,215,.22), rgba(7,26,51,.55));
  padding:22px;
  display:flex;align-items:center;justify-content:space-between;gap:14px;
}
.cta-title{margin:0 0 6px;font-weight:900;font-size:26px}
.cta-subtitle{margin:0;color:rgba(245,247,251,.78);font-weight:700}

.contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.contact-card{border-radius:var(--radius);border:1px solid var(--border);background:var(--card);box-shadow:var(--shadow);padding:16px}
.pill{display:inline-flex;padding:6px 10px;border-radius:999px;background:rgba(11,94,215,.14);border:1px solid rgba(11,94,215,.22);font-weight:900;font-size:12px}
.contact-big{font-weight:900;font-size:18px;margin-top:10px}

.site-footer {
  position: relative;
  padding: 60px 0 30px;
  border-top: none;
  background: linear-gradient(180deg, rgba(7, 26, 51, 0.4), rgba(7, 26, 51, 0.95));
  overflow: hidden;
  color: #fff;
}
.site-footer::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0; height: 3px;
  background: linear-gradient(90deg, transparent, var(--gold-500), var(--blue-500), transparent);
  opacity: 0.9;
}
.site-footer::after {
  content: "";
  position: absolute;
  bottom: 0; left: 10%; width: 500px; height: 500px;
  background: radial-gradient(circle, rgba(11, 94, 215, 0.15), transparent 70%);
  pointer-events: none;
  z-index: 0;
}
html[data-theme="light"] .site-footer {
  background: linear-gradient(180deg, #f8faff, #e8f0fe);
  color: var(--text);
}
html[data-theme="light"] .site-footer::before {
  background: linear-gradient(90deg, transparent, var(--blue-600), transparent);
}
html[data-theme="light"] .site-footer::after {
  background: radial-gradient(circle, rgba(11, 94, 215, 0.08), transparent 70%);
}
.footer-grid, .footer-bottom {
  position: relative;
  z-index: 1;
}
.footer-grid { display: grid; grid-template-columns: 1.6fr 1fr 1fr; gap: 30px; align-items: start; }
.footer-logo { height: 46px; max-width: 200px; object-fit: contain; margin-bottom: 12px; }
.footer-brand p { color: rgba(255,255,255,0.7); font-size: 14px; line-height: 1.6; max-width: 80%; }
html[data-theme="light"] .footer-brand p { color: var(--muted); }

.footer-links-group { display: flex; flex-direction: column; gap: 14px; }
.footer-title { margin: 0 0 4px; font-size: 16px; font-weight: 900; color: #fff; }
html[data-theme="light"] .footer-title { color: var(--text); }
.footer-links { display: flex; flex-direction: column; gap: 12px; }
.footer-links a {
  color: rgba(255,255,255,0.7);
  text-decoration: none;
  font-weight: 700;
  transition: all .3s ease;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.footer-links a::before {
  content: "•";
  color: var(--gold-500);
  opacity: 0;
  transform: translateX(10px);
  transition: all .3s ease;
}
html[dir="rtl"] .footer-links a::before {
  transform: translateX(-10px);
}
.footer-links a:hover {
  color: #fff;
  transform: translateX(4px);
}
html[dir="rtl"] .footer-links a:hover {
  transform: translateX(-4px);
}
.footer-links a:hover::before {
  opacity: 1;
  transform: translateX(0);
}
html[data-theme="light"] .footer-links a { color: var(--muted); }
html[data-theme="light"] .footer-links a:hover { color: var(--blue-600); }

.footer-cta { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
.footer-cta .pill { background: rgba(255, 201, 60, 0.1); border-color: rgba(255, 201, 60, 0.3); color: var(--gold-500); }
html[data-theme="light"] .footer-cta .pill { background: rgba(11, 94, 215, 0.1); border-color: rgba(11, 94, 215, 0.3); color: var(--blue-700); }

.footer-bottom { margin-top: 40px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,0.1); display: flex; justify-content: space-between; align-items: center; }
html[data-theme="light"] .footer-bottom { border-top-color: var(--border); }
.footer-bottom .muted { color: rgba(255,255,255,0.6); font-weight: 700; font-size: 14px; }
html[data-theme="light"] .footer-bottom .muted { color: var(--muted); }

.footer-social { display: flex; gap: 10px; align-items: center; }
.footer-social a {
  width: 38px; height: 38px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,0.15);
  background: rgba(255,255,255,0.06);
  display: grid; place-items: center;
  color: rgba(255,255,255,0.7);
  text-decoration: none;
  transition: all .3s ease;
}
.footer-social a:hover {
  background: rgba(255,255,255,0.12);
  border-color: var(--gold-500);
  color: var(--gold-500);
  transform: translateY(-2px);
}
.footer-social a svg { width: 18px; height: 18px; fill: currentColor; }
html[data-theme="light"] .footer-social a { background: rgba(10,22,40,0.04); border-color: var(--border); color: var(--muted); }
html[data-theme="light"] .footer-social a:hover { background: rgba(11,94,215,0.08); border-color: var(--blue-600); color: var(--blue-600); }

@media (max-width: 768px) {
  .site-footer { padding: 40px 0 20px; }
  .footer-grid { grid-template-columns: 1fr; gap: 24px; text-align: center; }
  .footer-brand p { max-width: 100%; margin: 0 auto; }
  .footer-links { align-items: center; }
  .footer-links a:hover { transform: translateY(-2px); }
  html[dir="rtl"] .footer-links a:hover { transform: translateY(-2px); }
  .footer-cta { align-items: center; }
  .footer-bottom { flex-direction: column; gap: 12px; text-align: center; }
}

.reveal{opacity:0;transform:translateY(12px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:translateY(0)}
/* Show reveal elements immediately if JS fails or on slow mobile */
.reveal:not(.in){animation:revealFallback 0.01s 2s forwards}
@keyframes revealFallback{to{opacity:1;transform:translateY(0)}}

@media (prefers-reduced-motion: reduce){
  .reveal{transition:none}
  .float-1,.float-2,.float-3{animation:none}
  .btn,.tool-card,.icon-btn{transition:none}
}

@media (max-width: 1024px){
  .nav{display:none}
  .nav-toggle{display:grid}
  .mobile-nav{display:block}
  .hero-inner{grid-template-columns:1fr;gap:18px;padding:60px 0 40px}
  .hero-panels{grid-template-columns:1fr}
  .cards-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cards-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .reviews-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tool-shell{grid-template-columns:1fr}
  .tool-side .side-card{position:relative;top:auto}
  .footer-grid{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr}
  .header-actions{gap:8px}
  .btn{padding:10px 14px;font-size:13px}
  .section{padding:50px 0}
}

@media (max-width: 560px){
  .container{width:calc(100% - 24px)}
  .brand-logo{height:34px}
  .btn{padding:10px 12px;font-size:12px}
  .cards-4,.cards-3{grid-template-columns:1fr}
  .reviews-grid{grid-template-columns:1fr}
  .cta-inner{flex-direction:column;align-items:flex-start}
  .hero-inner{padding:40px 0 30px}
  .hero-title{font-size:26px}
  .hero-subtitle{font-size:14px}
  .hero-actions{flex-direction:column;width:100%}
  .hero-actions .btn{width:100%;text-align:center;justify-content:center}
  .hero-metrics{flex-direction:row;gap:8px;width:100%}
  .metric{min-width:auto;flex:1;padding:8px 10px;text-align:center}
  .metric-number{font-size:16px}
  .metric-label{font-size:11px}
  .hero-panels{display:grid;grid-template-columns:1fr;gap:10px}
  .panel-card{padding:14px}
  .section-title{font-size:24px}
  .page-title{font-size:28px}
  .section{padding:40px 0}
  .page-head{padding:36px 0 14px}
  .mobile-nav.open{max-height:100vh;overflow-y:auto}
  .contact-cta-wrapper{padding:30px 20px !important}
  .contact-cta-wrapper .section-title{font-size:22px !important}
  .contact-cta-wrapper .section-subtitle{font-size:15px !important}
  .contact-cta-wrapper .btn{padding:12px 20px;font-size:14px;width:100%;justify-content:center}
}

.admin-body .site-header,.admin-body .site-footer{display:none}
.admin-shell{min-height:100vh;display:grid;grid-template-columns:280px 1fr}
.admin-side{
  border-inline-end:1px solid var(--border);
  background:rgba(255,255,255,.02);
  padding:16px;
  display:flex;flex-direction:column;gap:16px
}
.admin-brand{display:flex;align-items:center;justify-content:center;padding:10px;border-radius:18px;border:1px solid var(--border);background:rgba(255,255,255,.03)}
.admin-brand img{height:44px;max-width:220px;object-fit:contain}
.admin-nav{display:flex;flex-direction:column;gap:8px}
.admin-nav a{
  text-decoration:none;
  color:var(--text);
  font-weight:900;
  padding:12px 12px;
  border-radius:16px;
  border:1px solid transparent;
  background:transparent;
}
.admin-nav a:hover{background:rgba(255,255,255,.04);border-color:var(--border)}
.admin-side-bottom{margin-top:auto;display:flex;flex-direction:column;gap:10px}

.admin-main{display:flex;flex-direction:column;min-width:0}
.admin-top{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--border);background:rgba(255,255,255,.02)}
.admin-title{font-weight:900}
.admin-content{padding:18px}
.admin-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.stat-card{border-radius:20px;border:1px solid var(--border);background:var(--card);box-shadow:var(--shadow);padding:16px;display:flex;flex-direction:column;gap:10px}
.stat-title{font-weight:900}
.stat-number{font-size:34px;font-weight:900}
.stat-hint{color:var(--muted);font-weight:700;font-size:12px}

.admin-head{display:flex;justify-content:flex-end;margin-bottom:12px}
.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:18px;background:var(--card);box-shadow:var(--shadow)}
.table{width:100%;border-collapse:collapse;min-width:760px}
.table th,.table td{padding:14px;border-bottom:1px solid var(--border);text-align:start;vertical-align:top}
.cell-title{font-weight:900}
.cell-sub{color:var(--muted);font-weight:700;font-size:12px}
.cell-actions{display:flex;gap:10px;align-items:center;justify-content:flex-end}

.form{display:flex;flex-direction:column;gap:14px}
.form-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.form-actions{display:flex;gap:10px;flex-wrap:wrap}
.auth-shell{min-height:100vh;display:grid;place-items:center;padding:18px}
.auth-card{width:min(420px,100%);border-radius:24px;border:1px solid var(--border);background:var(--card);box-shadow:var(--shadow);padding:18px}
.auth-brand{display:flex;justify-content:center;margin-bottom:12px}
.auth-brand img{height:54px;max-width:260px;object-fit:contain}
.auth-title{margin:0 0 12px;font-weight:900}
.auth-link{display:block;text-align:center;margin-top:12px;color:var(--muted);text-decoration:none;font-weight:800}
.auth-link:hover{color:var(--text)}
.toast{padding:12px 14px;border-radius:14px;border:1px solid var(--border);margin-bottom:14px;font-weight:800}
.toast-error{border-color:rgba(255,73,92,.25);color:#ff7c8b;background:rgba(255,73,92,.06)}
.file-preview{margin-top:10px}
.file-preview img{max-width:120px;border-radius:16px;border:1px solid var(--border)}

@media (max-width: 980px){
  .admin-shell{grid-template-columns:1fr}
  .admin-side{position:sticky;top:0;z-index:40;flex-direction:row;align-items:center;justify-content:space-between}
  .admin-nav{flex-direction:row;flex-wrap:wrap}
  .admin-side-bottom{margin-top:0;flex-direction:row}
  .admin-cards{grid-template-columns:1fr}
  .form-grid{grid-template-columns:1fr}
}

.post-cover{border-radius:24px;overflow:hidden;border:1px solid var(--border);box-shadow:var(--shadow);margin-top:14px}
.post-cover img{display:block;width:100%;height:auto}
.post-body{
  border-radius:24px;
  border:1px solid var(--border);
  background:var(--card);
  box-shadow:var(--shadow);
  padding:18px;
  font-weight:700;
}
.post-body h2,.post-body h3,.post-body h4{margin:18px 0 10px;font-weight:900}
.post-body p{margin:0 0 12px}
.post-body a{color:var(--blue-500);font-weight:900;text-decoration:none}
.post-body a:hover{text-decoration:underline}
.post-body ul,.post-body ol{margin:0 0 12px;padding-inline-start:22px}
.post-body img{max-width:100%;height:auto;border-radius:18px;border:1px solid var(--border)}

.note-editor.note-frame{
  border-radius:18px;
  border:1px solid var(--border);
  background:var(--card);
  box-shadow:var(--shadow);
}
.note-editor.note-frame .note-toolbar{
  background:rgba(255,255,255,.03);
  border-bottom:1px solid var(--border);
  border-top-left-radius:18px;
  border-top-right-radius:18px;
}
html[data-theme="light"] .note-editor.note-frame .note-toolbar{background:rgba(10,22,40,.03)}
.note-editor.note-frame .note-statusbar{
  border-top:1px solid var(--border);
  background:rgba(255,255,255,.02);
  border-bottom-left-radius:18px;
  border-bottom-right-radius:18px;
}
.note-editor.note-frame .note-btn{
  border-radius:12px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.04);
  color:var(--text);
  font-weight:800;
}
html[data-theme="light"] .note-editor.note-frame .note-btn{background:#fff}
.note-editor.note-frame .note-editable{
  font-family:var(--font-ar);
  color:var(--text);
}
html[lang="en"] .note-editor.note-frame .note-editable{font-family:var(--font-en)}

/* --- Premium UI Enhancements --- */

/* 1. Fixed Hero Backgrounds (Parallax) */
.hero-bg, .page-hero-bg {
  background-attachment: fixed;
  background-position: center;
  background-size: cover;
}

/* 2. Gradient Text */
.text-gradient {
  background: linear-gradient(135deg, var(--gold-500), var(--blue-500));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  display: inline-block;
}
html[data-theme="light"] .text-gradient {
  background: linear-gradient(135deg, var(--blue-800), var(--blue-600));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* 3. Spotlight Hover Overlay */
.spotlight-overlay {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: radial-gradient(
    800px circle at var(--mouse-x, 0) var(--mouse-y, 0),
    rgba(255, 255, 255, 0.08),
    transparent 40%
  );
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
  z-index: 0;
}
.card:hover .spotlight-overlay,
.tool-card:hover .spotlight-overlay,
.review-card:hover .spotlight-overlay,
.panel-card:hover .spotlight-overlay,
.contact-card:hover .spotlight-overlay {
  opacity: 1;
}
html[data-theme="light"] .spotlight-overlay {
  background: radial-gradient(
    800px circle at var(--mouse-x, 0) var(--mouse-y, 0),
    rgba(11, 94, 215, 0.05),
    transparent 40%
  );
}

/* Ensure contents of cards are above the spotlight */
.card-icon, .card-title, .card-text, .card-badge,
.tool-top, .tool-desc, .tool-cta,
.review-head, .review-text,
.panel-icon, .panel-title, .panel-desc {
  position: relative;
  z-index: 1;
}

/* Micro-animations */
.card-icon {
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.3s, border-color 0.3s;
}
.card:hover .card-icon {
  transform: scale(1.1) rotate(5deg);
}
.btn-primary {
  position: relative;
  overflow: hidden;
}
.btn-primary::after {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 50%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
  transform: skewX(-20deg);
  transition: none;
}
.btn-primary:hover::after {
  animation: shine 0.75s ease;
}
@keyframes shine {
  100% { left: 200%; }
}

/* Improved Staggered Reveal */
.grid > .reveal:nth-child(1) { transition-delay: 0.05s; }
.grid > .reveal:nth-child(2) { transition-delay: 0.15s; }
.grid > .reveal:nth-child(3) { transition-delay: 0.25s; }
.grid > .reveal:nth-child(4) { transition-delay: 0.35s; }
.grid > .reveal:nth-child(5) { transition-delay: 0.45s; }
.grid > .reveal:nth-child(6) { transition-delay: 0.55s; }

/* --- SVG Icon Styles --- */
.svg-icon {
  width: 28px;
  height: 28px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.card-icon .svg-icon {
  width: 26px;
  height: 26px;
  color: var(--gold-500);
}
.accent-gold .card-icon .svg-icon {
  color: var(--gold-500);
}
.panel-icon .svg-icon {
  width: 22px;
  height: 22px;
  color: #fff;
}

/* --- Counter Animation --- */
.metric-number.counting { transition: none; }

/* --- Project Card (Clean) --- */
.project-card {
  border-radius: 1.5rem;
  border: 1px solid var(--border);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  height: 100%;
  background: var(--card);
  box-shadow: var(--shadow);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.project-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 26px 70px rgba(0,0,0,.22);
}
.project-card-img {
  position: relative;
  width: 100%;
  padding-top: 65%;
  overflow: hidden;
}
.project-card-img img {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}
.project-card:hover .project-card-img img {
  transform: scale(1.05);
}
.project-card-img .placeholder {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: linear-gradient(135deg, rgba(11,94,215,.08), rgba(255,201,60,.08));
}
.project-card-body {
  padding: 1.75rem;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}
.project-card-title {
  font-size: 1.4rem;
  font-weight: 800;
  margin-bottom: 0.75rem;
  color: var(--text);
}
.project-card-desc {
  color: var(--muted);
  font-size: 0.95rem;
  line-height: 1.8;
  text-align: justify;
  margin-bottom: 1.75rem;
  flex-grow: 1;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.project-card-link {
  align-self: flex-start;
  padding: 0.6rem 1.5rem;
  border-radius: 50px;
  background: linear-gradient(135deg, var(--blue-600), var(--blue-800));
  color: #fff;
  box-shadow: 0 6px 15px rgba(11,94,215,.25);
  border: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
  text-decoration: none;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  position: relative;
  z-index: 2;
}
.project-card-link:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(11,94,215,.35);
  color: #fff;
}
.project-card-link svg { transition: transform 0.3s ease; }
html[dir="rtl"] .project-card-link svg { transform: rotate(180deg); }
.project-card-link:hover svg { transform: translateX(3px); }
html[dir="rtl"] .project-card-link:hover svg { transform: rotate(180deg) translateX(3px); }

/* --- 404 Page --- */
.error-page {
  min-height: 60vh;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 40px 0;
}
.error-content { max-width: 560px; }
.error-code {
  font-size: clamp(80px, 15vw, 160px);
  font-weight: 900;
  line-height: 1;
  background: linear-gradient(135deg, var(--gold-500), var(--blue-500));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin-bottom: 16px;
}
.error-title { font-size: 24px; font-weight: 900; margin-bottom: 12px; }
.error-text { color: var(--muted); font-weight: 600; margin-bottom: 28px; line-height: 1.8; }

/* --- Contact Form Feedback --- */
.form-feedback {
  padding: 12px 16px;
  border-radius: 14px;
  font-weight: 700;
  margin-top: 12px;
  display: none;
}
.form-feedback.success {
  display: block;
  background: rgba(34,197,94,.1);
  border: 1px solid rgba(34,197,94,.3);
  color: #22c55e;
}
.form-feedback.error {
  display: block;
  background: rgba(255,73,92,.08);
  border: 1px solid rgba(255,73,92,.25);
  color: #ff7c8b;
}

/* --- Social Links --- */
.social-links { display: flex; gap: 12px; margin-top: 16px; }
.social-link {
  width: 42px; height: 42px;
  border-radius: 14px;
  border: 1px solid var(--border);
  background: rgba(255,255,255,.04);
  display: grid; place-items: center;
  color: rgba(255,255,255,.7);
  text-decoration: none;
  transition: all .3s ease;
}
.social-link:hover {
  background: rgba(255,255,255,.1);
  border-color: var(--gold-500);
  color: var(--gold-500);
  transform: translateY(-2px);
}
html[data-theme="light"] .social-link { background: rgba(10,22,40,.04); color: var(--muted); }
html[data-theme="light"] .social-link:hover { background: rgba(11,94,215,.08); border-color: var(--blue-600); color: var(--blue-600); }
.social-link svg { width: 18px; height: 18px; fill: currentColor; }

/* --- Blog Card --- */
.blog-card {
  border-radius: var(--radius);
  border: 1px solid var(--border);
  background: var(--card);
  box-shadow: var(--shadow);
  overflow: hidden;
  text-decoration: none;
  color: var(--text);
  display: flex;
  flex-direction: column;
  transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
  position: relative;
}
.blog-card:hover {
  transform: translateY(-6px);
  border-color: rgba(11,94,215,.22);
  box-shadow: 0 26px 70px rgba(0,0,0,.22);
}
html[data-theme="light"] .blog-card:hover { box-shadow: 0 26px 70px rgba(10,22,40,.14); }
.blog-card-img { width: 100%; height: 220px; overflow: hidden; }
.blog-card-img img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform .5s ease;
}
.blog-card:hover .blog-card-img img { transform: scale(1.05); }
.blog-card-body {
  padding: 22px 18px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex-grow: 1;
}
.blog-card-title { font-weight: 900; font-size: 18px; color: var(--blue-500); line-height: 1.5; }
.blog-card-excerpt {
  color: var(--muted);
  font-weight: 600;
  font-size: 14px;
  line-height: 1.8;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.blog-card-cta { margin-top: auto; font-weight: 900; color: var(--blue-600); font-size: 14px; transition: color .2s; }
.blog-card:hover .blog-card-cta { color: var(--gold-500); }

/* --- Post Layout --- */
.post-layout { max-width: 860px; margin: 0 auto; }
.post-cover {
  border-radius: 24px;
  overflow: hidden;
  border: 1px solid var(--border);
  box-shadow: var(--shadow);
  margin-bottom: 28px;
}
.post-cover img { display: block; width: 100%; height: auto; }
.post-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--muted);
  font-weight: 700;
  font-size: 14px;
  margin-bottom: 20px;
  flex-wrap: wrap;
}
.post-meta .svg-icon { color: var(--blue-600); stroke: var(--blue-600); fill: none; }
.post-meta-sep { opacity: .4; }

/* --- Comments Section --- */
.comments-section { max-width: 860px; margin: 0 auto; }
.comments-section .section-title { display: flex; align-items: center; gap: 10px; }
.comments-section .section-title .svg-icon { color: var(--blue-600); stroke: var(--blue-600); fill: none; }
.comments-count { font-size: 16px; color: var(--muted); font-weight: 700; }
.comments-list { display: flex; flex-direction: column; gap: 16px; margin-bottom: 32px; }
.comment-item {
  display: flex;
  gap: 14px;
  padding: 18px;
  border-radius: var(--radius);
  border: 1px solid var(--border);
  background: var(--card);
  box-shadow: var(--shadow);
  transition: border-color .2s;
}
.comment-item:hover { border-color: rgba(11,94,215,.18); }
.comment-avatar {
  width: 44px; height: 44px; min-width: 44px;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid var(--border);
  background: rgba(255,255,255,.05);
  display: grid; place-items: center;
}
.comment-avatar .avatar-fallback { font-weight: 900; font-size: 18px; color: var(--gold-500); }
.comment-content { flex: 1; min-width: 0; }
.comment-header { display: flex; align-items: center; gap: 12px; margin-bottom: 8px; flex-wrap: wrap; }
.comment-author { font-weight: 900; font-size: 15px; }
.comment-date { color: var(--muted); font-weight: 600; font-size: 13px; }
.comment-text { color: var(--muted); font-weight: 600; line-height: 1.8; font-size: 14px; word-wrap: break-word; overflow-wrap: break-word; }
.no-comments { color: var(--muted); font-weight: 700; text-align: center; padding: 30px 0; }

/* --- Comment Form --- */
.comment-form-wrapper {
  border-radius: var(--radius);
  border: 1px solid var(--border);
  background: var(--card);
  box-shadow: var(--shadow);
  padding: 28px 22px;
  margin-top: 20px;
}
.comment-form-title { font-weight: 900; font-size: 20px; margin: 0 0 18px; }
.comment-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.comment-note { color: var(--muted); font-size: 13px; font-weight: 600; margin: 0 0 14px; }

@media (max-width: 768px) {
  .comment-form-grid { grid-template-columns: 1fr; }
  .blog-card-img { height: 180px; }
}

/* --- Header Scroll Effect --- */
.site-header.header-scrolled {
  background: linear-gradient(180deg, rgba(11,15,23,.95), rgba(11,15,23,.85));
  border-bottom-color: rgba(255,255,255,.12);
}
html[data-theme="light"] .site-header.header-scrolled {
  background: linear-gradient(180deg, rgba(247,249,252,.96), rgba(247,249,252,.92));
}

/* --- Contact CTA Section --- */
.contact-cta-wrapper {
  background: linear-gradient(135deg, rgba(7, 26, 51, 0.9), rgba(11, 94, 215, 0.2));
  border-radius: 28px;
  padding: 60px 40px;
  text-align: center;
  border: 1px solid rgba(255, 201, 60, 0.2);
  box-shadow: 0 24px 50px rgba(0,0,0,0.25);
  position: relative;
  overflow: hidden;
}
.contact-cta-glow {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}
.contact-cta-glow-1 {
  top: -60px; left: -60px;
  width: 180px; height: 180px;
  background: radial-gradient(circle, rgba(255, 201, 60, 0.35), transparent 70%);
}
.contact-cta-glow-2 {
  bottom: -80px; right: -80px;
  width: 250px; height: 250px;
  background: radial-gradient(circle, rgba(11, 94, 215, 0.4), transparent 70%);
}
.contact-cta-content { position: relative; z-index: 1; }
.contact-cta-heading {
  font-size: clamp(28px, 4vw, 42px);
  margin-bottom: 20px;
  line-height: 1.4;
}
.contact-cta-text {
  font-size: 18px;
  color: rgba(255,255,255,0.85);
  max-width: 750px;
  margin: 0 auto 34px;
  line-height: 1.8;
  font-weight: 600;
}
.contact-cta-actions {
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
}
.btn-whatsapp {
  background: linear-gradient(135deg, #25D366, #128C7E) !important;
  border-color: #25D366 !important;
  color: #fff !important;
  padding: 14px 28px;
  font-size: 16px;
  border-radius: 16px;
  box-shadow: 0 10px 25px rgba(37, 211, 102, 0.3);
}
.btn-whatsapp:hover { transform: translateY(-2px); box-shadow: 0 14px 30px rgba(37,211,102,.35); }
.btn-lg { padding: 14px 28px; font-size: 16px; border-radius: 16px; }

@media (max-width: 768px) {
  .contact-cta-wrapper { padding: 40px 20px; }
  .contact-cta-actions { flex-direction: column; align-items: center; }
}
