@font-face{font-family:Tajawal;src:url('/fonts/Iura6YBj_oCad4k1rzOLCr5IlLA.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Tajawal;src:url('/fonts/Iurf6YBj_oCad4k1l4qkLrNjiLlJ-G0.woff2') format('woff2');font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:Tajawal;src:url('/fonts/Iurf6YBj_oCad4k1l5anLrNjiLlJ-G0.woff2') format('woff2');font-style:normal;font-weight:800;font-display:swap}
:root{--public-blue:#2f78ad;--public-blue-dark:#173047;--public-cyan:#1ebbf0;--public-mint:#39dfaa;--public-text:#172033;--public-muted:#66758c;--public-border:#e2e8f0;--public-bg:#f7f9fc;--public-white:#fff;--public-shadow:0 18px 45px rgba(23,48,71,.1)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.public-site{margin:0;background:var(--public-bg);color:var(--public-text);font-family:Tajawal,Arial,sans-serif;line-height:1.75}
.public-site a{text-decoration:none;color:inherit}
.public-header{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid #edf1f5;box-shadow:0 4px 18px rgba(15,23,42,.04)}
.public-header__inner{width:min(1180px,calc(100% - 32px));min-height:104px;margin:auto;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px}
.public-brand{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:145px}
.public-brand img{display:block;width:142px;height:auto;max-height:56px;object-fit:contain}
.public-brand span{font-size:.82rem;color:#24364c;margin-top:2px}
.public-nav{display:flex;align-items:stretch;justify-content:center;height:104px}
.public-nav>a,.public-nav__dropdown>a{display:flex;align-items:center;padding:0 18px;color:#1d3048;font-weight:700;white-space:nowrap;transition:.2s}
.public-nav>a:hover,.public-nav__dropdown>a:hover,.public-nav a.is-active{background:var(--public-blue);color:#fff}
.public-nav__dropdown{position:relative;display:flex}
.public-nav__mega{position:absolute;top:100%;right:0;width:min(620px,calc(100vw - 32px));padding:10px;display:grid;grid-template-columns:1fr 1fr;background:var(--public-blue-dark);box-shadow:var(--public-shadow);opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s}
.public-nav__dropdown:hover .public-nav__mega,.public-nav__dropdown:focus-within .public-nav__mega{opacity:1;visibility:visible;transform:none}
.public-nav__mega a{padding:13px 16px;color:#fff;border-bottom:1px solid rgba(255,255,255,.1);font-weight:600}
.public-nav__mega a:hover{background:rgba(47,120,173,.45)}
.public-auth{display:flex;align-items:center;gap:10px}
.public-auth__login{font-weight:700;color:#2f4a65;padding:10px}
.public-button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:9px;background:linear-gradient(135deg,var(--public-blue),#2799c5);color:#fff!important;padding:13px 24px;font:700 1rem Tajawal;box-shadow:0 10px 22px rgba(47,120,173,.22);transition:transform .2s,box-shadow .2s}
.public-button:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(47,120,173,.3)}
.public-button--small{padding:10px 16px;font-size:.88rem}
.public-menu-toggle{display:none;border:1px solid var(--public-border);background:#fff;border-radius:8px;padding:7px 11px;font-size:1.35rem}
.public-container{width:min(1120px,calc(100% - 36px));margin:auto}
.public-hero{background:linear-gradient(135deg,#effbff,#f1fff9);border-bottom:1px solid #dceaf1}
.public-hero--compact{padding:86px 0;text-align:center}
.public-hero--service{padding:70px 0}
.public-eyebrow{display:inline-block;margin-bottom:10px;color:var(--public-blue);font-weight:800;font-size:.9rem}
.public-hero h1{font-size:clamp(2rem,4vw,3.2rem);line-height:1.3;margin:0 0 15px;color:#10233a}
.public-hero p{max-width:760px;margin:0 auto;color:var(--public-muted);font-size:1.1rem}
.public-home-hero{padding:86px 0;background:linear-gradient(135deg,#eefaff 0%,#effff8 100%)}
.public-home-hero__inner{display:grid;grid-template-columns:1.25fr .75fr;align-items:center;gap:64px}
.public-home-hero h1{font-size:clamp(2.35rem,5vw,4rem);max-width:760px}
.public-home-hero p{margin:0;max-width:700px}
.public-home-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:28px}
.public-outline-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid #9bcfe2;border-radius:9px;background:#fff;color:var(--public-blue)!important;padding:12px 23px;font-weight:800}
.public-home-hero__card{display:flex;flex-direction:column;gap:12px;padding:32px;border-radius:22px;background:#153149;color:#fff;box-shadow:var(--public-shadow)}
.public-home-hero__card strong{font-size:1.35rem;color:#55e0b1;margin-bottom:5px}
.public-home-hero__card span{padding:11px 14px;border:1px solid rgba(255,255,255,.13);border-radius:10px;background:rgba(255,255,255,.06)}
.public-stats{background:#fff;border-bottom:1px solid var(--public-border)}
.public-stats__grid{display:grid;grid-template-columns:repeat(4,1fr)}
.public-stats__grid>div{padding:26px 18px;text-align:center;border-left:1px solid var(--public-border)}
.public-stats__grid>div:last-child{border-left:0}
.public-stats strong{display:block;color:var(--public-blue);font-size:1.8rem;line-height:1.2}.public-stats span{color:var(--public-muted)}
.public-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:34px}
.public-section-heading h2{font-size:clamp(1.7rem,3vw,2.35rem);line-height:1.4;margin:0}.public-section-heading>a{color:var(--public-blue);font-weight:800;white-space:nowrap}
.public-home-process{padding:72px 0;background:#102940;color:#fff}
.public-section-heading--light h2{color:#fff}.public-section-heading--light>a{color:#55e0b1}
.public-process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.public-process-grid article{padding:25px;border:1px solid rgba(255,255,255,.14);border-radius:15px;background:rgba(255,255,255,.05)}
.public-process-grid b{color:#55e0b1;font-size:1.3rem}.public-process-grid h3{margin:10px 0 7px}.public-process-grid p{margin:0;color:#bdcad5}
.public-major-list{display:flex;flex-wrap:wrap;gap:12px}.public-major-list span{padding:12px 20px;border:1px solid #b9dce9;border-radius:999px;background:#fff;color:#31536b;font-weight:700}
.public-home-portfolio{background:#eef5f9}
.public-section{padding:78px 0}
.public-grid{display:grid;gap:22px}
.public-grid--services{grid-template-columns:repeat(3,minmax(0,1fr))}
.service-card{display:flex;flex-direction:column;align-items:flex-start;min-height:310px;background:#fff;border:1px solid var(--public-border);border-radius:16px;padding:28px;box-shadow:0 8px 30px rgba(15,23,42,.05);transition:transform .2s,box-shadow .2s,border-color .2s}
.service-card:hover{transform:translateY(-5px);border-color:#9ddbf0;box-shadow:var(--public-shadow)}
.service-card__icon{display:grid;place-items:center;width:56px;height:56px;border-radius:14px;background:linear-gradient(135deg,#e6f8fe,#e7fff5);font-size:1.7rem;margin-bottom:20px}
.service-card__icon--large{width:82px;height:82px;font-size:2.4rem;flex:0 0 auto;margin:0}
.service-card__image{display:block;width:100%;height:175px;object-fit:cover;border-radius:12px;margin-bottom:20px;background:#edf5f8}
.service-card__hero-image{display:block;width:min(220px,40vw);height:150px;object-fit:cover;border-radius:18px;box-shadow:var(--public-shadow);flex:0 0 auto}
.service-card h2,.portfolio-card h2{font-size:1.25rem;line-height:1.45;margin:0 0 12px;color:#16283d}
.service-card p,.portfolio-card p,.detail-panel p{color:var(--public-muted);margin:0}
.service-card>a{margin-top:auto;padding-top:20px;color:var(--public-blue);font-weight:800}
.integrity-banner{padding:38px 0;background:#102940;color:#fff;text-align:center}
.integrity-banner strong{display:block;color:#55e0b1;font-size:1.25rem;margin-bottom:6px}
.integrity-banner p{max-width:850px;margin:auto;color:#dce8f2}
.public-service-heading{display:flex;align-items:center;gap:28px}
.public-service-heading p{margin:0;max-width:760px}
.breadcrumbs{display:flex;gap:8px;margin-bottom:10px;color:var(--public-blue);font-size:.9rem}
.service-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.detail-panel{background:#fff;border:1px solid var(--public-border);border-radius:18px;padding:34px;box-shadow:0 10px 32px rgba(15,23,42,.06)}
.detail-panel--accent{background:linear-gradient(145deg,#153149,#1f5271);color:#fff;border:0}
.detail-panel h2{margin:0 0 20px;font-size:1.4rem}
.check-list{list-style:none;padding:0;margin:0;display:grid;gap:14px}
.check-list li{position:relative;padding-right:30px}
.check-list li:before{content:'✓';position:absolute;right:0;top:0;display:grid;place-items:center;width:21px;height:21px;border-radius:50%;background:#dffaf0;color:#11845d;font-weight:800;font-size:.78rem}
.detail-panel--accent .check-list li:before{background:#45dca9;color:#102940}
.public-cta{padding:55px 0;background:#fff;border-top:1px solid var(--public-border)}
.public-cta>.public-container{display:flex;align-items:center;justify-content:space-between;gap:30px}
.public-cta h2{margin:0 0 6px;font-size:1.8rem}
.public-cta p{margin:0;color:var(--public-muted)}
.portfolio-filters{display:flex;justify-content:center;flex-wrap:wrap;gap:9px;margin-bottom:35px}
.portfolio-filters button{border:1px solid var(--public-border);background:#fff;border-radius:999px;padding:9px 18px;font:700 .9rem Tajawal;color:#52657a;cursor:pointer}
.portfolio-filters button.is-active{background:var(--public-blue);border-color:var(--public-blue);color:#fff}
.public-grid--portfolio{grid-template-columns:repeat(3,minmax(0,1fr))}
.portfolio-card{overflow:hidden;background:#fff;border:1px solid var(--public-border);border-radius:19px;box-shadow:0 10px 32px rgba(15,23,42,.07);transition:transform .25s,box-shadow .25s,border-color .25s}
.portfolio-card:hover{transform:translateY(-6px);border-color:#abdce9;box-shadow:0 22px 48px rgba(23,48,71,.14)}
.portfolio-card__preview{position:relative;display:grid;place-items:center;height:240px;overflow:hidden;background:radial-gradient(circle at 80% 10%,rgba(255,255,255,.85),transparent 35%),linear-gradient(135deg,#dff7ff,#dffcef);font-size:4rem}
.portfolio-card__preview.has-media{background:#e8f0f4}
.portfolio-card__preview>img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s}
.portfolio-card:hover .portfolio-card__preview>img{transform:scale(1.035)}
.portfolio-card__fallback{filter:drop-shadow(0 12px 18px rgba(23,48,71,.15))}
.portfolio-document-cover{width:145px;height:190px;padding:22px 16px 16px;border-radius:5px 14px 14px 5px;background:linear-gradient(145deg,#173047,#2f78ad);color:#fff;box-shadow:-9px 11px 0 #c8dce6,0 18px 30px rgba(23,48,71,.25);display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;position:relative;overflow:hidden}
.portfolio-document-cover:before{content:'';position:absolute;inset:0;border-right:5px solid rgba(255,255,255,.16);background:linear-gradient(135deg,rgba(57,223,170,.28),transparent 45%)}
.portfolio-document-cover span,.portfolio-document-cover b,.portfolio-document-cover small{position:relative;z-index:1}.portfolio-document-cover span{font-size:2rem;margin-bottom:auto}.portfolio-document-cover b{font-size:.78rem;color:#55e0b1}.portfolio-document-cover small{font-size:.74rem;line-height:1.45;margin-top:5px;max-height:3.1em;overflow:hidden}
.portfolio-type-badge{position:absolute;top:14px;left:14px;padding:5px 10px;border-radius:999px;background:rgba(15,34,54,.86);color:#fff;font:700 .73rem Tajawal;font-style:normal;backdrop-filter:blur(5px)}
.portfolio-card__body{padding:25px;display:flex;flex-direction:column;align-items:flex-start;min-height:235px}
.portfolio-card__body>span{display:inline-block;color:var(--public-blue);font-size:.82rem;font-weight:800;margin-bottom:8px}
.portfolio-open-button{display:inline-flex;align-items:center;gap:7px;margin-top:auto;padding-top:19px;color:var(--public-blue)!important;font-weight:800}.portfolio-open-button span{font-size:1.05rem}
.public-card-link{display:inline-block;margin-top:18px;color:var(--public-blue)!important;font-weight:800}
.public-article-shell{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.7fr);gap:24px;align-items:start}
.public-article p{font-size:1.08rem;line-height:2;margin:0 0 22px}.public-article p:last-child{margin-bottom:0}
.contact-details{margin-bottom:42px;padding:30px;border:1px solid #dce7ed;border-radius:24px;background:linear-gradient(135deg,#fff,#f3fbfb);box-shadow:0 18px 45px rgba(15,42,65,.08)}.contact-details h2{margin:8px 0 24px;color:#102c47}.contact-details__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.contact-detail-card{display:flex;align-items:center;gap:14px;padding:17px;border:1px solid #dbe7ec;border-radius:16px;background:#fff}.contact-detail-card>span{display:grid;place-items:center;flex:0 0 42px;height:42px;border-radius:12px;background:#e1f8f5;color:#078d86;font-size:1.3rem}.contact-detail-card div{display:flex;min-width:0;flex-direction:column;gap:3px}.contact-detail-card small{color:#718398}.contact-detail-card a,.contact-detail-card strong{color:#12314e;font-weight:800;overflow-wrap:anywhere}.contact-social{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.contact-social a{padding:9px 15px;border:1px solid #b8deda;border-radius:999px;background:#fff;color:#087d79;font-weight:800}.contact-social a:hover{background:#087d79;color:#fff}
.public-article-cover{display:block;width:100%;max-height:520px;object-fit:cover;margin:32px 0 0;border-radius:24px;border:1px solid rgba(255,255,255,.35);box-shadow:0 22px 55px rgba(15,42,65,.18)}
.public-article-shell .detail-panel--accent p{color:#dce8f2;margin-bottom:24px}
.public-footer{display:grid;grid-template-columns:1.25fr .7fr 1fr;gap:55px;padding:55px max(28px,calc((100% - 1120px)/2));background:#0f2236;color:#d8e2ed}
.public-footer h2{font-size:1.05rem;color:#fff;margin:0 0 14px}
.public-footer p{color:#aebdca;max-width:430px}
.public-footer>div{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.public-brand--footer{align-items:flex-start;min-width:0}
.public-brand--footer img{filter:brightness(0) invert(1)}
@media(max-width:1050px){.public-header__inner{grid-template-columns:auto auto 1fr;min-height:82px}.public-menu-toggle{display:block}.public-nav{display:none;position:absolute;top:82px;right:0;left:0;height:auto;background:#fff;padding:14px;box-shadow:var(--public-shadow);flex-direction:column}.public-nav.is-open{display:flex}.public-nav>a,.public-nav__dropdown>a{min-height:48px;padding:8px 14px}.public-nav__dropdown{display:block}.public-nav__mega{position:static;width:100%;opacity:1;visibility:visible;transform:none;display:none;grid-template-columns:1fr}.public-nav__dropdown:focus-within .public-nav__mega,.public-nav__dropdown:hover .public-nav__mega{display:grid}.public-auth{justify-self:end}.public-grid--services{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.public-header__inner{width:min(100% - 20px,1120px);gap:10px}.public-brand{min-width:90px}.public-brand img{width:95px}.public-brand span{display:none}.public-auth__login{display:none}.public-button--small{padding:8px 11px;font-size:.78rem}.public-hero--compact,.public-hero--service{padding:55px 0}.public-grid--services,.public-grid--portfolio,.service-detail-grid,.public-footer{grid-template-columns:1fr}.public-section{padding:48px 0}.public-service-heading{align-items:flex-start;flex-direction:column}.service-card__hero-image{width:100%;height:190px}.public-cta>.public-container{align-items:flex-start;flex-direction:column}.public-footer{padding:45px 24px;gap:32px}}
@media(max-width:1050px){.public-home-hero__inner{grid-template-columns:1fr;gap:35px}.public-process-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.public-home-hero{padding:55px 0}.public-process-grid{grid-template-columns:1fr}.public-section-heading{align-items:flex-start;flex-direction:column}.public-stats__grid{grid-template-columns:1fr 1fr}.public-stats__grid>div:nth-child(2){border-left:0}.public-stats__grid>div{border-bottom:1px solid var(--public-border)}}
@media(max-width:800px){.public-article-shell{grid-template-columns:1fr}}

/* ============================================================
   شبكة أمان للشاشات الضيقة (≤ 414px تحديداً)
   Chrome في وضع headless لا ينزل تحت 512px، فهذه القواعد مكتوبة
   لتمنع الفيض الأفقي بالبناء لا بالقياس: كل عنصر قابل للانكماش،
   ولا عنصر يفرض عرضاً أكبر من الشاشة.
   ============================================================ */
img, svg, video, iframe, canvas { max-width: 100%; height: auto }

/* أبناء الشبكة والمرن عرضهم الأدنى auto افتراضياً، فكلمة طويلة
   أو رابط بلا مسافات يوسّع العمود أكثر من الشاشة. */
.public-grid > *, .public-footer > *, .public-stats__grid > *,
.public-process-grid > *, .public-home-hero__inner > * { min-width: 0 }

.public-site { overflow-wrap: anywhere }
.public-site table { display: block; max-width: 100%; overflow-x: auto }

@media (max-width: 420px) {
  .public-header__inner { width: min(100% - 16px, 1120px); gap: 8px }
  .public-container { width: min(1120px, calc(100% - 24px)) }
  .public-home-hero h1 { font-size: clamp(1.6rem, 8vw, 2.35rem) }
  .public-home-hero__card { padding: 20px }
  .public-stats__grid { grid-template-columns: 1fr }
  .public-stats__grid > div { border-left: 0 }
  .portfolio-document-cover { width: min(145px, 42vw); height: auto; aspect-ratio: 145 / 190 }
  .public-button, .public-button--small { white-space: normal }
  .public-nav > a, .public-nav__dropdown > a { white-space: normal }
  .public-footer { padding: 36px 18px }
}
