@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&family=Newsreader:ital,opsz,wght@1,6..72,500&display=swap";:root{--ink:#101827;--ink-soft:#475569;--paper:#f7f8f4;--card:#fff;--line:#dce2dc;--night:#0b1220;--night-soft:#141e30;--lime:#b8f34a;--lime-soft:#e4fbb4;--blue:#5e7cff;--link:#36550b;--chip:#f9faf8;--btn-bg:var(--ink);--btn-fg:#fff;--btn-bg-hover:#263247;--radius:18px;--max:1180px;color:var(--ink);background:var(--paper);font-synthesis:none;font-family:DM Sans,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}html.nav-open{overflow:hidden}body{background:var(--paper);min-width:320px;color:var(--ink);margin:0;line-height:1.6}body::selection{background:var(--lime);color:var(--night)}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,textarea{font:inherit}:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.container{width:min(calc(100% - 40px), var(--max));margin-inline:auto}.section{padding:96px 0}.section--dark{background:var(--night);color:#f8fafc}.section--lime{background:var(--lime)}.eyebrow{color:var(--link);letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:10px;margin-bottom:20px;font:700 12px/1 Manrope,sans-serif;display:inline-flex}.eyebrow:before{content:"";background:currentColor;width:26px;height:2px}.section--dark .eyebrow,.hero .eyebrow,.article-hero .eyebrow,.project-hero .eyebrow,.tag-hero .eyebrow,.search-hero .eyebrow{color:var(--lime)}h1,h2,h3,h4{letter-spacing:-.035em;margin:0;font-family:Manrope,sans-serif;line-height:1.08}h1{font-size:clamp(3.5rem,9vw,7.8rem)}h2{font-size:clamp(2.35rem,5vw,4.4rem)}h3{font-size:clamp(1.25rem,2vw,1.65rem)}p{margin:0}.serif{font-family:Newsreader,Georgia,serif;font-style:italic;font-weight:500}.lede{max-width:760px;color:var(--ink-soft);font-size:clamp(1.05rem,2vw,1.28rem);line-height:1.7}.section--dark .lede{color:#aeb9ca}.section-head{justify-content:space-between;align-items:end;gap:36px;margin-bottom:50px;display:flex}.section-head>div{max-width:760px}.section-head .lede{margin-top:20px}.prose{color:var(--ink-soft)}.prose h2,.prose h3{color:var(--ink);margin:2.2em 0 .65em}.prose p,.prose li{font-size:1.06rem;line-height:1.85}.prose p{margin:1.1em 0}.prose a{color:#35d;text-underline-offset:3px;text-decoration:underline}.prose img{border-radius:14px;margin:2rem auto}.prose table{border-collapse:collapse;border:1px solid var(--line);border-radius:12px;width:100%;margin:1.8rem 0;font-size:.98rem;display:block;overflow-x:auto}.prose th,.prose td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;min-width:9rem;padding:14px 16px}.prose th{color:var(--ink);background:var(--paper-2);font-weight:700}.prose tr:last-child td{border-bottom:0}.prose pre{background:var(--night);color:#e2e8f0;border-radius:12px;padding:20px;overflow-x:auto}.prose code{font-family:ui-monospace,monospace}.prose blockquote{border-left:4px solid var(--lime);color:var(--ink-soft);margin:2rem 0;padding-left:1.4rem;font-size:1.15rem}.btn{border:1px solid var(--ink);background:var(--btn-bg);min-height:48px;color:var(--btn-fg);border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:0 20px;font-weight:700;transition:transform .2s,background .2s,color .2s;display:inline-flex}.btn:hover{background:var(--btn-bg-hover);transform:translateY(-2px)}.btn--light{background:var(--lime);border-color:var(--lime);color:var(--night)}.btn--light:hover{background:var(--lime-hover,#d0ff68)}.btn--ghost{color:inherit;background:0 0;border-color:#536073}.btn--ghost:hover{background:var(--card);color:var(--ink)}.button-row{flex-wrap:wrap;gap:12px;display:flex}.card{border:1px solid var(--line);border-radius:var(--radius);background:var(--card)}.tag-list{flex-wrap:wrap;gap:8px;display:flex}.tag{border:1px solid var(--line);min-height:30px;color:var(--ink-soft);background:var(--chip);border-radius:999px;align-items:center;padding:4px 10px;font-size:.78rem;font-weight:700;display:inline-flex}.section--dark .tag{color:#d2d9e5;background:var(--night-soft);border-color:#344054}.empty{border-radius:var(--radius);color:var(--ink-soft);border:1px dashed #9ca8b6;padding:32px}.section--dark .empty{color:#aeb9ca;border-color:#4b586b}.site-header{z-index:50;color:#fff;backdrop-filter:blur(18px);background:#0b1220e8;border-bottom:1px solid #ffffff1a;position:sticky;top:0}.header-inner{grid-template-columns:minmax(190px,1fr) auto minmax(330px,1fr);align-items:center;gap:24px;height:76px;display:grid;position:relative}.brand{letter-spacing:-.02em;border-radius:12px;justify-self:start;align-items:center;gap:12px;min-width:0;font-family:Manrope;display:inline-flex}.brand-mark{background:var(--lime);width:40px;height:40px;color:var(--night);border-radius:11px;flex:0 0 40px;place-items:center;font-size:12px;display:grid;overflow:hidden}.brand-mark img{object-fit:contain;width:100%;height:100%;display:block}.brand-copy{min-width:0;line-height:1.2;display:grid}.brand-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;font-weight:800;overflow:hidden}.brand-copy small{color:#8795a9;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:.68rem;font-weight:600;overflow:hidden}.nav{background:#ffffff05;border:1px solid #ffffff10;border-radius:12px;justify-content:center;align-items:center;gap:2px;padding:4px;font-size:.82rem;font-weight:650;display:flex}.nav a{color:#aeb9c9;border-radius:8px;padding:8px 10px;transition:color .2s,background .2s;position:relative}.nav a:hover{color:#fff;background:#ffffff09}.nav a.is-active{color:var(--lime);background:#ffffff09}.nav a.is-active:after{background:var(--lime);content:"";border-radius:99px;height:2px;position:absolute;bottom:3px;left:10px;right:10px}.header-actions{justify-content:flex-end;align-items:center;gap:7px;min-width:0;display:flex}.header-actions .icon-link{width:38px;height:38px}.header-actions .btn{white-space:nowrap;min-height:40px;padding-inline:15px;font-size:.78rem}.header-actions .nav-resume{color:#d8e0eb;background:#ffffff07;border-color:#46546a}.header-actions .nav-resume:hover{color:#fff;background:#ffffff0d;border-color:#65738a}.header-divider{background:#344054;width:1px;height:24px;margin-inline:2px}.mobile-menu-trigger,.mobile-nav-backdrop,.mobile-nav-panel{display:none}.hamburger{background:#ffffff05;border:1px solid #344054;border-radius:11px;place-items:center;width:42px;height:42px;display:grid}.hamburger i,.hamburger i:before,.hamburger i:after{content:"";background:#fff;border-radius:99px;width:18px;height:2px;transition:transform .2s,opacity .2s;display:block}.hamburger i{position:relative}.hamburger i:before{position:absolute;top:-6px}.hamburger i:after{position:absolute;top:6px}.menu-open .hamburger i{background:0 0}.menu-open .hamburger i:before{transform:translateY(6px)rotate(45deg)}.menu-open .hamburger i:after{transform:translateY(-6px)rotate(-45deg)}.mobile-links{padding:18px;display:grid}.mobile-nav-label{color:#718096;letter-spacing:.12em;text-transform:uppercase;margin:3px 10px 8px;font-size:.67rem;font-weight:800}.hero{background:var(--night);color:#fff;min-height:820px;padding:120px 0 90px;position:relative;overflow:hidden}.hero:before{background:radial-gradient(circle, color-mix(in srgb, var(--blue) 21%, transparent), transparent 68%);content:"";border-radius:50%;width:650px;height:650px;position:absolute;top:-240px;right:-180px}.hero:after{background:linear-gradient(transparent, var(--paper));content:"";opacity:.06;height:180px;position:absolute;inset:auto 0 0}.hero-grid{z-index:1;grid-template-columns:minmax(0,1.55fr) minmax(300px,.65fr);align-items:end;gap:70px;display:grid;position:relative}.hero h1{max-width:900px}.hero h1 .accent{color:var(--lime)}.hero-subtitle{color:#b9c4d4;max-width:740px;margin-top:30px;font-size:clamp(1.1rem,2vw,1.35rem)}.hero-actions{margin-top:36px}.hero-aside{border-left:1px solid #3a4659;padding:26px 0 8px 30px}.availability{color:#d6deea;align-items:center;gap:10px;font-weight:600;display:flex}.availability:before{background:var(--lime);width:9px;height:9px;box-shadow:0 0 0 5px color-mix(in srgb, var(--lime) 9%, transparent);content:"";border-radius:50%}.hero-aside p{color:#8e9aad;margin-top:18px;font-size:.9rem}.hero-stats{z-index:1;border-radius:var(--radius);background:#2b3749;border:1px solid #2b3749;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:100px;display:grid;position:relative;overflow:hidden}.stat{background:var(--night-soft);padding:25px 28px}.stat strong{color:var(--lime);font:800 clamp(1.8rem,4vw,3rem)/1 Manrope;display:block}.stat span{color:#9eabbd;margin-top:8px;font-size:.84rem;display:block}.about-grid{grid-template-columns:.85fr 1.15fr;gap:clamp(50px,9vw,130px);display:grid}.about-statement{letter-spacing:-.02em;font:500 clamp(2rem,4vw,3.3rem)/1.18 Newsreader,serif}.about-copy{color:var(--ink-soft)}.about-copy>div+div{margin-top:1.25em}.about-details{border-top:1px solid var(--line);grid-template-columns:repeat(2,1fr);gap:24px;margin-top:34px;padding-top:28px;display:grid}.detail-label{color:#738095;letter-spacing:.1em;text-transform:uppercase;margin-bottom:5px;font-size:.72rem;font-weight:800;display:block}.detail-value{font-weight:700}.experience-list{border-top:1px solid #344054}.experience-row{border-bottom:1px solid #344054;grid-template-columns:190px minmax(0,1fr) 210px;gap:30px;padding:36px 0;display:grid}.experience-date{color:#8f9caf;font-size:.86rem}.experience-row h3{color:#fff}.experience-company{color:var(--lime);margin:4px 0 14px;font-weight:700}.experience-summary{color:#abb7c8}.experience-responsibilities{color:#c2cbd8;gap:8px;margin:18px 0 0;padding:0;list-style:none;display:grid}.experience-responsibilities li{padding-left:18px;line-height:1.65;position:relative}.experience-responsibilities li:before{background:var(--lime);content:"";border-radius:50%;width:5px;height:5px;position:absolute;top:.65em;left:0}.experience-tech{margin-top:18px}.experience-side{color:#9eabbd;font-size:.85rem}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;display:grid}.skill-group{padding:28px}.skill-group-head{justify-content:space-between;gap:20px;margin-bottom:24px;display:flex}.skill-group-head p{color:#7a8799;margin-top:6px;font-size:.88rem}.skill{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding:13px 0;display:flex}.skill-name{font-weight:700}.skill-meta{color:#718096;text-transform:capitalize;font-size:.76rem}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.project-card{min-height:360px;padding:30px;position:relative;overflow:hidden}.project-card:hover{border-color:#aab6a5;transition:transform .25s,border-color .25s;transform:translateY(-4px)}.project-card--featured{grid-column:1/-1;min-height:460px}.project-index{color:#8a95a5;font:700 .75rem Manrope}.project-card h3{margin-top:60px;font-size:clamp(1.7rem,3vw,2.5rem)}.project-summary{max-width:680px;color:var(--ink-soft);margin-top:14px}.project-footer{justify-content:space-between;align-items:end;gap:20px;display:flex;position:absolute;bottom:28px;left:30px;right:30px}.project-arrow{background:var(--btn-bg);width:46px;height:46px;color:var(--btn-fg);border-radius:50%;flex:none;place-items:center;font-size:1.25rem;display:grid}.featured-badge{background:var(--lime-soft);color:var(--link);text-transform:uppercase;border-radius:999px;padding:6px 10px;font-size:.7rem;font-weight:800;position:absolute;top:28px;right:28px}.certification-list,.achievement-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.compact-card{padding:24px}.compact-card h3{font-size:1.08rem}.compact-card p{color:#728095;margin-top:6px;font-size:.9rem}.compact-card .card-date{color:#526174;margin-top:18px;font-size:.8rem;font-weight:700}.testimonial{grid-template-columns:130px 1fr;align-items:start;gap:40px;display:grid}.testimonial blockquote{margin:0;font:500 clamp(1.6rem,3vw,2.45rem)/1.4 Newsreader,serif}.testimonial cite{color:#9eabbd;margin-top:24px;font-family:DM Sans;font-size:.9rem;font-style:normal;display:block}.testimonial-avatar{background:var(--lime);width:100px;height:100px;color:var(--night);border-radius:50%;place-items:center;font:800 1.3rem Manrope;display:grid}.post-list{border-top:1px solid var(--line)}.post-row{border-bottom:1px solid var(--line);grid-template-columns:150px 1fr auto;align-items:center;gap:28px;padding:30px 0;transition:padding .2s;display:grid}.post-row:hover{padding-left:10px}.post-date{color:#718096;font-size:.82rem}.post-row h3{font-size:clamp(1.25rem,2.2vw,1.75rem)}.post-row p{color:var(--ink-soft);margin-top:8px}.post-arrow{font-size:1.5rem}.contact-panel{background:var(--lime);border-radius:28px;padding:clamp(35px,7vw,85px);position:relative;overflow:hidden}.contact-panel:after{content:"";border:50px solid #10182712;border-radius:50%;width:320px;height:320px;position:absolute;bottom:-180px;right:-80px}.contact-panel h2{max-width:800px;font-size:clamp(2.7rem,7vw,6.2rem)}.contact-panel p{max-width:580px;color:color-mix(in srgb, var(--night) 82%, transparent);margin-top:20px;font-size:1.05rem}.contact-panel .button-row{z-index:1;margin-top:32px;position:relative}.site-footer{background:var(--night);color:#fff;padding:70px 0 34px}.footer-grid{grid-template-columns:1.4fr repeat(2,.6fr);gap:50px;display:grid}.footer-title{color:#98a5b8;max-width:450px;margin-top:18px}.footer-links{color:#bbc5d3;align-content:start;gap:11px;display:grid}.footer-links strong{color:#fff;letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px;font-size:.8rem}.footer-bottom{color:#7f8b9d;border-top:1px solid #2b3749;flex-wrap:wrap;justify-content:space-between;gap:20px;margin-top:65px;padding-top:25px;font-size:.8rem;display:flex}.visit-count{font-variant-numeric:tabular-nums}.article-hero{background:var(--night);color:#fff;padding:100px 0 70px}.article-hero .wrap{max-width:900px}.article-hero h1{margin-top:20px;font-size:clamp(3rem,7vw,6.3rem)}.article-meta{color:#a8b4c5;flex-wrap:wrap;gap:16px;margin-top:28px;display:flex}.article-body{max-width:760px;margin:70px auto 100px}.back-link{color:#9eabbd;gap:8px;font-weight:700;display:inline-flex}@media (width<=1080px){.section{padding:75px 0}.header-inner{z-index:3;grid-template-columns:1fr auto}.desktop-nav,.header-actions{display:none}.mobile-menu-trigger{cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.mobile-nav-backdrop{z-index:1;cursor:default;backdrop-filter:blur(5px);background:#02061799;border:0;width:100%;height:calc(100dvh - 76px);display:none;position:fixed;inset:76px 0 0}.menu-open .mobile-nav-backdrop{display:block}.mobile-nav-panel{z-index:2;top:76px;right:max(20px, calc((100vw - var(--max)) / 2));left:max(20px, calc((100vw - var(--max)) / 2));background:#0d1727;border:1px solid #344054;border-radius:18px;max-height:calc(100dvh - 96px);animation:.18s ease-out mobile-nav-in;display:block;position:absolute;overflow-y:auto;box-shadow:0 28px 80px #0009}.mobile-nav-panel[hidden]{display:none}.mobile-links>a{color:#cbd4e1;border-radius:10px;justify-content:space-between;align-items:center;min-height:48px;padding:10px 12px;font-weight:700;display:flex}.mobile-links>a:hover,.mobile-links>a.is-active{color:var(--lime);background:#ffffff08}.mobile-links>a svg{color:#67768a}.mobile-nav-tools{border-top:1px solid #263449;gap:6px;margin-top:12px;padding-top:12px;display:grid}.mobile-nav-tools .theme-switcher{margin:0}.mobile-nav-tools .theme-trigger{justify-content:space-between;width:100%;min-height:46px;padding-inline:12px;font-size:.82rem}.mobile-nav-tools .theme-menu{box-shadow:none;margin:0;position:static}.mobile-nav-tools>a{color:#aeb9c9;align-items:center;gap:10px;padding:11px 12px;font-size:.82rem;font-weight:700;display:flex}.mobile-socials{grid-template-columns:repeat(2,1fr);gap:8px;margin-top:12px;display:grid}.mobile-socials a,.mobile-phone{color:#bdc8d7;border:1px solid #344054;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:44px;font-size:.8rem;font-weight:700;display:flex}.mobile-phone{margin-top:8px}.mobile-cta-row{border-top:1px solid #263449;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px;padding-top:14px;display:grid}.mobile-cta-row .btn{min-height:46px;padding-inline:14px;font-size:.8rem}@keyframes mobile-nav-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}.hero{min-height:auto;padding-top:90px}.hero-grid,.about-grid{grid-template-columns:1fr;gap:40px}.hero-aside{border-top:1px solid #3a4659;border-left:0;padding:22px 0 0}.hero-stats{grid-template-columns:repeat(2,1fr);margin-top:65px}.section-head{display:block}.experience-row{grid-template-columns:1fr;gap:12px}.project-card,.project-card--featured{grid-column:auto;min-height:390px}}@media (width<=640px){.container{width:min(calc(100% - 28px), var(--max))}.section{padding:62px 0}h1{font-size:clamp(3.2rem,18vw,5.2rem)}h2{font-size:clamp(2.2rem,12vw,3.4rem)}.hero{padding-top:70px}.hero-stats,.grid-2,.project-grid,.certification-list,.achievement-list{grid-template-columns:1fr}.stat{padding:20px}.about-details{grid-template-columns:1fr}.project-card{min-height:420px;padding:24px}.project-footer{bottom:22px;left:24px;right:24px}.testimonial{grid-template-columns:1fr;gap:24px}.testimonial-avatar{width:72px;height:72px}.post-row{grid-template-columns:1fr auto;gap:8px 18px}.post-date{grid-column:1/-1}.footer-grid{grid-template-columns:1fr}.footer-bottom{display:grid}.button-row .btn{width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}
