@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,400;0,500;0,600;0,700;0,800;1,400;1,500;1,700&family=Roboto+Mono:wght@400;500&display=swap');

:root{color-scheme:dark;--bg:#000;--surface:#090a0c;--ink:#f3f3f5;--muted:#a6a7ad;--soft:#787b83;--line:#292a2f;--green:#a5ff3e;--orange:#ff893c;--cyan:#38e6f2;--font:'Roboto',Arial,sans-serif;--mono:'Roboto Mono',Consolas,monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased}h1,h2,h3,p{margin-top:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--cyan);outline-offset:6px}::selection{background:var(--cyan);color:#000}.wrap{max-width:1380px;margin:auto;padding-left:64px;padding-right:64px}.mono,.eyebrow{font:400 10px/1.8 var(--mono);letter-spacing:.025em}.eyebrow{margin:0;color:var(--soft)}.header{height:96px;display:flex;align-items:center;justify-content:space-between;gap:30px}.wordmark{font:700 17px var(--font);letter-spacing:-.035em;white-space:nowrap}.prompt-mark{color:var(--cyan);font-family:var(--mono);margin-right:8px}.header nav{display:flex;gap:23px;font-size:12px}.header nav a{color:#b5b6bd;position:relative;padding:6px 0}.header nav a::after{content:'';height:1px;background:var(--cyan);position:absolute;bottom:0;left:0;right:100%;transition:right .2s}.header nav a:hover{color:#fff}.header nav a:hover::after{right:0}.nav-contact{display:flex;align-items:center;gap:25px;font-size:11px;border:1px solid var(--line);padding:12px 16px}.nav-contact span{color:var(--orange);font-size:18px}.nav-contact:hover{border-color:var(--orange)}.hero-meta{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:21px}.hero-meta>.eyebrow{font-size:10px;color:var(--soft)}.location{font-size:9px;color:var(--soft)}.hero-grid{display:grid;grid-template-columns:1.18fr 1fr;gap:65px;align-items:center;border-bottom:1px solid var(--line);padding:76px 0 78px}.hero-main{min-width:0}.hero-role{font-size:11px;line-height:1.8;color:var(--muted);margin-bottom:23px}.hero h1{font:600 clamp(43px,4.8vw,66px)/1.08 var(--font);letter-spacing:-.055em;margin-bottom:0}.title-emphasis{font-weight:500;font-style:italic;text-decoration:underline;text-decoration-color:var(--cyan);text-decoration-thickness:2px;text-underline-offset:9px}.cursor{color:var(--green);font-style:normal;font-weight:400}.hero-copy{max-width:410px}.intro{font-size:15px;line-height:1.9;color:#b0b1b7;margin-bottom:29px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;min-height:48px;padding:14px 19px;border:1px solid #34363b;border-bottom:2px solid var(--green);background:#0c0d0e;color:#f6f6f8;font-size:12px;font-weight:500;transition:background .2s,border-color .2s}.button span{color:var(--green);font-size:18px;font-weight:400}.button:hover{background:#171a14;border-color:var(--green)}.button.secondary{border-bottom-color:var(--cyan)}.button.secondary span{color:var(--cyan)}.button.secondary:hover{background:#10191b;border-color:var(--cyan)}.section{padding-top:95px}.section-head{display:grid;grid-template-columns:1fr 3.25fr;gap:30px;margin-bottom:40px}.section-head>.eyebrow,.about-rail>.eyebrow{padding-top:7px}.section-head>.eyebrow::before,.about-rail>.eyebrow::before{content:'> ';color:var(--cyan)}h2{font:500 clamp(33px,3.25vw,44px)/1.16 var(--font);letter-spacing:-.045em;margin-bottom:0;color:var(--ink)}.section-head>div{min-width:0}.section-head>div>p{font-size:14px;line-height:1.9;color:var(--muted);max-width:590px;margin:22px 0 0}.project-list{border-bottom:1px solid var(--line)}.project{border-top:1px solid var(--line)}.project-open{display:grid;grid-template-columns:.22fr 1.45fr .55fr;gap:28px;align-items:start;width:100%;padding:31px 10px 33px 0;border:0;background:none;text-align:left;transition:background .2s}.project-open:hover{background:#090a0b}.project-number{font-size:10px;padding-top:6px;color:var(--soft)}.project-info h3{font:600 27px/1.25 var(--font);letter-spacing:-.035em;color:var(--ink);margin-bottom:12px}.project-info>p{font-size:14px;line-height:1.85;color:var(--muted);max-width:550px;margin-bottom:18px}.tags{display:flex;flex-wrap:wrap;gap:15px}.tags span{font:9px/1.6 var(--mono);color:#babdc4}.project-aside{display:grid;grid-template-columns:1fr auto;align-items:center;gap:23px 16px;padding-top:3px}.status{font:9px/1.7 var(--mono);color:var(--orange);white-space:nowrap}.status.code{color:var(--green)}.project-arrow{font:400 30px/1 var(--font);color:var(--cyan)}.project-action{grid-column:1/-1;font:9px var(--mono);color:var(--soft)}.project-open:hover .project-action{color:var(--ink)}.text-link{display:inline-flex;align-items:center;gap:35px;font-size:12px;color:var(--ink);border-bottom:1px solid var(--cyan);padding-bottom:8px}.text-link span{font-size:19px;color:var(--cyan)}.text-link:hover{color:var(--cyan)}.projects>.text-link{margin-top:27px}.about .section-head{border-top:1px solid var(--line);padding-top:40px;margin-bottom:0}.about .about-lead{font-size:20px!important;line-height:1.6!important;color:var(--ink)!important;max-width:650px!important;font-weight:500}.about .section-head>div>p{max-width:670px}.about .text-link{margin-top:25px}.profile-portrait{margin:30px 0 0;width:102px}.photo-slot{width:102px;height:116px;border:1px solid #34363c;display:grid;place-items:center;background:#08090b;position:relative}.photo-slot::after{content:'';position:absolute;bottom:-1px;left:-1px;width:22px;height:1px;background:var(--cyan)}.photo-slot>span{font:500 20px var(--font);letter-spacing:-.05em;color:#62656d}.profile-portrait figcaption{font:9px/1.8 var(--mono);color:var(--soft);margin-top:10px}.highlight-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line)}.highlight-card{padding:29px 30px 31px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface)}.highlight-context{display:block;font-size:9px;color:var(--orange);line-height:1.8;margin-bottom:18px}.highlight-card:nth-child(2) .highlight-context{color:var(--cyan)}.highlight-card:nth-child(3) .highlight-context{color:var(--green)}.highlight-card h3{font:600 24px/1.35 var(--font);letter-spacing:-.035em;margin-bottom:17px;color:var(--ink);max-width:430px}.highlight-card p{font-size:14px;line-height:1.9;color:var(--muted);margin-bottom:13px}.highlight-card p:last-child{margin-bottom:0}strong{font-weight:700;color:var(--ink)}.highlight-card strong{text-decoration:underline;text-decoration-color:var(--green);text-decoration-thickness:1px;text-underline-offset:4px}.communication-note{display:grid;grid-template-columns:1fr 3.25fr;gap:30px;border-bottom:1px solid var(--line);padding:35px 0 32px}.communication-note>.mono{font-size:10px;color:var(--cyan);padding-top:4px}.communication-note h3{font:600 23px/1.4 var(--font);letter-spacing:-.035em;margin-bottom:17px}.communication-note p{font-size:14px;line-height:1.9;color:var(--muted);max-width:690px;margin-bottom:13px}.communication-note p:last-child{margin-bottom:0}.technical-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.technical-grid>article{padding:26px 25px 29px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.technical-grid>article>.mono{display:block;font-size:9px;color:var(--orange);margin-bottom:18px}.technical-grid>article:nth-child(3n+2)>.mono{color:var(--cyan)}.technical-grid>article:nth-child(3n)>.mono{color:var(--green)}.technical-grid h3{font:600 21px/1.35 var(--font);letter-spacing:-.025em;margin-bottom:13px;color:var(--ink)}.technical-grid p{font-size:14px;line-height:1.8;color:var(--muted);margin-bottom:20px}.skill-tags{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:7px}.skill-tags li{font:9px/1.7 var(--mono);padding:5px 8px;border:1px solid #303137;color:#b8bbc3;background:#0c0d10}.specializations{padding:31px 0;border-bottom:1px solid var(--line)}.specializations h3{font:600 18px var(--font);letter-spacing:-.02em;margin-bottom:17px}.specializations>p{font-size:14px;line-height:1.95;color:var(--muted);max-width:940px;margin-bottom:0}.specializations .learning-note{font-size:12px;color:var(--soft);margin-top:20px;font-style:italic}.learning-note>span{font:400 9px var(--mono);font-style:normal;color:var(--orange);margin-right:14px}.cert-history-note{font-size:12px;line-height:1.8;color:var(--soft);margin:0 0 26px;max-width:800px}.cert-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.cert-card{padding:25px 23px 24px;border:1px solid var(--line);background:var(--surface);display:flex;flex-direction:column;min-width:0;min-height:280px}.cert-provider{display:flex;align-items:center;gap:16px;min-height:72px;margin-bottom:25px}.cert-provider img{display:block;object-fit:contain;max-width:76px;flex-shrink:0}.cert-provider>span{font:9px/1.8 var(--mono);color:var(--muted);max-width:120px}.cert-provider .aws-logo{background:#f1f2f4;padding:10px;width:76px;height:58px}.cert-provider .datadog-logo{width:58px;height:72px;object-fit:contain}.cert-card h3{font:600 22px/1.35 var(--font);letter-spacing:-.03em;color:var(--ink);margin-bottom:12px}.cert-card>p{font-size:13px;line-height:1.8;color:var(--muted);margin-bottom:23px}.credential-status{display:block;font:9px/1.8 var(--mono);color:var(--soft);border-top:1px solid var(--line);padding-top:15px;margin-top:auto}.credential-status.expired{color:var(--orange)}.cert-historical{border-bottom-color:var(--orange)}.training-details{margin-top:25px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:21px 0}.training-details summary{cursor:pointer;font-size:13px;color:var(--ink);width:fit-content}.training-details summary::marker{color:var(--cyan)}.training-details summary:hover{color:var(--cyan)}.training-groups{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;padding-top:28px}.training-groups h3{font:600 17px/1.5 var(--font);letter-spacing:-.02em;color:var(--ink);margin-bottom:11px}.training-groups p{font-size:12px;color:var(--soft);margin-bottom:13px}.training-groups ul{padding-left:17px;margin:0;color:var(--muted)}.training-groups li{font-size:13px;line-height:1.85;margin-bottom:8px}.training-groups li::marker{color:var(--cyan)}.certifications>.text-link{margin-top:26px}.trajectory .section-head{margin-bottom:43px}.timeline{border-bottom:1px solid var(--line)}.timeline>div{display:grid;grid-template-columns:1fr 1.5fr 1.5fr;gap:35px;border-top:1px solid var(--line);padding:28px 0}.timeline .mono{font-size:10px;color:var(--soft);padding-top:4px}.timeline h3{font:600 23px var(--font);letter-spacing:-.035em;margin:0}.timeline small{display:block;font:400 11px/1.7 var(--font);letter-spacing:0;color:var(--muted);margin-top:8px}.timeline p{font-size:14px;line-height:1.85;color:var(--muted);max-width:380px;margin:0}.education{display:grid;grid-template-columns:1fr 3.25fr;gap:30px;padding-top:28px}.education>.mono{font-size:10px;color:var(--soft)}.education p{font-size:14px;margin:0}.education p span{display:block;font:9px var(--mono);color:var(--soft);margin-top:9px}.contact{padding-top:105px;padding-bottom:85px}.contact .section-head{padding-top:43px;border-top:1px solid var(--line);margin:0}.contact h2{font-size:clamp(39px,4.8vw,65px);letter-spacing:-.055em}.contact h2 span{color:var(--orange);font-style:italic}.contact-links{display:flex;gap:12px;margin-top:28px}.contact .button{min-width:155px}.footer{display:flex;justify-content:space-between;align-items:center;gap:25px;border-top:1px solid var(--line);padding-top:28px;padding-bottom:33px}.footer .wordmark{font-size:13px}.footer>.mono{font-size:9px;color:var(--soft)}.footer>a:last-child{font-size:11px;color:var(--muted)}.footer>a:last-child:hover{color:var(--cyan)}.skip{position:fixed;left:20px;top:-80px;z-index:100;background:var(--cyan);color:#000;padding:15px}.skip:focus{top:15px}dialog{background:#090a0c;color:var(--ink);border:1px solid #4b4d55;padding:30px;max-width:740px;width:calc(100% - 32px);max-height:86dvh}dialog::backdrop{background:#000d;backdrop-filter:blur(4px)}.dialog-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:21px;margin-bottom:25px;color:var(--soft)}.dialog-top>.mono{font-size:9px}.dialog-top button{background:none;border:1px solid #3c3d44;width:35px;height:35px;color:var(--ink);font-size:17px}.dialog-top button:hover{color:var(--orange);border-color:var(--orange)}dialog .status{display:block}dialog h2{font-size:36px;letter-spacing:-.04em;margin:16px 0 23px}dialog .description{font-size:18px;line-height:1.65;color:var(--ink)}dialog h3{font:600 15px var(--font);color:var(--ink);margin:26px 0 9px}dialog p,dialog li{font-size:14px;line-height:1.85;color:var(--muted)}dialog ul{padding-left:19px}dialog li+li{margin-top:6px}dialog li::marker{color:var(--cyan)}dialog .architecture{padding:18px 20px;border-left:2px solid var(--cyan);background:#111316;font:11px/2 var(--mono);color:#d5d8de}dialog .button{margin-top:17px}dialog .dialog-note{font-size:11px;border-top:1px solid var(--line);padding-top:19px;margin-top:25px;color:var(--soft)}

@media(min-width:1500px){.hero-grid{padding-top:95px;padding-bottom:95px}.hero h1{font-size:72px}.intro{font-size:16px}.hero-copy{max-width:430px}}
@media(max-width:1050px){.wrap{padding-left:36px;padding-right:36px}.header{gap:23px}.header nav{font-size:11px;gap:16px}.hero-grid{gap:38px;padding-top:65px;padding-bottom:65px}.hero h1{font-size:52px}.intro{font-size:14px}.hero-role{font-size:10px}.project-open{grid-template-columns:.15fr 1.45fr .55fr;gap:22px}.project-info h3{font-size:24px}.project-info>p{font-size:13px}.project-aside{gap:21px 10px}.status{font-size:8px}.highlight-card{padding:25px}.highlight-card h3{font-size:22px}.technical-grid{grid-template-columns:1fr 1fr}.technical-grid>article{padding:24px}.cert-grid{gap:13px}.cert-card{padding:22px 19px}.cert-provider{gap:12px}.cert-provider>span{font-size:8px}.cert-card h3{font-size:20px}.credential-status{font-size:8px}.training-groups{gap:25px}}
@media(max-width:720px){html{scroll-padding-top:25px}.wrap{padding-left:22px;padding-right:22px}.header{height:auto;min-height:110px;flex-wrap:wrap;gap:0 15px;padding-top:20px;padding-bottom:18px}.header .wordmark{order:0;font-size:15px}.header .nav-contact{order:1;margin-left:auto;font-size:11px;padding:9px 12px;gap:16px}.header .nav-contact span{font-size:16px}.header nav{order:2;width:100%;justify-content:space-between;gap:9px;font-size:10px;margin-top:20px;white-space:nowrap}.prompt-mark{margin-right:5px}.hero-meta{padding-top:20px}.hero-meta>.eyebrow{font-size:9px}.location{display:none}.hero-grid{grid-template-columns:1fr;gap:27px;padding:40px 0 43px}.hero-role{font-size:10px;margin-bottom:21px}.hero h1{font-size:clamp(37px,9.5vw,54px);line-height:1.1;letter-spacing:-.05em}.title-emphasis{text-underline-offset:7px}.hero-copy{max-width:100%}.intro{font-size:15px;line-height:1.85;margin-bottom:25px}.button{font-size:12px;gap:30px;min-height:47px;padding:13px 17px}.section{padding-top:66px}.section-head{grid-template-columns:1fr;gap:20px;margin-bottom:31px}.section-head>.eyebrow,.about-rail>.eyebrow{padding-top:0;font-size:9px}h2{font-size:33px;line-height:1.17;letter-spacing:-.04em}.section-head>div>p{font-size:14px;max-width:100%;margin-top:20px}.project-open{grid-template-columns:25px 1fr;gap:15px;padding:25px 0}.project-number{font-size:9px;padding-top:5px}.project-info h3{font-size:25px;line-height:1.18}.project-info>p{font-size:14px;line-height:1.8;margin-bottom:15px}.tags{gap:12px}.tags span{font-size:8px}.project-aside{grid-column:2;grid-template-columns:1fr auto;gap:0;padding-top:3px}.status{font-size:9px}.project-arrow{font-size:25px}.project-action{display:none}.projects>.text-link{margin-top:26px}.about .section-head{padding-top:30px}.about-rail{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.profile-portrait{margin:0;width:70px}.photo-slot{width:70px;height:78px}.photo-slot>span{font-size:17px}.profile-portrait figcaption{font-size:8px;margin-top:6px}.about .about-lead{font-size:19px!important}.highlight-grid{grid-template-columns:1fr}.highlight-card{padding:24px 21px 26px}.highlight-context{font-size:9px;margin-bottom:15px}.highlight-card h3{font-size:24px;line-height:1.3}.highlight-card p{font-size:14px;line-height:1.85}.communication-note{grid-template-columns:1fr;gap:19px;padding:29px 0}.communication-note>.mono{font-size:9px;padding:0}.communication-note h3{font-size:23px;line-height:1.35}.communication-note p{font-size:14px}.technical-grid{grid-template-columns:1fr}.technical-grid>article{padding:24px 21px}.technical-grid>article>.mono{font-size:9px;margin-bottom:14px}.technical-grid h3{font-size:23px;margin-bottom:12px}.technical-grid p{font-size:14px}.skill-tags li{font-size:9px}.specializations{padding:28px 0}.specializations h3{font-size:18px;line-height:1.5}.specializations>p{font-size:14px}.learning-note>span{display:block;margin:0 0 10px}.specializations .learning-note{font-size:13px}.cert-history-note{font-size:12px}.cert-grid{grid-template-columns:1fr;gap:16px}.cert-card{padding:24px;min-height:265px}.cert-provider{gap:22px;margin-bottom:22px}.cert-provider>span{font-size:10px;max-width:180px}.cert-card h3{font-size:25px;line-height:1.3}.cert-card>p{font-size:14px}.credential-status{font-size:9px}.training-groups{grid-template-columns:1fr;gap:28px}.training-groups h3{font-size:18px}.training-groups li{font-size:14px}.training-details summary{font-size:13px}.timeline>div{grid-template-columns:1fr;gap:11px;padding:25px 0}.timeline .mono{padding:0;font-size:9px}.timeline h3{font-size:23px}.timeline small{font-size:11px;margin-top:6px}.timeline p{font-size:14px;max-width:100%}.education{grid-template-columns:1fr;gap:14px;padding-top:25px}.education>.mono{font-size:9px}.education p{font-size:14px}.education p span{font-size:9px}.contact{padding-top:74px;padding-bottom:58px}.contact .section-head{padding-top:31px}.contact h2{font-size:43px;letter-spacing:-.045em}.contact-links{gap:11px;margin-top:25px}.contact .button{min-width:135px}.footer{flex-wrap:wrap;gap:25px;padding-top:26px;padding-bottom:29px}.footer .wordmark{font-size:13px}.footer>.mono{font-size:8px}.footer>a:last-child{font-size:10px}dialog{padding:23px}dialog h2{font-size:31px}dialog .description{font-size:17px}}
@media(max-width:360px){.wrap{padding-left:18px;padding-right:18px}.header nav{font-size:9px;gap:7px}.hero h1{font-size:35px}.hero-role{font-size:9px}.project-open{grid-template-columns:20px 1fr;gap:12px}.project-info h3{font-size:23px}.contact h2{font-size:38px}.contact .button{min-width:125px}.highlight-card{padding:23px 19px}.cert-card{padding:22px}.cert-card h3{font-size:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

.photo-slot img{display:block;width:100%;height:100%;object-fit:cover}

/* Color the first word; emphasize only its initial letter. */
.title-word{color:var(--cyan);font-weight:400}.title-word>b{font-weight:800}h1 .title-word{color:var(--orange)}.about h2 .title-word,.certifications h2 .title-word{color:var(--green)}.highlights h2 .title-word,.technical h2 .title-word{color:var(--orange)}.project:nth-child(3n+2) h3 .title-word{color:var(--orange)}.project:nth-child(3n) h3 .title-word{color:var(--green)}.photo-slot img{object-position:50% 40%}

.photo-slot{display:block;overflow:hidden}.photo-slot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%}
