:root{--color-primary: #2e7d32;--color-primary-rgb: 46, 125, 50;--color-bg: #eff5f1;--color-surface: #ffffff;--color-text: #1a1a1a;--color-text-muted: rgba(0, 0, 0, .54);--color-text-soft: rgba(0, 0, 0, .87);--glass-border: rgba(255, 255, 255, .25);--glass-a: rgba(255, 255, 255, .18);--glass-b: rgba(255, 255, 255, .1);--nav-height: 4rem;--section-gap: clamp(1.25rem, 3vw, 1.5rem);--page-padding-x: clamp(1rem, 4vw, 3rem);--page-padding-y: clamp(1.25rem, 3vw, 1.5rem);--radius-card: clamp(1.25rem, 2.5vw, 1.75rem);--radius-tile: clamp(.75rem, 1.5vw, 1rem);--avatar-size: clamp(4.25rem, 9vw, 5.5rem);--icon-sm: clamp(.875rem, 2vw, 1rem);--icon-md: clamp(1rem, 2.2vw, 1.25rem);--icon-lg: clamp(1.125rem, 2.5vw, 1.375rem);--font-family: "Poppins", system-ui, -apple-system, sans-serif;--shadow-soft: 0 8px 18px rgba(0, 0, 0, .05);--shadow-card: 0 5px 12px rgba(0, 0, 0, .03);--transition-fast: .18s ease-out;--transition-smooth: .6s cubic-bezier(.65, 0, .35, 1);--transition-elegant: .55s cubic-bezier(.22, 1, .36, 1);--max-content: 75rem;--color-nav-bg: rgba(255, 255, 255, .92);--color-nav-link: var(--color-primary);--color-nav-link-active: var(--color-primary);--color-image-card-bg: #f1f5f3;--color-divider: rgba(0, 0, 0, .08);--color-label-bg: rgba(255, 255, 255, .95)}[data-theme=dark]{--color-primary: #8fd693;--color-primary-rgb: 143, 214, 147;--color-bg: #0c100e;--color-surface: #1a2420;--color-text: #f2f5f3;--color-text-muted: rgba(242, 245, 243, .72);--color-text-soft: rgba(242, 245, 243, .94);--glass-border: rgba(255, 255, 255, .12);--glass-a: rgba(255, 255, 255, .08);--glass-b: rgba(255, 255, 255, .04);--shadow-soft: 0 8px 18px rgba(0, 0, 0, .4);--shadow-card: 0 5px 12px rgba(0, 0, 0, .3);--color-nav-bg: rgba(12, 16, 14, .96);--color-nav-link: rgba(242, 245, 243, .82);--color-nav-link-active: #b8f0bc;--color-image-card-bg: #1a2620;--color-divider: rgba(255, 255, 255, .14);--color-label-bg: #222e28}html[lang=ar] body{font-family:Cairo,Poppins,system-ui,-apple-system,sans-serif}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}body{margin:0;min-height:100dvh;font-family:var(--font-family);font-size:clamp(.9375rem,1.8vw,1rem);font-weight:400;line-height:1.55;color:var(--color-text);background-color:var(--color-bg);background-image:radial-gradient(ellipse 80% 50% at 10% -10%,rgba(var(--color-primary-rgb),.12),transparent 55%),radial-gradient(ellipse 60% 40% at 95% 5%,rgba(var(--color-primary-rgb),.08),transparent 50%);-webkit-font-smoothing:antialiased;overflow-x:hidden}body.drawer-open{overflow:hidden}#root{min-height:100dvh}img{max-width:100%;display:block}button{font-family:inherit;cursor:pointer}a{color:inherit}.glass-card{position:relative;border-radius:var(--radius-card);overflow:hidden;border:1px solid var(--glass-border);background:linear-gradient(135deg,var(--glass-a),var(--glass-b));box-shadow:var(--shadow-card);backdrop-filter:blur(48px);-webkit-backdrop-filter:blur(48px)}.glass-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,rgba(255,255,255,.2) 0%,transparent 35%,transparent 70%,rgba(0,0,0,.06) 100%)}[data-theme=dark] .glass-card:before{background:linear-gradient(135deg,rgba(255,255,255,.06) 0%,transparent 40%,transparent 70%,rgba(0,0,0,.2) 100%)}.glass-card__shine{position:absolute;top:0;left:0;right:0;height:3.75rem;pointer-events:none;background:linear-gradient(to bottom,rgba(255,255,255,.16),transparent)}.glass-card__body{position:relative;padding:clamp(1rem,2.5vw,1.125rem)}.glass-card__title{margin:0 0 .75rem;font-size:clamp(1.125rem,2.5vw,1.25rem);font-weight:700;color:var(--color-text)}.site-nav{position:sticky;top:0;z-index:100;height:var(--nav-height);display:flex;align-items:center;justify-content:space-between;padding:0 var(--page-padding-x);gap:.75rem;background:var(--color-nav-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(var(--color-primary-rgb),.08);box-shadow:0 1px #0000000a}.site-nav__center{flex:1;display:flex;justify-content:center;min-width:0}.site-nav__actions{display:flex;align-items:center;gap:.375rem;flex-shrink:0}.prefs-toolbar{display:flex;align-items:center;gap:.25rem}.prefs-toolbar__btn{display:inline-flex;align-items:center;justify-content:center;gap:.25rem;min-width:2.25rem;height:2.25rem;padding:0 .5rem;border:1px solid rgba(var(--color-primary-rgb),.2);border-radius:.625rem;background:rgba(var(--color-primary-rgb),.08);color:var(--color-primary);transition:background var(--transition-fast)}.prefs-toolbar__btn:hover{background:rgba(var(--color-primary-rgb),.14)}.prefs-toolbar__btn--lang{font-size:.75rem;font-weight:800}.prefs-toolbar__lang-label{line-height:1}.site-nav__brand{font-size:clamp(.9375rem,2vw,1.125rem);font-weight:700;color:var(--color-primary);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:min(14rem,55vw)}.site-nav__links{display:flex;align-items:center;gap:clamp(.125rem,.5vw,.25rem);list-style:none;margin:0;padding:0}.site-nav__link{position:relative;padding:.5rem clamp(.5rem,1.2vw,.75rem);font-size:clamp(.8125rem,1.6vw,.9375rem);font-weight:600;color:var(--color-nav-link);background:none;border:none;border-radius:.5rem;transition:background var(--transition-fast),color var(--transition-fast)}.site-nav__link:hover{background:rgba(var(--color-primary-rgb),.08);color:var(--color-nav-link-active)}.site-nav__link.is-active{color:var(--color-nav-link-active);font-weight:700}.site-nav__link.is-active:after{content:"";position:absolute;left:50%;bottom:.2rem;transform:translate(-50%);width:1.25rem;height:2px;border-radius:999px;background:var(--color-primary)}.site-nav__menu-btn{display:none;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border:none;border-radius:.75rem;background:rgba(var(--color-primary-rgb),.1);color:var(--color-primary)}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0006;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.drawer{position:fixed;top:0;inset-inline-start:0;z-index:201;width:min(18rem,85vw);height:100dvh;background:var(--color-surface);box-shadow:4px 0 24px #0000001f;display:flex;flex-direction:column;padding:1rem 0}[dir=rtl] .drawer{box-shadow:-4px 0 24px #0000001f}.drawer__top{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.75rem 1rem .5rem}.drawer__header{margin:0;font-size:1rem;font-weight:800}.drawer__divider{margin:0 0 .5rem;border:none;border-top:1px solid var(--color-divider)}.drawer__link{display:block;width:100%;padding:.875rem 1rem;text-align:start;font-size:1rem;font-weight:700;color:var(--color-text-soft);background:none;border:none;border-inline-start:3px solid transparent;transition:background var(--transition-fast),border-color var(--transition-fast)}.drawer__link:hover,.drawer__link.is-active{background:rgba(var(--color-primary-rgb),.06);border-inline-start-color:var(--color-primary);color:var(--color-primary)}.page{max-width:var(--max-content);margin:0 auto;padding:var(--page-padding-y) var(--page-padding-x) calc(var(--page-padding-y) + 2rem)}.page__sections{display:flex;flex-direction:column;gap:var(--section-gap)}.profile-header__inner{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.625rem}.profile-header__info{display:flex;flex-direction:column;align-items:center}@media(min-width:900px){.profile-header__inner{flex-direction:row;align-items:center;text-align:left;gap:1.5rem}.profile-header__info{align-items:flex-start}}.avatar-btn{padding:0;border:none;background:none;border-radius:50%;cursor:zoom-in;flex-shrink:0;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.avatar-btn:hover{transform:scale(1.03);box-shadow:0 8px 24px rgba(var(--color-primary-rgb),.2)}.avatar-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:4px}.avatar-frame{position:relative;display:block;width:var(--avatar-size);height:var(--avatar-size);border-radius:50%;overflow:hidden;flex-shrink:0}.lazy-image-frame{position:relative;display:block;width:100%;height:100%}.image-card__skeleton.avatar{position:relative;inset:auto;width:var(--avatar-size);height:var(--avatar-size);border-radius:50%;flex-shrink:0;border:2px solid rgba(var(--color-primary-rgb),.2)}.image-card__skeleton.avatar span{display:none}.avatar,.avatar-frame .image-card__img{width:100%;height:100%;border-radius:50%;object-fit:cover;background:rgba(var(--color-primary-rgb),.15);border:2px solid rgba(var(--color-primary-rgb),.2)}.avatar--placeholder{display:flex;align-items:center;justify-content:center;color:var(--color-primary)}.profile-header__name{margin:0;font-size:clamp(1.25rem,3.5vw,1.5rem);font-weight:700;line-height:1.25}.profile-header__title{margin:.25rem 0 0;font-size:clamp(1rem,2.2vw,1.125rem);font-weight:500;color:var(--color-text-muted)}.location-badge{display:inline-flex;align-items:center;gap:.625rem;padding:.5rem .75rem;border-radius:999px;background:linear-gradient(135deg,rgba(var(--color-primary-rgb),.1),rgba(var(--color-primary-rgb),.05));border:1px solid rgba(var(--color-primary-rgb),.22);box-shadow:0 3px 10px rgba(var(--color-primary-rgb),.08)}.location-badge__icon-wrap{width:clamp(1.5rem,3.5vw,1.75rem);height:clamp(1.5rem,3.5vw,1.75rem);border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(var(--color-primary-rgb),.14);color:var(--color-primary);flex-shrink:0}.location-badge__district{font-weight:700;font-size:clamp(.8125rem,1.8vw,.9375rem)}.location-badge__dot{width:4px;height:4px;border-radius:50%;background:rgba(var(--color-primary-rgb),.45)}.location-badge__city{font-weight:600;font-size:clamp(.8125rem,1.8vw,.9375rem);color:var(--color-text-muted)}.skills-grid{display:grid;gap:1rem}@media(min-width:900px){.skills-grid{grid-template-columns:1fr 1fr}}.skill-group__label{margin:0 0 .5rem;font-size:clamp(1rem,2vw,1.0625rem);font-weight:700}.skill-pills{display:flex;flex-wrap:wrap;gap:.625rem}.skill-pill{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:.875rem;background:rgba(var(--color-primary-rgb),.08);border:1px solid rgba(var(--color-primary-rgb),.25);font-size:clamp(.8125rem,1.6vw,.9375rem);font-weight:600;color:var(--color-text-soft)}.skill-pill__icon{width:clamp(1.25rem,2.8vw,1.375rem);height:clamp(1.25rem,2.8vw,1.375rem);border-radius:999px;display:flex;align-items:center;justify-content:center;background:rgba(var(--color-primary-rgb),.12);color:var(--color-primary);flex-shrink:0}.experience-grid{display:grid;gap:1rem}@media(min-width:900px){.experience-grid{grid-template-columns:1fr 1fr}}.timeline-block__heading{display:flex;align-items:center;gap:.5rem;margin:0 0 .625rem;font-size:clamp(1.0625rem,2.2vw,1.25rem);font-weight:800}.timeline-block__dot{width:.625rem;height:.625rem;border-radius:50%;background:var(--color-primary);flex-shrink:0}.timeline-card{display:flex;gap:.75rem;padding:.875rem;margin-bottom:.75rem;border-radius:1rem;border:1px solid rgba(255,255,255,.22);background:linear-gradient(135deg,#ffffff05,rgba(var(--color-primary-rgb),.02));box-shadow:0 6px 14px #0000000a}.timeline-card__icon{width:clamp(2rem,4vw,2.25rem);height:clamp(2rem,4vw,2.25rem);border-radius:.75rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:rgba(var(--color-primary-rgb),.12);border:1px solid rgba(var(--color-primary-rgb),.25);color:var(--color-primary)}.timeline-card__role{margin:0;font-weight:800;font-size:clamp(1rem,2vw,1.125rem)}.timeline-card__org{margin:.125rem 0 0;font-weight:700;font-size:clamp(.9375rem,1.8vw,1rem)}.timeline-card__meta{margin:.125rem 0 0;font-weight:600;font-size:clamp(.875rem,1.6vw,1rem)}.timeline-card__loc{margin:.125rem 0 0;font-weight:500;font-size:clamp(.875rem,1.6vw,1rem)}.image-grid{display:grid;gap:1rem}.masonry{columns:2;column-gap:1rem}.masonry__item{break-inside:avoid;margin-bottom:1rem}@media(min-width:600px){.masonry{columns:3}}@media(min-width:900px){.masonry{columns:4}}@media(min-width:1200px){.masonry{columns:5}}@media(min-width:1400px){.masonry{columns:6}}.image-card{display:block;width:100%;padding:0;border:1px solid rgba(255,255,255,.28);border-radius:var(--radius-tile);overflow:hidden;background:var(--color-image-card-bg);color:var(--color-text);cursor:zoom-in;text-align:left;box-shadow:0 6px 14px #0000000f;transition:transform var(--transition-elegant),box-shadow var(--transition-elegant),border-color var(--transition-elegant)}[data-theme=dark] .image-card{border-color:#ffffff24;box-shadow:0 6px 14px #00000047}.image-card:hover{transform:translateY(-4px);box-shadow:0 16px 32px #0000001f;border-color:rgba(var(--color-primary-rgb),.28)}[data-theme=dark] .image-card:hover{box-shadow:0 16px 32px #0000006b}.image-card:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.image-card__media{position:relative;aspect-ratio:3 / 4;overflow:hidden}.image-card__media--labeled{aspect-ratio:3 / 3.5}.image-card__img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-elegant)}.image-card:hover .image-card__img{transform:scale(1.035)}.image-card__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#ffffff14,rgba(var(--color-primary-rgb),.08));pointer-events:none;opacity:1;transition:opacity var(--transition-elegant)}.image-card:hover .image-card__overlay{opacity:.35}.image-card__label{padding:.625rem .75rem;background:var(--color-label-bg);border-top:1px solid var(--color-divider);color:var(--color-text);font-size:clamp(.8125rem,1.6vw,.84375rem);font-weight:600;text-align:center;line-height:1.35;letter-spacing:.02em;transition:background var(--transition-elegant),color var(--transition-elegant)}.image-card:hover .image-card__label{background:rgba(var(--color-primary-rgb),.08)}.image-card__skeleton{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;background:var(--color-image-card-bg);color:var(--color-text-muted);font-size:.75rem}.image-card__skeleton--quiet{gap:0}.image-card__shimmer{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(105deg,transparent 40%,rgba(var(--color-primary-rgb),.07) 50%,transparent 60%);background-size:220% 100%;animation:shimmer 1.6s ease-in-out infinite}@keyframes shimmer{0%{background-position:120% 0}to{background-position:-120% 0}}.image-card__spinner{width:clamp(1.5rem,3vw,1.875rem);height:clamp(1.5rem,3vw,1.875rem);border:2px solid rgba(var(--color-primary-rgb),.2);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.contact-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(8.75rem,1fr));gap:.625rem}.action-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:2.75rem;padding:.625rem 1rem;border:1px solid transparent;border-radius:999px;font-size:clamp(.8125rem,1.5vw,.875rem);font-weight:600;text-decoration:none;white-space:nowrap;cursor:pointer;transition:transform var(--transition-elegant),box-shadow var(--transition-elegant),filter var(--transition-elegant),background var(--transition-elegant)}.action-btn:hover{transform:translateY(-2px);filter:brightness(1.04)}.action-btn:active{transform:translateY(0)}.action-btn:focus-visible{outline:2px solid currentColor;outline-offset:2px}.action-btn__icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;line-height:0}.action-btn__icon svg{width:1.125rem;height:1.125rem;stroke-width:2.25}.action-btn--whatsapp{background:#25d36624;color:#16a34a;border-color:#25d36647;box-shadow:0 2px 8px #25d3661f}.action-btn--email{background:rgba(var(--color-primary-rgb),.14);color:var(--color-primary);border-color:rgba(var(--color-primary-rgb),.28);box-shadow:0 2px 8px rgba(var(--color-primary-rgb),.1)}.action-btn--cv{background:#d32f2f1f;color:#c62828;border-color:#d32f2f42;box-shadow:0 2px 8px #d32f2f1a}.action-btn--call{background:#607d8b24;color:#546e7a;border-color:#607d8b47;box-shadow:0 2px 8px #607d8b1a}[data-theme=dark] .action-btn--whatsapp{color:#4ade80}[data-theme=dark] .action-btn--email{color:#8fd693}[data-theme=dark] .action-btn--cv{color:#f87171}[data-theme=dark] .action-btn--call{color:#94a3b8}@media(min-width:900px){.contact-actions{grid-template-columns:repeat(4,minmax(0,1fr))}}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;display:flex;flex-direction:column;background:#000000f0}.lightbox__toolbar{display:flex;align-items:center;justify-content:space-between;padding:.75rem var(--page-padding-x);flex-shrink:0}.lightbox__title{color:#fff;font-weight:600;font-size:clamp(.9375rem,2vw,1rem)}.lightbox__close{display:flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border:none;border-radius:50%;background:#ffffff1f;color:#fff}.lightbox__stage{flex:1;display:flex;align-items:center;justify-content:center;padding:.5rem var(--page-padding-x) 1.5rem;overflow:hidden;touch-action:none}.lightbox__img-wrap{max-width:min(96vw,72rem);max-height:calc(100dvh - 6rem);overflow:auto;cursor:grab}.lightbox__img-wrap:active{cursor:grabbing}.lightbox__img{max-width:100%;max-height:calc(100dvh - 6rem);width:auto;height:auto;margin:0 auto;object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.page-state{min-height:calc(100dvh - var(--nav-height));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem}.page-state__spinner{width:2.5rem;height:2.5rem;border:3px solid rgba(var(--color-primary-rgb),.2);border-top-color:var(--color-primary);border-radius:50%;animation:spin .9s linear infinite}.empty-hint{text-align:center;color:var(--color-text-muted);padding:1.5rem}@media(max-width:899px){.site-nav__center{display:none}.site-nav__menu-btn{display:flex}}@media(min-width:900px){.site-nav__menu-btn{display:none}}section[id]{scroll-margin-top:calc(var(--nav-height) + .5rem)}.about-text{margin:0;font-size:clamp(1rem,2vw,1.0625rem);line-height:1.7;color:var(--color-text-soft)}[data-theme=dark] .glass-card__title,[data-theme=dark] .profile-header__name{color:var(--color-text);font-weight:700}[data-theme=dark] .profile-header__title{color:var(--color-text-muted);font-weight:500}[data-theme=dark] .site-nav{border-bottom-color:#ffffff14;box-shadow:0 1px #00000059}
