/* InfinityX visual refinement: existing palette, fonts and identity. */
:root { --shadow-sm:0 3px 12px rgba(17,24,39,.06); --shadow-md:0 10px 28px rgba(17,24,39,.08); --shadow-lg:0 18px 48px rgba(17,24,39,.1); --shadow-xl:0 24px 64px rgba(17,24,39,.12); }
#header { background:#111827 !important; box-shadow:0 8px 24px rgba(17,24,39,.16) !important; }
#header .header-inner { box-shadow:none; }
#header .nav-link, #header .brand-name, #header .brand-tagline { color:#f7f8fa !important; -webkit-text-fill-color:#f7f8fa; text-shadow:none !important; }
#header .nav-link.active { color:var(--gold-light) !important; -webkit-text-fill-color:var(--gold-light); }
#header .nav-toggle span { background:#fff !important; }
#header .dropdown-panel { box-shadow:0 14px 35px rgba(17,24,39,.17); }
#header .brand-ring { opacity:.35; }
.brand-logo { filter:none !important; }
.ix-line-icon { width:30px; height:30px; display:block; margin:auto; color:#a8882b; }
.service-card,.why-card,.value-card,.vision-mission-card,.project-card-large,.portfolio-item,.news-item,.team-member,.service-detail-card { border-color:rgba(17,24,39,.08) !important; box-shadow:var(--shadow-md) !important; }
.service-card,.why-card,.value-card { border-radius:18px; }
.service-detail-card { border-radius:18px; }
.team-image img { object-fit:cover; }
.section-title,.page-title { letter-spacing:-.035em; line-height:1.18; }
.section-subtitle { max-width:730px; margin-left:auto; margin-right:auto; line-height:1.8; }
.page-hero { position:relative; overflow:hidden; background:linear-gradient(135deg,#f5f5f7,#faf6ea); border-bottom:1px solid rgba(184,148,31,.14); }
.page-hero::after { content:""; position:absolute; inset:0; pointer-events:none; background-image:linear-gradient(rgba(184,148,31,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(184,148,31,.05) 1px,transparent 1px); background-size:42px 42px; mask-image:linear-gradient(90deg,transparent 40%,#000); }
.page-hero .container { position:relative; z-index:1; }
.page-hero .page-title { color:#17202e; text-shadow:none; }
.page-hero .page-subtitle,.page-hero p { color:#596171; text-shadow:none; }
.btn { border-radius:10px; transition:transform .2s,box-shadow .2s,background-color .2s; }
.btn-primary { background:linear-gradient(135deg,var(--gold-light),var(--gold)); color:#17202e; box-shadow:0 6px 18px rgba(184,148,31,.15); }
.btn-secondary { border-color:rgba(212,175,55,.65); }
.form-input,.form-select,.form-textarea { border-radius:10px; border-width:1px; border-color:#d8dde3; }
.application-form,.application-form .form-grid,.application-form .form-group { min-width:0; }
.application-form .form-input,.application-form .form-select { max-width:100%; min-width:0; }
.form-card .form-note { color:#596171; }
.application-form .form-success { color:#145c35; background:#edf8f0; border-color:#b8ddc3; }
:where(a,button,input,select,textarea):focus-visible { outline:2px solid #b8941f; outline-offset:4px; }
.form-input:focus,.form-select:focus,.form-textarea:focus { border-color:#a8882b; box-shadow:0 0 0 3px rgba(212,175,55,.13); }
.hero-new { isolation:isolate; }
.hero-new .hero-shell.hero-content { background:transparent; border:0; box-shadow:none; backdrop-filter:none; -webkit-backdrop-filter:none; animation:none; border-radius:0; max-width:1320px; width:100%; padding:48px 32px; }
.hero-new .hero-content::before,.hero-new .hero-content::after { display:none; }
.hero-new .hero-heading { max-width:780px; }
.hero-new .hero-badges { max-width:760px; }
.hero-new .hero-overlay { background:linear-gradient(90deg,rgba(9,15,25,.86),rgba(9,15,25,.62)) !important; }
.hero-new .hero-heading,.hero-new .hero-subtitle-new,.hero-new .eyebrow { color:#fff !important; text-shadow:none !important; }
.hero-new .hero-subtitle-new { color:#e1e5ed !important; line-height:1.8; max-width:680px; }
.hero-new .hero-badges .badge { color:#eee4ca; border:1px solid rgba(212,175,55,.3); background:rgba(17,24,39,.52); border-radius:8px; }
.ix-blueprint { position:absolute; right:3%; top:16%; width:31%; height:68%; opacity:.46; pointer-events:none; z-index:1; }
.ix-blueprint svg { width:100%; height:100%; overflow:visible; }
.ix-blueprint .draw { stroke-dasharray:1800; stroke-dashoffset:1800; animation:ix-draw 2.4s ease forwards .4s; }
@keyframes ix-draw { to {stroke-dashoffset:0;} }
.ix-progress { position:fixed; top:0; left:0; height:2px; width:0; background:var(--gold); z-index:10002; pointer-events:none; }
.ix-skip-link { position:fixed; top:10px; left:15px; z-index:10003; transform:translateY(-160%); background:#fff; color:#111827; padding:12px 18px; border-radius:8px; }
.ix-skip-link:focus { transform:none; }
.ix-preview-note { margin:16px 0; padding:14px 16px; border-radius:10px; border:1px solid #e8d7b4; background:#faf6eb; color:#65542f; font-size:.84rem; line-height:1.6; }
.assistant-choice { position:relative; }
.assistant-choice.selected::after { content:"✓"; position:absolute; top:12px; right:12px; color:#96761e; font-weight:700; }
.assistant-log { scroll-behavior:smooth; }
.assistant-progress-fill { transition:width .35s ease; }
.assistant-bubble { animation:ix-chat-in .25s ease both; }
@keyframes ix-chat-in { from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;} }
.assistant-send { border-top:1px solid #e7e8eb; margin-top:20px; padding-top:20px; }
.assistant-result { box-shadow:0 6px 20px rgba(184,148,31,.06); }
.filter-btn { border-radius:999px; }
.portfolio-item[hidden] { display:none !important; }
.detail-unavailable { color:#d8c490; font-size:.84rem; }
.footer { border-top:1px solid rgba(212,175,55,.2); }
@media(hover:hover) and (pointer:fine) {
 .btn:hover { transform:translateY(-2px); }
 .service-card:hover,.why-card:hover,.value-card:hover,.team-member:hover { transform:translateY(-4px); box-shadow:var(--shadow-lg) !important; }
 .project-image-img { transition:transform .45s ease; }
 .project-card-large:hover .project-image-img { transform:scale(1.025); }
}
@media(min-width:1100px) { .hero-new .hero-shell { align-items:flex-start; text-align:left; } .hero-new .hero-badges { justify-content:flex-start; } }
@media(max-width:1099px) { .ix-blueprint { display:none; } }
@media(max-width:1024px) { #header .nav-toggle { display:inline-flex; } .header-inner { border-radius:16px; } #header .nav-list { background:#111827; backdrop-filter:none; -webkit-backdrop-filter:none; } }
@media(max-width:600px) { .page-title { font-size:2.3rem; } .hero-new .hero-heading { font-size:clamp(2.25rem,9vw,3rem); } .hero-new .hero-badges { gap:8px; } .hero-new .hero-badges .badge { font-size:.68rem; padding:7px 9px; } .assistant-top small { max-width:170px; } .service-detail-card { padding:22px; } }
@media(prefers-reduced-motion:reduce) { .ix-blueprint .draw{animation:none;stroke-dasharray:none;stroke-dashoffset:0;} .assistant-bubble{animation:none;} .assistant-log{scroll-behavior:auto;} .btn,.project-image-img{transition:none;} }
@media print { #header,.footer,.ix-progress,.ix-blueprint,.assistant-controls,.assistant-restart,.assistant-send{display:none !important;} .assistant-page{padding:0;} .assistant-layout{display:block;} .assistant-side{position:static;color:#111;background:white;} }

/* Keep portraits centered on the face, with source-specific framing. */
.team-image img { object-position:50% 0%; }
.team-image img[src*="Mahdy Mahmoud.png"] { object-position:50% 10%; }
.team-image img[src*="asad.JPG"] { object-position:50% 55%; }
/* Short entrances keep headings and their cards visually connected. */
.fade-in-up { transform:translateY(24px); transition-duration:.65s; }
.fade-in,.slide-in,.slide-in-left,.slide-in-right { transition-duration:.65s; }
@media(prefers-reduced-motion:reduce) {
 .fade-in-up,.fade-in,.slide-in,.slide-in-left,.slide-in-right { opacity:1 !important; transform:none !important; transition:none !important; }
}

/* Leadership profiles: a consistent portrait, role and readable biography. */
.team-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; align-items:stretch; }
.team-member { position:relative; display:flex; flex-direction:column; padding:30px 26px 28px; border:1px solid #e4e5e8; border-radius:20px; background:linear-gradient(180deg,#171e2d 0,#171e2d 116px,#fff 116px,#fff 100%); overflow:hidden; }
.team-image { flex-shrink:0; width:172px; height:172px; margin:0 auto 24px; border:3px solid #cfb873; box-shadow:0 0 0 6px #fff,0 12px 24px rgba(17,24,39,.12); }
.team-info { display:flex; flex-direction:column; flex:1; min-width:0; }
.team-name { font-size:1.22rem; line-height:1.35; margin:0 0 8px; letter-spacing:-.025em; }
.team-role { color:#806321; font-size:.8rem; font-weight:600; line-height:1.55; min-height:42px; display:flex; justify-content:center; align-items:flex-start; margin:0 0 18px; }
.team-bio { text-align:left; font-size:.85rem; line-height:1.8; opacity:1; color:#596171; border-top:1px solid #e9e7df; margin:0; padding-top:18px; }
.team-placeholder { font-family:var(--font-heading); font-size:2.8rem; letter-spacing:.06em; color:#e5ce91; }
@media(max-width:1100px) { .team-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; } }
@media(max-width:700px) { .team-grid { grid-template-columns:1fr; gap:24px; } .team-member { padding:28px 24px; max-width:450px; width:100%; margin-inline:auto; } .team-role { min-height:0; } .team-bio { font-size:.87rem; } }
@media(hover:hover) and (pointer:fine) { .team-member:hover { border-color:#cfb873 !important; } }

/* One gold-framed header across every page and background state. */
#header { background:#111827 !important; border-bottom:0 !important; backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); }
#header .header-inner { background:#171e2d !important; border:2px solid #d4af37 !important; border-radius:18px; box-shadow:0 0 0 1px rgba(212,175,55,.12); }
#header .nav-list { background-color:transparent; }
@media(max-width:1024px) { #header .nav-list { background-color:#111827; } }
