:root{--color-bg:#f8f9fa;--color-surface:#fff;--color-border:#e2e5e8;--color-text:#1a1d21;--color-muted:#6b7280;--color-accent:#c49a3a;--color-accent-ink:#faf9f6;--bg:var(--color-bg);--surface:var(--color-surface);--border:var(--color-border);--text:var(--color-text);--muted:var(--color-muted);--text-secondary:var(--color-muted);--accent:var(--color-accent);--accent-ink:var(--color-accent-ink);--font-sans:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-serif:ui-serif, Georgia, Cambria, "Times New Roman", serif;--font-mono:ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--container:52rem;--gutter:clamp(1.25rem, 4vw, 2rem);--measure:60ch;--section-block:clamp(5.5rem, 13vh, 9rem);--radius-xs:2px;--radius-sm:4px;--radius-md:8px;--radius-full:999px;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-7:1.75rem;--space-8:2rem;--space-9:2.25rem;--space-10:2.5rem;--space-11:2.75rem;--space-12:3rem;--motion-fast:.1s;--motion-normal:.15s;--motion-slow:.25s;--motion-entrance:.3s;--motion-duration:.7s;--motion-stagger:80ms;--motion-delay-hero:60ms;--motion-delay-rule:.55s;--motion-translate-hero:18px;--motion-translate-reveal:28px;--motion-ease:ease;--ease-reveal:cubic-bezier(.22, 1, .36, 1);--shadow-sm:0 1px 3px color-mix(in srgb, var(--color-text) 4%, transparent), 0 4px 12px color-mix(in srgb, var(--color-text) 3%, transparent)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background-color:var(--bg);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;flex-direction:column;min-height:100dvh;margin:0;line-height:1.7;display:flex}::selection{background-color:var(--accent);color:var(--accent-ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:var(--space-1);border-radius:var(--radius-xs);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 30%, transparent)}a{color:inherit}.skip-link{top:-100%;left:var(--space-4);z-index:100;padding:var(--space-3) var(--space-5);background-color:var(--accent);color:var(--accent-ink);border-radius:0 0 var(--radius-sm) var(--radius-sm);transition:top var(--motion-fast) var(--motion-ease);font-weight:600;text-decoration:none;position:absolute}.skip-link:focus{outline:2px solid var(--color-text);outline-offset:2px;top:0}.wrap{max-width:var(--container);padding-inline:var(--gutter);margin-inline:auto}.site-header{z-index:10;background-color:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);position:sticky;top:0}.site-header .wrap{align-items:center;gap:clamp(1rem,3vw,2.5rem);height:4rem;display:flex}.brand{font-family:var(--font-serif);letter-spacing:.01em;font-size:1.2rem;text-decoration:none}.site-nav{gap:clamp(1rem,2.5vw,1.75rem);margin-left:auto;display:flex}.site-nav a{color:var(--muted);transition:color var(--motion-normal);font-size:.95rem;text-decoration:none;position:relative}.site-nav a:after{content:"";background-color:var(--accent);transform-origin:0;height:1.5px;transition:transform var(--motion-slow) var(--ease-reveal);position:absolute;bottom:-3px;left:0;right:0;transform:scaleX(0)}.site-nav a:hover{color:var(--text)}.site-nav a:hover:after{transform:scaleX(1)}.site-nav a.active{color:var(--text)}.site-nav a.active:after{transform:scaleX(1)}.lang-toggle{border:1px solid var(--border);border-radius:0;display:inline-flex;overflow:hidden}.lang-toggle button{appearance:none;font:inherit;letter-spacing:.06em;color:var(--muted);cursor:pointer;min-height:32px;transition:color var(--motion-normal), background-color var(--motion-normal);background:0 0;border:0;justify-content:center;align-items:center;padding:.2rem .5rem;font-size:.7rem;font-weight:600;display:inline-flex}.lang-toggle button.active{background-color:var(--accent);color:var(--accent-ink)}.script-pause{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border:1px solid var(--border);color:var(--muted);letter-spacing:.04em;cursor:pointer;margin-top:var(--space-6);transition:color var(--motion-normal), background-color var(--motion-normal), border-color var(--motion-normal);background:0 0;border-radius:0;font-size:.75rem;font-weight:500;display:inline-flex}.script-pause:hover{color:var(--text);border-color:var(--accent);background-color:color-mix(in srgb, var(--accent) 8%, transparent)}.hero{isolation:isolate;padding-block:clamp(4rem, 13vh, 8.5rem) var(--section-block);position:relative}.hero:before{content:"";background:radial-gradient(ellipse 55% 60% at 50% 10%, color-mix(in srgb, var(--accent) 12%, transparent), transparent 70%);z-index:-1;pointer-events:none;height:75%;position:absolute;inset:-20% -30% auto}.hero:after{content:"";height:var(--space-12);background:var(--color-bg);clip-path:polygon(0 100%,0 60%,5% 80%,10% 40%,15% 70%,20% 30%,25% 60%,30% 20%,35% 50%,40% 10%,45% 40%,50% 0,55% 30%,60% 10%,65% 40%,70% 20%,75% 50%,80% 30%,85% 60%,90% 40%,95% 70%,100% 50%,100% 100%);z-index:0;pointer-events:none;position:absolute;bottom:-1px;left:0;right:0}.hero-grid{gap:var(--space-12);z-index:1;grid-template-columns:3fr 2fr;align-items:start;display:grid;position:relative}.hero-text{flex-direction:column;display:flex}.hero h1{font-family:var(--font-serif);letter-spacing:-.02em;margin:0;font-size:clamp(3.25rem,9vw,6rem);font-weight:600;line-height:1.05}.name-rule{width:var(--space-12);height:2px;margin-top:var(--space-6);background-color:var(--accent);display:block}.hero-script{gap:var(--space-4);margin-top:var(--space-9);align-items:baseline;display:flex}.script-latin{font-family:var(--font-serif);transition:opacity var(--motion-entrance) var(--ease-reveal), transform var(--motion-entrance) var(--ease-reveal);font-size:1.3rem;font-style:italic}.script-arabic{opacity:0;transition:opacity var(--motion-entrance) var(--ease-reveal), transform var(--motion-entrance) var(--ease-reveal);font-size:1.45rem;line-height:1.9;transform:translateY(.35em)}.hero-script.arabic-on .script-latin{opacity:0;transform:translateY(-.35em)}.hero-script.arabic-on .script-arabic{opacity:1;transform:translateY(0)scale(1)}.hero .tagline{margin:var(--space-7) 0 0;max-width:46ch;font-size:clamp(1.1rem,2vw,1.3rem);line-height:1.5}.hero .sub{margin:var(--space-4) 0 0;max-width:58ch;color:var(--muted)}.cta-row{gap:var(--space-3);margin-top:var(--space-10);flex-wrap:wrap;display:flex}.hero-visual{min-height:24rem;margin-top:var(--space-12);position:relative}.visual-pattern{width:100%;height:100%;min-height:24rem;position:relative}.pattern-ring{border:1.5px solid color-mix(in srgb, var(--accent) 30%, transparent);border-radius:50%;position:absolute}.pattern-ring--1{border-color:color-mix(in srgb, var(--accent) 25%, transparent);width:18rem;height:18rem;top:10%;left:15%}.pattern-ring--2{border-color:color-mix(in srgb, var(--accent) 40%, transparent);width:13rem;height:13rem;top:25%;left:30%}.pattern-ring--3{border-color:color-mix(in srgb, var(--accent) 55%, transparent);width:8rem;height:8rem;top:40%;left:45%}.pattern-dot{background-color:var(--accent);border-radius:50%;position:absolute}.pattern-dot--1{opacity:.6;width:.5rem;height:.5rem;top:15%;left:70%}.pattern-dot--2{opacity:.4;width:.35rem;height:.35rem;top:55%;left:10%}.pattern-dot--3{opacity:.5;width:.65rem;height:.65rem;top:75%;left:60%}.pattern-line{background-color:color-mix(in srgb, var(--accent) 35%, transparent);transform-origin:0;height:1.5px;position:absolute}.pattern-line--1{width:10rem;top:20%;left:5%;transform:rotate(-30deg)}.pattern-line--2{width:7rem;top:65%;left:55%;transform:rotate(25deg)}@media (width<=48em){.hero-grid{gap:var(--space-8);grid-template-columns:1fr}.hero-visual{min-height:16rem;margin-top:0}.visual-pattern{min-height:16rem}.pattern-ring--1{width:12rem;height:12rem}.pattern-ring--2{width:9rem;height:9rem}.pattern-ring--3{width:6rem;height:6rem}}.btn{padding:var(--space-3) var(--space-5);transition:background-color var(--motion-normal), border-color var(--motion-normal), color var(--motion-normal), transform calc(var(--motion-fast)) var(--motion-ease);border-radius:0;font-weight:500;text-decoration:none;display:inline-block}.btn:active{transform:scale(.98)}.btn-primary{background-color:var(--accent);color:var(--accent-ink)}.btn-primary:hover{background-color:color-mix(in srgb, var(--accent) 75%, black);box-shadow:0 2px 8px color-mix(in srgb, var(--accent) 35%, transparent)}.btn-ghost{border:1px solid var(--border);color:var(--text)}.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}main{flex:1}main>section+section{border-top:1px solid var(--border)}.section{padding-block:var(--section-block);scroll-margin-top:calc(var(--space-8) + var(--space-4))}.section-head{align-content:start;gap:var(--space-4);margin-bottom:var(--space-11);display:grid}.eyebrow{align-items:center;gap:var(--space-3);font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.72rem;display:flex}.eyebrow:before{content:"";width:var(--space-8);background-color:var(--accent);opacity:.7;height:1px}.section h2{font-family:var(--font-serif);letter-spacing:-.01em;margin:0;font-size:clamp(1.85rem,3.8vw,2.6rem);font-weight:500}.section h2:after{content:".";color:var(--accent)}.prose{max-width:var(--measure);margin:0 0 var(--space-5)}.section-head .prose{margin:0}.subheading{margin:var(--space-10) 0 var(--space-4);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:.85rem;font-weight:600}.chips{gap:var(--space-3);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.chips li{border:1px solid var(--border);padding:var(--space-2) var(--space-5);font-family:var(--font-mono);letter-spacing:.06em;color:var(--muted);border-radius:0;font-size:.78rem}.intro{max-width:60ch;color:var(--muted);margin:0}.project-card.featured{background-color:var(--surface);border:1px solid var(--border);margin-bottom:var(--space-2);box-shadow:var(--shadow-sm);transition:background-color var(--motion-normal);border-radius:0;padding:clamp(1.5rem,3vw,2.25rem);position:relative}.card-link{transition:color var(--motion-normal);text-decoration:none}.card-link:after{content:"";position:absolute;inset:0}:is(.project-card.featured:has(.card-link):hover,.project-card.featured:has(.card-link):focus-within){background-color:color-mix(in srgb, var(--accent) 12%, var(--surface))}:is(.project-card.featured:has(.card-link):hover .card-link,.project-card.featured:has(.card-link):focus-within .card-link){color:var(--accent)}.view-live{align-items:center;gap:var(--space-1);color:var(--accent);white-space:nowrap;font-size:.9rem;font-weight:500;display:inline-flex}.project-head{justify-content:space-between;align-items:baseline;gap:var(--space-4);flex-wrap:wrap;display:flex}.project-card.featured h3{font-family:var(--font-serif);letter-spacing:-.01em;margin:0;font-size:clamp(1.4rem,2.5vw,1.75rem);font-weight:600}.project-card.featured .project-desc{max-width:62ch;margin:var(--space-4) 0 0;color:var(--muted)}.project-card.featured .tags{margin-top:var(--space-5)}.project-rows{border-bottom:1px solid var(--border);margin-inline:calc(var(--gutter) * -1);padding-inline:clamp(1.5rem,3vw,2.25rem)}.project-row{gap:var(--space-6);padding:var(--space-6) var(--space-8);border-top:1px solid var(--border);transition:background-color var(--motion-normal);grid-template-columns:minmax(11rem,1fr) minmax(0,1.7fr) auto;align-items:start;display:grid}.project-row:hover{background-color:color-mix(in srgb, var(--accent) 12%, var(--bg))}@media (width<=48em){.project-row:hover{background-color:#0000}}.project-title{letter-spacing:-.01em;transition:color var(--motion-normal);margin:0;font-size:1.05rem;font-weight:600}.project-row:hover .project-title{color:var(--accent)}.project-row .tags{margin-top:var(--space-2)}.project-desc{color:var(--muted);margin:0;font-size:.95rem}.tags{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.tags li{background-color:color-mix(in srgb, var(--text) 6%, transparent);padding:var(--space-1) var(--space-3);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border-radius:0;font-size:.68rem}.project-links{gap:var(--space-5);justify-self:end;display:flex}.project-links a{color:var(--accent);white-space:nowrap;font-size:.9rem;text-decoration:none}.project-links a:hover{text-underline-offset:3px;text-decoration:underline}.project-links a.secondary{color:var(--muted)}.arrow{transition:transform var(--motion-slow) var(--ease-reveal);display:inline-block}a:hover .arrow{transform:translate(var(--space-1), calc(var(--space-1) * -1))}.project-card.featured:has(.card-link):hover .arrow{transform:translate(var(--space-1), calc(var(--space-1) * -1))}.project-card.featured:has(.card-link):focus-within .arrow{transform:translate(var(--space-1), calc(var(--space-1) * -1))}.contact-links{gap:var(--space-3);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.site-footer{border-top:1px solid var(--border);padding-block:var(--space-8);padding-bottom:max(var(--space-4), env(safe-area-inset-bottom));color:var(--muted);font-size:.875rem}.site-footer .wrap{justify-content:space-between;align-items:baseline;gap:var(--space-2) var(--space-8);flex-wrap:wrap;display:flex}.site-footer p{margin:0}.colophon{font-family:var(--font-mono);letter-spacing:.04em;opacity:.85;font-size:.72rem}.back-to-top{align-items:center;gap:var(--space-1);border:1px solid var(--border);padding:var(--space-1) var(--space-3);color:var(--muted);cursor:pointer;transition:color var(--motion-normal), background-color var(--motion-normal), border-color var(--motion-normal);background:0 0;border-radius:0;font-size:.72rem;display:inline-flex}.back-to-top:hover{color:var(--text);border-color:var(--accent);background-color:color-mix(in srgb, var(--accent) 8%, transparent)}.blog-list{max-width:var(--container);padding:var(--space-8) var(--gutter);margin:0 auto}.blog-header{margin-bottom:1rem}.blog-header h1{margin-bottom:.5rem;font-size:2rem}.blog-header p{color:var(--text-secondary)}.filters{background:var(--surface);border-radius:var(--radius-md);flex-direction:column;gap:1rem;margin-bottom:2rem;padding:1rem;display:flex}.filter-group{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.filter-label{margin-right:.25rem;font-weight:600}.filter-btn{border:1px solid var(--border);cursor:pointer;color:var(--color-text);background:0 0;border-radius:0;padding:.375rem .75rem;font-size:.875rem;text-decoration:none;transition:transform .2s,opacity .2s}.filter-btn:hover{border-color:var(--accent)}.filter-btn.active{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.clear-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:.375rem .75rem;font-size:.875rem;text-decoration:underline}.post-list{flex-direction:column;gap:1.5rem;display:flex}.post-card{background:var(--surface);border-radius:var(--radius-md);transition:transform .2s,box-shadow .2s;overflow:hidden}.post-card:hover{box-shadow:var(--shadow-sm);transform:translateY(-2px)}.post-link{color:inherit;padding:1.5rem;text-decoration:none;display:block}.blog-list .post-meta{color:var(--text-secondary);align-items:center;gap:.75rem;margin-bottom:.5rem;font-size:.875rem;display:flex}.post .post-meta{color:var(--text-secondary);align-items:center;gap:1rem;margin-bottom:1rem;font-size:.875rem;display:flex}.tag-page .post-meta{color:var(--text-secondary);align-items:center;gap:.75rem;margin-bottom:.5rem;font-size:.875rem;display:flex}.post-category{background:var(--accent);color:var(--accent-ink);border-radius:0;padding:.125rem .5rem;font-size:.75rem}.blog-list .post-title{color:var(--color-text);margin-bottom:.5rem;font-size:1.25rem}.post .post-title{margin-bottom:1rem;font-size:2rem;line-height:1.3}.tag-page .post-title{color:var(--color-text);margin-bottom:.5rem;font-size:1.25rem}.blog-list .post-description{color:var(--text-secondary);margin-bottom:.75rem;line-height:1.6}.post .post-description{color:var(--text-secondary);margin-bottom:1rem;font-size:1.125rem;line-height:1.6}.tag-page .post-description{color:var(--text-secondary);margin-bottom:.75rem;line-height:1.6}.blog-list .post-footer{color:var(--text-secondary);justify-content:space-between;align-items:center;font-size:.875rem;display:flex}.tag-page .post-footer{color:var(--text-secondary);font-size:.875rem}.blog-list .post-tags{flex-wrap:wrap;gap:.375rem;display:flex}.post .post-tags{flex-wrap:wrap;gap:.5rem;display:flex}.blog-list .tag{background:var(--bg);border-radius:0;padding:.125rem .5rem;font-size:.75rem}.post .tag{background:var(--bg);color:var(--text-secondary);border-radius:0;padding:.25rem .75rem;font-size:.875rem;text-decoration:none;transition:color .2s}.post .tag:hover{color:var(--accent)}.empty-state{text-align:center;color:var(--text-secondary);padding:3rem 0}.post{max-width:var(--measure);padding:var(--space-8) var(--gutter);margin:0 auto}.post-header{margin-bottom:2rem}.post-content{color:var(--color-text);line-height:1.8}.post-content h2{margin-top:2rem;margin-bottom:1rem;font-size:1.5rem}.post-content h3{margin-top:1.5rem;margin-bottom:.75rem;font-size:1.25rem}.post-content p{margin-bottom:1.25rem}.post-content code{background:var(--surface);border-radius:var(--radius-sm);padding:.125rem .375rem;font-size:.875em}.post-content pre{background:var(--surface);border-radius:.5rem;margin-bottom:1.5rem;padding:1rem;overflow-x:auto}.post-content pre code{background:0 0;padding:0}.post-content blockquote{border-left:4px solid var(--accent);color:var(--text-secondary);margin:1.5rem 0;padding-left:1rem}.post-content ul,.post-content ol{margin-bottom:1.25rem;padding-left:1.5rem}.post-content li{margin-bottom:.5rem}.post-content img{border-radius:.5rem;max-width:100%;margin:1.5rem 0}.callout{border-left:4px solid var(--callout-color,#6366f1);background:color-mix(in srgb, var(--callout-color,#6366f1) 8%, transparent);border-radius:var(--radius-md);margin:1.5rem 0;padding:1rem 1.25rem}.callout-header{color:var(--callout-color,#6366f1);align-items:center;gap:.5rem;margin-bottom:.75rem;font-weight:600;display:flex}.callout-icon{font-size:1.1rem}.post-content .callout-title{text-transform:capitalize}.callout-content{color:var(--text-secondary);line-height:1.6}.post .back-link{color:var(--accent);margin-top:2rem;font-weight:500;text-decoration:none;display:inline-block}.post .back-link:hover{text-decoration:underline}.tag-page{max-width:var(--container);padding:var(--space-8) var(--gutter);margin:0 auto}.tag-header{margin-bottom:1rem}.tag-page .back-link{color:var(--accent);margin-bottom:1rem;font-weight:500;text-decoration:none;display:inline-block}.tag-name{background:var(--accent);color:var(--accent-ink);border-radius:0;padding:.25rem .75rem}@keyframes rise-in{0%{opacity:0;transform:translateY(var(--motion-translate-hero)) scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes rule-draw{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media (prefers-reduced-motion:no-preference){.hero [data-rise]{animation:rise-in var(--motion-duration) var(--ease-reveal) both;animation-delay:calc(var(--i,0) * var(--motion-stagger) + var(--motion-delay-hero))}.hero .name-rule{transform-origin:0;animation:rule-draw var(--motion-duration) var(--ease-reveal) both;animation-delay:var(--motion-delay-rule)}}html.js .reveal{opacity:0;transform:translateY(var(--motion-translate-reveal)) scale(.995);transition:opacity var(--motion-duration) var(--ease-reveal), transform var(--motion-duration) var(--ease-reveal);transition-delay:var(--d,0s)}html.js .reveal.is-visible{opacity:1;transform:translateY(0)scale(1)}@media (width<=48em){.project-row{gap:var(--space-3);grid-template-columns:1fr}.project-links{justify-self:start}:is(.project-card.featured:has(.card-link):hover,.project-card.featured:has(.card-link):focus-within){background-color:var(--surface)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-delay:0s!important}html.js .reveal{opacity:1!important;transform:none!important}}
