:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#17283c;font-synthesis:none;text-rendering:optimizelegibility;--ink:#10253f;--ink-soft:#435268;--paper:#f7f6f2;--white:#fff;--blue:#235fc5;--blue-dark:#164997;--blue-pale:#eaf1fd;--teal:#1d7b73;--gold:#e7a927;--line:#d9dedf;--line-dark:#2b4058;--container:1180px;--radius-sm:10px;--radius-md:18px;--radius-lg:28px;--shadow:0 18px 50px #10253f17;background:#f7f6f2;font-family:DM Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:86px}body{background:var(--paper);min-width:320px;min-height:100vh;color:var(--ink);margin:0;line-height:1.6}body,button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}img,svg{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3,.brand,.eyebrow{font-family:Manrope,DM Sans,sans-serif}h1,h2,h3{line-height:1.12}button,a,input{transition:color .16s,background-color .16s,border-color .16s,transform .16s,box-shadow .16s}:focus-visible{outline-offset:4px;outline:3px solid #e8ae32}::selection{color:var(--ink);background:#bed2f7}.site-shell{min-height:100vh;overflow-x:clip}.container{width:min(var(--container), calc(100% - 48px));margin:0 auto}.skip-link{z-index:1000;background:var(--white);color:var(--ink);box-shadow:var(--shadow);border-radius:8px;padding:10px 16px;position:fixed;top:10px;left:10px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.site-header{z-index:100;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f7f6f2f0;border-bottom:1px solid #10253f1a;position:sticky;top:0}.navigation{justify-content:space-between;align-items:center;min-height:74px;display:flex}.brand{letter-spacing:-.02em;align-items:center;gap:11px;font-size:.92rem;font-weight:800;display:inline-flex}.brand__mark{background:var(--ink);width:38px;height:38px;color:var(--white);letter-spacing:.04em;border-radius:9px;place-items:center;font-size:.76rem;display:grid}.nav-links{align-items:center;gap:26px;font-size:.84rem;font-weight:600;display:flex}.nav-links>a:not(.nav-links__contact){color:#4b5a6d;padding-block:8px;position:relative}.nav-links>a:not(.nav-links__contact):after{background:var(--blue);content:"";transform-origin:100%;height:2px;transition:transform .18s;position:absolute;bottom:2px;left:0;right:0;transform:scaleX(0)}.nav-links>a:hover,.nav-links>a.active{color:var(--ink)}.nav-links>a:hover:after,.nav-links>a.active:after{transform-origin:0;transform:scaleX(1)}.nav-links__contact{border:1px solid var(--ink);color:var(--ink);border-radius:999px;padding:9px 15px}.nav-links__contact:hover{background:var(--ink);color:var(--white)}.menu-button{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:10px;place-items:center;width:44px;height:44px;padding:0;display:none}.menu-button svg{width:20px}.hero{border-bottom:1px solid var(--line);background-image:radial-gradient(#235fc521 .8px,#0000 .8px);background-size:24px 24px;min-height:700px;padding:96px 0 92px;position:relative}.hero:after{content:"";pointer-events:none;background:linear-gradient(90deg,#f7f6f2fa 0%,#f7f6f2d1 55%,#f7f6f28c 100%);position:absolute;inset:0}.hero__grid{z-index:1;grid-template-columns:minmax(0,1.02fr) minmax(430px,.98fr);align-items:center;gap:72px;display:grid;position:relative}.hero__content,.hero-dashboard{min-width:0}.hero__availability{color:#516073;letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:10px;margin-bottom:24px;font-size:.75rem;font-weight:700;display:inline-flex}.hero__availability span{background:var(--teal);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 5px #1d7b731f}.hero h1{letter-spacing:-.065em;max-width:720px;margin-bottom:22px;font-size:clamp(3.5rem,6.3vw,6.1rem);font-weight:800}.hero h1 span{color:var(--blue)}.hero__headline{color:var(--blue);letter-spacing:-.035em;margin-bottom:8px;font-family:Manrope,sans-serif;font-size:clamp(1.55rem,2.8vw,2.35rem);font-weight:800}.hero__descriptor{color:#4d5d70;letter-spacing:.035em;text-transform:uppercase;flex-wrap:wrap;gap:5px 10px;margin-bottom:20px;font-size:.78rem;font-weight:700;display:flex}.hero__descriptor span{color:var(--gold)}.hero__summary{max-width:680px;color:var(--ink-soft);margin-bottom:32px;font-size:1.03rem;line-height:1.76}.button-row,.project-detail__actions,.project-links{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.button{cursor:pointer;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:9px;min-height:46px;padding:11px 18px;font-size:.89rem;font-weight:700;line-height:1.2;display:inline-flex}.button svg{width:17px;height:17px}.button--primary{border-color:var(--blue);background:var(--blue);color:var(--white);box-shadow:0 8px 20px #235fc529}.button--primary:hover{border-color:var(--blue-dark);background:var(--blue-dark);transform:translateY(-2px)}.button--secondary{color:var(--ink);background:0 0;border-color:#bfc8d0}.button--secondary:hover{border-color:var(--ink);background:var(--white)}.button--quiet{color:#536174;padding-inline:8px}.button--quiet:hover{color:var(--blue)}.button--quiet svg:last-child{width:12px}.button--light{border-color:var(--white);background:var(--white);color:var(--ink)}.button--light:hover{background:#dfe9f8;transform:translateY(-2px)}.hero__socials{gap:24px;margin-top:26px;display:flex}.hero__socials a,.footer-links a{color:#536174;align-items:center;gap:7px;font-size:.86rem;font-weight:600;display:inline-flex}.hero__socials a:hover,.footer-links a:hover{color:var(--blue)}.hero__socials svg,.footer-links svg{width:17px;height:17px}.hero-dashboard{border-radius:var(--radius-lg);box-shadow:var(--shadow);background:#ffffffe0;border:1px solid #cdd4d8;position:relative;overflow:hidden}.hero-dashboard:before{background:var(--gold);content:"";width:5px;height:100%;position:absolute;top:0;left:0}.hero-dashboard__topline{border-bottom:1px solid var(--line);color:#6b7786;letter-spacing:.08em;justify-content:space-between;align-items:center;padding:21px 24px;font-family:Manrope,sans-serif;font-size:.7rem;font-weight:700;display:flex}.status-pill{color:#23665f;letter-spacing:0;background:#e7f4ef;border-radius:999px;align-items:center;gap:7px;padding:6px 9px;display:inline-flex}.status-pill:before{content:"";background:#2a8a7e;border-radius:50%;width:6px;height:6px}.hero-dashboard__visual{padding:26px 28px 4px}.chart-label{color:var(--ink);margin-bottom:12px;font-size:.8rem;font-weight:700}.hero-dashboard__visual svg{overflow:visible}.chart-gridline{fill:none;stroke:#e1e5e7;stroke-dasharray:3 6;stroke-width:1px}.chart-line{fill:none;stroke:var(--blue);stroke-linecap:round;stroke-width:4px}.hero-dashboard__visual circle{fill:var(--white);stroke:var(--blue);stroke-width:3px}.career-path{padding:26px 28px 8px}.career-path>p{color:var(--ink);margin-bottom:20px;font-size:.8rem;font-weight:700}.career-path ol{margin:0;padding:0;list-style:none;display:grid}.career-path li{grid-template-columns:92px minmax(0,1fr);gap:2px 20px;padding:0 0 24px 22px;display:grid;position:relative}.career-path li:before{border:3px solid var(--white);background:var(--blue);width:9px;height:9px;box-shadow:0 0 0 1px var(--blue);content:"";border-radius:50%;position:absolute;top:4px;left:0}.career-path li:not(:last-child):after{content:"";background:#bdcbe0;width:1px;position:absolute;top:18px;bottom:2px;left:6px}.career-path li>span{color:#68778a;letter-spacing:.045em;text-transform:uppercase;grid-row:span 2;font-size:.67rem;font-weight:800}.career-path li strong{color:var(--ink);font-family:Manrope,sans-serif;font-size:.9rem}.career-path li small{color:#68778a;font-size:.71rem}.hero-dashboard__metrics{border:1px solid var(--line);background:#fafaf8;border-radius:14px;grid-template-columns:repeat(3,1fr);margin:16px 24px 24px;display:grid}.hero-dashboard__metrics div{min-width:0;padding:17px}.hero-dashboard__metrics div+div{border-left:1px solid var(--line)}.hero-dashboard__metrics strong{margin-bottom:4px;font-family:Manrope,sans-serif;font-size:1.25rem;display:block}.hero-dashboard__metrics span{color:#657184;font-size:.71rem;line-height:1.4;display:block}.hero-dashboard__focus{border-top:1px solid var(--line);background:var(--ink);color:var(--white);grid-template-columns:105px 1fr;gap:18px;padding:20px 24px 23px;display:grid}.hero-dashboard__focus span{color:#9cacc0;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem}.hero-dashboard__focus strong{font-size:.92rem;line-height:1.5}.section{padding:108px 0}.section--tinted{border-block:1px solid var(--line);background:#eeefec}.section--dark{background:var(--ink);color:var(--white)}.section-header{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:36px;margin-bottom:58px;display:grid}.eyebrow{color:var(--blue);letter-spacing:.16em;text-transform:uppercase;margin-bottom:14px;font-size:.74rem;font-weight:800}.eyebrow--light{color:#9dbcf0}.section-header h2,.contact-panel h2{letter-spacing:-.05em;max-width:780px;margin-bottom:0;font-size:clamp(2.15rem,4.2vw,3.65rem)}.section-header__intro{max-width:720px;color:var(--ink-soft);margin:20px 0 0;font-size:1.02rem}.section--dark .eyebrow{color:#80aaf1}.section--dark .section-header__intro{color:#a9b7c7}.text-link{white-space:nowrap;border-bottom:1px solid #aab4bd;align-items:center;gap:9px;padding-bottom:4px;font-size:.88rem;font-weight:700;display:inline-flex}.text-link:hover{border-color:var(--blue);color:var(--blue)}.text-link svg{width:17px}.about-grid{grid-template-columns:minmax(0,.9fr) minmax(480px,1.1fr);gap:88px;display:grid}.about-copy{border-left:3px solid var(--gold);padding-left:28px}.about-copy p{color:#37485c;margin-bottom:20px;font-size:1.1rem;line-height:1.8}.strength-grid{gap:12px;display:grid}.strength-card{border:1px solid var(--line);background:#ffffff9e;border-radius:14px;grid-template-columns:44px 1fr;gap:18px;padding:22px;display:grid}.strength-card>svg{width:22px;color:var(--blue)}.strength-card h3{margin-bottom:7px;font-size:1rem}.strength-card p{color:var(--ink-soft);margin:0;font-size:.9rem}.experience-list{border-top:1px solid #cbd1d2}.experience-item{border-bottom:1px solid #cbd1d2;grid-template-columns:210px minmax(0,1fr);gap:52px;padding:38px 0;display:grid}.experience-item__date{color:#5d6b7c;letter-spacing:.03em;font-family:Manrope,sans-serif;font-size:.78rem;font-weight:700}.experience-item__heading{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:18px;display:flex}.experience-item h3{letter-spacing:-.025em;margin-bottom:5px;font-size:1.35rem}.experience-item__company{color:var(--blue);margin:0;font-weight:700}.location-label{color:#687486;flex-shrink:0;align-items:center;gap:6px;margin:3px 0 0;font-size:.78rem;display:inline-flex}.location-label svg{width:14px;height:14px}.experience-item ul{color:#465568;gap:8px;margin:0;padding-left:19px;font-size:.94rem;display:grid}.experience-item li::marker{color:var(--blue)}.feature-list li::marker{color:var(--blue)}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;display:grid}.project-card{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--white);overflow:hidden;box-shadow:0 2px #10253f05}.project-card:hover{box-shadow:var(--shadow);border-color:#b6c4d5;transform:translateY(-4px)}.project-card__image{aspect-ratio:16/8.8;border-bottom:1px solid var(--line);background:#e8edf2;display:block;overflow:hidden}.project-card__image img{object-fit:cover;width:100%;height:100%;transition:transform .3s}.project-card:hover .project-card__image img{transform:scale(1.02)}.project-card__placeholder{color:#627187;place-items:center;width:100%;height:100%;font-family:Manrope,sans-serif;font-size:3rem;font-weight:700;display:grid}.project-card__content{padding:28px}.project-card__meta,.project-detail__meta{flex-wrap:wrap;gap:8px;margin-bottom:17px;display:flex}.project-card__meta span,.project-detail__meta span{background:var(--blue-pale);color:var(--blue-dark);letter-spacing:.05em;text-transform:uppercase;border-radius:999px;padding:5px 9px;font-size:.68rem;font-weight:800}.project-card__meta span+span,.project-detail__meta span+span{color:#24695f;background:#e9f3ee}.project-card__meta .project-category,.project-detail__meta .project-category{background:var(--blue-pale);color:var(--blue-dark)}.project-card__meta .project-status,.project-detail__meta .project-status{color:#24695f;background:#e9f3ee}.project-card__meta .project-year,.project-detail__meta .project-year{color:#675a3d;background:#f1eee7}.project-card h3{letter-spacing:-.03em;margin-bottom:12px;font-size:clamp(1.25rem,2vw,1.55rem)}.project-card h3 a:hover{color:var(--blue)}.project-card__content>p{min-height:76px;color:var(--ink-soft);margin-bottom:20px;font-size:.92rem}.tag-list{flex-wrap:wrap;gap:7px;display:flex}.tag-list span{color:#586577;border:1px solid #d3dade;border-radius:6px;padding:5px 9px;font-size:.71rem;font-weight:600}.project-card__actions{border-top:1px solid #e4e7e8;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:15px;min-height:42px;margin-top:25px;padding-top:19px;display:flex}.project-card__view{color:var(--blue);align-items:center;gap:7px;font-size:.86rem;font-weight:800;display:inline-flex}.project-card__view svg{width:17px}.project-links--compact .button{color:#4d5b6d;min-height:auto;box-shadow:none;background:0 0;border:0;padding:5px 0}.project-links--compact .button:hover{color:var(--blue)}.project-links .external-mark{opacity:.7;width:12px;height:12px}.project-grid>.project-card:first-child{grid-column:1/-1;grid-template-columns:minmax(0,1.1fr) minmax(380px,.9fr);display:grid}.project-grid>.project-card:first-child .project-card__image{border-right:1px solid var(--line);border-bottom:0;height:100%}.project-grid>.project-card:first-child .project-card__content>p{min-height:0}.skills-grid{border-top:1px solid var(--line-dark);border-left:1px solid var(--line-dark);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.skill-group{border-right:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark);min-height:330px;padding:30px}.skill-group__icon{color:#81aaf0;border:1px solid #3e566f;border-radius:10px;place-items:center;width:42px;height:42px;margin-bottom:50px;display:grid}.skill-group__icon svg{width:20px}.skill-group h3{min-height:48px;margin-bottom:20px;font-size:1rem}.skill-group ul{flex-wrap:wrap;gap:7px;margin:0;padding:0;list-style:none;display:flex}.skill-group li{color:#b8c4d1;border:1px solid #344a63;border-radius:5px;padding:5px 8px;font-size:.72rem}.education-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;display:grid}.education-item{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--white);min-height:250px;padding:34px;position:relative}.education-item:after{border:3px solid var(--blue);content:"";border-radius:50%;width:12px;height:12px;position:absolute;top:34px;right:34px}.education-item__date{color:var(--blue);letter-spacing:.04em;margin-bottom:40px;font-size:.75rem;font-weight:800}.education-item h3{max-width:440px;margin-bottom:11px;font-size:1.35rem}.education-item__school{color:#44536a;margin-bottom:10px;font-weight:700}.journal-section{padding-top:0}.journal-panel{border-radius:var(--radius-lg);color:var(--white);background:#173249;grid-template-columns:150px minmax(0,1fr) auto;align-items:center;gap:42px;padding:48px 54px;display:grid}.journal-panel__mark{color:#b8d5e5;border:1px solid #3a566c;border-radius:16px;place-items:center;min-height:120px;display:grid}.journal-panel__mark svg{width:30px}.journal-panel__mark span{letter-spacing:.16em;margin-top:-25px;font-family:Manrope,sans-serif;font-size:.72rem;font-weight:800}.journal-panel h2{letter-spacing:-.05em;margin-bottom:12px;font-size:clamp(2rem,4vw,3.2rem)}.journal-panel p:not(.eyebrow){color:#b9c8d3;max-width:650px;margin:0}.contact-section{padding-top:0}.contact-panel{border-radius:var(--radius-lg);background:var(--blue);color:var(--white);grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);gap:70px;padding:68px;display:grid;box-shadow:0 30px 70px #16499738}.contact-panel h2{max-width:700px;margin-bottom:22px}.contact-panel>div>p:not(.eyebrow){color:#d6e3f8;max-width:650px;margin-bottom:30px}.contact-details{border-left:1px solid #ffffff40;gap:24px;margin:0;padding-left:38px;font-style:normal;display:grid}.contact-details>div{grid-template-columns:22px 1fr;gap:15px;display:grid}.contact-details svg{color:#b9cef2;width:18px;margin-top:4px}.contact-details span,.contact-details a{display:block}.contact-details small{color:#b9cef2;letter-spacing:.1em;text-transform:uppercase;margin-bottom:3px;font-size:.66rem;font-weight:700;display:block}.contact-details a:hover{text-decoration:underline}.site-footer{color:var(--white);background:#0c1e32;padding:70px 0 26px}.footer-grid{justify-content:space-between;align-items:flex-end;gap:50px;padding-bottom:46px;display:flex}.footer-brand{font-family:Manrope,sans-serif;font-size:1.1rem;font-weight:800}.footer-grid p{color:#9faebf;max-width:490px;margin:10px 0 0;font-size:.9rem}.footer-links{flex-wrap:wrap;gap:24px;display:flex}.footer-links a{color:#c7d1dc}.footer-links a svg:last-child,.nav-links__journal svg{width:12px;height:12px}.nav-links__journal{align-items:center;gap:5px;display:inline-flex}.footer-bottom{color:#7f90a3;border-top:1px solid #263a50;justify-content:space-between;padding-top:22px;font-size:.72rem;display:flex}.page-hero{border-bottom:1px solid var(--line);padding:94px 0 74px}.page-hero__grid{grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);align-items:end;gap:80px;display:grid}.page-hero h1{letter-spacing:-.065em;max-width:790px;margin:0;font-size:clamp(3rem,6vw,5.8rem)}.page-hero__grid>p{color:var(--ink-soft);margin:0 0 9px;font-size:1.03rem}.projects-index{padding-top:62px}.project-tools{justify-content:space-between;align-items:center;gap:28px;margin-bottom:20px;display:flex}.filter-list{flex-wrap:wrap;gap:8px;display:flex}.filter-list button{color:#566477;cursor:pointer;background:0 0;border:1px solid #cbd2d6;border-radius:999px;padding:8px 13px;font-size:.76rem;font-weight:700}.filter-list button:hover,.filter-list button.active{border-color:var(--ink);background:var(--ink);color:var(--white)}.search-field{background:var(--white);border:1px solid #cbd2d6;border-radius:10px;align-items:center;gap:9px;min-width:270px;padding:0 12px;display:flex}.search-field:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px #235fc51f}.search-field>svg{color:#758193;width:17px}.search-field input{width:100%;color:var(--ink);background:0 0;border:0;outline:0;padding:10px 0;font-size:.86rem}.search-field button{cursor:pointer;background:0 0;border:0;padding:4px}.search-field button svg{width:16px}.result-count{color:#6c7888;margin-bottom:28px;font-size:.78rem;font-weight:700}.empty-state{border-radius:var(--radius-md);text-align:center;border:1px dashed #bbc4c9;padding:80px 24px}.empty-state h2{margin-bottom:9px;font-size:1.6rem}.empty-state p{color:var(--ink-soft);margin-bottom:24px}.empty-state--credential{max-width:760px;margin:0 auto}.empty-state--credential>svg{width:34px;color:var(--blue);margin:0 auto 18px}.empty-state--credential p{max-width:610px;margin-inline:auto}.certification-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;display:grid}.certification-card{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--white);overflow:hidden}.certification-card__image,.certification-card__placeholder{aspect-ratio:16/10;border:0;border-bottom:1px solid var(--line);background:#edf1f5;place-items:center;width:100%;padding:0;display:grid;position:relative;overflow:hidden}button.certification-card__image{cursor:zoom-in}.certification-card__image img{object-fit:contain;width:100%;height:100%}.certification-card__image span{color:var(--white);background:#10253fe6;border-radius:7px;align-items:center;gap:7px;padding:7px 10px;font-size:.7rem;font-weight:700;display:inline-flex;position:absolute;bottom:12px;right:12px}.certification-card__image span svg,.certification-card__placeholder svg{width:17px}.certification-card__placeholder svg{color:#8090a2}.certification-card__content{padding:26px}.certification-card__meta{color:#657184;text-transform:uppercase;flex-wrap:wrap;gap:9px;margin-bottom:14px;font-size:.7rem;font-weight:700;display:flex}.certification-card__meta span{color:var(--blue)}.certification-card h2,.certification-card h3{margin-bottom:7px;font-size:1.25rem}.certification-card__issuer{color:#4b5b6f;font-weight:700}.certification-card__content>p:not(.certification-card__issuer){color:var(--ink-soft);font-size:.88rem}.certification-card__content>small{color:#697688}.certification-card__actions{flex-wrap:wrap;gap:18px;margin-top:22px;display:flex}.certificate-lightbox{border-radius:var(--radius-md);background:var(--white);width:min(1080px,100% - 32px);max-height:calc(100vh - 32px);color:var(--ink);border:0;padding:0;overflow:hidden;box-shadow:0 30px 90px #00000059}.certificate-lightbox::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#07121ec7}.certificate-lightbox__panel{grid-template-rows:auto minmax(0,1fr) auto;max-height:calc(100vh - 32px);display:grid}.certificate-lightbox__header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:24px;padding:22px 24px;display:flex}.certificate-lightbox__header .eyebrow{margin-bottom:5px}.certificate-lightbox__header h2{margin-bottom:4px;font-size:1.15rem}.certificate-lightbox__header p:last-child{color:var(--ink-soft);margin:0;font-size:.8rem}.certificate-lightbox__header button{border:1px solid var(--line);background:var(--white);cursor:pointer;border-radius:9px;flex-shrink:0;place-items:center;width:42px;height:42px;display:grid}.certificate-lightbox__header button svg{width:19px}.certificate-lightbox__image{background:#edf1f5;place-items:center;min-height:0;padding:24px;display:grid;overflow:auto}.certificate-lightbox__image img{object-fit:contain;max-height:calc(100vh - 210px)}.certificate-lightbox__navigation{border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding:13px 20px;display:flex}.certificate-lightbox__navigation button{color:var(--blue);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:7px;font-weight:700;display:inline-flex}.certificate-lightbox__navigation svg{width:17px}.certificate-lightbox__navigation span{color:#697688;font-size:.75rem;font-weight:700}.resume-actions{flex-wrap:wrap;gap:10px;display:flex}.project-detail__hero{border-bottom:1px solid var(--line);background:#eeefec;padding:56px 0 78px}.back-link{color:#556477;align-items:center;gap:8px;margin-bottom:48px;font-size:.82rem;font-weight:700;display:inline-flex}.back-link:hover{color:var(--blue)}.back-link svg{width:16px}.project-detail__hero-grid{grid-template-columns:minmax(0,1.05fr) minmax(390px,.95fr);align-items:center;gap:70px;display:grid}.project-detail__intro h1{letter-spacing:-.06em;max-width:750px;margin-bottom:18px;font-size:clamp(2.75rem,5.5vw,5rem)}.project-detail__subtitle{color:var(--blue);margin-bottom:24px;font-family:Manrope,sans-serif;font-size:1.08rem;font-weight:700}.project-detail__summary{max-width:700px;color:var(--ink-soft);margin-bottom:24px;font-size:1rem}.tag-list--large span{background:#ffffffb3;padding:6px 10px}.project-detail__actions{margin-top:30px}.project-detail__cover{border-radius:var(--radius-md);background:var(--white);box-shadow:var(--shadow);border:1px solid #c5ccd0;overflow:hidden}.project-detail__cover img{aspect-ratio:16/10;object-fit:cover;width:100%}.project-detail{background:var(--white)}.project-detail__layout{grid-template-columns:185px minmax(0,800px);justify-content:center;gap:80px;display:grid}.project-detail__rail{height:fit-content;padding-top:8px;position:sticky;top:112px}.project-detail__rail>span{color:#778292;letter-spacing:.13em;text-transform:uppercase;margin-bottom:12px;font-size:.68rem;font-weight:800;display:block}.project-detail__rail>strong{color:var(--blue);margin-bottom:16px;font-family:Manrope,sans-serif;font-size:3.2rem;line-height:1;display:block}.project-detail__rail p{border-top:1px solid var(--line);color:#657184;padding-top:15px;font-size:.76rem}.project-detail__section{border-top:1px solid var(--line);grid-template-columns:210px minmax(0,1fr);gap:38px;padding:38px 0;display:grid}.project-detail__section:first-child{border-top:0;padding-top:8px}.project-detail__section h2{letter-spacing:-.01em;margin:0;font-size:1rem}.project-detail__section-content>p{color:#3d4d60;margin:0;font-size:1.02rem;line-height:1.82}.numbered-list,.feature-list,.result-list{margin:0;padding:0;list-style:none}.numbered-list{counter-reset:methods}.numbered-list li{color:#3d4d60;counter-increment:methods;padding:0 0 22px 44px;position:relative}.numbered-list li:before{background:var(--blue-pale);width:26px;height:26px;color:var(--blue);content:counter(methods);border-radius:50%;place-items:center;font-size:.68rem;font-weight:800;display:grid;position:absolute;top:0;left:0}.numbered-list li:not(:last-child):after{content:"";background:#cad7eb;width:1px;position:absolute;top:28px;bottom:0;left:13px}.model-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.model-grid div{border:1px solid var(--line);color:#35465a;border-radius:9px;align-items:center;gap:12px;min-height:58px;padding:12px 14px;font-size:.86rem;font-weight:600;display:flex}.model-grid span{color:var(--blue);font-size:.67rem;font-weight:800}.result-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.result-list li{border-left:3px solid var(--blue);color:#34465a;background:#f1f5fb;padding:18px;font-size:.88rem;font-weight:600}.feature-list{gap:12px;display:grid}.feature-list li{color:#3d4d60;padding-left:22px;position:relative}.feature-list li:before{background:var(--blue);content:"";border-radius:50%;width:7px;height:7px;position:absolute;top:.64em;left:0}.project-gallery{gap:18px;display:grid}.project-gallery img{border:1px solid var(--line);border-radius:12px;width:100%}.project-pagination{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--white);grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:100px;display:grid}.project-pagination a{align-items:center;gap:18px;min-height:118px;padding:24px;font-family:Manrope,sans-serif;font-size:.9rem;font-weight:700;display:flex}.project-pagination a:last-child{border-left:1px solid var(--line);text-align:right;justify-content:flex-end}.project-pagination a:hover{color:var(--blue);background:#f0f4fa}.project-pagination svg{flex-shrink:0;width:20px}.project-pagination small{color:#788494;letter-spacing:.08em;text-transform:uppercase;margin-bottom:3px;font-family:DM Sans,sans-serif;font-size:.65rem;font-weight:700;display:block}.resume-page{background:var(--white)}.resume-header{background:var(--ink);color:var(--white);padding:70px 0}.resume-header__grid{justify-content:space-between;align-items:flex-end;gap:40px;display:flex}.resume-header h1{letter-spacing:-.06em;margin-bottom:10px;font-size:clamp(2.7rem,5vw,4.8rem)}.resume-header p:last-child{color:#becbda;margin:0}.resume-download-missing{color:#b6c2cf;border:1px solid #536579;border-radius:9px;align-items:center;gap:9px;padding:11px 14px;font-size:.77rem;display:inline-flex}.resume-download-missing svg{width:17px}.resume-layout{grid-template-columns:300px minmax(0,1fr);gap:78px;padding-top:80px;padding-bottom:110px;display:grid}.resume-sidebar{border-right:1px solid var(--line);padding-right:34px}.resume-sidebar section+section{border-top:1px solid var(--line);margin-top:48px;padding-top:34px}.resume-sidebar h2{color:var(--blue);letter-spacing:.13em;text-transform:uppercase;margin-bottom:22px;font-size:.74rem}.resume-sidebar h3{margin-bottom:5px;font-size:.86rem;line-height:1.4}.resume-contact{gap:13px;margin:0;padding:0;list-style:none;display:grid}.resume-contact li{color:#4c5b6e;overflow-wrap:anywhere;grid-template-columns:17px minmax(0,1fr);align-items:start;gap:10px;font-size:.78rem;display:grid}.resume-contact svg{width:15px;height:15px;color:var(--blue);margin-top:3px}.resume-contact a:hover{color:var(--blue)}.resume-contact a svg{width:11px;height:11px;margin:0 0 0 3px;display:inline}.resume-skill-groups,.resume-education-list{gap:22px;display:grid}.resume-skill-groups p,.resume-education-list p,.resume-development p{color:#5c6979;margin:0;font-size:.76rem}.resume-education-list article,.resume-development{border-left:2px solid #bfd0ec;padding-left:14px}.resume-education-list small,.resume-development small{color:#7b8694;margin-top:5px;font-size:.69rem;line-height:1.5;display:block}.resume-main{min-width:0}.resume-section{grid-template-columns:46px minmax(0,1fr);gap:24px;display:grid}.resume-section+.resume-section{border-top:1px solid var(--line);margin-top:62px;padding-top:55px}.resume-section__number{color:var(--blue);margin:3px 0 0;font-family:Manrope,sans-serif;font-size:.7rem;font-weight:800}.resume-section h2{letter-spacing:-.035em;margin-bottom:30px;font-size:1.65rem}.resume-summary{color:#38495d;max-width:760px;margin:0;font-size:1.05rem;line-height:1.8}.resume-experience-list .experience-item{border-bottom:0;padding:0 0 38px;display:block}.resume-experience-list .experience-item+.experience-item{border-top:1px solid var(--line);padding-top:38px}.resume-experience-list .experience-item__date{color:var(--blue);margin-bottom:10px}.resume-experience-list .experience-item__heading{margin-bottom:13px}.resume-projects{gap:14px;display:grid}.resume-projects article{border:1px solid var(--line);border-radius:10px;grid-template-columns:minmax(0,1fr) 190px;gap:25px;padding:22px;display:grid}.resume-projects h3{margin-bottom:7px;font-size:1rem}.resume-projects h3 a:hover{color:var(--blue)}.resume-projects p{color:#546275;margin:0;font-size:.82rem}.resume-projects article>span{color:#6f7b8b;text-align:right;font-size:.71rem}.not-found-page{place-items:center;min-height:72vh;padding:80px 0;display:grid}.not-found-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--white);max-width:760px;box-shadow:var(--shadow);text-align:center;padding:64px;position:relative}.not-found-card__code{color:#d8dfe5;font-family:Manrope,sans-serif;font-size:3.3rem;font-weight:800;position:absolute;top:20px;right:28px}.not-found-card h1{letter-spacing:-.05em;margin-bottom:16px;font-size:clamp(2.4rem,5vw,4.2rem)}.not-found-card>p:not(.eyebrow,.not-found-card__code){max-width:520px;color:var(--ink-soft);margin:0 auto 28px}.not-found-card .button-row{justify-content:center}.page-loader{color:#647184;justify-content:center;align-items:center;gap:10px;min-height:70vh;font-size:.85rem;display:flex}.page-loader__dot{background:var(--blue);border-radius:50%;width:9px;height:9px;animation:.9s ease-in-out infinite alternate pulse}@keyframes pulse{to{opacity:.35;transform:scale(.75)}}@media (width<=1050px){.hero__grid{grid-template-columns:1fr;gap:58px}.hero__content{max-width:800px}.hero h1{font-size:clamp(3.8rem,9vw,6rem)}.hero-dashboard{max-width:760px}.about-grid{grid-template-columns:1fr;gap:42px}.about-copy{max-width:800px}.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.skill-group{min-height:280px}.contact-panel{padding:54px}.journal-panel{grid-template-columns:120px minmax(0,1fr)}.journal-panel>.button{grid-column:2;justify-self:start}.project-detail__hero-grid{grid-template-columns:1fr;gap:44px}.project-detail__cover{max-width:760px}.resume-layout{grid-template-columns:250px minmax(0,1fr);gap:48px}.resume-projects article{grid-template-columns:1fr;gap:12px}.resume-projects article>span{text-align:left}}@media (width<=860px){.container{width:min(100% - 36px, var(--container))}.menu-button{display:grid}.nav-links{border-bottom:1px solid var(--line);background:var(--paper);align-items:stretch;gap:0;max-height:calc(100vh - 74px);padding:16px 18px 22px;display:none;position:absolute;top:calc(100% + 1px);left:0;right:0;overflow-y:auto;box-shadow:0 18px 35px #10253f1f}.nav-links--open{flex-direction:column;display:flex}.nav-links>a:not(.nav-links__contact){padding:12px 8px}.nav-links>a:not(.nav-links__contact):after{display:none}.nav-links__contact{text-align:center;margin-top:8px}.section,.projects-index{padding-block:84px}.contact-section{padding-top:0}.section-header{grid-template-columns:1fr;gap:24px;margin-bottom:44px}.experience-item{grid-template-columns:155px minmax(0,1fr);gap:30px}.experience-item__heading{display:block}.experience-item .location-label{margin-top:10px}.contact-panel{grid-template-columns:1fr;gap:46px}.journal-panel{grid-template-columns:1fr;gap:28px;padding:42px}.journal-panel__mark{display:none}.journal-panel>.button{grid-column:1}.contact-details{border-top:1px solid #ffffff40;border-left:0;padding:38px 0 0}.page-hero__grid{grid-template-columns:1fr;gap:32px}.project-tools{flex-direction:column;align-items:stretch}.search-field{width:min(100%,420px)}.project-detail__layout{grid-template-columns:1fr;gap:30px}.project-detail__rail{border-bottom:1px solid var(--line);align-items:center;gap:14px;padding-bottom:22px;display:flex;position:static}.project-detail__rail>span,.project-detail__rail>strong,.project-detail__rail p{margin:0}.project-detail__rail>strong{font-size:1.5rem}.project-detail__rail p{border-top:0;border-left:1px solid var(--line);padding:0 0 0 14px}.resume-layout{grid-template-columns:1fr}.resume-sidebar{border-right:0;border-bottom:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:36px;padding:0 0 50px;display:grid}.resume-sidebar section+section{border:0;margin:0;padding:0}}@media (width<=650px){.container{width:min(100% - 28px, var(--container))}.brand__name{display:none}.hero{min-height:auto;padding:72px 0}.hero__grid{gap:44px}.hero__availability{font-size:.65rem;line-height:1.45}.hero h1{font-size:clamp(2.75rem,13vw,4rem)}.hero__summary{font-size:.94rem}.hero__descriptor{font-size:.7rem}.hero .button-row .button{flex:100%;width:100%}.hero-dashboard__topline{flex-direction:column;align-items:flex-start;gap:10px}.hero-dashboard__visual{padding-inline:18px}.career-path{padding-inline:20px}.career-path li{grid-template-columns:76px minmax(0,1fr);gap:2px 12px}.hero-dashboard__metrics{grid-template-columns:1fr;margin-inline:18px}.hero-dashboard__metrics div+div{border-top:1px solid var(--line);border-left:0}.hero-dashboard__focus{grid-template-columns:1fr;gap:6px}.section,.projects-index{padding-block:68px}.contact-section{padding-top:0}.section-header h2,.contact-panel h2{font-size:clamp(2rem,11vw,3rem)}.about-copy{padding-left:20px}.about-copy p{font-size:1rem}.strength-card{grid-template-columns:1fr}.experience-item{grid-template-columns:1fr;gap:14px;padding:30px 0}.project-grid,.education-grid,.skills-grid,.certification-grid{grid-template-columns:1fr}.project-grid>.project-card:first-child{display:block}.project-grid>.project-card:first-child .project-card__image{border-right:0;border-bottom:1px solid var(--line);height:auto}.project-card__content{padding:22px}.project-card__content>p{min-height:0}.skill-group{min-height:auto;padding:25px}.skill-group__icon{margin-bottom:28px}.skill-group h3{min-height:0}.contact-panel{border-radius:20px;gap:38px;width:calc(100% - 20px);padding:40px 24px}.journal-panel{border-radius:20px;width:calc(100% - 20px);padding:36px 24px}.certificate-lightbox{width:calc(100% - 16px);max-height:calc(100vh - 16px)}.certificate-lightbox__panel{max-height:calc(100vh - 16px)}.certificate-lightbox__header{padding:17px}.certificate-lightbox__image{padding:12px}.contact-details{overflow-wrap:anywhere;font-size:.85rem}.footer-grid,.footer-bottom{flex-direction:column;align-items:flex-start}.footer-links{gap:18px}.footer-bottom{gap:7px}.page-hero{padding:68px 0 58px}.page-hero h1{font-size:clamp(2.7rem,13vw,4rem)}.filter-list{flex-wrap:nowrap;margin-inline:-14px;padding:0 14px 8px;overflow-x:auto}.filter-list button{flex-shrink:0}.search-field{min-width:0}.project-detail__hero{padding:38px 0 58px}.back-link{margin-bottom:35px}.project-detail__intro h1{font-size:clamp(2.5rem,13vw,4rem)}.project-detail__actions>.button,.project-detail__actions>.project-links,.project-detail__actions .project-links .button{width:100%}.project-detail__section{grid-template-columns:1fr;gap:17px;padding:30px 0}.model-grid,.result-list{grid-template-columns:1fr}.project-pagination{grid-template-columns:1fr;margin-bottom:68px}.project-pagination a:last-child{border-top:1px solid var(--line);border-left:0}.resume-header{padding:56px 0}.resume-header__grid{flex-direction:column;align-items:flex-start}.resume-layout{gap:46px;padding-top:56px;padding-bottom:78px}.resume-sidebar{grid-template-columns:1fr}.resume-sidebar section+section{border-top:1px solid var(--line);padding-top:28px}.resume-section{grid-template-columns:1fr;gap:8px}.resume-experience-list .experience-item__heading{display:block}.resume-experience-list .location-label{margin-top:8px}.not-found-card{padding:50px 24px}.not-found-card__code{display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media print{.site-header,.site-footer,.resume-header .button,.resume-download-missing{display:none!important}body,.resume-page{color:#000;background:#fff}.resume-header{color:#000;background:#fff;padding:24px 0}.resume-header p:last-child,.resume-sidebar p,.resume-sidebar small,.experience-item ul{color:#333}.resume-layout{grid-template-columns:220px 1fr;gap:30px;width:100%;padding-block:24px}.resume-section+.resume-section{margin-top:28px;padding-top:28px}.experience-item,.resume-projects article{break-inside:avoid}}
