@font-face{font-family:DM Sans;font-style:italic;font-weight:300;font-display:swap;src:url(../media/7334b8b05e61def8-s.9b20e937.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:italic;font-weight:300;font-display:swap;src:url(../media/5e50e46ec4da0455-s.p.7f306443.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:italic;font-weight:400;font-display:swap;src:url(../media/7334b8b05e61def8-s.9b20e937.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:italic;font-weight:400;font-display:swap;src:url(../media/5e50e46ec4da0455-s.p.7f306443.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:italic;font-weight:500;font-display:swap;src:url(../media/7334b8b05e61def8-s.9b20e937.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:italic;font-weight:500;font-display:swap;src:url(../media/5e50e46ec4da0455-s.p.7f306443.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:300;font-display:swap;src:url(../media/c3cb240f9c892514-s.d8e4bce2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:300;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.a62025f2.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/c3cb240f9c892514-s.d8e4bce2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.a62025f2.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/c3cb240f9c892514-s.d8e4bce2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.a62025f2.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans Fallback;src:local(Arial);ascent-override:94.9%;descent-override:29.66%;line-gap-override:0.0%;size-adjust:104.53%}.dm_sans_530bc7d4-module__rzMUIW__className{font-family:DM Sans,DM Sans Fallback}.dm_sans_530bc7d4-module__rzMUIW__variable{--font-portfolio-dm:"DM Sans","DM Sans Fallback"}
@keyframes pf-fadeUp{to{opacity:1;transform:translateY(0)}}@keyframes pf-fadeIn{to{opacity:1}}@keyframes pf-scrollAnim{0%{transform:translate(-100%)}50%{transform:translate(0)}to{transform:translate(100%)}}.portfolio-root{--ink:#1a1714;--paper:#f5f1ec;--paper-2:#ede8e0;--accent:#c4490a;--accent-soft:#e8a07a;--muted:#7a7268;--line:#1a17141f;font-family:var(--font-portfolio-dm,"DM Sans"),ui-sans-serif,system-ui,sans-serif;background:var(--paper);color:var(--ink);isolation:isolate;min-height:100vh;font-size:15px;line-height:1.65;position:relative;overflow-x:hidden}.portfolio-root *,.portfolio-root :before,.portfolio-root :after{box-sizing:border-box}.portfolio-root:before{content:"";opacity:.025;pointer-events:none;z-index:1000;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:200px;position:fixed;inset:0}.portfolio-root nav{z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);background:#f5f1ece0;justify-content:space-between;align-items:center;padding:1.4rem 3.5rem;display:flex;position:fixed;top:0;left:0;right:0}.portfolio-root .nav-logo{font-family:"Cormorant Garamond",var(--font-serif),Georgia,serif;color:var(--ink);letter-spacing:.02em;font-size:1.15rem;font-style:italic}.portfolio-root .nav-links{gap:2.2rem;margin:0;padding:0;list-style:none;display:flex}.portfolio-root .nav-links a{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:.78rem;text-decoration:none;transition:color .2s}.portfolio-root .nav-links a:hover{color:var(--ink)}.portfolio-root .hero{grid-template-columns:1fr 1fr;min-height:100vh;padding-top:5rem;display:grid;position:relative;overflow:hidden}.portfolio-root .hero-left{opacity:0;flex-direction:column;justify-content:center;padding:6rem 4rem 6rem 3.5rem;animation:.9s .2s forwards pf-fadeUp;display:flex;position:relative;transform:translateY(30px)}.portfolio-root .hero-tag{letter-spacing:.18em;text-transform:uppercase;color:var(--accent);align-items:center;gap:.7rem;margin-bottom:1.6rem;font-size:.72rem;display:flex}.portfolio-root .hero-tag:before{content:"";background:var(--accent);width:28px;height:1px}.portfolio-root .hero-name{font-family:"Cormorant Garamond",var(--font-serif),Georgia,serif;letter-spacing:-.01em;margin:0 0 .3rem;font-size:clamp(3rem,5vw,5rem);font-weight:300;line-height:1.08}.portfolio-root .hero-name span{color:var(--accent);font-style:italic}.portfolio-root .hero-sub{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 2.2rem;font-size:.82rem}.portfolio-root .hero-tagline{color:var(--ink);border-left:2px solid var(--accent);max-width:420px;margin:0 0 3rem;padding-left:1.2rem;font-size:1.05rem;font-weight:300;line-height:1.7}.portfolio-root .hero-proof{color:var(--muted);max-width:520px;margin:0 0 1.3rem;font-size:.86rem;line-height:1.7}.portfolio-root .hero-cta{gap:1rem;display:flex}.portfolio-root .btn{letter-spacing:.1em;text-transform:uppercase;border:1.5px solid var(--ink);color:var(--ink);cursor:pointer;background:0 0;align-items:center;gap:.5rem;padding:.75rem 1.8rem;font-family:inherit;font-size:.78rem;text-decoration:none;transition:all .25s;display:inline-flex}.portfolio-root .btn-primary,.portfolio-root .btn:hover{background:var(--ink);color:var(--paper)}.portfolio-root .btn-primary:hover{background:var(--accent);border-color:var(--accent)}.portfolio-root .hero-right{opacity:0;justify-content:center;align-items:center;animation:1s .5s forwards pf-fadeIn;display:flex;position:relative}.portfolio-root .hero-bg-text{font-family:"Cormorant Garamond",var(--font-serif),Georgia,serif;color:#1a17140a;letter-spacing:-.05em;-webkit-user-select:none;user-select:none;white-space:nowrap;font-size:22vw;font-style:italic;font-weight:300;position:absolute;top:50%;right:-2vw;transform:translateY(-50%)}.portfolio-root .photo-wrapper{width:340px;height:420px;position:relative}.portfolio-root .photo-frame{border:1.5px solid var(--line);position:absolute;inset:0;transform:translate(12px,12px)}.portfolio-root .photo-frame:before{content:"";border:1.5px solid var(--accent-soft);opacity:.4;position:absolute;inset:-1.5px;transform:translate(-6px,-6px)}.portfolio-root .hero-photo{object-fit:cover;object-position:top center;filter:grayscale(15%)contrast(1.05);width:100%;height:100%;display:block;position:relative}.portfolio-root .hero-scroll{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);opacity:0;align-items:center;gap:.8rem;font-size:.7rem;animation:1s 1s forwards pf-fadeIn;display:flex;position:absolute;bottom:2.5rem;left:3.5rem}.portfolio-root .scroll-line{background:var(--muted);width:40px;height:1px;position:relative;overflow:hidden}.portfolio-root .scroll-line:after{content:"";background:var(--ink);animation:2s 1.5s infinite pf-scrollAnim;position:absolute;inset:0;transform:translate(-100%)}.portfolio-root .section{padding:7rem 3.5rem}.portfolio-root .section-label{letter-spacing:.2em;text-transform:uppercase;color:var(--accent);align-items:center;gap:.8rem;margin-bottom:.8rem;font-size:.7rem;display:flex}.portfolio-root .section-label:after{content:"";background:var(--line);flex:1;max-width:60px;height:1px}.portfolio-root .section-title{font-family:"Cormorant Garamond",var(--font-serif),Georgia,serif;max-width:480px;margin:0 0 3rem;font-size:clamp(2rem,3.5vw,3rem);font-weight:400;line-height:1.15}.portfolio-root .section-title em{color:var(--accent);font-style:italic}.portfolio-root .strengths-grid{background:var(--line);border:1.5px solid var(--line);grid-template-columns:repeat(3,1fr);gap:1.5px;display:grid}.portfolio-root .strength-card{background:var(--paper);padding:2.4rem 2rem;transition:background .3s;position:relative;overflow:hidden}.portfolio-root .strength-card:hover{background:var(--paper-2)}.portfolio-root .strength-num{font-family:"Cormorant Garamond",var(--font-serif),Georgia,serif;color:#1a171412;margin-bottom:1rem;font-size:4rem;font-weight:300;line-height:1}.portfolio-root .strength-title{letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:.7rem;font-size:.78rem}.portfolio-root .strength-body{color:var(--ink);font-size:.9rem;line-height:1.7}.portfolio-root .projects{background:var(--paper-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:7rem 3.5rem}.portfolio-root .project-list{border:1.5px solid var(--line);flex-direction:column;gap:0;display:flex}.portfolio-root .project-subhead{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);background:var(--paper-2);border-bottom:1.5px solid var(--line);padding:.9rem 1rem;font-size:.68rem}.portfolio-root .project-item{border-bottom:1.5px solid var(--line);background:var(--paper);cursor:pointer;grid-template-columns:3fr 2fr;transition:background .2s;display:grid}.portfolio-root .project-item:last-child{border-bottom:none}.portfolio-root .project-item:hover,.portfolio-root .project-item.open{background:#f0ebe2}.portfolio-root .project-main{border-right:1.5px solid var(--line);padding:2.2rem 2.5rem}.portfolio-root .project-meta{flex-direction:column;justify-content:center;gap:1rem;padding:2.2rem 2rem;display:flex}.portfolio-root .project-live-status{color:var(--ink);border-left:2px solid var(--accent);margin:0;padding-left:.7rem;font-size:.8rem;line-height:1.7}.portfolio-root .project-live-updated{color:var(--muted);margin:-.45rem 0 0;font-size:.72rem}.portfolio-root .project-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.8rem;display:flex}.portfolio-root .project-name{font-family:"Cormorant Garamond",var(--font-serif),Georgia,serif;font-size:1.5rem;font-weight:500;line-height:1.2}.portfolio-root .project-name small{font-family:var(--font-portfolio-dm,"DM Sans"),ui-sans-serif,system-ui,sans-serif;color:var(--muted);letter-spacing:.06em;font-size:.75rem;font-weight:400}.portfolio-root .project-toggle{border:1.5px solid var(--line);width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;flex-shrink:0;justify-content:center;align-items:center;margin-top:2px;font-family:inherit;font-size:1rem;transition:all .2s;display:flex}.portfolio-root .project-item.open .project-toggle{background:var(--ink);color:var(--paper);border-color:var(--ink)}.portfolio-root .project-desc{color:var(--muted);margin:0;font-size:.88rem;line-height:1.6}.portfolio-root .project-summary-line{letter-spacing:.03em;color:var(--ink);border-left:2px solid var(--accent-soft);margin-top:.9rem;padding-left:.65rem;font-size:.78rem}.portfolio-root .project-detail{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:2rem;padding:0 2.5rem 2rem;display:none}.portfolio-root .project-item.open .project-detail{display:grid}.portfolio-root .detail-label{letter-spacing:.15em;text-transform:uppercase;color:var(--accent);margin-bottom:.5rem;font-size:.68rem}.portfolio-root .detail-text{color:var(--ink);font-size:.85rem;line-height:1.7}.portfolio-root .project-link{border:1px solid var(--line);background:var(--paper);color:var(--ink);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:.35rem;padding:.35rem .7rem;font-size:.74rem;text-decoration:none;transition:all .2s;display:inline-flex}.portfolio-root .project-link:hover{border-color:var(--accent);color:var(--accent);background:#c4490a0f}.portfolio-root .project-link-url{color:var(--muted);word-break:break-all;margin-top:.45rem;font-size:.75rem}.portfolio-root .project-preview-frame{border:1px solid var(--line);background:var(--paper-2);width:100%;height:220px;margin-top:.8rem}.portfolio-root .project-badge{letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--line);color:var(--muted);align-self:flex-start;padding:.25rem .7rem;font-size:.65rem;display:inline-block}.portfolio-root .project-badge.highlight{border-color:var(--accent);color:var(--accent);background:#c4490a0f}.portfolio-root .project-skills{flex-wrap:wrap;gap:.4rem;margin-top:.6rem;display:flex}.portfolio-root .skill-tag{letter-spacing:.08em;background:var(--paper-2);color:var(--muted);border:1px solid var(--line);padding:.2rem .6rem;font-size:.65rem}.portfolio-root .experience{padding:7rem 3.5rem}.portfolio-root .exp-grid{background:var(--line);border:1.5px solid var(--line);grid-template-columns:1fr 1fr;gap:1.5px;display:grid}.portfolio-root .exp-card{background:var(--paper);padding:2.4rem 2rem}.portfolio-root .exp-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.portfolio-root .exp-title{font-family:"Cormorant Garamond",var(--font-serif),Georgia,serif;font-size:1.3rem;font-weight:500}.portfolio-root .exp-title small{font-family:var(--font-portfolio-dm,"DM Sans"),ui-sans-serif,system-ui,sans-serif;color:var(--muted);font-size:.75rem;font-weight:400}.portfolio-root .exp-period{letter-spacing:.1em;color:var(--muted);text-transform:uppercase;white-space:nowrap;font-size:.68rem}.portfolio-root .exp-result{letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:.6rem;font-size:.78rem}.portfolio-root .exp-body{color:var(--ink);font-size:.88rem;line-height:1.7}.portfolio-root .exp-stat{border-top:1px solid var(--line);flex-direction:column;gap:.5rem;margin-top:1.2rem;padding-top:1.2rem;display:flex}.portfolio-root .stat-row{align-items:baseline;gap:.6rem;display:flex}.portfolio-root .stat-num{font-family:"Cormorant Garamond",var(--font-serif),Georgia,serif;color:var(--ink);font-size:1.6rem;font-weight:500;line-height:1}.portfolio-root .stat-label{color:var(--muted);font-size:.78rem}.portfolio-root .about{background:var(--ink);color:var(--paper);padding:7rem 3.5rem}.portfolio-root .about .section-label{color:var(--accent-soft)}.portfolio-root .about .section-label:after{background:#f5f1ec26}.portfolio-root .about-grid{grid-template-columns:2fr 1fr;align-items:start;gap:4rem;display:grid}.portfolio-root .about-text{font-family:"Cormorant Garamond",var(--font-serif),Georgia,serif;color:#f5f1ece0;margin:0;font-size:clamp(1.2rem,2vw,1.5rem);font-weight:300;line-height:1.75}.portfolio-root .about-text em{color:var(--accent-soft);font-style:italic}.portfolio-root .about-facts{flex-direction:column;gap:1.5rem;display:flex}.portfolio-root .fact-item{border:1px solid #f5f1ec26;padding:1.2rem}.portfolio-root .fact-label{letter-spacing:.16em;text-transform:uppercase;color:var(--accent-soft);margin-bottom:.4rem;font-size:.65rem}.portfolio-root .fact-value{color:var(--paper);font-size:.9rem;line-height:1.5}.portfolio-root .contact{border-top:1px solid var(--line);padding:7rem 3.5rem}.portfolio-root .contact-inner{grid-template-columns:1fr 1fr;align-items:end;gap:4rem;display:grid}.portfolio-root .contact-info{flex-direction:column;gap:1rem;margin-top:2rem;display:flex}.portfolio-root .contact-row{color:var(--ink);align-items:center;gap:1rem;font-size:.9rem;display:flex}.portfolio-root .contact-row a{color:var(--ink);border-bottom:1px solid var(--line);padding-bottom:1px;text-decoration:none;transition:border-color .2s}.portfolio-root .contact-row a:hover{border-color:var(--accent)}.portfolio-root .contact-icon{border:1.5px solid var(--line);width:32px;height:32px;color:var(--muted);flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;display:flex}.portfolio-root .contact-note{color:var(--muted);margin-top:1rem;font-size:.85rem;line-height:1.7}.portfolio-root footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding:1.8rem 3.5rem;display:flex}.portfolio-root .footer-left{font-family:"Cormorant Garamond",var(--font-serif),Georgia,serif;color:var(--muted);font-size:.9rem;font-style:italic}.portfolio-root .footer-right{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:.7rem}.portfolio-root .pf-reveal{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(24px)}.portfolio-root .pf-reveal.pf-visible{opacity:1;transform:translateY(0)}@media (max-width:900px){.portfolio-root nav{padding:1.2rem 1.5rem}.portfolio-root .nav-links{display:none}.portfolio-root .hero{grid-template-columns:1fr;padding-top:4.5rem}.portfolio-root .hero-right{display:none}.portfolio-root .hero-left,.portfolio-root .section,.portfolio-root .projects,.portfolio-root .experience,.portfolio-root .about,.portfolio-root .contact{padding:4rem 1.5rem}.portfolio-root .strengths-grid,.portfolio-root .exp-grid,.portfolio-root .about-grid,.portfolio-root .contact-inner,.portfolio-root .project-item{grid-template-columns:1fr}.portfolio-root .project-meta{border-top:1.5px solid var(--line)}.portfolio-root .project-main{border-right:none}.portfolio-root .project-detail{grid-template-columns:1fr}.portfolio-root footer{text-align:center;flex-direction:column;gap:.5rem}}@media (prefers-reduced-motion:reduce){.portfolio-root .hero-left,.portfolio-root .hero-right,.portfolio-root .hero-scroll{opacity:1!important;animation:none!important;transform:none!important}.portfolio-root .scroll-line:after{animation:none!important}.portfolio-root .pf-reveal{opacity:1;transition:none;transform:none}}
