:root{--color-bg: #0A1424;--color-bg-elev: #0F1B2D;--color-text: #F2ECDC;--color-text-muted: #7A8AA0;--color-accent: #D4A857;--color-accent-bright: #E5BC6F;--color-hairline: rgba(212, 168, 87, 0.18);--color-shadow-glow: rgba(212, 168, 87, 0.10);--color-spotlight: 245, 220, 170;--font-serif: "Newsreader", "Iowan Old Style", "Palatino", Georgia, serif;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", ui-monospace, Menlo, Consolas, monospace;--fz-hero: clamp(64px, 12vw, 160px);--fz-h2: clamp(28px, 4vw, 40px);--fz-h3: 22px;--fz-body: 18px;--fz-meta: 14px;--fz-mono: 13px;--fz-sig: 32px;--space-1: 8px;--space-2: 16px;--space-3: 24px;--space-4: 32px;--space-5: 40px;--space-6: 48px;--space-8: 64px;--space-10: 80px;--space-12: 96px;--space-15: 120px;--container-max: 1200px;--container-pad: 100px;--w-reading: 860px;--ease: cubic-bezier(0.16, 1, 0.3, 1);--dur-quick: 200ms;--dur-med: 400ms;--dur-long: 500ms;--dur-signature: 800ms;--stroke-w: 1.5px;--stroke-color: var(--color-accent);--spotlight-strength: 0.06;--spotlight-radius: 400px;--mx: 50vw;--my: 50vh;--progress: 0%}@media (max-width: 1080px){:root{--container-pad: 50px}}@media (max-width: 768px){:root{--container-pad: 25px}}@font-face{font-family:"Newsreader";src:url("/assets/fonts/Newsreader.woff2") format("woff2");font-weight:200 800;font-style:normal;font-display:swap;unicode-range:U+0000-024F,U+2010-2027}@font-face{font-family:"Inter";src:url("/assets/fonts/Inter.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+0000-024F,U+2010-2027}@font-face{font-family:"JetBrains Mono";src:url("/assets/fonts/JetBrainsMono.woff2") format("woff2");font-weight:400 700;font-style:normal;font-display:swap;unicode-range:U+0000-024F,U+2010-2027}*,*::before,*::after{box-sizing:border-box}html,body,h1,h2,h3,h4,h5,h6,p,blockquote,figure,ol,ul{margin:0;padding:0}ul,ol{list-style:none}img,picture,svg{max-width:100%;display:block}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}html{font-family:var(--font-sans);font-size:100%;line-height:1.6;color:var(--color-text);background:var(--color-bg);font-optical-sizing:auto;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;scroll-padding-top:50px}body{min-height:100vh;overflow-x:hidden;font-size:var(--fz-body)}::selection{background:var(--color-accent);color:var(--color-bg)}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);color:var(--color-text);line-height:1.15;letter-spacing:-0.015em;font-variation-settings:"opsz" 72, "wght" 500}h1{font-variation-settings:"opsz" 72, "wght" 500;letter-spacing:-0.02em}p{line-height:1.6}a{color:inherit;text-decoration:none;transition:color var(--dur-quick) var(--ease)}a:hover,a:focus-visible{color:var(--color-accent-bright)}:focus-visible{outline:2px solid var(--color-accent-bright);outline-offset:4px;border-radius:2px}hr{border:0;border-top:1px solid var(--color-hairline);height:0;margin:var(--space-6) 0}.skip-to-main{position:absolute;top:-100px;left:var(--space-3);padding:8px 14px;background:var(--color-bg-elev);color:var(--color-accent);font-family:var(--font-mono);font-size:var(--fz-mono);border:1px solid var(--color-accent);z-index:200;transition:top var(--dur-quick) var(--ease)}.skip-to-main:focus-visible{top:var(--space-2)}*{scrollbar-width:thin;scrollbar-color:var(--color-hairline) transparent}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-thumb{background:var(--color-hairline);border-radius:4px}*::-webkit-scrollbar-thumb:hover{background:var(--color-accent)}.no-js .fade-up{opacity:1 !important;transform:none !important}.no-js #loader{display:none !important}.no-js .gpa-count{font-size:0}.no-js .gpa-count::before{content:attr(data-target);font-size:var(--fz-body)}@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:0.001ms !important;animation-iteration-count:1 !important;transition-duration:0.001ms !important;scroll-behavior:auto !important}.fade-up{opacity:1 !important;transform:none !important}#loader{display:none !important}}@media print{#loader,.monogram,.sidebar-left,.sidebar-right,.cursor-reticle,.scroll-progress,body::before{display:none !important}html,body{background:#fff !important;color:#000 !important}*{color:#000 !important}section{min-height:auto !important;padding:40px 0 !important}}.container{max-width:var(--container-max);margin:0 auto;padding-inline:var(--container-pad)}main{position:relative;z-index:4}.monogram{position:fixed;top:24px;left:var(--container-pad);z-index:20;display:inline-flex;align-items:center;color:var(--color-accent);text-decoration:none;view-transition-name:monogram}@media (max-width: 1080px){.monogram{left:25px}}@media (max-width: 768px){.monogram{left:20px;top:18px}}.monogram__mark{width:40px;height:40px;display:block;overflow:visible}.monogram__mark path{fill:none;stroke:currentColor;stroke-width:var(--stroke-w);stroke-linecap:round;stroke-linejoin:round}.monogram__j,.monogram__h{transition:transform var(--dur-med) var(--ease);transform-box:fill-box;transform-origin:center}.monogram:hover{color:var(--color-accent-bright)}.monogram:hover .monogram__j{transform:translateX(-3px)}.monogram:hover .monogram__h{transform:translateX(3px)}.monogram__spark{fill:var(--color-accent);stroke:none;opacity:0;transform-origin:18px 20px;transform:scale(0.4)}.monogram:hover .monogram__spark{animation:monogram-spark var(--dur-long) var(--ease) 300ms forwards}@keyframes monogram-spark{0%{opacity:0;transform:scale(0.4)}40%{opacity:1;transform:scale(1.4)}100%{opacity:0;transform:scale(1.8)}}@media (prefers-reduced-motion: reduce){.monogram:hover .monogram__j,.monogram:hover .monogram__h{transform:none}.monogram:hover .monogram__spark{animation:none;opacity:0}}.topnav{position:fixed;top:0;right:0;left:0;z-index:18;display:flex;justify-content:flex-end;align-items:center;gap:18px;padding:6px var(--container-pad);background:rgba(10,20,36,0.85);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transform:translateZ(0);will-change:transform;isolation:isolate;transition:transform var(--dur-med) var(--ease),box-shadow var(--dur-med) var(--ease)}.topnav.is-scrolled{box-shadow:0 8px 24px rgba(0,0,0,0.3)}.topnav.is-hidden{transform:translateY(-100%)}.topnav__list{display:flex;gap:20px;align-items:center;padding:0;margin:0;list-style:none}.topnav__list a{font-family:var(--font-mono);font-size:11px;letter-spacing:0.04em;color:var(--color-text);text-decoration:none;transition:color var(--dur-quick) var(--ease)}.topnav__list a:hover,.topnav__list a:focus-visible{color:var(--color-accent-bright)}.topnav__num{color:var(--color-accent);margin-right:3px;font-size:10px}@media (max-width: 900px){.topnav{display:none}}.sidebar{position:fixed;bottom:0;z-index:15;display:flex;flex-direction:column;align-items:center;gap:14px;opacity:0;transform:translateX(-40px);transition:opacity var(--dur-med) var(--ease),transform var(--dur-med) var(--ease)}.sidebar-left{left:var(--container-pad)}.sidebar-right{right:var(--container-pad);transform:translateX(40px)}.sidebar.is-in{opacity:1;transform:none}@media (max-width: 1080px){.sidebar-left{left:25px}.sidebar-right{right:25px}}@media (max-width: 768px){.sidebar{display:none}}.sidebar__list{display:flex;flex-direction:column;align-items:center;gap:4px;padding:0}.sidebar__item a{display:inline-flex;padding:10px;color:var(--color-text-muted);transition:color var(--dur-med) var(--ease),transform var(--dur-med) var(--ease);position:relative}.sidebar__item a:hover,.sidebar__item a:focus-visible{color:var(--color-accent-bright);transform:translateY(-3px)}.sidebar__item svg{width:20px;height:20px}.scan-ring{position:absolute;inset:0;margin:auto;width:40px;height:40px;pointer-events:none}.scan-ring circle{cx:50%;cy:50%;fill:none;stroke:var(--color-accent);stroke-width:var(--stroke-w);transform-origin:center;animation:scan-pulse var(--dur-long) var(--ease) forwards}@keyframes scan-pulse{0%{r:10px;opacity:1}100%{r:20px;opacity:0}}.sidebar__rail{width:1px;height:90px;background:var(--color-hairline);transition:background var(--dur-med) var(--ease)}.sidebar:hover .sidebar__rail{background:var(--color-accent)}.sidebar-right__marker{display:flex;flex-direction:column;align-items:center;gap:12px;padding:10px 0}.sidebar-right__num{font-family:var(--font-mono);font-size:var(--fz-mono);letter-spacing:0.15em;color:var(--color-accent);min-width:2ch;text-align:center;transition:opacity var(--dur-quick) var(--ease)}.sidebar-right__marker.is-changing .sidebar-right__num{opacity:0}.sidebar-right__bar{position:relative;width:var(--stroke-w);height:140px;background:var(--color-hairline);border-radius:999px;overflow:hidden}.sidebar-right__bar-fill{position:absolute;top:0;left:0;width:100%;height:0%;background:var(--color-accent);transform-origin:top;transition:height 60ms linear}@media (prefers-reduced-motion: reduce){.sidebar-right__bar-fill,.sidebar-right__num{transition:none}}#loader{position:fixed;inset:0;z-index:100;background:#000;display:grid;place-items:center;transition:background 200ms linear,opacity 300ms var(--ease)}#loader.is-navy{background:var(--color-bg)}#loader.is-hiding{opacity:0;pointer-events:none}#loader svg{width:80px;height:80px;color:var(--color-accent);overflow:visible}#loader svg path{fill:none;stroke:currentColor;stroke-width:var(--stroke-w);stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:120;stroke-dashoffset:120}#loader.is-drawing .loader__j{animation:draw 300ms var(--ease) 200ms forwards}#loader.is-drawing .loader__h{animation:draw 300ms var(--ease) 500ms forwards}#loader .loader__ring{transform-origin:center;transform:scale(1);opacity:0}#loader.is-sealing .loader__ring{animation:seal-press var(--dur-med) var(--ease) forwards}@keyframes draw{to{stroke-dashoffset:0}}@keyframes seal-press{0%{transform:scale(1);opacity:1}100%{transform:scale(2.2);opacity:0}}body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:1;background:radial-gradient(var(--spotlight-radius) circle at var(--mx) var(--my), rgba(var(--color-spotlight), var(--spotlight-strength)), transparent 60%);mix-blend-mode:soft-light;opacity:0;transition:opacity var(--dur-long) var(--ease)}body.spotlight-on::before{opacity:1}body:has(.post__engage:hover)::before{opacity:0}@media (hover: none), (pointer: coarse), (prefers-reduced-motion: reduce){body::before{display:none}}.cursor-reticle{position:fixed;top:0;left:0;width:12px;height:12px;border-radius:50%;border:var(--stroke-w) solid var(--color-accent);background:transparent;pointer-events:none;z-index:100;mix-blend-mode:difference;transform:translate3d(var(--mx), var(--my), 0) translate(-50%, -50%);transition:width var(--dur-quick) var(--ease),height var(--dur-quick) var(--ease),transform 60ms linear;opacity:0}.cursor-reticle.is-active{opacity:1}.cursor-reticle.is-hover{width:24px;height:24px}body:has(.post__engage:hover) .cursor-reticle{opacity:0 !important}.cursor-reticle::before{content:"";position:absolute;inset:0;margin:auto;width:2px;height:2px;background:var(--color-accent);border-radius:50%;opacity:0;transition:opacity var(--dur-quick) var(--ease)}.cursor-reticle.is-hover::before{opacity:1}.cursor-reticle.is-click{transform:translate3d(var(--mx), var(--my), 0) translate(-50%, -50%) scale(0.9)}@media (hover: none), (pointer: coarse), (prefers-reduced-motion: reduce){.cursor-reticle{display:none}}.scroll-progress{position:fixed;right:0;top:0;width:var(--stroke-w);height:100vh;background:var(--color-hairline);z-index:12;pointer-events:none}.scroll-progress__fill{width:100%;height:var(--progress);background:var(--color-accent);transition:height 60ms linear}@media (max-width: 768px){.scroll-progress{width:1px}}.footer{max-width:var(--container-max);margin:var(--space-12) auto 0;padding:var(--space-4) var(--container-pad) var(--space-8);border-top:1px solid var(--color-hairline);font-family:var(--font-mono);font-size:var(--fz-mono);color:var(--color-text-muted);text-align:center;position:relative;z-index:4;display:flex;flex-direction:column;gap:8px}.footer a{color:inherit}.footer a:hover{color:var(--color-accent-bright)}.footer__inspired{font-family:var(--font-mono);font-size:10px;color:var(--color-text-muted);opacity:0.7;letter-spacing:0.05em;margin-top:4px}.footer__inspired a{color:inherit}.footer__inspired a:hover{color:var(--color-accent-bright);opacity:1}.footer__email{display:none}@media (max-width: 768px){.footer__email{display:block;margin-top:12px}.footer__email a{color:var(--color-accent)}}@view-transition{navigation:auto}::view-transition-old(root),::view-transition-new(root){animation-duration:var(--dur-med);animation-timing-function:var(--ease)}.section{min-height:max(100vh, 760px);padding:120px 0;display:flex;align-items:center}.section__inner{width:100%}@media (max-width: 768px){.section{min-height:auto;padding:80px 0}}.fade-up{opacity:0;transform:translateY(20px);transition:opacity var(--dur-long) var(--ease),transform var(--dur-long) var(--ease)}.fade-up.is-in{opacity:1;transform:none}.section-heading{display:flex;align-items:center;gap:12px;font-family:var(--font-serif);font-size:var(--fz-h2);font-weight:500;color:var(--color-text);margin:0 0 var(--space-6);font-variation-settings:"opsz" 72, "wght" 500}.section-heading__num{font-family:var(--font-mono);font-size:18px;color:var(--color-accent);font-weight:500;white-space:nowrap}.section-heading__text{position:relative;display:inline-block}.section-heading__text::after{content:"";position:absolute;left:0;bottom:-4px;width:100%;height:1px;background:var(--color-accent);transform:scaleX(0);transform-origin:left;transition:transform var(--dur-quick) var(--ease)}.section-heading:hover .section-heading__text::after{transform:scaleX(1)}.section-heading::after{content:"";flex:1;height:1px;max-width:300px;background:var(--color-hairline);margin-left:8px;transform-origin:left}.section-heading--terminal::after{display:none}.button{--btn-fill: var(--color-accent);--btn-fg-hover: var(--color-bg);position:relative;display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:14px 24px;font-family:var(--font-mono);font-size:var(--fz-mono);letter-spacing:0.08em;color:var(--color-text);border:var(--stroke-w) solid var(--color-accent);background:transparent;overflow:hidden;cursor:pointer;text-decoration:none;transition:color 200ms var(--ease) 100ms;isolation:isolate}.button__label{position:relative;z-index:2}.button__icon{position:relative;z-index:2;width:14px;height:14px;color:currentColor;align-self:center;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}.button__icon svg{width:100%;height:100%;display:block}.button__icon path{transition:transform var(--dur-med) var(--ease);transform-box:fill-box}.button__arrow{position:relative;z-index:2;transition:transform var(--dur-med) var(--ease)}.button::before{content:"";position:absolute;inset:0;background:var(--btn-fill);transform:scaleX(0);transform-origin:left;transition:transform var(--dur-med) var(--ease);z-index:1}.button:hover,.button:focus-visible{color:var(--btn-fg-hover)}.button:hover::before,.button:focus-visible::before,.button.is-hover::before{transform:scaleX(1)}.button:hover .button__arrow,.button:focus-visible .button__arrow{transform:translateX(4px)}.padlock__shackle{transform-origin:4px 6.5px;transition:transform var(--dur-med) var(--ease)}.button:hover .padlock__shackle,.button:focus-visible .padlock__shackle,.button.is-hover .padlock__shackle,.button.button--unlocked .padlock__shackle{transform:translateY(-1px) rotate(-10deg)}.button--large:hover .padlock__shackle,.button--large:focus-visible .padlock__shackle,.button--large.is-hover .padlock__shackle,.button--large.button--unlocked .padlock__shackle{transform:translateY(-1.5px) rotate(-12deg)}.button--ghost{--btn-fg-hover: var(--color-accent-bright)}.button--ghost:hover,.button--ghost:focus-visible{color:var(--color-accent-bright)}.button--ghost::before{display:none}.button--large{padding:20px 40px;font-size:16px}.button--large .button__icon{width:22px;height:22px}.button__flash{position:absolute;inset:0;background:var(--color-accent-bright);opacity:0;pointer-events:none;z-index:3}.button:active .button__flash{animation:flash 100ms linear}@keyframes flash{from{opacity:0.6}to{opacity:0}}.button__envelope{position:absolute;left:24px;top:50%;transform:translateY(-50%);width:20px;height:20px;opacity:0;color:currentColor;pointer-events:none;z-index:2}.button:hover .button__envelope,.button:focus-visible .button__envelope{animation:envelope-emit 300ms var(--ease) 400ms forwards}@keyframes envelope-emit{0%{opacity:1;transform:translateY(-50%) translateY(0)}100%{opacity:0;transform:translateY(-50%) translateY(-24px)}}.hero{min-height:100vh;display:grid;place-items:center}.hero__stack{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-4);max-width:720px;margin:0 auto}.hero__stack .hero__signoff{margin:0;text-align:center}.hero__stack .signature{margin:0 auto}.hero__text{display:flex;flex-direction:column;align-items:center;gap:12px}.hero__greeting{font-family:var(--font-serif);font-size:clamp(36px, 4.4vw, 56px);font-variation-settings:"opsz" 72, "wght" 500;line-height:1.15;letter-spacing:-0.015em;color:var(--color-text);margin:0}.hero__signoff{margin:0;text-align:center}.signature{display:block;width:clamp(200px, 24vw, 320px);height:auto;opacity:0.9;filter:invert(1) brightness(1.02) contrast(1.05)}.hero__bio{font-family:var(--font-sans);font-size:clamp(18px, 1.9vw, 22px);line-height:1.5;color:var(--color-text-muted);max-width:560px;margin:0;text-align:center}@media (max-width: 768px){.hero__stack{gap:var(--space-3)}.hero__text{gap:8px}.signature{width:clamp(180px, 44vw, 240px)}}.hero__portrait,.about__portrait{position:relative;width:180px;aspect-ratio:4 / 5;border-radius:10px;overflow:hidden;background:var(--color-bg-elev)}.about__portrait{width:280px}.hero__portrait img,.about__portrait img{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;filter:sepia(0.15) saturate(1.05) brightness(0.95);transition:filter var(--dur-med) var(--ease),transform var(--dur-med) var(--ease)}.hero__portrait::before,.about__portrait::before{content:"";position:absolute;inset:0;background:rgba(212,168,87,0.03);mix-blend-mode:overlay;pointer-events:none;z-index:2;transition:background var(--dur-med) var(--ease)}.hero__portrait::after,.about__portrait::after{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/></svg>");opacity:0.03;mix-blend-mode:overlay;pointer-events:none;z-index:3}.hero__portrait:hover img,.about__portrait:hover img{transform:scale(1.02);filter:sepia(0.1) saturate(1.1) brightness(1)}.hero__portrait:hover::before,.about__portrait:hover::before{background:rgba(212,168,87,0.06)}.hero__portrait-fallback{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--font-serif);font-size:64px;font-weight:300;color:var(--color-accent);letter-spacing:0.02em;z-index:0}.hero__portrait.is-fallback img,.about__portrait.is-fallback img{display:none}.hero__scan-line{position:absolute;top:0;left:0;width:100%;height:var(--stroke-w);background:var(--color-accent);opacity:0.2;transform:translateY(-4px);pointer-events:none;z-index:4}.hero__portrait:hover .hero__scan-line,.about__portrait:hover .hero__scan-line{animation:scan-line-sweep 600ms var(--ease) forwards}@keyframes scan-line-sweep{0%{transform:translateY(-4px);opacity:0.2}90%{opacity:0.2}100%{transform:translateY(400px);opacity:0}}@media (max-width: 1080px){.hero__portrait{width:160px}}@media (max-width: 768px){.hero__portrait{width:140px}.about__portrait{width:200px}}.hero__mobile-socials{display:none;margin-top:var(--space-5);gap:24px;justify-content:center;align-items:center}.hero__mobile-socials a{display:inline-flex;padding:12px;color:var(--color-text-muted);min-width:44px;min-height:44px;align-items:center;justify-content:center;transition:color var(--dur-med) var(--ease),transform var(--dur-med) var(--ease)}.hero__mobile-socials a:hover,.hero__mobile-socials a:focus-visible{color:var(--color-accent-bright);transform:translateY(-3px)}.hero__mobile-socials svg{width:22px;height:22px}@media (max-width: 768px){.hero__mobile-socials{display:flex}.hero{min-height:auto;padding-top:100px;padding-bottom:20px}}.about__grid{display:grid;grid-template-columns:minmax(0, 1fr) auto;gap:80px;align-items:start}.about__body{text-align:left}.about__body p{margin:0 0 var(--space-3);line-height:1.7;max-width:640px}.about__body p:last-child{margin-bottom:0}@media (max-width: 900px){.about__grid{grid-template-columns:1fr;gap:32px}}.jobs{display:grid;grid-template-columns:250px 1fr;gap:40px}.jobs__tabs{display:flex;flex-direction:column;border-left:1px solid var(--color-hairline)}.jobs__tab{position:relative;text-align:left;padding:12px 20px;font-family:var(--font-mono);font-size:var(--fz-mono);color:var(--color-text-muted);border-left:2px solid transparent;margin-left:-1px;transition:color var(--dur-quick) var(--ease);cursor:pointer;white-space:nowrap}.jobs__tab::before{content:"";position:absolute;left:-2px;top:0;width:2px;height:100%;background:var(--color-accent);transform:scaleY(0);transform-origin:top;transition:transform 300ms var(--ease)}.jobs__tab:hover::before{transform:scaleY(1)}.jobs__tab:hover{color:var(--color-accent-bright)}.jobs__tab[aria-selected="true"]{color:var(--color-accent)}.jobs__tab[aria-selected="true"]::before{transform:scaleY(1)}.jobs__panels{position:relative;min-height:300px}.jobs__panel{display:block}.jobs__panel[hidden]{display:none}.jobs__panel-header{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:8px}.jobs__panel-title{flex:1;min-width:0;font-family:var(--font-serif);font-size:var(--fz-h3);color:var(--color-text);font-variation-settings:"opsz" 24, "wght" 500}.jobs__panel-at{color:var(--color-accent);text-decoration:none}.jobs__panel-at:hover{color:var(--color-accent-bright)}.jobs__panel-meta{font-family:var(--font-mono);font-size:var(--fz-mono);color:var(--color-text-muted);margin-bottom:var(--space-3)}.jobs__panel-list{display:flex;flex-direction:column;gap:12px}.jobs__panel-list li{position:relative;padding-left:24px;line-height:1.6;color:var(--color-text)}.jobs__panel-list li::before{content:"▹";color:var(--color-accent);font-family:var(--font-mono);position:absolute;left:0;top:2px}.amazon-logo{display:inline-flex;align-items:center;height:26px;opacity:0.75;transition:opacity var(--dur-med) var(--ease)}.amazon-logo img{height:100%;width:auto;display:block;filter:brightness(0) invert(1)}.jobs__panel:hover .amazon-logo,.jobs__panel:focus-within .amazon-logo{opacity:1}.no-js .jobs__tabs{display:none}.no-js .jobs__panel[hidden]{display:block}.no-js .jobs{grid-template-columns:1fr}@media (max-width: 768px){.jobs{grid-template-columns:1fr;gap:0}.jobs__tabs{display:none}.jobs__panel{display:block;padding:20px 0;border-top:1px solid var(--color-hairline)}.jobs__panel:first-child{border-top:0;padding-top:0}.jobs__panel:last-child{border-bottom:1px solid var(--color-hairline)}.jobs__panel[hidden]{display:block}.jobs__panel-title{font-size:20px}.jobs__panel-header{min-height:44px;flex-wrap:nowrap;align-items:flex-start}.amazon-logo{flex:none}}.projects{display:flex;flex-direction:column;gap:100px}.project{position:relative;display:grid;grid-template-columns:repeat(12, 1fr);align-items:center;gap:24px}.project__image{grid-column:1 / span 7;grid-row:1;position:relative;border-radius:4px;overflow:hidden;background:var(--color-bg-elev);aspect-ratio:5 / 3;border:1px solid var(--color-hairline)}.project__image svg{width:100%;height:100%}.project__content{grid-column:7 / -1;grid-row:1;position:relative;z-index:2;text-align:right}.project--flip .project__image{grid-column:6 / -1}.project--flip .project__content{grid-column:1 / span 6;text-align:left}.project__kicker{font-family:var(--font-mono);font-size:var(--fz-meta);color:var(--color-accent);letter-spacing:0.12em;text-transform:uppercase;margin-bottom:6px}.project__title{font-family:var(--font-serif);font-size:26px;color:var(--color-text);margin-bottom:var(--space-3);font-variation-settings:"opsz" 48, "wght" 500}.project__desc{background:var(--color-bg-elev);border:1px solid var(--color-hairline);padding:20px 24px;border-radius:4px;font-size:var(--fz-meta);color:var(--color-text);line-height:1.6;margin-bottom:var(--space-3);position:relative}.project__seal{position:absolute;top:16px;right:16px;width:16px;height:16px;color:var(--color-accent);opacity:0.4;transition:opacity var(--dur-med) var(--ease)}.project__seal svg{width:100%;height:100%}.project__seal .seal__left,.project__seal .seal__right{transition:transform var(--dur-med) var(--ease);transform-box:fill-box}.project:hover .project__seal{opacity:1}.project:hover .project__seal .seal__left{transform:translateX(-1px)}.project:hover .project__seal .seal__right{transform:translateX(1px)}.project:hover .project__image{box-shadow:0 8px 32px var(--color-shadow-glow);border-color:var(--color-accent);transform:translateY(-3px)}.project__image{transition:transform var(--dur-med) var(--ease),box-shadow var(--dur-med) var(--ease),border-color var(--dur-med) var(--ease)}.project__tech{font-family:var(--font-mono);font-size:var(--fz-mono);color:var(--color-text-muted);margin-bottom:var(--space-3);letter-spacing:0.02em}.project__links{display:flex;gap:16px;justify-content:flex-end}.project--flip .project__links{justify-content:flex-start}.project__links a{color:var(--color-text-muted);padding:6px;display:inline-flex;transition:color var(--dur-med) var(--ease),transform var(--dur-med) var(--ease)}.project__links a:hover{color:var(--color-accent-bright);transform:translateY(-3px)}.project__links svg{width:20px;height:20px}@media (max-width: 768px){.project{grid-template-columns:1fr;gap:12px}.project__image,.project__content,.project--flip .project__image,.project--flip .project__content{grid-column:1 / -1;grid-row:auto;text-align:left}.project__links,.project--flip .project__links{justify-content:flex-start}}.writing-preview__grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:24px}.writing-preview__link{text-align:right;margin-top:var(--space-5);font-family:var(--font-mono);font-size:var(--fz-meta)}.writing-preview__link a{color:var(--color-accent)}.writing-preview__link a:hover{color:var(--color-accent-bright)}@media (max-width: 900px){.writing-preview__grid{grid-template-columns:1fr}}.post-card{background:var(--color-bg-elev);border:1px solid var(--color-hairline);border-radius:4px;padding:var(--space-3);display:block;color:inherit;text-decoration:none;transition:transform var(--dur-med) var(--ease),box-shadow var(--dur-med) var(--ease),border-color var(--dur-med) var(--ease);position:relative}.post-card:hover,.post-card:focus-visible{transform:translateY(-4px);box-shadow:0 8px 32px var(--color-shadow-glow);border-color:var(--color-accent);color:inherit}.post-card__date{font-family:var(--font-mono);font-size:var(--fz-mono);color:var(--color-text-muted);letter-spacing:0.1em;text-transform:uppercase;margin-bottom:12px}.post-card__title{position:relative;font-family:var(--font-serif);font-size:var(--fz-h3);color:var(--color-text);margin-bottom:var(--space-2);font-variation-settings:"opsz" 48, "wght" 500}.post-card__title::after{content:"";position:absolute;left:0;bottom:-2px;width:100%;height:1px;background:var(--color-accent);transform:scaleX(0);transform-origin:left;transition:transform var(--dur-med) var(--ease)}.post-card:hover .post-card__title::after{transform:scaleX(1)}.post-card__excerpt{color:var(--color-text-muted);font-size:var(--fz-body);line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:var(--space-3)}.post-card__more{font-family:var(--font-mono);font-size:var(--fz-mono);color:var(--color-accent)}.post-card__lock{position:absolute;left:-20px;top:4px;width:14px;height:14px;color:var(--color-accent);opacity:0;transition:opacity var(--dur-med) var(--ease)}.post-card__lock svg{width:14px;height:14px}.post-card:hover .post-card__lock{opacity:1}.post-card:hover .post-card__lock .padlock__shackle{transform:translateY(-1.5px) rotate(-12deg);transform-origin:4px 6.5px;transition:transform var(--dur-med) var(--ease)}.education__card{position:relative;display:grid;grid-template-columns:80px 1fr;gap:32px;align-items:center;background:var(--color-bg-elev);border:1px solid var(--color-hairline);border-radius:4px;padding:var(--space-5);transition:transform var(--dur-med) var(--ease),box-shadow var(--dur-med) var(--ease)}.education__card:hover{transform:translateY(-2px);box-shadow:0 8px 32px var(--color-shadow-glow)}.education__logo{display:inline-flex;align-items:center;justify-content:center;width:80px;height:60px;opacity:0.75;justify-self:center;transition:opacity var(--dur-med) var(--ease)}.education__logo img{max-width:100%;max-height:100%;width:auto;height:auto;display:block;object-fit:contain;filter:brightness(0) invert(1)}.education__card:hover .education__logo{opacity:1}.education__school{font-family:var(--font-serif);font-size:var(--fz-h3);color:var(--color-text);margin-bottom:4px;font-variation-settings:"opsz" 48, "wght" 500}.education__degree{color:var(--color-text);margin-bottom:4px}.education__honors{color:var(--color-text-muted);margin-bottom:8px}.education__meta{font-family:var(--font-mono);font-size:var(--fz-mono);color:var(--color-text-muted);letter-spacing:0.08em}@media (max-width: 640px){.education__card{grid-template-columns:1fr;text-align:center;gap:16px}}.contact{text-align:center}.contact__body{max-width:620px;margin:0 auto var(--space-6);color:var(--color-text);line-height:1.7}.contact__cta{margin-bottom:var(--space-6)}.contact__socials{display:flex;gap:24px;justify-content:center}.contact__socials a{color:var(--color-text-muted);padding:6px;transition:color var(--dur-med) var(--ease),transform var(--dur-med) var(--ease)}.contact__socials a:hover{color:var(--color-accent-bright);transform:translateY(-3px)}.contact__socials svg{width:20px;height:20px}.writing-index{max-width:var(--container-max);margin:0 auto;padding:160px var(--container-pad) 120px}.writing-index__intro{max-width:var(--w-reading);margin-bottom:var(--space-8)}.writing-index__kicker{font-family:var(--font-mono);font-size:var(--fz-meta);color:var(--color-accent);letter-spacing:0.15em;text-transform:uppercase;margin-bottom:12px}.writing-index__title{font-family:var(--font-serif);font-size:clamp(48px, 6vw, 80px);color:var(--color-text);margin-bottom:var(--space-3);font-variation-settings:"opsz" 72, "wght" 500;letter-spacing:-0.02em}.writing-index__blurb{color:var(--color-text-muted);font-family:var(--font-serif);font-size:20px;line-height:1.5;font-variation-settings:"opsz" 24, "wght" 400}.writing-index__year{margin-bottom:var(--space-8)}.writing-index__year-label{font-family:var(--font-mono);font-size:var(--fz-meta);color:var(--color-text-muted);letter-spacing:0.14em;padding-bottom:12px;border-bottom:1px solid var(--color-hairline);margin-bottom:var(--space-3)}.writing-index__list{display:flex;flex-direction:column}.writing-index__item{display:block;padding:var(--space-3) 0;border-bottom:1px solid var(--color-hairline);text-decoration:none;color:inherit;transition:transform var(--dur-med) var(--ease)}.writing-index__item:last-child{border-bottom:0}.writing-index__item:hover{transform:translateX(6px)}.writing-index__item-title{font-family:var(--font-serif);font-size:28px;color:var(--color-text);font-variation-settings:"opsz" 48, "wght" 500;margin-bottom:6px;transition:color var(--dur-med) var(--ease)}.writing-index__item:hover .writing-index__item-title{color:var(--color-accent-bright)}.writing-index__item-meta{font-family:var(--font-mono);font-size:var(--fz-mono);color:var(--color-text-muted);letter-spacing:0.08em}.writing-index__empty{font-style:italic;color:var(--color-text-muted)}.post{max-width:var(--w-reading);margin:0 auto;padding:160px var(--container-pad) 120px}.post__meta{font-family:var(--font-mono);font-size:var(--fz-mono);color:var(--color-text-muted);letter-spacing:0.1em;text-transform:uppercase;margin-bottom:var(--space-3);display:flex;gap:16px;flex-wrap:wrap}.post__title{font-family:var(--font-serif);font-size:clamp(40px, 5vw, 56px);color:var(--color-text);font-variation-settings:"opsz" 72, "wght" 500;letter-spacing:-0.02em;line-height:1.1;margin-bottom:var(--space-4)}.post__short-rule{border:0;border-top:1px solid var(--color-accent);width:48px;margin:var(--space-3) 0 var(--space-6)}.post__body{font-family:var(--font-sans);font-size:var(--fz-body);line-height:1.7;color:var(--color-text)}.post__body p{margin-bottom:var(--space-3)}.post__body h2{font-family:var(--font-serif);font-size:28px;color:var(--color-text);margin:var(--space-6) 0 var(--space-2);font-variation-settings:"opsz" 48, "wght" 500}.post__body h3{font-size:20px;font-weight:600;margin:var(--space-4) 0 var(--space-2)}.post__body a{color:var(--color-accent);border-bottom:1px solid var(--color-hairline)}.post__body a:hover{color:var(--color-accent-bright);border-bottom-color:currentColor}.post__body ul,.post__body ol{margin:0 0 var(--space-3) var(--space-4);padding-left:20px}.post__body li{margin-bottom:var(--space-1);list-style:disc}.post__body ol li{list-style:decimal}.post__body blockquote{border-left:2px solid var(--color-accent);padding-left:var(--space-3);margin:var(--space-4) 0;font-style:italic;color:var(--color-text-muted)}.post__body code{font-family:var(--font-mono);font-size:0.9em;background:var(--color-bg-elev);color:var(--color-accent);padding:2px 6px;border-radius:3px}.post__body pre{font-family:var(--font-mono);font-size:14px;background:var(--color-bg-elev);color:var(--color-text);padding:var(--space-3);border-radius:4px;border:1px solid var(--color-hairline);overflow-x:auto;margin:var(--space-4) 0;line-height:1.5}.post__body pre code{background:transparent;padding:0;color:inherit}.post__back{display:inline-block;margin-top:var(--space-6);font-family:var(--font-mono);font-size:var(--fz-mono);color:var(--color-accent);letter-spacing:0.08em;text-decoration:none}.post__back:hover{color:var(--color-accent-bright)}.post__engage{max-width:var(--w-reading);margin:var(--space-8) auto 0;padding:var(--space-6) var(--container-pad) 0;border-top:1px solid var(--color-hairline)}.post__comments-title{font-family:var(--font-serif);font-size:22px;color:var(--color-text);margin-bottom:var(--space-1);font-variation-settings:"opsz" 48, "wght" 500}.post__comments-note{font-family:var(--font-mono);font-size:var(--fz-mono);color:var(--color-text-muted);margin-bottom:var(--space-4)}.post__comments-soon{font-family:var(--font-mono);font-size:var(--fz-mono);color:var(--color-text-muted);font-style:italic}.giscus,.giscus-frame{width:100%}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}@keyframes stroke-draw{from{stroke-dashoffset:var(--path-length, 100)}to{stroke-dashoffset:0}}@keyframes character-fade{from{opacity:0.4}to{opacity:1}}
