@font-face{font-family:Thmanyah Sans;src:url(/fonts/ThmanyahSans-Regular.woff2) format("woff2"),url(/fonts/ThmanyahSans-Regular.ttf) format("truetype"),url(/fonts/ThmanyahSans-Regular.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Thmanyah Sans;src:url(/fonts/ThmanyahSans-Medium.woff2) format("woff2"),url(/fonts/ThmanyahSans-Medium.ttf) format("truetype"),url(/fonts/ThmanyahSans-Medium.otf) format("opentype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Thmanyah Sans;src:url(/fonts/ThmanyahSans-Bold.woff2) format("woff2"),url(/fonts/ThmanyahSans-Bold.ttf) format("truetype"),url(/fonts/ThmanyahSans-Bold.otf) format("opentype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Thmanyah Sans;src:url(/fonts/ThmanyahSans-Black.woff2) format("woff2"),url(/fonts/ThmanyahSans-Black.ttf) format("truetype"),url(/fonts/ThmanyahSans-Black.otf) format("opentype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Thmanyah Display;src:url(/fonts/ThmanyahSerifDisplay-Bold.woff2) format("woff2"),url(/fonts/ThmanyahSerifDisplay-Bold.ttf) format("truetype"),url(/fonts/ThmanyahSerifDisplay-Bold.otf) format("opentype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Thmanyah Display;src:url(/fonts/ThmanyahSerifDisplay-Black.woff2) format("woff2"),url(/fonts/ThmanyahSerifDisplay-Black.ttf) format("truetype"),url(/fonts/ThmanyahSerifDisplay-Black.otf) format("opentype");font-weight:700;font-style:normal;font-display:swap}:root{--font-display:"Thmanyah Display","Thmanyah Sans","Times New Roman",Georgia,serif;--font-body:"Thmanyah Sans",system-ui,"Segoe UI",sans-serif;--font-mono:"IBM Plex Mono",ui-monospace,monospace;--fs-eyebrow:0.75rem;--fs-body:1.0625rem;--fs-lead:clamp(1.125rem,1rem + 0.6vw,1.375rem);--fs-h3:clamp(1.25rem,1.05rem + 1vw,1.6rem);--fs-h2:clamp(1.9rem,1.4rem + 2.4vw,3.1rem);--fs-hero:clamp(2.5rem,1.4rem + 5.4vw,5.25rem);--maxw:1180px;--gutter:clamp(1.25rem,5vw,4rem);--section-y:clamp(5rem,9vw,8.5rem);--radius:18px;--radius-sm:12px;--ease:cubic-bezier(.22,.61,.36,1)}:root,[data-theme=dark]{--bg:#0a1622;--bg-grid:rgba(120,170,180,.05);--surface:#0f2030;--surface-2:#13283a;--line:rgba(150,200,210,.12);--line-strong:rgba(150,200,210,.22);--ink:#eaf3f4;--ink-soft:#a9c2c8;--ink-faint:#6e8993;--accent:#22d3c0;--accent-deep:#0fa999;--accent-glow:rgba(34,211,192,.16);--signal:#f6a94b;--shadow:0 24px 60px -28px rgba(0,0,0,.7);--hero-fade:linear-gradient(180deg,rgba(10,22,34,0),#0a1622 92%)}[data-theme=light]{--bg:#f6f8f9;--bg-grid:rgba(20,80,90,.045);--surface:#fff;--surface-2:#eef3f4;--line:rgba(15,60,70,.12);--line-strong:rgba(15,60,70,.2);--ink:#0c2230;--ink-soft:#3c5762;--ink-faint:#6c868f;--accent:#0c9486;--accent-deep:#0a7e72;--accent-glow:rgba(12,148,134,.12);--signal:#c77417;--shadow:0 24px 50px -30px rgba(12,40,48,.35);--hero-fade:linear-gradient(180deg,rgba(246,248,249,0),#f6f8f9 92%)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{font-family:var(--font-body);font-size:var(--fs-body);line-height:1.65;color:var(--ink);background:var(--bg);background-image:linear-gradient(var(--bg-grid) 1px,transparent 1px),linear-gradient(90deg,var(--bg-grid) 1px,transparent 1px);background-size:46px 46px;-webkit-font-smoothing:antialiased;transition:background-color .5s var(--ease),color .5s var(--ease);overflow-x:hidden}h1,h2,h3,h4{font-family:var(--font-display);line-height:1.12;font-weight:600;letter-spacing:-.02em}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}::selection{background:var(--accent);color:var(--bg)}:focus-visible{outline:2.5px solid var(--accent);outline-offset:3px;border-radius:4px}.skip{position:absolute;left:-999px;top:0;z-index:200;background:var(--accent);color:#001;padding:.7rem 1.1rem;border-radius:0 0 10px 0;font-weight:600;font-family:var(--font-mono)}.skip:focus{left:0}.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}.eyebrow{font-family:var(--font-mono);font-size:var(--fs-eyebrow);font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);display:inline-flex;align-items:center;gap:.6rem}.eyebrow:before{content:"";width:1.6rem;height:1px;background:var(--accent);opacity:.7}.nav{position:fixed;inset:0 0 auto 0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:1rem var(--gutter);background:transparent;transition:background .4s var(--ease),border-color .4s,padding .3s;border-bottom:1px solid transparent}.nav.scrolled{background:color-mix(in oklab,var(--bg) 82%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);padding-block:.7rem}.brand{font-family:var(--font-display);font-weight:700;font-size:1.05rem;letter-spacing:-.02em;display:flex;align-items:center;gap:.6rem}.brand .mark{width:30px;height:30px;border:1.5px solid var(--accent);border-radius:8px;display:grid;place-items:center;color:var(--accent);font-family:var(--font-mono);font-size:.85rem;font-weight:600;flex:none}.nav-links{display:flex;align-items:center;gap:.35rem}.nav-links a{font-size:.92rem;color:var(--ink-soft);padding:.5rem .8rem;border-radius:9px;transition:color .25s,background .25s;font-weight:500}.nav-links a:hover{color:var(--ink);background:var(--surface-2)}.nav-tools{display:flex;align-items:center;gap:.5rem}.toggle{width:42px;height:42px;border:1px solid var(--line-strong);border-radius:11px;background:var(--surface);color:var(--ink);cursor:pointer;display:grid;place-items:center;transition:border-color .25s,transform .25s,background .25s}.toggle:hover{border-color:var(--accent);transform:translateY(-1px)}.toggle svg{width:19px;height:19px}.toggle.lang{font-family:var(--font-mono);font-size:.82rem;font-weight:600;letter-spacing:.02em;color:var(--ink)}.toggle.lang:hover{color:var(--accent)}.toggle .sun{display:none}[data-theme=light] .toggle .sun{display:block}.hamburger,[data-theme=light] .toggle .moon{display:none}.hamburger{width:42px;height:42px;border:1px solid var(--line-strong);border-radius:11px;background:var(--surface);cursor:pointer;flex-direction:column;gap:5px;align-items:center;justify-content:center}.hamburger span{width:18px;height:2px;background:var(--ink);border-radius:2px;transition:.3s var(--ease)}.hamburger.open span:first-child{transform:translateY(7px) rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.btn{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--font-body);font-weight:600;font-size:.95rem;padding:.85rem 1.4rem;border-radius:12px;cursor:pointer;border:1px solid transparent;transition:transform .25s var(--ease),box-shadow .25s,background .25s,border-color .25s,color .25s;white-space:nowrap}.btn svg{width:18px;height:18px}.btn-primary{background:var(--accent);color:#04201d;box-shadow:0 10px 30px -12px var(--accent-glow)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 16px 36px -12px var(--accent-glow);background:var(--accent-deep)}.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line-strong)}.btn-ghost:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}.hero{position:relative;padding-top:clamp(8rem,16vh,11rem);padding-bottom:var(--section-y);overflow:hidden}.hero-pulse{position:absolute;inset:auto 0 0 0;height:46%;pointer-events:none;opacity:.9;mask-image:var(--hero-fade);-webkit-mask-image:var(--hero-fade)}.hero-pulse svg{width:200%;height:100%}.pulse-path{fill:none;stroke:var(--accent);stroke-width:2;stroke-linejoin:round;stroke-linecap:round;filter:drop-shadow(0 0 6px var(--accent-glow))}.pulse-flow{animation:flow 11s linear infinite}@keyframes flow{to{transform:translateX(-50%)}}.hero-inner{position:relative;z-index:2;max-width:920px}.hero .status{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--font-mono);font-size:.8rem;color:var(--ink-soft);border:1px solid var(--line);background:var(--surface);padding:.45rem .85rem;border-radius:100px;margin-bottom:1.6rem}.dot-live{width:8px;height:8px;border-radius:50%;background:var(--accent);position:relative}.dot-live:after{content:"";position:absolute;inset:-4px;border-radius:50%;border:1px solid var(--accent);animation:ping 2.4s var(--ease) infinite}@keyframes ping{0%{transform:scale(.6);opacity:.9}80%,to{transform:scale(1.9);opacity:0}}.hero h1{font-size:var(--fs-hero);font-weight:700;letter-spacing:-.035em;margin:.4rem 0 1.3rem}.hero h1 .grad{background:linear-gradient(100deg,var(--accent),var(--accent-deep) 55%,var(--ink) 130%);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-lead{font-size:var(--fs-lead);color:var(--ink-soft);max-width:680px;margin-bottom:2.2rem}.hero-cta{gap:.85rem;margin-bottom:2.6rem}.hero-cta,.hero-meta{display:flex;flex-wrap:wrap}.hero-meta{gap:1.6rem;font-family:var(--font-mono);font-size:.82rem;color:var(--ink-faint)}.hero-meta span{display:inline-flex;align-items:center;gap:.5rem}.hero-meta svg{width:15px;height:15px;color:var(--accent)}section[id]{scroll-margin-top:90px}.block{padding-block:var(--section-y)}.block-head{max-width:680px;margin-bottom:clamp(2.5rem,5vw,4rem)}.block-head h2{font-size:var(--fs-h2);margin:.9rem 0 1rem}.block-head p{color:var(--ink-soft);font-size:var(--fs-lead)}.divider{height:60px;display:flex;align-items:center;justify-content:center;opacity:.5}.divider svg{width:min(100%,720px);height:30px}.about-grid{display:grid;grid-template-columns:.95fr 1.05fr;grid-gap:clamp(2rem,5vw,4.5rem);gap:clamp(2rem,5vw,4.5rem);align-items:center}.portrait{position:relative;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);background:linear-gradient(160deg,var(--surface),var(--surface-2));aspect-ratio:4/5;box-shadow:var(--shadow)}.portrait .ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;color:var(--ink-faint);font-family:var(--font-mono);font-size:.78rem;text-align:center;padding:2rem}.portrait .initials{width:120px;height:120px;border-radius:24px;display:grid;place-items:center;font-family:var(--font-display);font-size:2.6rem;font-weight:700;color:var(--accent);border:1.5px solid var(--line-strong);background:var(--surface)}.portrait .corner{position:absolute;width:26px;height:26px;border:2px solid var(--accent);opacity:.6}.portrait .corner.tl{top:14px;left:14px;border-right:0;border-bottom:0}.portrait .corner.br{bottom:14px;right:14px;border-left:0;border-top:0}.about-body p{color:var(--ink-soft);margin-bottom:1.2rem}.about-body p strong{color:var(--ink);font-weight:600}.highlights{list-style:none;display:grid;grid-gap:.8rem;gap:.8rem;margin-top:1.8rem}.highlights li{display:flex;gap:.85rem;align-items:flex-start;font-size:.98rem}.highlights .ck{flex:none;width:22px;height:22px;border-radius:7px;background:var(--accent-glow);color:var(--accent);display:grid;place-items:center;margin-top:.15rem}.highlights .ck svg{width:13px;height:13px}.timeline{display:grid;grid-gap:1.1rem;gap:1.1rem}.exp,.timeline{position:relative}.exp{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:clamp(1.4rem,3vw,2.2rem);transition:border-color .3s,transform .3s,box-shadow .3s;overflow:hidden}.exp:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent);transform:scaleY(0);transform-origin:top;transition:transform .5s var(--ease)}.exp:hover{border-color:var(--line-strong);transform:translateY(-3px);box-shadow:var(--shadow)}.exp:hover:before{transform:scaleY(1)}.exp-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.6rem 1.5rem;align-items:baseline;margin-bottom:.4rem}.exp-role{font-size:var(--fs-h3);font-weight:600}.exp-when{font-size:.82rem;color:var(--accent);white-space:nowrap}.exp-org,.exp-when{font-family:var(--font-mono)}.exp-org{font-size:.88rem;color:var(--ink-soft);margin-bottom:1.2rem}.exp-org .sep{color:var(--ink-faint);margin:0 .5rem}.exp ul{list-style:none;display:grid;grid-gap:.6rem;gap:.6rem}.exp ul li{display:flex;gap:.7rem;color:var(--ink-soft);font-size:.97rem}.exp ul li:before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--accent);margin-top:.6rem}.skill-cols{display:grid;grid-template-columns:1fr 1fr;grid-gap:clamp(1.5rem,4vw,3rem);gap:clamp(1.5rem,4vw,3rem)}.skill-group h3{font-size:1.1rem;margin-bottom:1.3rem;display:flex;align-items:center;gap:.7rem}.skill-group h3 .num{font-family:var(--font-mono);font-size:.8rem;color:var(--accent);font-weight:500}.chips{display:flex;flex-wrap:wrap;gap:.6rem}.chip{font-size:.9rem;padding:.55rem .95rem;border:1px solid var(--line);border-radius:100px;background:var(--surface);color:var(--ink-soft);transition:.28s var(--ease);cursor:default;font-weight:500}.chip:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-glow);transform:translateY(-2px)}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));grid-gap:1.1rem;gap:1.1rem}.cert{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:1.7rem;position:relative;transition:border-color .3s,transform .3s,box-shadow .3s;overflow:hidden}.cert:hover{border-color:var(--line-strong);transform:translateY(-4px);box-shadow:var(--shadow)}.cert .glow{position:absolute;top:-40px;right:-40px;width:120px;height:120px;border-radius:50%;background:var(--accent-glow);filter:blur(20px);opacity:0;transition:opacity .4s}.cert:hover .glow{opacity:1}.cert .ic{width:48px;height:48px;border-radius:13px;display:grid;place-items:center;background:var(--accent-glow);color:var(--accent);margin-bottom:1.2rem}.cert .ic svg{width:24px;height:24px}.cert h3{font-size:1.12rem;margin-bottom:.5rem;letter-spacing:-.01em}.cert .issuer{font-size:.8rem;color:var(--ink-faint)}.cert .issuer,.cert .tag{font-family:var(--font-mono)}.cert .tag{margin-top:1rem;display:inline-block;font-size:.72rem;color:var(--accent);border:1px solid var(--line-strong);padding:.25rem .6rem;border-radius:7px;letter-spacing:.04em}.edu{display:grid;grid-template-columns:1.1fr .9fr;grid-gap:clamp(1.5rem,4vw,3rem);gap:clamp(1.5rem,4vw,3rem);align-items:stretch}.edu-main{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:clamp(1.6rem,4vw,2.4rem)}.edu-main .school{font-family:var(--font-mono);font-size:.85rem;color:var(--accent);margin-bottom:.7rem}.edu-main h3{font-size:var(--fs-h3);margin-bottom:1.3rem}.gpa-row{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:1.6rem}.gpa-box{flex:1 1;min-width:140px;border:1px solid var(--line);border-radius:var(--radius-sm);padding:1.1rem 1.2rem;background:var(--bg)}.gpa-box .v{font-family:var(--font-display);font-size:1.9rem;font-weight:700;color:var(--ink);letter-spacing:-.02em}.gpa-box .l{font-family:var(--font-mono);font-size:.74rem;color:var(--ink-faint);margin-top:.2rem;letter-spacing:.04em}.edu-side{border:1px dashed var(--line-strong);border-radius:var(--radius);padding:clamp(1.6rem,4vw,2.4rem);background:transparent}.edu-side h4{margin-bottom:1.2rem;color:var(--ink-soft);font-family:var(--font-mono);font-weight:500;letter-spacing:.04em;text-transform:uppercase;font-size:.78rem}.edu-side ul{list-style:none;display:grid;grid-gap:.85rem;gap:.85rem}.edu-side li{display:flex;gap:.7rem;align-items:flex-start;color:var(--ink-soft);font-size:.95rem}.edu-side li code{font-family:var(--font-mono);color:var(--accent);font-size:.85rem;flex:none}.proj{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);margin-bottom:1.1rem;overflow:hidden;transition:border-color .3s,box-shadow .3s}.proj:hover{border-color:var(--line-strong)}.proj.open{box-shadow:var(--shadow);border-color:var(--accent)}.proj-head{width:100%;text-align:start;background:none;border:0;cursor:pointer;color:inherit;font-family:inherit;display:flex;align-items:center;gap:1.2rem;padding:clamp(1.3rem,3vw,1.9rem)}.proj-no{font-family:var(--font-mono);font-size:.85rem;color:var(--accent);flex:none}.proj-title{flex:1 1;font-family:var(--font-display);font-weight:600;font-size:var(--fs-h3);letter-spacing:-.01em}.proj-toggle{flex:none;width:38px;height:38px;border-radius:50%;border:1px solid var(--line-strong);display:grid;place-items:center;transition:.35s var(--ease);color:var(--ink-soft)}.proj-toggle svg{width:18px;height:18px;transition:transform .35s var(--ease)}.proj.open .proj-toggle{background:var(--accent);color:#04201d;border-color:var(--accent)}.proj.open .proj-toggle svg{transform:rotate(45deg)}.proj-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s var(--ease)}.proj.open .proj-body{grid-template-rows:1fr}.proj-body-inner{overflow:hidden}.proj-content{padding:1.6rem clamp(1.3rem,3vw,1.9rem) clamp(1.5rem,3vw,2.2rem) clamp(3.6rem,6vw,4.6rem);display:grid;grid-gap:1.5rem;gap:1.5rem;border-top:1px solid var(--line);margin-top:.2rem}.case-block .lbl{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:.5rem;display:block}.case-block p{color:var(--ink-soft);font-size:.97rem}.case-tech{display:flex;flex-wrap:wrap;gap:.5rem}.case-tech .chip{font-size:.8rem;padding:.4rem .75rem}.case-results{list-style:none;display:grid;grid-gap:.6rem;gap:.6rem}.case-results li{display:flex;gap:.7rem;color:var(--ink-soft);font-size:.97rem}.case-results li svg{flex:none;width:18px;height:18px;color:var(--accent);margin-top:.2rem}.impact{background:var(--surface);border-block:1px solid var(--line)}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:1px;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.metric{background:var(--surface);padding:clamp(1.6rem,4vw,2.6rem) clamp(1.2rem,3vw,2rem);text-align:start;position:relative}.metric .v{font-family:var(--font-display);font-weight:700;font-size:clamp(2.2rem,1.4rem + 3vw,3.4rem);letter-spacing:-.03em;color:var(--ink);line-height:1}.metric .v .accent{color:var(--accent)}.metric .l{font-size:.92rem;color:var(--ink-soft);margin-top:.7rem;max-width:20ch}.metric .mono{font-family:var(--font-mono);font-size:.72rem;color:var(--ink-faint);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.9rem;display:block}.quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:1.1rem;gap:1.1rem}.quote{border:1px dashed var(--line-strong);border-radius:var(--radius);padding:1.8rem;background:transparent;display:flex;flex-direction:column;gap:1.2rem;min-height:200px}.quote .mk{font-family:var(--font-display);font-size:2.6rem;line-height:.6;color:var(--line-strong)}.quote p{color:var(--ink-faint);font-style:italic;flex:1 1}.quote .who{display:flex;align-items:center;gap:.85rem}.quote .av{width:40px;height:40px;border-radius:50%;background:var(--surface-2);border:1px solid var(--line);display:grid;place-items:center;color:var(--ink-faint)}.quote .av svg{width:20px;height:20px}.quote .who b{font-size:.92rem;font-weight:600;color:var(--ink-soft);display:block;font-family:var(--font-body)}.quote .who span{font-size:.74rem}.quote .who span,.quote-note{font-family:var(--font-mono);color:var(--ink-faint)}.quote-note{text-align:center;font-size:.82rem;margin-top:1.6rem}.contact-grid{display:grid;grid-template-columns:1fr 1.15fr;grid-gap:clamp(2rem,5vw,4rem);gap:clamp(2rem,5vw,4rem);align-items:start}.contact-side h2{font-size:var(--fs-h2);margin:.9rem 0 1.1rem}.contact-side p{color:var(--ink-soft);margin-bottom:2rem;max-width:40ch}.contact-links{display:grid;grid-gap:.8rem;gap:.8rem}.clink{display:flex;align-items:center;gap:1rem;border:1px solid var(--line);border-radius:var(--radius-sm);padding:1rem 1.2rem;background:var(--surface);transition:.3s var(--ease)}.clink:hover{border-color:var(--accent);transform:translateX(4px)}.clink .ic{width:40px;height:40px;flex:none;border-radius:10px;background:var(--accent-glow);color:var(--accent);display:grid;place-items:center}.clink .ic svg{width:19px;height:19px}.clink .t{font-size:.78rem;font-family:var(--font-mono);color:var(--ink-faint);letter-spacing:.04em}.clink .d{font-size:.96rem;color:var(--ink);font-weight:500}form{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:clamp(1.6rem,4vw,2.4rem);grid-gap:1.1rem;gap:1.1rem}.field,form{display:grid}.field{grid-gap:.45rem;gap:.45rem}.field label{font-family:var(--font-mono);font-size:.76rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft)}.field input,.field textarea{font-family:var(--font-body);font-size:.97rem;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-sm);padding:.85rem 1rem;width:100%;transition:border-color .25s,box-shadow .25s;resize:vertical}.field input:focus,.field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.field.row{grid-template-columns:1fr 1fr;gap:1.1rem}.field .err{color:var(--signal);font-size:.78rem;font-family:var(--font-mono);min-height:1em}form .btn-primary{justify-content:center;margin-top:.3rem}.form-status{font-family:var(--font-mono);font-size:.85rem;color:var(--accent);min-height:1.2em;text-align:center}footer{border-top:1px solid var(--line);padding-block:3rem;background:var(--bg)}.foot{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:space-between;align-items:center}.foot .brand{font-size:1rem}.foot p{font-family:var(--font-mono);font-size:.8rem;color:var(--ink-faint)}.foot-links{display:flex;gap:1.3rem}.foot-links a{font-size:.88rem;color:var(--ink-soft);transition:color .25s}.foot-links a:hover{color:var(--accent)}.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s var(--ease),transform .7s var(--ease)}.reveal.in{opacity:1;transform:none}.reveal[data-d="1"]{transition-delay:.08s}.reveal[data-d="2"]{transition-delay:.16s}.reveal[data-d="3"]{transition-delay:.24s}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.dot-live:after,.pulse-flow{animation:none}*{transition-duration:.01ms!important}}html[lang=ar]{--font-mono:"Thmanyah Sans",system-ui,sans-serif}html[lang=ar] body{line-height:1.85}html[lang=ar] h1,html[lang=ar] h2,html[lang=ar] h3,html[lang=ar] h4{letter-spacing:0;line-height:1.3}html[lang=ar] .hero h1{letter-spacing:0}[lang=ar] .case-block .lbl,[lang=ar] .cert .tag,[lang=ar] .clink .t,[lang=ar] .edu-side h4,[lang=ar] .exp-org,[lang=ar] .exp-when,[lang=ar] .eyebrow,[lang=ar] .field label,[lang=ar] .gpa-box .l,[lang=ar] .metric .mono,[lang=ar] .mono,[lang=ar] .quote .who span,[lang=ar] .skill-group .num,[lang=ar] .status{letter-spacing:normal;text-transform:none}[dir=rtl] .exp:before{left:auto;right:0;transform-origin:top}[dir=rtl] .proj-content{padding:1.6rem clamp(3.6rem,6vw,4.6rem) clamp(1.5rem,3vw,2.2rem) clamp(1.3rem,3vw,1.9rem)}[dir=rtl] .portrait .corner.tl{left:auto;right:14px;border-right:2px solid var(--accent);border-bottom:0;border-left:0}[dir=rtl] .portrait .corner.br{right:auto;left:14px;border-left:2px solid var(--accent);border-top:0;border-right:0}[dir=rtl] .cert .glow{right:auto;left:-40px}[dir=rtl] .clink:hover{transform:translateX(-4px)}[dir=rtl] .skip{left:auto;right:0;border-radius:0 0 0 10px}@media (max-width:880px){.about-grid,.contact-grid,.edu,.skill-cols{grid-template-columns:1fr}.portrait{max-width:360px;margin-inline:auto;width:100%}.nav-links{position:fixed;inset:64px 12px auto 12px;flex-direction:column;align-items:stretch;gap:.25rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:.7rem;box-shadow:var(--shadow);transform:translateY(-12px);opacity:0;pointer-events:none;transition:.3s var(--ease)}.nav-links.open{transform:none;opacity:1;pointer-events:auto}.nav-links a{padding:.8rem 1rem}.hamburger{display:flex}}@media (max-width:520px){.field.row{grid-template-columns:1fr}.hero-cta .btn{flex:1 1}.foot,.hero-cta .btn{justify-content:center}.foot{text-align:center;flex-direction:column}}