@import "https://fonts.googleapis.com/css2?family=Amiri:wght@400&family=DM+Sans:wght@400;500;600;700;800;900&family=Gloock&family=Noto+Naskh+Arabic:wght@500&display=swap";@import "https://fonts.googleapis.com/css2?family=Bodoni+Moda:wght@400;600&family=Cormorant+Garamond:wght@400;600&family=DM+Serif+Display&family=Fraunces:wght@400;600&family=Italiana&family=Prata&family=Space+Grotesk:wght@400;600&family=Syne:wght@400;600&display=swap";.magic-bento{--mb-spring:cubic-bezier(.34, 1.4, .64, 1);box-sizing:border-box;width:100%;color:var(--mb-ink);font-feature-settings:"tnum" 0;-webkit-tap-highlight-color:transparent;grid-auto-flow:dense;display:grid;position:relative}@supports (transition-timing-function:linear(0, 1)){.magic-bento{--mb-spring:linear(0, .0603, .2033, .3821, .5633, .7258, .8584, .9574, 1.0242, 1.0634, 1.0809, 1.0828, 1.0747, 1.0613, 1.046, 1.0313, 1.0186, 1.0085, 1.0012, .9965, .994, .9931, .9933, .9941, .9953, .9966, .9978, .9988, 1)}}.magic-bento__cell{--mb-delay:0s;min-width:0;min-height:0;position:relative}.magic-bento[data-intro] .magic-bento__cell{opacity:0;transform:translateY(16px)scale(.97)}.magic-bento[data-intro] .magic-bento__cell[data-state=in]{opacity:1;transition:opacity .42s cubic-bezier(.22, 1, .36, 1) var(--mb-delay), transform .76s var(--mb-spring) var(--mb-delay);transform:none}.magic-bento__card{box-sizing:border-box;border-radius:var(--mb-radius);background:var(--mb-surface);width:100%;height:100%;box-shadow:var(--mb-shadow);color:var(--mb-ink);isolation:isolate;transform:perspective(900px) translate3d(var(--mb-tx,0px), var(--mb-ty,0px), 0) rotateX(var(--mb-rx,0deg)) rotateY(var(--mb-ry,0deg)) scale(var(--mb-press,1));-webkit-user-select:none;user-select:none;outline:none;flex-direction:column;text-decoration:none;display:flex;position:relative;overflow:hidden}.magic-bento__card[data-clickable]{cursor:pointer}.magic-bento__card:focus-visible{box-shadow:var(--mb-shadow), 0 0 0 2px var(--mb-focus)}.magic-bento__image{z-index:0;object-fit:cover;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.magic-bento__scrim{z-index:0;pointer-events:none;background:linear-gradient(#0a090d00 28%,#0a090d0d 40%,#0a090d33 54%,#0a090d75 70%,#0a090db3 86%,#0a090dd1 100%);position:absolute;inset:0}.magic-bento__light{z-index:1;border-radius:inherit;background:radial-gradient(var(--mb-spot-size) circle at var(--mb-x,-999px) var(--mb-y,-999px), rgba(var(--mb-glow-rgb), calc(var(--mb-spot-alpha) * var(--mb-hot,0) * 1)) 0%, rgba(var(--mb-glow-rgb), calc(var(--mb-spot-alpha) * var(--mb-hot,0) * .973)) 15%, rgba(var(--mb-glow-rgb), calc(var(--mb-spot-alpha) * var(--mb-hot,0) * .837)) 30%, rgba(var(--mb-glow-rgb), calc(var(--mb-spot-alpha) * var(--mb-hot,0) * .593)) 45%, rgba(var(--mb-glow-rgb), calc(var(--mb-spot-alpha) * var(--mb-hot,0) * .317)) 60%, rgba(var(--mb-glow-rgb), calc(var(--mb-spot-alpha) * var(--mb-hot,0) * .104)) 75%, rgba(var(--mb-glow-rgb), calc(var(--mb-spot-alpha) * var(--mb-hot,0) * .009)) 90%, rgba(var(--mb-glow-rgb), 0) 100%);pointer-events:none;position:absolute;inset:0}.magic-bento__stars{z-index:1;pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.magic-bento__rim{z-index:3;border-radius:inherit;box-shadow:inset 0 0 0 1px var(--mb-edge), inset 0 1px 0 var(--mb-highlight);pointer-events:none;position:absolute;inset:0}.magic-bento__border{z-index:4;box-sizing:border-box;border-radius:inherit;background:radial-gradient(var(--mb-border-size) circle at var(--mb-x,-999px) var(--mb-y,-999px), rgba(var(--mb-glow-rgb), calc(var(--mb-glow-alpha) * var(--mb-near,0) * 1)) 0%, rgba(var(--mb-glow-rgb), calc(var(--mb-glow-alpha) * var(--mb-near,0) * .973)) 15%, rgba(var(--mb-glow-rgb), calc(var(--mb-glow-alpha) * var(--mb-near,0) * .837)) 30%, rgba(var(--mb-glow-rgb), calc(var(--mb-glow-alpha) * var(--mb-near,0) * .593)) 45%, rgba(var(--mb-glow-rgb), calc(var(--mb-glow-alpha) * var(--mb-near,0) * .317)) 60%, rgba(var(--mb-glow-rgb), calc(var(--mb-glow-alpha) * var(--mb-near,0) * .104)) 75%, rgba(var(--mb-glow-rgb), calc(var(--mb-glow-alpha) * var(--mb-near,0) * .009)) 90%, rgba(var(--mb-glow-rgb), 0) 100%), radial-gradient(circle at var(--mb-wx,-999px) var(--mb-wy,-999px), rgba(var(--mb-glow-rgb), 0) calc(var(--mb-wr,0px) - 110px), rgba(var(--mb-glow-rgb), calc(var(--mb-glow-alpha) * var(--mb-wa,0) * .1)) calc(var(--mb-wr,0px) - 80px), rgba(var(--mb-glow-rgb), calc(var(--mb-glow-alpha) * var(--mb-wa,0) * .32)) calc(var(--mb-wr,0px) - 52px), rgba(var(--mb-glow-rgb), calc(var(--mb-glow-alpha) * var(--mb-wa,0) * .68)) calc(var(--mb-wr,0px) - 28px), rgba(var(--mb-glow-rgb), calc(var(--mb-glow-alpha) * var(--mb-wa,0) * .94)) calc(var(--mb-wr,0px) - 10px), rgba(var(--mb-glow-rgb), calc(var(--mb-glow-alpha) * var(--mb-wa,0))) calc(var(--mb-wr,0px) - 3px), rgba(var(--mb-glow-rgb), 0) var(--mb-wr,0px));-webkit-mask-composite:xor;pointer-events:none;padding:1px;position:absolute;inset:0;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor,source-over;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}.magic-bento__content{z-index:2;box-sizing:border-box;min-height:0;padding:var(--mb-pad);flex-direction:column;flex:1;gap:12px;display:flex;position:relative}.magic-bento__header{min-width:0;color:var(--mb-muted);align-items:center;gap:8px;font-size:12px;font-weight:500;line-height:16px;display:flex}.magic-bento__icon{width:16px;height:16px;color:var(--mb-ink);flex:none;place-items:center;display:grid}.magic-bento__label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.magic-bento__visual{flex-direction:column;flex:1;justify-content:center;min-height:0;display:flex;position:relative;container-type:size}.magic-bento__text{flex-direction:column;gap:4px;margin-top:auto;display:flex}.magic-bento__title{color:var(--mb-ink);letter-spacing:-.01em;margin:0;font-size:15px;font-weight:600;line-height:20px}.magic-bento__description{color:var(--mb-muted);margin:0;font-size:13px;line-height:1.45}.magic-bento[data-autohide] .magic-bento__title,.magic-bento[data-autohide] .magic-bento__description{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.magic-bento[data-autohide] .magic-bento__title{-webkit-line-clamp:1;line-clamp:1}.magic-bento[data-autohide] .magic-bento__description{-webkit-line-clamp:2;line-clamp:2}.magic-bento__card[data-image] .magic-bento__header,.magic-bento__card[data-image] .magic-bento__description{color:#f4f4f5b8}.magic-bento__card[data-image] .magic-bento__title,.magic-bento__card[data-image] .magic-bento__icon{color:#f4f4f5}.magic-bento__well{box-sizing:border-box;border-radius:var(--mb-inner-radius);background:var(--mb-well);box-shadow:inset 0 0 0 1px var(--mb-well-edge);position:relative}.magic-bento__tile{box-sizing:border-box;border-radius:var(--mb-inner-radius);background:var(--mb-tile);box-shadow:var(--mb-tile-shadow);position:relative}.magic-bento__tile:after{content:"";border-radius:inherit;box-shadow:inset 0 0 0 1px var(--mb-tile-edge), inset 0 1px 0 var(--mb-tile-highlight);pointer-events:none;position:absolute;inset:0}.magic-bento__chart{touch-action:pan-y;flex-direction:column;flex:1;min-height:0;display:flex}.magic-bento__figure{white-space:nowrap;align-items:baseline;gap:6px;min-width:0;display:flex}.magic-bento__figure-value{color:var(--mb-ink);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:15px;font-weight:600;line-height:18px}.magic-bento__figure-note{min-width:0;color:var(--mb-muted);text-overflow:ellipsis;font-variant-numeric:tabular-nums;font-size:11.5px;line-height:14px;overflow:hidden}.magic-bento__plot{flex:1;min-height:0;margin-top:6px;position:relative}.magic-bento__plot svg{width:100%;height:100%;display:block;position:absolute;inset:0;overflow:visible}.magic-bento__chart-area{fill:rgba(var(--mb-accent-rgb), .14)}.magic-bento__chart-line{fill:none;stroke:rgb(var(--mb-accent-rgb));stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6px}.magic-bento__scrub{background:linear-gradient(to bottom, rgba(var(--mb-accent-rgb), 0), rgba(var(--mb-accent-rgb), .35));opacity:0;pointer-events:none;width:1px;transition:opacity .18s;position:absolute;top:0;bottom:0;left:0}.magic-bento__scrub-dot{background:rgb(var(--mb-accent-rgb));width:7px;height:7px;box-shadow:0 0 0 3px var(--mb-ring);border-radius:50%;margin:-3.5px 0 0 -3px;position:absolute;top:0;left:0}.magic-bento__chart[data-scrub] .magic-bento__scrub{opacity:1}.magic-bento__bars{flex-direction:column;flex:1;min-height:0;display:flex}.magic-bento__bars-plot{flex:1;align-items:flex-end;gap:5px;min-height:0;margin-top:8px;display:flex}.magic-bento__bar{height:calc(var(--h) * 100%);background:rgba(var(--mb-accent-rgb), .18);transform-origin:50% 100%;border-radius:3px 3px 2px 2px;flex:1;min-height:3px;transition:background-color .2s,filter .2s;position:relative}.magic-bento__bar[data-peak]{background:rgb(var(--mb-accent-rgb))}@media (hover:hover){.magic-bento__bar:hover{background:rgba(var(--mb-accent-rgb), .42)}.magic-bento__bar[data-peak]:hover{background:rgb(var(--mb-accent-rgb));filter:brightness(1.1)}}.magic-bento__collab{flex-direction:column;min-height:0;padding:16px 16px 22px;display:flex;position:relative;overflow:hidden}.magic-bento__doc-title{color:var(--mb-ink);font-size:13px;font-weight:600;line-height:18px}.magic-bento__lines{flex-direction:column;gap:10px;margin-top:18px;display:flex}.magic-bento__line{width:var(--w);background:var(--mb-line);border-radius:3px;height:6px;position:relative}.magic-bento__line--gap{margin-top:8px}.magic-bento__selection{top:-4px;bottom:-4px;left:var(--from);width:var(--span);background:rgba(var(--mb-accent-rgb), .16);border-radius:3px;position:absolute}.magic-bento__caret{background:rgb(var(--mb-accent-rgb));border-radius:1px;width:1.5px;position:absolute;top:-5px;bottom:-5px;right:-1px}.magic-bento__cursor{top:var(--y);left:var(--x);z-index:2;pointer-events:none;align-items:flex-start;display:flex;position:absolute}.magic-bento__cursor svg{filter:drop-shadow(0 1px 1.5px #00000059);flex:none;display:block}.magic-bento__cursor-name{white-space:nowrap;border-radius:7px;margin:13px 0 0 -2px;padding:2px 7px;font-size:10.5px;font-weight:600;line-height:14px}.magic-bento__cursor--primary svg path{fill:rgb(var(--mb-accent-rgb));stroke:var(--mb-cursor-stroke)}.magic-bento__cursor--primary .magic-bento__cursor-name{background:rgb(var(--mb-accent-rgb));color:var(--mb-accent-ink)}.magic-bento__cursor--secondary svg path{fill:var(--mb-secondary);stroke:var(--mb-cursor-stroke)}.magic-bento__cursor--secondary .magic-bento__cursor-name{background:var(--mb-secondary);color:var(--mb-secondary-ink)}.magic-bento__flow{flex-direction:column;gap:8px;min-height:0;display:flex;position:relative}.magic-bento__flow-trigger{align-items:center;gap:10px;padding:8px 12px 8px 8px;display:flex}.magic-bento__flow-glyph{border-radius:calc(var(--mb-inner-radius) - 2px);background:var(--mb-well);width:28px;height:28px;color:var(--mb-ink);flex:none;place-items:center;display:grid}.magic-bento__flow-copy{flex-direction:column;min-width:0;display:flex}.magic-bento__flow-name{color:var(--mb-ink);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;line-height:17px;overflow:hidden}.magic-bento__flow-meta{color:var(--mb-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;line-height:15px;overflow:hidden}.magic-bento__flow-hash{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px}.magic-bento__steps{flex-direction:column;gap:2px;margin:0;padding:2px 0 0;list-style:none;display:flex;position:relative}.magic-bento__rail{background:var(--mb-line);width:1px;position:absolute;top:16px;bottom:16px;left:21px}.magic-bento__rail-fill{background:rgba(var(--mb-accent-rgb), .55);transform-origin:50% 0;position:absolute;inset:0}.magic-bento__step{height:33px;color:var(--mb-ink);align-items:center;gap:10px;padding:0 12px 0 14px;font-size:13px;line-height:16px;display:flex;position:relative}.magic-bento__status{flex:none;place-items:center;width:16px;height:16px;display:grid;position:relative}.magic-bento__status>*{grid-area:1/1}.magic-bento__pending{box-sizing:border-box;border:1.5px dashed var(--mb-faint);opacity:0;border-radius:50%;width:12px;height:12px}.magic-bento__spinner{box-sizing:border-box;border:1.5px solid rgba(var(--mb-accent-rgb), .22);border-top-color:rgb(var(--mb-accent-rgb));opacity:0;border-radius:50%;width:14px;height:14px}.magic-bento__done{background:rgb(var(--mb-accent-rgb));width:16px;height:16px;color:var(--mb-accent-ink);border-radius:50%;place-items:center;display:grid}.magic-bento__step-time{color:var(--mb-muted);font-variant-numeric:tabular-nums;margin-left:auto;font-size:12px}.magic-bento__hub{flex:1;width:100%;max-width:240px;min-height:0;margin:0 auto;position:relative}.magic-bento__hub-links{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.magic-bento__hub-links line{stroke:var(--mb-line);stroke-width:1px;vector-effect:non-scaling-stroke}.magic-bento__hub-node{--size:min(var(--s), 30cqh);top:var(--y);left:var(--x);width:var(--size);height:var(--size);margin:calc(var(--size) * -.5) 0 0 calc(var(--size) * -.5);color:var(--mb-ink);place-items:center;display:grid;position:absolute}.magic-bento__hub-node.magic-bento__tile{border-radius:calc(var(--size) * .3)}.magic-bento__packet{top:var(--y);left:var(--x);background:rgb(var(--mb-accent-rgb));opacity:0;border-radius:50%;width:4px;height:4px;margin:-2px 0 0 -2px;position:absolute}.magic-bento__shield{flex-direction:column;flex:1;justify-content:center;gap:8px;width:100%;max-width:320px;min-height:0;display:flex}.magic-bento__setting{height:32px;color:var(--mb-ink);flex:none;align-items:center;gap:8px;padding:0 8px 0 10px;font-size:12.5px;font-weight:500;line-height:16px;display:flex}.magic-bento__setting-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@container (height<=78px){.magic-bento__setting~.magic-bento__setting{display:none}}@container (height<=60px){.magic-bento__hub{display:none}}@container (height<=38px){.magic-bento__shield,.magic-bento__chart,.magic-bento__bars{visibility:hidden}}.magic-bento__switch{background:rgb(var(--mb-accent-rgb));border-radius:8px;flex:none;width:26px;height:16px;margin-left:auto;transition:background-color .22s;position:relative}.magic-bento__switch:after{content:"";background:var(--mb-accent-ink);width:12px;height:12px;transition:transform .32s var(--mb-spring);border-radius:50%;position:absolute;top:2px;left:2px;transform:translate(10px);box-shadow:0 1px 2px #0000004d}.magic-bento__switch[data-off]{background:var(--mb-line)}.magic-bento__switch[data-off]:after{background:var(--mb-ink);transform:none}.magic-bento[data-motion] .magic-bento__chart-line{stroke-dasharray:1;animation:magic-bento-draw 1.1s cubic-bezier(.65, 0, .35, 1) calc(var(--mb-delay) + .22s) both paused}.magic-bento[data-motion] .magic-bento__chart-area{animation:magic-bento-fade .7s ease calc(var(--mb-delay) + .7s) both paused}.magic-bento[data-motion] .magic-bento__bar{animation:magic-bento-grow .76s var(--mb-spring) calc(var(--mb-delay) + .2s + var(--i) * 55ms) both paused}.magic-bento[data-motion] .magic-bento__cursor{animation:magic-bento-pop .42s var(--mb-spring) calc(var(--mb-delay) + .6s + var(--i) * .16s) both paused, var(--path) 9s ease-in-out calc(var(--i) * -3s) infinite paused}.magic-bento[data-motion] .magic-bento__selection{animation:magic-bento-select .9s cubic-bezier(.65, 0, .35, 1) calc(var(--mb-delay) + .76s) both paused}.magic-bento[data-motion] .magic-bento__caret{animation:1.1s step-end infinite paused magic-bento-blink}.magic-bento[data-motion] .magic-bento__pending{animation:magic-bento-wait 1ms linear calc(var(--mb-delay) + .36s + var(--i) * .52s) both paused}.magic-bento[data-motion] .magic-bento__spinner{animation:magic-bento-run .52s linear calc(var(--mb-delay) + .36s + var(--i) * .52s) both paused, magic-bento-spin .7s linear infinite paused}.magic-bento[data-motion] .magic-bento__done{animation:magic-bento-check .42s var(--mb-spring) calc(var(--mb-delay) + .88s + var(--i) * .52s) both paused}.magic-bento[data-motion] .magic-bento__step-time{animation:magic-bento-fade .3s ease calc(var(--mb-delay) + .88s + var(--i) * .52s) both paused}.magic-bento[data-motion] .magic-bento__rail-fill{animation:magic-bento-rail calc(var(--n) * .52s) linear calc(var(--mb-delay) + .36s) both paused}.magic-bento[data-motion] .magic-bento__hub-node{animation:magic-bento-pop .52s var(--mb-spring) calc(var(--mb-delay) + .2s + var(--i) * 70ms) both paused}.magic-bento[data-motion] .magic-bento__hub-links line{stroke-dasharray:1;animation:magic-bento-draw .7s cubic-bezier(.65, 0, .35, 1) calc(var(--mb-delay) + .36s) both paused}.magic-bento[data-motion] .magic-bento__card[data-active] .magic-bento__packet{animation:magic-bento-packet 1.8s cubic-bezier(.45, 0, .55, 1) calc(var(--i) * .45s) infinite}.magic-bento[data-motion] .magic-bento__switch{animation:magic-bento-switch-track .42s ease calc(var(--mb-delay) + .52s + var(--i) * .2s) both paused}.magic-bento[data-motion] .magic-bento__switch:after{animation:magic-bento-switch-knob .52s var(--mb-spring) calc(var(--mb-delay) + .52s + var(--i) * .2s) both paused}.magic-bento[data-motion] .magic-bento__switch[data-off],.magic-bento[data-motion] .magic-bento__switch[data-off]:after{animation:none}.magic-bento[data-motion] .magic-bento__cell[data-state=in] :is(.magic-bento__chart-line,.magic-bento__chart-area,.magic-bento__bar,.magic-bento__selection,.magic-bento__pending,.magic-bento__spinner,.magic-bento__done,.magic-bento__step-time,.magic-bento__rail-fill,.magic-bento__hub-node,.magic-bento__hub-links line,.magic-bento__switch),.magic-bento[data-motion] .magic-bento__cell[data-state=in] .magic-bento__switch:after{animation-play-state:running}.magic-bento[data-motion] .magic-bento__cell[data-state=in] .magic-bento__cursor{animation-play-state:running,paused}.magic-bento[data-motion] .magic-bento__cell[data-state=in] .magic-bento__card[data-active] .magic-bento__cursor{animation-play-state:running,running}.magic-bento[data-motion] .magic-bento__card[data-active] .magic-bento__caret{animation-play-state:running}.magic-bento[data-motion] .magic-bento__cell[data-state=in] .magic-bento__spinner{animation-play-state:running,running}@keyframes magic-bento-draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@keyframes magic-bento-fade{0%{opacity:0}to{opacity:1}}@keyframes magic-bento-grow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes magic-bento-pop{0%{opacity:0;scale:.6}to{opacity:1;scale:1}}@keyframes magic-bento-select{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@keyframes magic-bento-blink{0%{opacity:1}50%{opacity:0}}@keyframes magic-bento-wait{0%{opacity:1}to{opacity:0}}@keyframes magic-bento-run{0%{opacity:0}1%,92%{opacity:1}to{opacity:0}}@keyframes magic-bento-spin{to{rotate:360deg}}@keyframes magic-bento-check{0%{opacity:0;scale:.4}to{opacity:1;scale:1}}@keyframes magic-bento-rail{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes magic-bento-packet{0%{top:var(--y);left:var(--x);opacity:0}15%{opacity:1}80%{opacity:1}to{opacity:0;top:50%;left:50%}}@keyframes magic-bento-switch-track{0%{background-color:var(--mb-line)}to{background-color:rgb(var(--mb-accent-rgb))}}@keyframes magic-bento-switch-knob{0%{background:var(--mb-ink);transform:none}to{background:var(--mb-accent-ink);transform:translate(10px)}}@keyframes magic-bento-path-a{0%,to{translate:0}30%{translate:46px -18px}62%{translate:12px 26px}}@keyframes magic-bento-path-b{0%,to{translate:0}35%{translate:-40px 14px}70%{translate:-8px -22px}}.project-bento{align-items:start;--mb-surface:linear-gradient(155deg, #fbf8f2, #f3eee5)!important;--mb-ink:#4c3128!important;--mb-edge:#6b493829!important;--mb-highlight:#fffc!important;--mb-shadow:0 16px 34px -26px #4c312840!important;--mb-glow-alpha:.95!important;--mb-spot-alpha:.18!important;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)!important;grid-auto-rows:auto!important;gap:24px!important}.project-bento .magic-bento__cell{min-height:420px;display:flex;grid-area:auto!important}.project-bento .magic-bento__cell:first-child{min-height:490px}.project-bento .magic-bento__card{-webkit-user-select:text;user-select:text;height:auto;min-height:100%}.project-bento .magic-bento__border{padding:2px}.project-bento .magic-bento__card:after{content:"";border-radius:inherit;pointer-events:none;z-index:1;background:radial-gradient(circle at var(--mb-wx,-999px) var(--mb-wy,-999px), transparent max(0px, calc(var(--mb-wr,0px) - 60px)), rgba(145, 98, 62, calc(var(--mb-wa,0) * .2)) max(0px, calc(var(--mb-wr,0px) - 22px)), transparent var(--mb-wr,0px));position:absolute;inset:0}.project-bento .magic-bento__card:focus-within{outline-offset:3px;outline:2px solid #66714b}.project-bento .magic-bento__content{padding:clamp(24px,3vw,38px)}.showcase-project{flex-direction:column;flex:1;min-width:0;display:flex}.showcase-project__copy{margin:0 0 24px}.showcase-project h3{font:600 clamp(1.6rem, 2.6vw, 2.1rem)/1.2 var(--sans);letter-spacing:-.025em;margin:0 0 8px}.showcase-project p{color:#735e50;max-width:40ch;margin:0;font-size:.95rem;line-height:1.7}.showcase-project .showcase-project__date{color:#89796b;margin-bottom:20px;font-size:.8rem}.showcase-project .showcase-project__summary{color:#66714b;font-size:.95rem;font-weight:500}.showcase-project .showcase-project__details{max-width:58ch;margin-bottom:32px}.showcase-project__tags{flex-wrap:wrap;gap:7px;margin:auto 0 0;padding:0;list-style:none;display:flex}.showcase-project__tags li{color:#515d39;background:#e9eddd;border:1px solid #66714b2e;border-radius:100px;padding:4px 11px;font-size:.7rem}.showcase-project__links{flex-wrap:wrap;gap:24px;margin-top:24px;display:flex}.showcase-project__links a{color:#4c3128;text-underline-offset:5px;font-size:.82rem}.showcase-project__links a:hover{color:#66714b}.showcase-project__links a:focus-visible{outline-offset:5px;border-radius:2px;outline:2px solid #66714b}@media (width<=900px){.project-bento{grid-template-columns:minmax(0,1fr)!important}.project-bento .magic-bento__cell,.project-bento .magic-bento__cell:first-child,.project-bento .magic-bento__card{min-height:0}.showcase-project__tags{margin-top:0}}.falling-text{box-sizing:border-box;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.falling-text[data-trigger=click]:not([data-phase]){cursor:pointer}.falling-text__text{box-sizing:border-box;text-align:center;text-wrap:balance;max-width:100%;padding:1em;line-height:1.4}.falling-text__group{white-space:nowrap}.falling-text__piece{white-space:pre;display:inline-block}.falling-text__piece[data-highlight]{color:var(--falling-text-accent);font-weight:600}.falling-text__piece--tile{background:var(--falling-text-tile);box-shadow:inset 0 0 0 1px var(--falling-text-tile-edge), inset 0 1px 0 var(--falling-text-tile-highlight), var(--falling-text-tile-shadow);color:var(--falling-text-tile-ink);border-radius:.42em;margin:.14em .06em;padding:.24em .56em;line-height:1.2}.falling-text__piece--tile[data-highlight]{background:var(--falling-text-accent);box-shadow:inset 0 1px 0 #ffffff3d, var(--falling-text-tile-shadow);color:var(--falling-text-accent-ink)}.falling-text[data-phase] .falling-text__piece{will-change:transform}.falling-text[data-draggable][data-phase=falling] .falling-text__piece{touch-action:none}.falling-text[data-draggable][data-phase=falling]:not([data-dragging]) .falling-text__piece{cursor:grab}.falling-text[data-dragging],.falling-text[data-dragging] .falling-text__piece{cursor:grabbing}.falling-text--wireframes .falling-text__piece{outline-offset:-1px;outline:1px solid}.skills-heading{width:100%;height:140px;font:500 clamp(1.8rem, 3.4vw, 2.7rem)/1.15 var(--sans);letter-spacing:-.025em}.skills-heading .falling-text{text-align:left;justify-content:flex-start;align-items:flex-start;height:100%;overflow:hidden}.skills-heading .falling-text__text{text-align:left;padding:0}.skills-heading .falling-text:focus-visible{outline:2px solid var(--brown-dark);outline-offset:5px;border-radius:8px}@media (width<=640px){.skills-heading{height:110px;font-size:2rem}}@media (prefers-reduced-motion:reduce){.skills-heading{height:auto}}.hero h1{isolation:isolate;position:relative}.hero h1>span{z-index:1;position:relative}.arabic-name-watermark{z-index:0;color:#b8c99b;opacity:.14;pointer-events:none;-webkit-user-select:none;user-select:none;width:min(118%,100vw - 20px);height:auto;display:block;position:absolute;top:50%;left:50%;overflow:visible;transform:translate(-50%,-50%)scaleY(.94)}.arabic-name-watermark__pen{stroke-dasharray:1;stroke-dashoffset:0}.nav-identity{isolation:isolate;position:relative}.nav-identity>span,.nav-identity>small{z-index:1;position:relative}.arabic-name-watermark--nav{color:#66714b;opacity:.3;width:190px;max-width:27vw;height:auto;top:50%}.arabic-name-watermark--nav .arabic-name-watermark__pen{stroke-dashoffset:0;animation:none}@media (width<=640px){.arabic-name-watermark--nav{width:150px;max-width:46vw;height:auto}}@media (prefers-reduced-motion:no-preference){.arabic-name-watermark__pen{animation:arabic-name-pen var(--pen-duration) linear var(--pen-delay) both}}@keyframes arabic-name-pen{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}.resume-modal{background:var(--paper);color:#122b27;border:1px solid #122b2733;border-radius:20px;width:min(960px,100vw - 32px);max-width:calc(100vw - 32px);height:min(920px,90svh);max-height:90svh;padding:0;overflow:hidden;box-shadow:0 24px 90px #00000059}.resume-modal[open]{flex-direction:column;display:flex}.resume-modal::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#071411b8}.resume-modal__header{border-bottom:1px solid #122b2726;justify-content:space-between;align-items:center;gap:16px;padding:16px 22px;display:flex}.resume-modal__header h2{font:500 1.2rem/1.3 var(--sans);margin:0}.resume-modal__actions{align-items:center;gap:18px;display:flex}.resume-modal__actions a{text-underline-offset:4px;font-size:.85rem;text-decoration:underline}.resume-modal__actions button{color:#122b27;cursor:pointer;background:#e1e5dc;border:0;border-radius:50%;place-items:center;width:44px;height:44px;font-size:1.8rem;display:grid}.resume-modal__document{background:#e1e5dc;border:0;flex:1;width:100%;min-height:0;display:block}.resume-modal__fallback{margin:0;padding:10px 22px;font-size:.75rem}.resume-modal__fallback a{text-decoration:underline}@media (width<=640px){.resume-modal{border-radius:12px}.resume-modal__header{padding:12px 16px}.resume-modal__actions{gap:12px}}:root{--cream:#f3eee5;--about-bg:#e1e5dc;--page-bg:#d3ddd5;--paper:#fbf8f2;--ink:#202a2d;--muted:#6d706b;--brown:#8b624b;--brown-dark:#6b4938;--line:#202a2d29;--pastachio:#c8e6aa80;--young-olive:#becd91;--Pistachio-gelato:#e1edc4;--soft-fern:#afbea580;--apple-blossom:#d2e8bf;--matcha-latte:#c5d4a4;--deep-teal:#174f4a;--serif-Glook-Georgia-Serif:"Gloock", Georgia, serif;--serif-DM-Serif-Display:"DM Serif Display", serif;--serif-Comorant:"Cormorant Garamond", serif;--serif-BodoniModa:"Bodoni Moda", serif;--serif-Fraunces:"Fraunces", serif;--serif-Italiana:"Italiana", serif;--serif-Prata:"Prata", serif;--serif-Syne:"Syne", sans-serif;--serif-SpaceGrotesk:"Space Grotesk", sans-serif;--serif:var(--serif-BodoniModa);--sans:"DM Sans", system-ui, sans-serif;--page:min(1180px, calc(100vw - 64px));--ease:cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:clip}body{background:var(--page-bg);color:var(--ink);font-family:var(--sans);margin:0;line-height:1.65}body:before{content:"";pointer-events:none;z-index:20;opacity:.18;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.12'/%3E%3C/svg%3E");position:fixed;inset:0}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid var(--brown);outline-offset:5px}.sr-only{clip:rect(0,0,0,0);width:1px;height:1px;position:absolute;overflow:hidden}.navbar{z-index:10;height:90px;transition:height .45s var(--ease), background .45s ease, border-color .45s ease, box-shadow .45s ease;border-bottom:1px solid #0000;grid-template-columns:1fr minmax(220px,.8fr) 1fr;align-items:center;padding:0 max(32px,50vw - 590px);display:grid;position:fixed;top:0;left:0;right:0}.navbar--scrolled{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom-color:var(--line);background:#f3eee5e6;box-shadow:0 8px 30px #392d250a}.navbar{opacity:0;visibility:hidden;pointer-events:none;transition:transform .25s var(--ease), opacity .25s ease, visibility .25s;transform:translateY(-100%)}.navbar--scrolled{opacity:1;visibility:visible;pointer-events:auto;transform:none}.nav-group{align-items:center;gap:clamp(24px,3vw,48px);display:flex}.nav-group--right{justify-content:flex-end}.nav-group a{font:500 15px/1.4 var(--sans);text-transform:uppercase;letter-spacing:.025em;position:relative}.nav-group a:after{content:"";background:var(--brown);transform-origin:100%;width:100%;height:1px;transition:transform .35s var(--ease);position:absolute;bottom:-7px;left:0;transform:scaleX(0)}.nav-group a:hover:after,.nav-group a[aria-current=location]:after{transform-origin:0;transform:scaleX(1)}.nav-group a[aria-current=location]{color:var(--brown-dark)}.nav-identity{flex-direction:column;justify-self:center;align-items:center;line-height:1.15;display:flex}.nav-identity span{font:500 19px var(--sans);letter-spacing:-.015em}.nav-identity .nav-name{flex-direction:column;align-items:center;gap:1px;display:flex}.nav-identity .nav-name>span{font:500 18px/1.1 var(--sans)}.nav-identity small{color:var(--brown);font:400 10px/1.3 var(--sans);text-transform:none;letter-spacing:.01em;margin-top:5px}.navbar--scrolled .nav-identity{opacity:1;pointer-events:auto;transform:none}.mobile-navigation{display:none}.menu-button{background:0 0;border:0;padding:8px;display:none}.menu-button>span:not(.sr-only){background:var(--ink);width:24px;height:1px;margin:6px;display:block}.hero{min-height:100svh;width:var(--page);isolation:isolate;place-items:center;margin:auto;padding:90px 0;display:grid;position:relative;overflow:visible}.hero:before{content:"";z-index:-1;background:radial-gradient(at 82% 25%,#74805a3b,#0000 55%),radial-gradient(at 12% 85%,#a67b541a,#0000 55%),#122b27;position:absolute;inset:0 calc(50% - 50vw)}.hero-content{text-align:center;z-index:1;width:100%;max-width:910px;animation:enter 1s var(--ease) both;position:relative}.hero-dot-field{pointer-events:none;z-index:0;width:100vw;position:absolute;top:0;bottom:0;left:calc(50% - 50vw);overflow:hidden}.hero-olive-branch{top:-60px;right:calc((100vw - var(--page)) / -2);opacity:.38;pointer-events:none;width:min(64vw,900px);animation:branch-enter 1.2s .2s var(--ease) both;position:absolute;-webkit-mask-image:linear-gradient(to bottom left,#000 20%,#000c 52%,#0000 95%);mask-image:linear-gradient(to bottom left,#000 20%,#000c 52%,#0000 95%)}.hero-welcome{color:#c5d4a4;flex-direction:row;justify-content:center;align-items:baseline;gap:18px;width:100%;margin:0 0 32px;display:flex}.hero-welcome-en{font-family:var(--sans);letter-spacing:.16em;text-transform:uppercase;font-size:clamp(.8rem,1.4vw,1.05rem)}.hero-welcome-divider{color:#c5d4a4;opacity:.7;align-self:center;font-size:.45rem}.hero-welcome-ar{color:#c5d4a4;direction:rtl;unicode-bidi:isolate;font-family:Amiri,Noto Naskh Arabic,serif;font-size:clamp(2.2rem,3.6vw,3rem);line-height:1.3}.hero h1{font:800 clamp(3.5rem, 9vw, 8rem)/1.02 var(--sans);letter-spacing:-.045em;text-transform:uppercase;color:#fbf8f2;margin:0}.hero h1 span{display:block}.hero-intro-line{color:#c5d4a4;font:400 1rem/1.5 var(--sans);justify-content:center;align-items:baseline;gap:10px;margin:0 0 12px;display:flex}.hero-intro-line [lang=ar]{font-family:Amiri,serif;font-size:1.4rem}.hero h1 span+span{color:#c5d4a4;margin-top:8px}.hero h1 .hero-introduction{font:400 clamp(1rem, 1.6vw, 1.25rem)/1.4 var(--serif-Prata);letter-spacing:0;color:var(--brown-dark);margin:0 0 12px}.hero-description{color:var(--brown-dark);margin:20px 0 0;font-size:clamp(.95rem,1.4vw,1.1rem);line-height:1.65}.hero-connect{color:#d3dbcb;text-underline-offset:5px;align-items:center;gap:10px;padding:12px 0;font-size:.85rem;display:inline-flex}.hero-connect:hover{text-decoration:underline}.hero-role{color:#c2cdc6;letter-spacing:.025em;margin:28px 0 0;font-size:clamp(1rem,2vw,1.4rem);font-weight:400}.hero .button--primary{color:#122b27;--v-olive-ink:#122b27;background:#c5d4a4;border-color:#c5d4a4;border-radius:100px}.hero-work-icon{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:20px;height:20px;overflow:visible}.hero .button--primary:hover{background:#e1edc4;border-color:#e1edc4}.hero a:focus-visible{outline-color:#e1edc4}.about-lead em{color:var(--brown);font-weight:400}.hero-actions{flex-direction:column;justify-content:center;align-items:center;gap:18px;margin-top:32px;display:flex}.hero-resume-link{--v-olive-ink:#c5d4a4;color:#c5d4a4;align-items:center;gap:10px;padding:6px 0;font-size:.85rem;display:inline-flex}.hero-resume-link:hover{color:#e1edc4}.hero-resume-link{cursor:pointer;background:0 0;border:0;font-family:inherit}.hero-resume-link:focus-visible{outline-color:#e1edc4}.button{border:1px solid var(--ink);letter-spacing:.08em;text-transform:uppercase;min-height:52px;transition:transform .3s var(--ease), background .3s, color .3s;justify-content:center;align-items:center;gap:24px;padding:0 24px;font-size:.76rem;display:inline-flex}.button:hover{transform:translateY(-3px)}.button--primary{background:var(--ink);color:var(--paper)}.button--primary:hover{background:var(--brown-dark);border-color:var(--brown-dark)}.button--ghost{border-color:#0000}.button--ghost:hover{border-color:var(--line)}.section{width:var(--page);border-top:1px solid var(--line);margin:auto;padding:88px 0}.about-section{background:var(--about-bg);min-height:80svh;box-shadow:0 0 0 100vmax var(--about-bg);clip-path:inset(0 -100vmax);align-items:center;padding-block:112px;display:grid}.projects-section{background:var(--page-bg);box-shadow:0 0 0 100vmax var(--page-bg);clip-path:inset(0 -100vmax)}.section-heading{grid-template-columns:1fr 3fr;align-items:start;gap:36px;margin-bottom:64px;display:grid}.section-heading--compact{margin-bottom:48px;display:block}.section-marker{flex-direction:column;align-items:flex-start;gap:28px;display:flex}.about-photo-block{width:100%;margin:0}.about-photo-frame{aspect-ratio:3/4;border:1px solid var(--line);border-radius:24px;width:100%;overflow:hidden}.about-photo{object-fit:cover;object-position:50% 130%;width:100%;height:100%;display:block;transform:scale(1.8)}.about-photo-caption{color:var(--brown-dark);letter-spacing:.16em;text-align:center;text-transform:uppercase;margin-top:14px;font-size:.66rem;font-weight:600;line-height:1.5}.section h2{max-width:830px;font:500 clamp(2rem, 3.5vw, 3rem)/1.15 var(--sans);letter-spacing:-.035em;margin:0}.about-grid{grid-template-columns:minmax(0,350px) minmax(0,620px);align-items:center;gap:clamp(36px,6vw,80px);display:grid}.about-story{min-width:0}.about-story .section-heading,.about-story .about-lead{margin-bottom:28px}.about-lead{font:400 1.3rem/1.65 var(--sans);margin:0}.about-copy{color:var(--brown)}.about-copy p{margin:0 0 20px}.inline-link,.text-link{color:var(--ink);border-bottom:1px solid var(--brown);transition:gap .3s var(--ease), color .3s;align-items:center;gap:8px;padding-bottom:3px;display:inline-flex}.inline-link:hover,.text-link:hover{color:var(--brown);gap:13px}.project-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.project-card{border:1px solid var(--line);min-height:470px;transition:transform .5s var(--ease), box-shadow .5s var(--ease), background .4s;background:#fbf8f294;flex-direction:column;padding:28px;display:flex;position:relative;overflow:hidden}.project-card:before{content:"";opacity:0;background:linear-gradient(140deg,#0000 45%,#8b624b1f);transition:opacity .5s;position:absolute;inset:0}.project-card:hover{background:var(--paper);transform:translateY(-10px)rotate(.4deg);box-shadow:0 24px 50px #392d251a}.project-card:hover:before{opacity:1}.project-topline,.project-footer{z-index:1;position:relative}.project-topline{color:var(--muted);text-transform:uppercase;letter-spacing:.12em;justify-content:space-between;font-size:.69rem;display:flex}.project-number{color:var(--brown)}.project-body{z-index:1;margin:auto 0;position:relative}.project-body h3{font:600 2rem/1.2 var(--sans);margin:0 0 18px}.project-body p{color:var(--muted);font-size:.91rem}.tag-list{flex-wrap:wrap;gap:7px;margin:0 0 22px;padding:0;list-style:none;display:flex}.tag-list li{border:1px solid var(--line);border-radius:20px;padding:4px 10px;font-size:.66rem}.project-links{text-transform:uppercase;letter-spacing:.08em;gap:20px;font-size:.74rem;display:flex}.project-links a{transition:color .2s}.project-links a:hover{color:var(--brown)}.section-note{text-align:right;color:var(--muted);margin:35px 0 0;font-size:.82rem}.skills-grid{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}.skill-group{border-right:1px solid var(--line);transition:background .3s, transform .3s var(--ease), box-shadow .3s var(--ease);padding:35px}.skill-group:last-child{border-right:0}.skill-group:hover{background:var(--paper);transform:translateY(-4px);box-shadow:0 10px 24px #392d251f}@media (prefers-reduced-motion:reduce){.skill-group{transition:none}.skill-group:hover{transform:none}}.skill-group h3{font:500 1.3rem/1.3 var(--sans);margin:0 0 24px}.skill-group ul{columns:2;color:var(--muted);margin:0;padding:0;font-size:.85rem;list-style:none}.skill-group li{margin-bottom:9px}.resume-timeline{--resume-columns:minmax(0, 1fr) 104px minmax(0, 1.35fr);--resume-gap:clamp(24px, 4vw, 52px)}.resume-group{grid-template-columns:var(--resume-columns);column-gap:var(--resume-gap);scroll-margin-top:100px;display:grid}.resume-group+.resume-group{margin-top:90px}.section .resume-group-title{text-align:left;min-width:0;font:500 clamp(1.4rem, 2.5vw, 1.9rem)/1.25 var(--sans);letter-spacing:-.025em;grid-column:3;margin:0 0 32px}.resume-list{border-top:1px solid var(--line);grid-column:1/-1;min-width:0}.timeline-item{grid-template-columns:var(--resume-columns);gap:var(--resume-gap);border-bottom:1px solid var(--line);min-height:190px;transition:padding .35s var(--ease), background .35s;padding:38px 0;display:grid}.resume-group[aria-labelledby=resume-research-experience] .timeline-item:hover{background:0 0;padding-left:0;padding-right:0}.timeline-summary{text-align:right;padding-top:7px}.timeline-summary h3,.timeline-details h3{font:500 1.2rem/1.4 var(--sans);margin:0}.timeline-period{color:var(--brown);text-transform:uppercase;letter-spacing:.12em;margin:9px 0 0;font-size:.7rem;font-weight:600}.timeline-marker{justify-content:center;align-self:stretch;align-items:flex-start;display:flex;position:relative}.timeline-marker:before{content:"";background:var(--line);width:1px;position:absolute;top:-38px;bottom:-38px;left:50%;transform:translate(-50%)}.timeline-logo{z-index:1;border:1px solid var(--line);background:var(--paper);width:86px;height:86px;transition:transform .35s var(--ease), border-color .35s, box-shadow .35s;border-radius:50%;place-items:center;display:grid;position:relative;overflow:hidden;box-shadow:0 8px 22px #392d2514}.timeline-logo img{width:100%;min-width:0;height:98%;min-height:0;display:block}.timeline-logo:hover{border-color:#8b624b80;transform:scale(1.06);box-shadow:0 12px 28px #392d2524}.timeline-details{padding-top:7px}.project-description{color:var(--ink);margin:0 0 16px;font-size:1rem;line-height:1.6}.timeline-affiliation{color:var(--brown);letter-spacing:.06em;text-transform:uppercase;margin:7px 0 0;font-size:.73rem;font-weight:600}.timeline-details ul{color:var(--muted);margin:20px 0 0;padding-left:1.15rem;font-size:.86rem}.timeline-details li+li{margin-top:9px}.button--outline{float:right}.contact-section{background:var(--ink);color:var(--paper);width:100%;padding-left:max(32px,50vw - 590px);padding-right:max(32px,50vw - 590px)}:is(#about,#contact) .section-label:after{content:"";background:currentColor;width:50px;height:2px;margin-top:12px;display:block}.contact-grid{grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:start;gap:20%;display:grid}.contact-details{gap:30px;min-width:0;margin:0;display:grid}.contact-detail dt{color:#fbf8f27a;letter-spacing:.16em;text-transform:uppercase;align-items:center;gap:16px;font-size:.66rem;display:flex}.contact-icon{color:#c99e80;flex:0 0 22px;width:22px;height:22px}.contact-email-label{align-items:center;gap:12px;display:inline-flex}.contact-icon[data-slot=icon]{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;overflow:visible}.contact-detail dd{font:400 clamp(1rem, 1.8vw, 1.3rem)/1.5 var(--sans);overflow-wrap:anywhere;margin:6px 0 0 38px}.contact-detail a{text-underline-offset:5px;transition:color .2s}.contact-detail a:hover{color:#c99e80;text-decoration:underline}.contact-aside{flex-direction:column;align-items:flex-start;gap:13px;display:flex}.contact-aside>p{text-transform:uppercase;letter-spacing:.16em;color:#fbf8f27a;margin:0;font-size:.66rem}.contact-aside .text-link{color:var(--paper);border-bottom:0}.contact-aside .text-link:hover{gap:8px}footer{background:var(--ink);color:#fbf8f285;text-transform:uppercase;letter-spacing:.12em;border-top:1px solid #fbf8f224;justify-content:space-between;align-items:center;min-height:110px;padding:0 max(32px,50vw - 590px);font-size:.67rem;display:flex}.reveal{opacity:0;transition:opacity .8s var(--ease), transform .8s var(--ease);transform:translateY(35px)}.reveal.is-visible{opacity:1;transform:none}@keyframes enter{0%{opacity:0;transform:translateY(25px)}}@keyframes line-grow{0%{transform:scaleX(0)}}@keyframes branch-enter{0%{opacity:0;transform:translate(28px,-18px)rotate(-1deg)}}@media (width<=900px){:root{--page:min(100% - 40px, 720px)}.section{padding:84px 0}.about-section{min-height:75svh;padding-block:88px}.section-heading{flex-direction:column;margin-bottom:46px;display:flex}.section-marker{display:contents}.section-heading .section-label{order:1}.section-heading h2{order:2}.about-grid{grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:32px}.project-grid{grid-template-columns:1fr}.project-card{min-height:400px}.skills-grid{grid-template-columns:1fr}.skill-group{border-right:0;border-bottom:1px solid var(--line)}.skill-group:last-child{border-bottom:0}.resume-timeline{--resume-columns:minmax(0, .85fr) 90px minmax(0, 1.35fr);--resume-gap:24px}.timeline-logo{width:74px;height:74px}}@media (width<=640px){:root{--page:calc(100% - 32px)}.navbar{justify-content:space-between;height:68px;padding:0 16px;display:flex}.nav-group{display:none}.nav-identity{justify-self:auto;align-items:flex-start}.nav-identity span{font-size:1.05rem}.nav-identity small{margin-top:3px;font-size:9px}.nav-identity .nav-name>span{font-size:16px}.menu-button{z-index:2;cursor:pointer;display:block}.mobile-navigation{background:var(--cream);opacity:0;visibility:hidden;flex-direction:column;justify-content:center;align-items:center;gap:30px;transition:opacity .3s;display:flex;position:fixed;inset:0}.mobile-navigation.nav-open{opacity:1;visibility:visible}.mobile-navigation a{font:500 2rem var(--sans);text-transform:uppercase;letter-spacing:.025em}.hero{min-height:100svh;padding:72px 0}.hero-olive-branch{top:-20px;right:calc((100vw - var(--page)) / -2);opacity:.25;width:110vw;max-width:690px}.hero-welcome{margin-bottom:14px}.hero h1{font-size:clamp(2.5rem,10.8vw,4.7rem)}.hero-role{margin-top:24px;font-size:1rem}.hero-actions{flex-direction:column;align-items:center;gap:12px}.section{padding:64px 0}.about-section{min-height:auto;padding-block:80px}.section h2{font-size:2.65rem}.about-grid,.contact-grid{grid-template-columns:1fr;gap:35px}.about-grid .about-photo-block{width:min(100%,280px)}.about-lead{font-size:1.15rem}.project-card{min-height:430px;padding:23px}.section-note{text-align:left}.section-heading--compact{margin-bottom:42px}.resume-group+.resume-group{margin-top:68px}.section .resume-group-title{grid-column:2;margin-bottom:24px;font-size:1.65rem}.resume-timeline{--resume-columns:64px minmax(0, 1fr);--resume-gap:18px}.timeline-item{min-height:0;padding:28px 0}.timeline-marker{grid-area:1/1/span 2;justify-content:flex-start}.timeline-marker:before{display:none}.timeline-logo{width:60px;height:60px}.timeline-summary{text-align:left;grid-area:1/2;padding-top:2px}.timeline-summary h3,.timeline-details h3{font-size:1.18rem}.timeline-details{grid-area:2/2;padding-top:0}.timeline-details ul{margin-top:16px;padding-left:1rem}.button--outline{float:none;width:100%}.contact-section{padding-left:16px;padding-right:16px}footer{flex-direction:column;align-items:flex-start;gap:10px;padding:30px 16px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal{opacity:1;transform:none}}.section .section-marker .section-label{width:auto;max-width:none;color:inherit;text-align:left;font:500 clamp(1.8rem, 3.4vw, 2.7rem)/1.15 var(--sans);letter-spacing:-.025em;margin:0}.contact-section .section-marker .section-label{color:#c99e80}.skills-section{border-top:none}.skills-section .section-heading{margin-bottom:45px}@media (width<=640px){.section .section-marker .section-label{font-size:2rem}.skills-section .section-heading{margin-bottom:28px}}.skills-section .section-marker{align-items:flex-start}.skills-section .section-marker .section-label{text-align:left;width:100%}.resume-actions{justify-content:center;margin-top:32px;display:flex}.resume-actions .button{float:none}
