picture{display:block;max-width:100%}
picture>img{display:block;max-width:100%;height:auto}
.srv-card[href]{display:block;color:inherit;text-decoration:none}
.srv-card[href]:focus-visible{outline:3px solid #60a5fa;outline-offset:5px}
.cookie-settings{border:0;background:transparent;color:#94a3b8;font:inherit;cursor:pointer;padding:0}
.cookie-settings:hover,.cookie-settings:focus-visible{color:#fff}

#es-cc{position:fixed;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;gap:1rem;flex-wrap:wrap;background:#0a1628;color:#f8fafc;padding:1rem 1.5rem;border-top:2px solid #2563eb;box-shadow:0 -4px 24px rgba(0,0,0,.35);font-family:Cairo,Tajawal,sans-serif;font-size:.9rem;line-height:1.8;direction:rtl}
#es-cc p{margin:0;flex:1;min-width:250px}
#es-cc strong{color:#fff}
#es-cc a{color:#93c5fd}
#es-cc .cc-btns{display:flex;gap:.6rem;flex-wrap:wrap}
#es-cc button{padding:.55rem 1rem;border-radius:999px;font:700 .85rem Cairo,Tajawal,sans-serif;cursor:pointer}
#es-cc .cc-y{border:1px solid #2563eb;background:#2563eb;color:#fff}
#es-cc .cc-n{border:1px solid #64748b;background:#1e293b;color:#e2e8f0}
#es-cc button:focus-visible{outline:3px solid #f8fafc;outline-offset:2px}

.article-meta{display:flex;gap:.65rem 1.2rem;flex-wrap:wrap;align-items:center;color:#64748b;font-size:.88rem;margin-top:1.25rem}
.article-category a,.category-list a{display:inline-block;padding:.4rem .85rem;border-radius:999px;background:#dbeafe;color:#1d4ed8;text-decoration:none;font-weight:700}
.category-list{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:2rem}
.blog-card-link{display:block;height:100%;color:inherit;text-decoration:none}
.blog-card-link h2{font-size:1.2rem}
.blog-card-link:focus-visible{outline:3px solid #2563eb;outline-offset:5px}
.content-faq details{border-block-end:1px solid #e2e8f0;padding:1rem 0}
.content-faq summary{font-weight:800;cursor:pointer}
.legal-content h2{margin-top:2.2rem}
.legal-content a{color:#1d4ed8}
.breadcrumb [aria-current="page"]{color:#334155}

.field-error{min-height:1.3em;margin:.3rem 0 0;color:#fca5a5;font-size:.78rem}
[aria-invalid="true"]{border-color:#f87171!important}
.consent-check{display:flex;gap:.7rem;align-items:flex-start;color:#e2e8f0;font-size:.86rem;line-height:1.7;margin:1rem 0}
.consent-check input{margin-top:.35rem;flex:0 0 auto}
.consent-check a{color:#93c5fd}
.file-upload-wrap small{display:block;color:#94a3b8;margin-top:.5rem;line-height:1.6}
.form-status{min-height:1.6em;margin:.8rem 0 0;text-align:center;font-weight:700}
.form-status[data-state="success"]{color:#86efac}
.form-status[data-state="error"]{color:#fca5a5}
.form-status[data-state="loading"]{color:#bfdbfe}
.form-config-note{padding:.7rem 1rem;border:1px solid #475569;border-radius:8px;color:#cbd5e1;font-size:.82rem}
.hp-field{position:absolute!important;inline-size:1px!important;block-size:1px!important;opacity:0!important;pointer-events:none!important}
.turnstile-wrap{margin:1rem 0}

.port-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:3rem;flex-wrap:wrap;gap:1.5rem}
.port-tabs{display:flex;gap:.55rem;flex-wrap:wrap}
.port-tab{background:transparent;border:1.5px solid #e5e7eb;color:#64748b;padding:.45rem 1rem;border-radius:999px;font-family:Cairo,Tajawal,sans-serif;font-size:.8rem;font-weight:700;cursor:pointer;transition:background .25s,border-color .25s,color .25s}
.port-tab.active,.port-tab[aria-pressed="true"],.port-tab:hover{border-color:#2563eb;color:#2563eb;background:rgba(37,99,235,.08)}
.filter-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.45rem;height:1.45rem;margin-inline-start:.35rem;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-size:.72rem}
.port-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}
.port-item{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid #e5e7eb;border-radius:16px;overflow:hidden;text-align:right;box-shadow:0 8px 24px rgba(15,23,42,.08);transition:opacity .3s,transform .3s,box-shadow .3s,border-color .3s}
.port-item:hover{transform:translateY(-4px);box-shadow:0 20px 44px rgba(15,23,42,.13);border-color:rgba(37,99,235,.22)}
.port-item.is-filtered-out{opacity:0;transform:scale(.97)}
.port-image-link{position:relative;display:block;color:inherit;text-decoration:none;overflow:hidden}
.port-image-link:focus-visible,.port-preview:focus-visible,.port-read:focus-visible,.project-gallery-button:focus-visible{outline:3px solid #2563eb;outline-offset:4px}
.port-item img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .45s}
.port-item:hover .port-image-link img{transform:scale(1.04)}
.port-count{position:absolute;top:.85rem;left:.85rem;display:inline-flex;align-items:center;gap:.25rem;background:rgba(10,22,40,.74);color:#fff;padding:.28rem .6rem;border-radius:999px;font-family:Consolas,monospace;font-size:.62rem;letter-spacing:.5px;backdrop-filter:blur(4px)}
.port-cap{display:flex;flex:1;justify-content:space-between;align-items:flex-end;gap:1rem;padding:1rem 1.1rem}
.port-cap-title{font-family:Cairo,Tajawal,sans-serif;font-weight:900;color:#0a1628;font-size:1rem;line-height:1.45;margin:0 0 .35rem}
.port-cap-desc{color:#64748b;font-size:.82rem;line-height:1.8;margin:0 0 .55rem}
.port-cap-cat{font-family:Consolas,monospace;font-size:.6rem;letter-spacing:1.2px;text-transform:uppercase;color:#2563eb;white-space:nowrap}
.port-actions{display:flex;flex-direction:column;gap:.45rem;align-items:flex-start;flex:0 0 auto}
.port-read,.port-preview{border:0;border-radius:999px;padding:.48rem .85rem;font:800 .78rem Cairo,Tajawal,sans-serif;text-decoration:none;cursor:pointer;white-space:nowrap}
.port-read{background:#2563eb;color:#fff}
.port-preview{background:#f1f5f9;color:#0f172a}
.portfolio-empty{margin:2rem auto 0;padding:1.2rem;border:1px dashed #cbd5e1;border-radius:14px;color:#64748b;text-align:center}
.portfolio-more{text-align:center;margin:2rem 0 0}
.portfolio-more a{color:#2563eb;font-weight:800;text-decoration:none}

.lightbox{position:fixed;inset:0;z-index:2000;display:none;align-items:center;justify-content:center;background:rgba(6,12,24,.94);padding:2rem;opacity:0;transition:opacity .3s}
.lightbox.open{display:flex;opacity:1}
.lb-figure{margin:0;max-width:980px;width:100%;display:flex;flex-direction:column;align-items:center;gap:1rem}
#lb-img{max-width:100%;max-height:68vh;object-fit:contain;border-radius:12px;box-shadow:0 20px 50px rgba(0,0,0,.4)}
.lb-caption{text-align:center;color:#fff;display:flex;flex-direction:column;gap:.35rem}
.lb-cat{font-family:Consolas,monospace;font-size:.65rem;letter-spacing:2px;text-transform:uppercase;color:#93c5fd}
.lb-title{font-family:Cairo,Tajawal,sans-serif;font-weight:900;font-size:1.3rem}
.lb-desc{color:rgba(255,255,255,.72);font-size:.9rem;max-width:650px;margin:0 auto;line-height:1.8}
.lb-counter{font-family:Consolas,monospace;font-size:.75rem;color:rgba(255,255,255,.55);margin-top:.3rem}
.lb-close{position:absolute;top:1.2rem;left:1.5rem;width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.12);color:#fff;font-size:1.9rem;line-height:1;cursor:pointer;transition:background .25s}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;border:0;background:rgba(255,255,255,.12);color:#fff;font-size:2.2rem;line-height:1;cursor:pointer;transition:background .25s}
.lb-close:hover,.lb-nav:hover{background:rgba(255,255,255,.25)}
.lb-prev{right:1.5rem}
.lb-next{left:1.5rem}
.lb-thumbs{display:flex;gap:.55rem;max-width:100%;overflow-x:auto;padding:.3rem}
.lb-thumb{border:2px solid transparent;background:transparent;border-radius:10px;padding:0;cursor:pointer;opacity:.68}
.lb-thumb[aria-current="true"]{border-color:#60a5fa;opacity:1}
.lb-thumb img{display:block;width:72px;height:54px;object-fit:cover;border-radius:8px}

.work-gallery{background:#fff;padding:5rem}
.work-seo-copy{padding-top:0}
.project-cover{max-width:1100px;margin:3rem auto 0;padding:0 2rem}
.project-cover img{display:block;width:100%;max-height:620px;object-fit:cover;border-radius:18px;box-shadow:0 20px 50px rgba(15,23,42,.16)}
.project-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;margin:1.5rem 0 2.5rem}
.project-gallery figure{margin:0}
.project-gallery-button{display:block;width:100%;padding:0;border:0;background:transparent;cursor:pointer;border-radius:14px;overflow:hidden}
.project-gallery img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.project-gallery figcaption{color:#64748b;font-size:.82rem;line-height:1.8;margin-top:.6rem}
.page-content table{width:100%;border-collapse:collapse;margin:1.5rem 0 2rem;font-size:.92rem}
.page-content th,.page-content td{border:1px solid #e5e7eb;padding:.85rem;text-align:right;vertical-align:top;line-height:1.8}
.page-content th{background:#f8fafc;color:#0f172a;font-weight:900}
.page-content blockquote{margin:2rem 0;padding:1rem 1.25rem;border-right:4px solid #2563eb;background:#eff6ff;color:#1e3a8a;border-radius:12px}
.blog-card-thumb{display:block;margin:-2.2rem -2.2rem 1.4rem;overflow:hidden;border-radius:18px 18px 0 0}
.blog-card-thumb img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.article-hero-image{max-width:980px;margin:3rem auto 0;padding:0 2rem}
.article-hero-image img{display:block;width:100%;height:auto;border-radius:18px;box-shadow:0 18px 45px rgba(15,23,42,.16)}
.home section:not(#hero){content-visibility:auto;contain-intrinsic-size:900px}

@media(max-width:640px){
  #es-cc{align-items:stretch}
  #es-cc .cc-btns{width:100%}
  #es-cc button{flex:1}
  .port-grid,.project-gallery{grid-template-columns:1fr}
  .port-cap{display:block}
  .port-actions{flex-direction:row;margin-top:.9rem}
  .work-gallery{padding:3rem 1.5rem}
  .project-cover{padding:0 1.5rem}
  .lb-nav{top:auto;bottom:1.2rem}
  .lb-prev{right:1rem}
  .lb-next{left:1rem}
  .lb-thumbs{max-width:72vw}
}
