@import url(https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600;700&family=Newsreader:opsz,wght@6..72,500;6..72,600&display=swap);:root{--font-body:"DM Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-heading:"Newsreader",Georgia,serif;--font-mono:"DM Mono",ui-monospace,SFMono-Regular,Consolas,monospace;--bg-page:#1c211f;--bg-surface:#252b28;--bg-muted:#303732;--text-primary:#edf0e9;--text-secondary:#c3cbc3;--text-tertiary:#9ca79d;--border-soft:#475149;--border-strong:#69746a;--accent:#93b5a0;--accent-ink:#c5dfcc;--accent-soft:#314237;--radius-lg:4px;--radius-md:3px;--radius-sm:2px;--section-space:clamp(2rem,4vw,3.75rem);--container-wide:min(1360px,92vw);--container-content:min(1120px,90vw)}*{box-sizing:border-box}#root,body,html{min-height:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#1c211f;background:var(--bg-page);color:#edf0e9;color:var(--text-primary);font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-body);line-height:1.6;margin:0}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #93b5a0;outline:2px solid var(--accent);outline-offset:3px}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{color:#edf0e9;color:var(--text-primary);font-family:Newsreader,Georgia,serif;font-family:var(--font-heading);font-weight:600}button,input,textarea{font:inherit}.main-container{min-height:100vh}.page-content{min-height:calc(100vh - 180px)}.blogs-container,.certifications-container,.container,.items-container,.projects-container,.reading-journey-container{position:relative}.container{margin:0 auto;width:min(1360px,92vw);width:var(--container-wide)}.items-container{margin:0 auto;padding:clamp(2rem,4vw,3.75rem) 0;padding:var(--section-space) 0;width:min(1120px,90vw);width:var(--container-content)}.page-eyebrow{font-family:DM Mono,ui-monospace,SFMono-Regular,Consolas,monospace;font-family:var(--font-mono);font-size:.72rem;font-weight:500;letter-spacing:.08em;margin:0 0 .9rem;text-transform:uppercase}.page-eyebrow,.text-link{color:#c5dfcc;color:var(--accent-ink)}.text-link{font-weight:700;text-decoration:underline;text-underline-offset:.2em}.not-found{margin:0 auto;padding:clamp(2rem,4vw,3.75rem) 0;padding:var(--section-space) 0;width:min(1120px,90vw);width:var(--container-content)}.not-found h1{font-size:clamp(2.5rem,6vw,4.5rem)}.not-found p:not(.page-eyebrow){color:#c3cbc3;color:var(--text-secondary)}@media(max-width:700px){:root{--container-wide:min(100% - 2rem,1360px);--container-content:min(100% - 2rem,1120px)}.page-content{min-height:calc(100vh - 160px)}}.site-nav{background:var(--bg-page);border-bottom:1px solid var(--border-soft)}.nav-inner{align-items:center;display:flex;gap:2rem;margin:0 auto;min-height:76px;width:var(--container-wide)}.site-name{color:var(--accent-ink);font-family:var(--font-mono);font-size:1rem;font-weight:500;letter-spacing:.04em}.menu{align-items:center;display:flex;flex:1 1;flex-wrap:wrap;gap:.1rem 1.1rem;justify-content:flex-end}.menu a{color:var(--text-secondary);font-size:.83rem;font-weight:600;line-height:2.2}.menu a.active,.menu a:hover{color:var(--accent-ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.32em}.menu-toggle{display:none}@media(max-width:900px){.nav-inner{justify-content:space-between;min-height:68px;position:relative}.menu-toggle{border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;display:block;font-family:var(--font-mono);font-size:.75rem;padding:.42rem .65rem}.menu,.menu-toggle{background:var(--bg-surface)}.menu{border:1px solid var(--border-soft);border-top:0;display:none;left:0;padding:.75rem 1rem 1rem;position:absolute;right:0;top:100%;z-index:2}.menu.open{grid-gap:.25rem 1rem;display:grid;gap:.25rem 1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.menu-toggle{margin-left:auto}}@media(max-width:430px){.menu.open{grid-template-columns:1fr}}footer{border-top:1px solid var(--border-soft);margin:0 auto;padding:2rem 0;width:var(--container-wide)}footer div{display:flex;gap:.75rem}footer div a{color:var(--text-secondary);font-size:1.05rem}footer div a:hover,footer p a:hover{color:var(--accent-ink)}footer p{color:var(--text-tertiary);font-size:.82rem;margin:.9rem 0 0}footer p a{color:var(--text-secondary);font-weight:700}.hero-page{padding:clamp(2rem,4vw,3.75rem) 0 var(--section-space)}.about-section{grid-gap:clamp(1.5rem,4vw,4.5rem);align-items:start;display:grid;gap:clamp(1.5rem,4vw,4.5rem);grid-template-columns:minmax(0,1fr) minmax(220px,310px)}.about-section .content{max-width:690px;padding-top:0}.about-section .content h1{font-size:clamp(3.25rem,7vw,5.6rem);line-height:.92;margin-bottom:1rem;max-width:9ch}.hero-role{color:var(--text-primary);font-size:clamp(1rem,1.8vw,1.2rem);font-weight:600;margin-bottom:1rem}.hero-summary{color:var(--text-secondary);margin-bottom:0;max-width:57ch}.image-wrapper{background:var(--bg-muted);border:1px solid var(--border-strong)}.image-wrapper img{aspect-ratio:4/5;display:block;object-fit:cover;width:100%}.social-icons{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1.25rem}.social-icons a{border:1px solid var(--border-soft);color:var(--text-secondary);display:inline-grid;height:36px;place-items:center;width:36px}.social-icons a:hover{border-color:var(--accent);color:var(--accent-ink)}.hero-cta{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.25rem}.hero-cta a{border:1px solid var(--border-strong);font-size:.88rem;font-weight:700;padding:.65rem .9rem}.hero-cta a:first-child{background:var(--accent-ink);border-color:var(--accent-ink);color:var(--bg-surface)}.hero-cta a:last-child{color:var(--text-primary)}@media(max-width:720px){.about-section{grid-template-columns:1fr}.image-wrapper{grid-row:1;width:min(68vw,270px)}.about-section .content{padding-top:0}}@media(max-width:440px){.hero-cta a{text-align:center;width:100%}}.skills-container{margin:0 auto;padding:var(--section-space) 0;width:var(--container-wide)}.skills-container h1{font-size:clamp(2.2rem,4vw,3.5rem);line-height:1;margin-bottom:1.25rem}.skills-grid{border-left:1px solid var(--border-soft);border-top:1px solid var(--border-soft);display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.skill{background:var(--bg-surface);border-bottom:1px solid var(--border-soft);border-right:1px solid var(--border-soft);padding:clamp(1.25rem,2.8vw,2rem)}.skill svg{color:var(--accent-ink);font-size:1.7rem}.skill h3{font-size:1.35rem;line-height:1.2;margin:1.1rem 0 .65rem}.skill p{color:var(--text-secondary);font-size:.94rem;margin:0}.flex-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1.25rem}.chip-title{color:var(--text-tertiary);font-family:var(--font-mono);font-size:.7rem;width:100%}.chip{border:1px solid var(--border-soft);color:var(--text-secondary);font-size:.76rem;padding:.24rem .46rem}@media(max-width:900px){.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.skills-grid{grid-template-columns:1fr}}#history .items-container{padding:var(--section-space) 0}#history h1{font-size:clamp(2.2rem,4vw,3.5rem);line-height:1;margin-bottom:1.25rem}#history h1:not(:first-child){margin-top:clamp(2.25rem,4vw,3.5rem)}.vtimeline{max-width:900px;padding-left:2.4rem;position:relative}.vtimeline__line{background:var(--border-soft);bottom:0;left:.55rem;position:absolute;top:0;width:1px}.vtimeline__item{padding-bottom:1.25rem;position:relative}.vtimeline__item:last-child{padding-bottom:0}.vtimeline__dot{background:var(--accent);border-radius:50%;color:var(--bg-surface);display:grid;font-size:.45rem;height:1.1rem;left:-2.4rem;place-items:center;position:absolute;top:1rem;width:1.1rem}.vtimeline__date{color:var(--accent-ink);display:inline-block;font-family:var(--font-mono);font-size:.72rem;margin-bottom:.5rem}.vtimeline__card{background:var(--bg-surface);border:1px solid var(--border-soft);padding:1.25rem}.vtimeline__title{font-family:var(--font-body);font-size:1.1rem;line-height:1.3;margin-bottom:.25rem}.vtimeline__subtitle{color:var(--text-tertiary);font-family:var(--font-body);font-size:.88rem;font-weight:600;margin:0}.vtimeline__details{color:var(--text-secondary);font-size:.93rem;margin:.7rem 0 0}.vtimeline__details strong{color:var(--text-primary)}@media(max-width:540px){.vtimeline{padding-left:1.8rem}.vtimeline__dot{left:-1.8rem}.vtimeline__card{padding:1rem}}.projects-section{margin:0 auto;padding:var(--section-space) 0;width:var(--container-wide)}.projects-header{margin-bottom:clamp(2rem,4vw,3.5rem);max-width:680px}.projects-header h1{font-size:clamp(2.2rem,4vw,3.5rem);line-height:1;margin-bottom:.65rem}.projects-subtitle{color:var(--text-secondary);margin-bottom:0}.projects-grid{border-left:1px solid var(--border-soft);border-top:1px solid var(--border-soft);display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.project-card{background:var(--bg-surface);border-right:1px solid var(--border-soft);display:flex;flex-direction:column}.project-card,.project-card-image{border-bottom:1px solid var(--border-soft)}.project-card-image{aspect-ratio:16/9;display:block;object-fit:cover;width:100%}.project-card-content{display:flex;flex:1 1;flex-direction:column;padding:1.2rem}.project-card h2{font-size:1.3rem;line-height:1.2;margin-bottom:.5rem}.project-card p{color:var(--text-secondary);font-size:.9rem;line-height:1.6;margin-bottom:1rem}.project-tags{display:flex;flex-wrap:wrap;gap:.35rem;list-style:none;margin:0 0 1.2rem;padding:0}.project-tags li{border:1px solid var(--border-soft);color:var(--text-secondary);font-family:var(--font-mono);font-size:.62rem;padding:.2rem .42rem}.project-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:auto}.project-actions a{color:var(--accent-ink);font-size:.83rem;font-weight:700;text-decoration:underline;text-underline-offset:.2em}@media(max-width:980px){.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.projects-grid{grid-template-columns:1fr}.project-card-content{padding:1rem}}.certifications-container{margin:0 auto;padding:0 0 var(--section-space);width:var(--container-content)}.certifications-header h1{font-size:clamp(2.2rem,4vw,3.5rem);line-height:1;margin:0}.certifications-grid{grid-gap:1rem;display:grid;gap:1rem;margin-top:1.25rem}.certification-card{grid-gap:1.5rem;align-items:center;background:var(--bg-surface);border:1px solid var(--border-soft);display:grid;gap:1.5rem;grid-template-columns:120px minmax(0,1fr) auto;padding:1rem}.certification-badge{background:var(--bg-muted);display:grid;min-height:120px;place-items:center;width:120px}.certification-badge-image{display:block;max-height:104px;max-width:104px;object-fit:contain;width:100%}.certification-details{grid-gap:.2rem;display:grid;gap:.2rem}.certification-name{font-family:var(--font-heading);font-size:1.35rem;line-height:1.2}.certification-issuer{color:var(--text-secondary);font-size:.92rem;font-weight:600}.certification-level{color:var(--accent-ink);font-family:var(--font-mono);font-size:.74rem}.certification-link{color:var(--accent-ink);font-size:.85rem;font-weight:700;text-decoration:underline;text-underline-offset:.2em;white-space:nowrap}@media(max-width:720px){.certification-card{gap:1rem;grid-template-columns:100px minmax(0,1fr)}.certification-badge{min-height:100px;width:100px}.certification-link{grid-column:2}}@media(max-width:480px){.certification-card{grid-template-columns:1fr}.certification-link{grid-column:auto}}#contact .items-container{align-items:center;display:flex;min-height:calc(100vh - 180px);padding:var(--section-space) 0}.contact_wrapper{margin:0 auto;width:min(980px,100%)}.contact_wrapper h1{font-size:clamp(2.2rem,4vw,3.5rem);line-height:1;margin-bottom:.65rem}.contact_wrapper>p{color:var(--text-secondary)}.contact-form{background:var(--bg-surface);border:1px solid var(--border-soft);margin-top:1.75rem;padding:clamp(1rem,3vw,1.5rem)}.form-flex{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:1rem}.form-group{display:flex;flex-direction:column}.form-group label{color:var(--text-secondary);font-size:.85rem;font-weight:700;margin-bottom:.35rem}.form-group input,.form-group textarea{background:var(--bg-page);border:1px solid var(--border-strong);border-radius:0;color:var(--text-primary);font-size:.95rem;padding:.72rem .8rem;resize:vertical;width:100%}.form-group input:focus,.form-group textarea:focus{background:var(--bg-surface);border-color:var(--accent);outline:2px solid var(--accent-soft);outline-offset:0}.body-form{height:100px;min-height:100px}.form-group input[aria-invalid=true],.form-group textarea[aria-invalid=true]{border-color:#a53c34}.error-text{color:#a53c34;font-size:.78rem;font-weight:700;margin-top:.32rem}.contact-form button{background:var(--accent-ink);border:1px solid var(--accent-ink);border-radius:0;color:var(--bg-surface);cursor:pointer;display:inline-block;font-size:.9rem;font-weight:700;margin-top:1rem;padding:.68rem 1rem}@media(max-width:640px){#contact .items-container{min-height:auto}.form-flex{grid-template-columns:1fr}.contact-form button{width:100%}}.blogs-container{margin:0 auto;padding:var(--section-space) 0;width:var(--container-content)}.blogs-container h1{font-size:clamp(2.2rem,4vw,3.5rem);line-height:1;margin-bottom:1.25rem}.articles-list{border-top:1px solid var(--border-soft)}.article-item{border-bottom:1px solid var(--border-soft)}.article-item a{display:block;padding:1.15rem 0}.article-item h3{font-family:var(--font-body);font-size:clamp(1rem,2vw,1.2rem);line-height:1.45;margin:0}.article-item a:hover h3{color:var(--accent-ink);text-decoration:underline;text-underline-offset:.2em}.more-articles{margin-top:1.5rem}.more-articles a{border:1px solid var(--border-strong);color:var(--text-primary);display:inline-block;font-size:.88rem;font-weight:700;padding:.62rem .85rem}.reading-journey-container{margin:0 auto;padding:var(--section-space) 0;width:var(--container-content)}.reading-journey-container h1{font-size:clamp(2.2rem,4vw,3.5rem);line-height:1;margin-bottom:.9rem}.reading-journey-container p{color:var(--text-secondary);font-size:1.02rem;margin-bottom:.9rem;max-width:72ch}.reading-journey-container a{color:var(--accent-ink);font-weight:700;text-decoration:underline;text-underline-offset:.2em}
/*# sourceMappingURL=main.232f93e3.css.map*/