:root{--ink:#142f46;--ink-soft:#617482;--paper:#f8f8f5;--paper-deep:#e8ece8;--line:#d4dfda;--mint:#159287;--mint-dark:#0d756c;--night:#15394d}html{scroll-behavior:smooth;background:var(--paper)}body{color:var(--ink);background:var(--paper);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}.portfolio-main{overflow:clip}.portfolio-header{z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f8f8f5f0;border-bottom:1px solid #e0e6e1;justify-content:space-between;align-items:center;gap:1.5rem;height:84px;padding:0 clamp(1.25rem,6vw,7rem);display:flex;position:sticky;top:0}.portfolio-brand{color:var(--ink);white-space:nowrap;align-items:center;gap:.7rem;font-size:.88rem;font-weight:800;display:inline-flex}.portfolio-brand>span{background:var(--ink);color:#fff;letter-spacing:-.07em;border-radius:50%;place-items:center;width:37px;height:37px;font-size:.73rem;display:grid}.portfolio-brand>span span{color:#69cdc0}.portfolio-nav{justify-content:center;align-items:center;gap:clamp(.75rem,2vw,2rem);display:flex}.portfolio-nav a{color:#506474;font-size:.74rem;font-weight:750;transition:color .2s}.portfolio-nav a:hover{color:var(--mint-dark)}.header-contact{color:var(--ink);white-space:nowrap;border:1px solid #bdcbc6;border-radius:.35rem;padding:.72rem 1rem;font-size:.76rem;font-weight:750}.header-contact span{margin-left:.65rem}.editorial-section{padding:clamp(4.75rem,8vw,9rem) clamp(1.25rem,7.8vw,8rem);scroll-margin-top:84px}.hero-section{background:#f8f8f5;border-bottom:1px solid #e1e7e3;grid-template-rows:1fr auto;grid-template-columns:minmax(0,1.13fr) minmax(250px,.87fr);align-items:center;column-gap:clamp(2rem,6vw,6rem);min-height:680px;padding-top:clamp(4rem,7vw,7rem);padding-bottom:0;display:grid}.section-kicker{color:var(--mint);letter-spacing:.18em;align-items:center;gap:.7rem;margin:0 0 1.4rem;font-size:.67rem;font-weight:850;display:flex}.hero-section .section-kicker span{background:currentColor;width:30px;height:1px}.hero-greeting{color:#6d7f88;margin:0 0 .6rem;font-family:Georgia,serif;font-style:italic}.hero-copy h1,.section-heading h2,.contact-intro h2{color:var(--ink);letter-spacing:-.085em;margin:0;font-size:clamp(3rem,5.6vw,6.25rem);font-weight:800;line-height:1.02}.hero-copy h1 em,.section-heading h2 em,.contact-intro h2 em{color:var(--mint);letter-spacing:-.07em;font-family:Georgia,Times New Roman,serif;font-weight:400}.hero-role{letter-spacing:.08em;margin:1.7rem 0 .9rem;font-size:.73rem;font-weight:850}.hero-role span{color:var(--mint);padding:0 .3rem}.hero-summary{max-width:560px;color:var(--ink-soft);margin:0;font-size:1rem;line-height:1.72}.hero-actions{flex-wrap:wrap;gap:.8rem;margin-top:2.15rem;display:flex}.editorial-button{border:1px solid #0000;border-radius:.35rem;justify-content:center;align-items:center;gap:1.25rem;padding:.88rem 1.1rem;font-size:.76rem;font-weight:800;transition:background .2s,border-color .2s,color .2s,transform .2s;display:inline-flex}.editorial-button:hover{transform:translateY(-2px)}.editorial-button--primary{color:#fff;background:var(--night)}.editorial-button--primary:hover{background:var(--mint-dark)}.editorial-button--secondary{color:var(--ink);border-color:#aebfbb}.editorial-button--secondary:hover{border-color:var(--mint);color:var(--mint-dark)}.hero-portrait{place-self:end center;width:min(100%,405px);padding:0 1rem;position:relative}.portrait-frame{aspect-ratio:4/4.6;background:#e1e9e4;border-radius:210px 210px 12px 12px;position:relative;overflow:hidden}.portrait-frame:after{content:"";border-radius:inherit;pointer-events:none;border:1px solid #ffffffb5;position:absolute;inset:8px}.portrait-frame img{object-fit:cover;object-position:center 23%;filter:saturate(.78);width:100%;height:100%}.hero-portrait p{background:#fff;width:min(100%,210px);margin:1rem -1rem 0 auto;padding:.9rem 1rem;font-size:.68rem;font-weight:700;line-height:1.45;box-shadow:0 16px 34px #1635482a}.hero-portrait p span{color:var(--mint);margin-bottom:.35rem;font-size:1.1rem;display:block}.hero-facts{border-top:1px solid var(--line);grid-column:1/-1;gap:clamp(1.2rem,5vw,5rem);margin:0;padding:1.8rem 0;display:flex}.hero-facts div{align-items:baseline;gap:.6rem;display:flex}.hero-facts dt{color:var(--ink);letter-spacing:-.05em;font-size:1.25rem;font-weight:800}.hero-facts dd{color:#74838c;margin:0;font-size:.72rem}.expertise-section,.certifications-section{background:var(--paper-deep)}.section-heading{max-width:680px;margin-bottom:3.25rem}.section-heading h2,.contact-intro h2{font-size:clamp(2.45rem,4.8vw,4.8rem);line-height:1.09}.section-heading>p:last-child{max-width:465px;color:var(--ink-soft);margin:1rem 0 0;font-size:.91rem;line-height:1.7}.expertise-grid{border-top:1px solid #ccd8d3;border-left:1px solid #ccd8d3;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.expertise-card{background:#f8faf6;border-bottom:1px solid #ccd8d3;border-right:1px solid #ccd8d3;min-height:298px;padding:2rem;position:relative}.expertise-symbol{color:var(--mint);font-family:Georgia,serif;font-size:2rem}.expertise-index{color:#8c9c97;font-size:.67rem;font-weight:800;position:absolute;top:2rem;right:2rem}.expertise-card h3{color:var(--ink);letter-spacing:-.035em;margin:1.45rem 0 .6rem;font-size:1.12rem}.expertise-card>p{color:#627581;margin:0;font-size:.8rem;line-height:1.62}.tag-list{flex-wrap:wrap;gap:.35rem;margin-top:1.2rem;display:flex}.tag-list span{color:#4c6b69;border:1px solid #c7d9d3;border-radius:99px;padding:.3rem .55rem;font-size:.61rem;font-weight:750}.experience-section{background:#fbfbf8}.experience-list{border-top:1px solid var(--line)}.experience-item{border-bottom:1px solid var(--line);grid-template-columns:180px minmax(0,1fr) 24px;gap:clamp(1.5rem,4vw,3rem);padding:2rem 0;display:grid}.experience-date{color:var(--mint);white-space:nowrap;margin:.2rem 0 0;font-size:.72rem;font-weight:850}.experience-company{color:#87959d;letter-spacing:.17em;margin:0;font-size:.6rem;font-weight:850}.experience-item h3{color:var(--ink);letter-spacing:-.045em;margin:.35rem 0 .18rem;font-size:1.35rem}.experience-item h4{color:#4d6775;margin:0;font-size:.83rem}.experience-description{color:#6a7983;max-width:680px;margin:.75rem 0 0;font-size:.8rem;line-height:1.62}.experience-technology{color:var(--mint-dark);margin:.85rem 0 0;font-size:.68rem;font-weight:750}.experience-arrow{color:#98b0ac}.experience-item--status{background:#e7f3ee;border:1px solid #cadfd6;border-radius:.5rem;margin:1.35rem 0;padding:1.25rem 1.45rem}.experience-item--status .experience-description{display:none}.experience-item--status h3{font-size:1.05rem}.certification-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;display:grid}.certification-card{background:#fbfcf9;border:1px solid #d1dcd5;align-items:center;gap:1.15rem;min-height:118px;padding:1rem;display:flex}.certification-card img{object-fit:contain;flex:0 0 76px;width:76px;height:76px}.certification-card p{color:var(--mint);letter-spacing:.15em;margin:0;font-size:.58rem;font-weight:850}.certification-card h3{color:#203b4a;letter-spacing:-.025em;margin:.3rem 0;font-size:.9rem}.certification-card span{color:#75858d;font-size:.67rem}.projects-section{background:#f8f9f6}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.15rem;display:grid}.project-card{color:inherit;background:#fff;border:1px solid #e0e6e3;transition:transform .2s,box-shadow .2s;position:relative;overflow:hidden}.project-card:hover{transform:translateY(-4px);box-shadow:0 20px 44px #1432471f}.project-card img{object-fit:cover;background:#e3e7e5;width:100%;height:250px;display:block}.project-card>div{min-height:166px;padding:1.4rem;position:relative}.project-card p{color:var(--mint);letter-spacing:.15em;margin:0;font-size:.58rem;font-weight:850}.project-card h3{color:var(--ink);letter-spacing:-.04em;margin:.55rem 1.5rem .45rem 0;font-size:1.12rem}.project-card>div>span{color:#71808c;font-size:.76rem;line-height:1.55}.project-card b{color:var(--mint);font-size:1.15rem;position:absolute;top:1.4rem;right:1.4rem}.contact-section{background:#e8eeea;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start;gap:clamp(2rem,6vw,6rem);display:grid}.contact-intro{padding-top:1rem}.contact-intro>p:not(.section-kicker){max-width:430px;color:var(--ink-soft);margin:1rem 0 0;line-height:1.7}.contact-intro>a{color:var(--mint-dark);border-bottom:1px solid #4aa99c;gap:1rem;margin-top:2.3rem;padding-bottom:.5rem;font-size:.88rem;font-weight:800;display:inline-flex}.contact-form{background:#fff;border:1px solid #d2ded7;gap:1.25rem;padding:clamp(1.4rem,3.2vw,2.45rem);display:grid;box-shadow:0 24px 60px #153f3320}.contact-form-heading{color:var(--mint);letter-spacing:.18em;border-bottom:1px solid #dce5df;justify-content:space-between;padding-bottom:1rem;font-size:.62rem;font-weight:850;display:flex}.contact-form-heading span:last-child{color:#9baea7}.contact-form label{color:#203d4b;gap:.5rem;font-size:.75rem;font-weight:800;display:grid}.contact-form label>span{color:var(--mint)}.contact-form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.05rem;display:grid}.contact-form input,.contact-form select,.contact-form textarea{width:100%;min-width:0;color:var(--ink);background:#f9fbf9;border:1px solid #d0dcd6;border-radius:.25rem;outline:none;padding:.9rem 1rem;font-size:.82rem}.contact-form textarea{resize:vertical;min-height:135px;line-height:1.6}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#8a9ba1}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--mint);box-shadow:0 0 0 3px #15928722}.contact-form-footer{justify-content:space-between;align-items:center;gap:1rem;display:flex}.contact-form-footer small{color:#87968e;font-size:.67rem}.contact-form-footer .editorial-button{cursor:pointer;border:0}.contact-form-footer .editorial-button:disabled{opacity:.65;cursor:wait}.portfolio-footer{color:#afc0c4;background:#102d3f;justify-content:space-between;gap:1rem;padding:1.8rem clamp(1.25rem,7.8vw,8rem);font-size:.72rem;display:flex}.portfolio-footer a{color:inherit}@media (width<=900px){.portfolio-header{height:72px;padding-inline:1.5rem}.portfolio-nav{gap:.75rem}.portfolio-nav a{font-size:.68rem}.editorial-section{scroll-margin-top:72px}.hero-section{grid-template-columns:minmax(0,1fr) 250px;column-gap:2rem}.expertise-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.experience-item{grid-template-columns:135px minmax(0,1fr) 20px}.contact-section{gap:2.5rem}}@media (width<=680px){.portfolio-header{height:68px;padding-inline:1.2rem}.portfolio-brand{font-size:.78rem}.portfolio-brand>span{width:31px;height:31px;font-size:.63rem}.portfolio-nav{display:none}.header-contact{padding:.55rem .7rem;font-size:.68rem}.editorial-section{padding:4.25rem 1.25rem;scroll-margin-top:68px}.hero-section{flex-direction:column;align-items:stretch;gap:1.7rem;padding-top:3.2rem;padding-bottom:0;display:flex}.hero-copy h1{font-size:clamp(2.9rem,13vw,4.1rem)}.hero-summary{font-size:.9rem}.hero-role{font-size:.65rem;line-height:1.6}.hero-portrait{align-self:center;width:min(100%,280px)}.hero-portrait p{width:min(100%,180px);margin-top:.75rem;padding:.65rem .7rem;font-size:.57rem}.hero-facts{justify-content:space-between;gap:.5rem;padding:1.2rem 0}.hero-facts div{flex-direction:column;gap:.15rem}.hero-facts dt{font-size:.88rem}.hero-facts dd{font-size:.56rem}.section-heading{margin-bottom:2.1rem}.section-heading h2,.contact-intro h2{font-size:clamp(2.3rem,10vw,3.35rem)}.expertise-grid,.certification-grid,.project-grid,.contact-section,.contact-form-row{grid-template-columns:1fr}.expertise-card{min-height:0;padding:1.5rem}.expertise-index{top:1.5rem;right:1.5rem}.experience-item{padding:1.35rem 0;display:block}.experience-date{margin-bottom:.5rem}.experience-arrow{display:none}.experience-item--status{padding:1rem}.certification-card{min-height:105px}.project-card img{height:210px}.contact-intro{padding-top:0}.contact-intro>a{margin-top:1rem}.contact-form{padding:1.25rem}.contact-form-footer{flex-direction:column;align-items:stretch}.contact-form-footer .editorial-button{justify-content:space-between;width:100%}.portfolio-footer{flex-wrap:wrap;padding:1.5rem 1.25rem}}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;overflow-x:clip}a{color:inherit;text-decoration:none}.skip-link{z-index:100;color:#143047;background:#fff;border-radius:.45rem;padding:.7rem 1rem;font-weight:750;transition:transform .2s;position:fixed;top:.75rem;left:.75rem;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}@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}}
