:root{--bg:#f0eee7;--surface:#faf9f5;--surface-soft:#f7f5ef;--line:#d5d2c9;--line-soft:#e2dfd7;--text:#171c20;--muted:#414c53;--quiet:#59646a;--quality:#0a706b;--quality-soft:#0a706b1a;--security:#70518d;--security-soft:#70518d1a;--paper:#f0eee7;--paper-elevated:#faf9f5;--ink:#171c20;--ink-muted:#414c53;--paper-line:#d5d2c9;--paper-quality:#0a706b;--paper-security:#70518d;--max-width:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{background:linear-gradient(#171c2009 1px, transparent 1px), linear-gradient(90deg, #171c2009 1px, transparent 1px), var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;background-size:72px 72px;margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.6;overflow-x:clip}a{color:inherit;text-decoration:none}::selection{background:var(--quality);color:#071210}.skip-link{z-index:100;background:var(--text);color:var(--bg);padding:10px 16px;position:fixed;top:-80px;left:16px}.skip-link:focus{top:16px}.site-header{z-index:50;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px);background:#f0eee7eb;width:100%;height:76px;position:sticky;top:0}.site-header-inner{width:min(calc(100% - 40px), var(--max-width));grid-template-columns:1fr auto 1fr;align-items:center;height:100%;margin-inline:auto;display:grid}.brand{align-items:center;gap:12px;width:fit-content;font-weight:650;display:inline-flex}.brand-mark{border:1px solid var(--line);width:34px;height:34px;color:var(--quality);place-items:center;font:700 12px/1 ui-monospace,monospace;display:grid}.site-header nav{color:var(--muted);gap:30px;font-size:14px;display:flex}.site-header nav a,.header-contact{transition:color .2s}.site-header nav a:hover,.site-header nav a:focus-visible,.header-contact:hover,.header-contact:focus-visible{color:var(--quality)}.header-actions{justify-self:end;align-items:center;gap:18px;display:flex}.language-switch{width:34px;height:34px;color:var(--muted);border:1px solid var(--line);place-items:center;font:650 11px/1 ui-monospace,monospace;transition:color .2s,border-color .2s;display:grid}.language-switch:hover,.language-switch:focus-visible{color:var(--quality);border-color:var(--quality)}.header-contact{border-bottom:1px solid var(--text);justify-self:end;font-size:14px;font-weight:650}main,footer{width:min(calc(100% - 40px), var(--max-width));margin-inline:auto}.hero{grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr);align-items:center;gap:clamp(56px,9vw,132px);min-height:680px;padding:110px 0 96px;display:grid}.hero-copy{min-width:0}.availability{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:10px;margin:0 0 34px;font:500 12px/1.2 ui-monospace,monospace;display:flex}.availability span,.candidate-status span{background:var(--quality);width:7px;height:7px;box-shadow:0 0 0 5px var(--quality-soft);border-radius:50%}.hero h1{letter-spacing:-.055em;max-width:840px;margin:0;font-size:clamp(48px,6.5vw,88px);font-weight:630;line-height:.98}html[lang=vi] .hero h1{letter-spacing:-.045em;font-size:clamp(44px,5.8vw,78px)}.hero h1 em{color:var(--muted);font-family:Georgia,Times New Roman,serif;font-weight:400}.hero-role{color:var(--quality);letter-spacing:.08em;text-transform:uppercase;margin:38px 0 10px;font:600 13px/1.4 ui-monospace,monospace}.hero-summary{max-width:670px;color:var(--muted);margin:0;font-size:clamp(18px,2vw,22px);font-weight:500;line-height:1.55}.hero-actions,.contact-actions{flex-wrap:wrap;align-items:center;gap:14px;margin-top:38px;display:flex}.button{border:1px solid var(--line);justify-content:center;align-items:center;gap:22px;min-height:50px;padding:0 20px;font-size:14px;font-weight:650;transition:transform .2s,border-color .2s,background .2s;display:inline-flex}.button:hover,.button:focus-visible{transform:translateY(-2px)}.button-primary{color:#fff;background:var(--quality);border-color:var(--quality)}.button-primary:hover,.button-primary:focus-visible{background:#085e5a;border-color:#085e5a}.button-secondary{background:#ffffff5c}.button-secondary:hover,.button-secondary:focus-visible{border-color:var(--quality)}.hero-panel{border:1px solid var(--line);background:#faf9f5b8;padding:22px}.panel-topline,.project-topline{color:var(--quiet);letter-spacing:.12em;text-transform:uppercase;justify-content:space-between;font:500 10px/1.3 ui-monospace,monospace;display:flex}.focus-item{border:1px solid var(--line-soft);background:var(--surface-soft);grid-template-columns:38px 1fr;gap:14px;margin-top:28px;padding:22px;display:grid}.focus-index{color:var(--quiet);font:500 11px/1.4 ui-monospace,monospace}.focus-item div{gap:5px;display:grid}.focus-item strong{font-size:16px}.focus-item div span{color:var(--muted);font-size:13px;font-weight:500}.focus-quality{border-left:2px solid var(--quality)}.focus-security{border-left:2px solid var(--security);margin-top:0}.focus-connector{height:44px;color:var(--quiet);grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;display:grid}.focus-connector span{background:var(--line-soft);height:1px}.focus-connector i{letter-spacing:.08em;text-transform:uppercase;font:9px/1 ui-monospace,monospace}.panel-note{color:var(--muted);margin:26px 0 2px;font-size:14px;font-weight:450;line-height:1.7}.proof-grid{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);display:grid}.proof-item{border-right:1px solid var(--line);flex-direction:column;justify-content:space-between;min-height:150px;padding:28px;display:flex}.proof-item:last-child{border-right:0}.proof-item strong{letter-spacing:-.05em;font:500 clamp(30px,3vw,42px)/1 ui-monospace,monospace}.proof-item span{max-width:190px;color:var(--muted);font-size:14px;font-weight:500;line-height:1.45}.section{border-bottom:1px solid var(--line);padding:112px 0}.theme-light{color:var(--ink);background:var(--paper);border-color:var(--paper-line);box-shadow:0 0 0 100vmax var(--paper);clip-path:inset(0 -100vmax);position:relative}.theme-light .section-kicker{color:var(--paper-quality)}.theme-light .section-kicker span:first-child{color:#5d686d}.theme-light .section-heading p{color:var(--ink-muted)}.experience-list{border-top:1px solid var(--paper-line)}.experience-item{border-bottom:1px solid var(--paper-line);grid-template-columns:72px .7fr 1.3fr;gap:32px;padding:38px 0;display:grid}.experience-item.is-compact{align-items:center;padding-block:26px}.experience-item.is-compact .experience-detail>p{margin:0}.experience-rail{color:#5d686d;flex-direction:column;align-items:center;gap:13px;font:600 10px/1 ui-monospace,monospace;display:flex}.experience-rail i{background:#9ca5a7;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 5px #171c200f}.experience-rail i.is-current{background:var(--paper-quality);box-shadow:0 0 0 5px #0a706b1f}.experience-identity p{color:var(--ink-muted);letter-spacing:.08em;text-transform:uppercase;margin:0 0 16px;font:600 11px/1.4 ui-monospace,monospace}.experience-identity h3{letter-spacing:-.03em;margin:0;font-size:30px;line-height:1.1}.experience-identity strong{color:var(--paper-quality);margin-top:10px;font-size:13px;font-weight:650;display:block}.experience-detail>p{max-width:700px;color:var(--ink-muted);margin:0 0 22px;font-size:16px;font-weight:500}.experience-detail ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.experience-detail li{color:#2f393f;padding-left:18px;font-size:14px;font-weight:450;position:relative}.experience-detail li:before{content:"";background:var(--paper-quality);width:6px;height:1px;position:absolute;top:.7em;left:0}.experience-detail .tag-list{grid-column:auto;margin-top:24px}.section-heading{grid-template-columns:minmax(180px,.38fr) 1fr;gap:40px;margin-bottom:68px;display:grid}.section-kicker{color:var(--quality);letter-spacing:.12em;text-transform:uppercase;gap:18px;font:600 11px/1.4 ui-monospace,monospace;display:flex}.section-kicker span:first-child{color:var(--quiet)}.section-heading h2,.contact-section h2{letter-spacing:-.04em;max-width:780px;margin:0;font-size:clamp(38px,5vw,64px);font-weight:580;line-height:1.05}.section-heading p{max-width:690px;color:var(--muted);margin:24px 0 0;font-size:18px;font-weight:500}.theme-light .tag-list span{color:#586368;border-color:var(--paper-line);background:#ffffff6b}.project-card h3{letter-spacing:-.025em;margin:0;font-size:25px;line-height:1.25}.project-card>p{color:var(--muted);margin:16px 0 0;font-size:15px;font-weight:450}.tag-list{flex-wrap:wrap;grid-column:2/-1;gap:7px;display:flex}.tag-list span{border:1px solid var(--line);color:var(--quiet);padding:5px 9px;font:500 10px/1.2 ui-monospace,monospace}.practice-grid{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(4,1fr);gap:1px;display:grid}.practice-grid article{background:var(--surface-soft);min-height:190px;padding:28px}.practice-grid strong{color:var(--quality);font:500 38px/1 ui-monospace,monospace;display:block}.practice-grid h3{margin:34px 0 5px;font-size:16px}.practice-grid p{color:var(--muted);margin:0;font-size:14px;font-weight:450}.theme-light .practice-grid{background:var(--paper-line);border-color:var(--paper-line)}.theme-light .practice-grid article{background:var(--paper-elevated)}.theme-light .practice-grid strong{color:var(--paper-quality)}.theme-light .practice-grid p{color:var(--ink-muted)}.practice-profile-link{width:fit-content;color:var(--paper-quality);align-items:center;gap:10px;margin:22px 0 0 auto;font-size:13px;font-weight:650;display:flex}.practice-profile-link:hover,.practice-profile-link:focus-visible{color:#085e5a}.credentials-section{padding-top:110px}.credential-layout{justify-content:center;display:flex}.credential-list{grid-template-columns:1fr 1fr;gap:16px;width:min(100%,900px);display:grid}.credential-card{border:1px solid var(--paper-line);background:var(--paper-elevated);flex-direction:column;min-height:310px;padding:32px;display:flex}.credential-card.security{border-top:2px solid var(--paper-security)}.credential-card.quality{border-top:2px solid var(--paper-quality)}.credential-meta{color:#5d686d;letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;gap:20px;font:600 10px/1.3 ui-monospace,monospace;display:flex}.credential-meta strong{color:var(--paper-quality)}.credential-card.security .credential-meta strong{color:var(--paper-security)}.credential-card h3{letter-spacing:-.03em;margin:auto 0 0;font-size:30px;line-height:1.1}.credential-issuer{font-weight:650;color:var(--paper-quality)!important;margin:8px 0 16px!important}.credential-card.security .credential-issuer{color:var(--paper-security)!important}.credential-description{color:var(--ink-muted);margin:0;font-size:14px;font-weight:450}.credential-issued{color:var(--ink);overflow-wrap:anywhere;gap:3px;margin:16px 0 0;font:600 11px/1.45 ui-monospace,monospace;display:grid}.credential-issued span{color:#5d686d;letter-spacing:.09em;text-transform:uppercase;font-size:9px}.credential-link{border-top:1px solid var(--paper-line);color:var(--paper-security);justify-content:space-between;align-items:center;margin-top:18px;padding-top:14px;font-size:12px;font-weight:650;display:flex}.project-grid{grid-template-columns:repeat(6,1fr);gap:14px;display:grid}.project-card{border:1px solid var(--line);background:var(--surface-soft);flex-direction:column;min-height:320px;padding:28px;transition:transform .2s,border-color .2s;display:flex}.project-card.quality{border-top:2px solid var(--quality)}.project-card.security{border-top:2px solid var(--security)}.project-card.security .project-topline span:last-child,.project-card.security>a{color:var(--security)}.project-card:hover{border-color:#46535f;transform:translateY(-3px)}.project-card:nth-child(-n+3){grid-column:span 2}.project-card:nth-child(n+4){grid-column:span 3}.project-card h3{margin-top:38px}.project-card .tag-list{grid-column:auto;margin-top:auto;padding-top:24px}.project-card>a{border-top:1px solid var(--line-soft);color:var(--quality);justify-content:space-between;align-items:center;margin-top:22px;padding-top:18px;font-size:13px;display:flex}.contact-section{border:1px solid var(--line);background:linear-gradient(135deg,#57d8ce14,#d5a6ff0b 62%,#0000);margin-top:96px;padding:clamp(48px,8vw,96px)}.contact-section h2{max-width:880px;margin-top:44px;font-size:clamp(42px,6vw,72px)}.contact-section>p:not(.section-kicker){max-width:710px;color:var(--muted);margin:24px 0 0;font-size:18px;font-weight:500}.contact-email{width:fit-content;color:var(--quality);overflow-wrap:anywhere;border-bottom:1px solid;margin-top:16px;font-size:16px;font-weight:650;display:block}.contact-email:hover,.contact-email:focus-visible{color:#085e5a}.social-links{align-items:center;gap:10px;display:flex}.social-links a{width:48px;height:48px;color:var(--muted);border:1px solid var(--line);background:#ffffff5c;place-items:center;transition:color .2s,border-color .2s,background-color .2s,transform .2s;display:grid}.social-links a:hover,.social-links a:focus-visible{color:var(--quality);border-color:var(--quality);background:#57d8ce14;transform:translateY(-2px)}.social-links .social-github:hover,.social-links .social-github:focus-visible{background:#1817170f;border-color:#181717}.social-links .social-linkedin:hover,.social-links .social-linkedin:focus-visible{background:#0a66c214;border-color:#0a66c2}.social-links .social-htb:hover,.social-links .social-htb:focus-visible{background:#9fef001f;border-color:#9fef00}.social-links .social-tryhackme:hover,.social-links .social-tryhackme:focus-visible{background:#212c4214;border-color:#212c42}.social-links svg{width:21px;height:21px}footer{min-height:110px;color:var(--quiet);text-transform:uppercase;letter-spacing:.06em;justify-content:space-between;align-items:center;gap:20px;font:500 11px/1.4 ui-monospace,monospace;display:flex}footer a:hover,footer a:focus-visible{color:var(--quality)}:focus-visible{outline:2px solid var(--quality);outline-offset:4px}@media (max-width:980px){.site-header-inner{grid-template-columns:1fr auto}.site-header nav{display:none}.hero{grid-template-columns:1fr;padding-top:80px}.hero-panel{max-width:620px}.proof-grid{grid-template-columns:1fr 1fr}.proof-item:nth-child(2){border-right:0}.proof-item:nth-child(-n+2){border-bottom:1px solid var(--line)}.practice-grid{grid-template-columns:1fr 1fr}.credential-layout{grid-template-columns:1fr}.project-card:nth-child(-n+3),.project-card:nth-child(n+4){grid-column:span 3}.experience-item{grid-template-columns:48px 1fr}.experience-detail{grid-column:2}}@media (max-width:680px){body{background-size:44px 44px}.site-header-inner,main,footer{width:min(calc(100% - 28px), var(--max-width))}.site-header{height:66px}.header-actions{gap:12px}.header-contact,.brand-name{display:none}.hero{gap:54px;min-height:auto;padding:72px 0}.hero h1{font-size:clamp(41px,11.8vw,50px)}.hero h1 em{display:block}.hero h1 em span{white-space:nowrap}.hero h1 em span:last-child{display:block}.hero-role{font-size:11px}.hero-summary{font-size:17px}.hero-actions .button{width:100%}.proof-grid{grid-template-columns:1fr}.proof-item,.proof-item:nth-child(2){border-right:0;border-bottom:1px solid var(--line);min-height:118px}.proof-item:last-child{border-bottom:0}.section{padding:76px 0}.section-heading{grid-template-columns:1fr;gap:24px;margin-bottom:44px}.section-heading h2{font-size:40px}.section-heading p{font-size:16px}.experience-item{grid-template-columns:28px 1fr;gap:14px;padding:30px 0}.experience-identity h3{font-size:26px}.experience-detail{grid-column:2}.practice-grid{grid-template-columns:1fr}.practice-grid article{min-height:180px}.credential-list{grid-template-columns:1fr}.credential-card{min-height:290px}.project-grid{grid-template-columns:1fr}.project-card:nth-child(-n+3),.project-card:nth-child(n+4){grid-column:1}.contact-section{margin-top:56px;padding:38px 26px}.contact-section h2{margin-top:34px;font-size:42px}.contact-actions .button{width:100%}footer{flex-direction:column;align-items:flex-start;padding:34px 0}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
