@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/a342834df7752944-s.10ev4cu2inrn-.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/d3fe2f289711ac3f-s.0i6ci0u~g4zml.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/58c4895d0a0ef7cc-s.0x1a9yg0jkq20.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/bfc7db5c00d21bc5-s.0dyk20wuvya7a.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/6ab0db14f70d8ed6-s.0ctuso5mgh_i..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:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/a343f882a40d2cc9-s.p.0kho-wj7-y-w1.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:Manrope Fallback;src:local(Arial);ascent-override:103.31%;descent-override:29.07%;line-gap-override:0.0%;size-adjust:103.19%}.manrope_a1d872d2-module__Y8w-2q__className{font-family:Manrope,Manrope Fallback;font-style:normal}.manrope_a1d872d2-module__Y8w-2q__variable{--font-sans:"Manrope", "Manrope Fallback"}
@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(../media/65c558afe41e89d6-s.113htgw8u-emy.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(../media/14e23f9b59180572-s.08.c8psu~gif9.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(../media/b49b0d9b851e4899-s.0yfy_qj1.2qn0.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:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(../media/2a65768255d6b625-s.p.14by5b4al-y~f.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:Playfair Display Fallback;src:local(Times New Roman);ascent-override:97.25%;descent-override:22.56%;line-gap-override:0.0%;size-adjust:111.26%}.playfair_display_c0b374ac-module__X_ciUW__className{font-family:Playfair Display,Playfair Display Fallback;font-style:normal}.playfair_display_c0b374ac-module__X_ciUW__variable{--font-serif:"Playfair Display", "Playfair Display Fallback"}
:root{--bg:#f7f5f1;--bg-soft:#ece5d9;--paper:#fffdf9;--text:#241f1a;--muted:#6f6356;--line:#30271c24;--accent:#9d5f32;--accent-soft:#dfc0a6}:root[data-theme=dark]{--bg:#1a1816;--bg-soft:#2b2723;--paper:#23201d;--text:#f1ebe3;--muted:#c1b4a6;--line:#e9dac929;--accent:#d99967;--accent-soft:#8f5830}*{box-sizing:border-box}html,body{background:radial-gradient(circle at 0% 0%, var(--bg-soft) 0, transparent 40%), var(--bg);min-height:100%;color:var(--text);font-family:var(--font-sans), "Segoe UI", sans-serif;margin:0}body,.site-nav,.card,.btn,.location-pill,.contact-action,.export-dropdown,.export-item{transition:background-color .24s,color .24s,border-color .24s,box-shadow .24s}html{scrollbar-gutter:stable}h1,h2,h3{font-family:var(--font-serif), "Times New Roman", serif;letter-spacing:.02em;margin:0}a{color:inherit}.cv-shell{gap:1.35rem;width:min(1100px,100% - 2rem);margin:5.25rem auto 3rem;display:grid;position:relative}.site-nav{z-index:20;border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:.65rem 1rem;position:fixed;top:0;left:0;right:0}.site-nav-inner{justify-content:space-between;align-items:center;gap:.75rem;width:min(1100px,100%);margin:0 auto;display:flex}.site-nav-links{flex-wrap:wrap;gap:.5rem;display:flex}.export-menu{position:relative}.export-trigger{align-items:center;gap:.35rem;display:inline-flex}.export-caret{opacity:.85;font-size:.78rem}.export-dropdown{background:var(--paper);border:1px solid var(--line);opacity:0;pointer-events:none;z-index:30;border-radius:12px;gap:.2rem;min-width:180px;padding:.35rem;transition:opacity .14s,transform .14s;display:grid;position:absolute;top:calc(100% + .45rem);left:0;transform:translateY(-4px);box-shadow:0 12px 30px #14100c2e}.export-menu:hover .export-dropdown,.export-menu:focus-within .export-dropdown{opacity:1;pointer-events:auto;transform:translateY(0)}.export-item{color:var(--text);border-radius:8px;justify-content:space-between;align-items:center;padding:.42rem .55rem;font-size:.88rem;text-decoration:none;display:flex}.export-item:hover{background:color-mix(in srgb, var(--accent) 10%, var(--paper))}.export-item.disabled{color:var(--muted);cursor:not-allowed}.export-pill{letter-spacing:.03em;text-transform:uppercase;background:color-mix(in srgb, var(--accent) 24%, var(--paper));color:var(--accent);border-radius:999px;padding:.12rem .38rem;font-size:.66rem}.export-pill.soon{background:color-mix(in srgb, var(--line) 55%, var(--paper));color:var(--muted)}.nav-btn.active{background:var(--accent);color:#fff}.theme-toggle{appearance:none;border:1px solid var(--line);background:var(--paper);color:var(--text);cursor:pointer;border-radius:999px;align-items:center;gap:.5rem;height:38px;padding:0 .5rem 0 .35rem;display:inline-flex}.theme-toggle:hover{border-color:var(--accent)}.theme-toggle-track{background:color-mix(in srgb, var(--accent) 22%, var(--paper));border:1px solid var(--line);border-radius:999px;width:44px;height:24px;position:relative}.theme-toggle-thumb{background:var(--accent);border-radius:999px;width:18px;height:18px;transition:transform .22s cubic-bezier(.22,1,.36,1),background-color .22s;position:absolute;top:2px;left:2px;box-shadow:0 2px 8px #1f171040}.theme-toggle.is-dark .theme-toggle-thumb{transform:translate(20px)}.theme-toggle-label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:.82rem}.ambient-bg{pointer-events:none;z-index:0;background:linear-gradient(130deg,#0000 0 65%,#9d5f3224 65% 100%),radial-gradient(circle at 90% 25%,#9d5f3224,#0000 36%);position:fixed;inset:0}.card{z-index:1;background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:1.25rem;position:relative}.hero{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.hero-main{min-width:0}.kicker{text-transform:uppercase;color:var(--muted);letter-spacing:.11em;margin:0 0 .5rem;font-size:.78rem}h1{font-size:clamp(2rem,5vw,3.6rem)}.role{color:var(--muted);margin:.6rem 0}.hero-meta{align-items:center;gap:.75rem;margin-top:.35rem;display:flex}.location-pill{border:1px solid var(--line);height:38px;color:var(--muted);background:var(--paper);border-radius:999px;align-items:center;gap:.42rem;padding:0 .78rem;font-size:.9rem;display:inline-flex}.location-pill svg{width:15px;height:15px;stroke:var(--accent);stroke-width:1.7px;fill:none}.contact-actions{gap:.55rem;display:flex}.contact-action{border:1px solid var(--line);background:var(--paper);border-radius:999px;justify-content:center;align-items:center;width:38px;height:38px;text-decoration:none;transition:transform .14s,border-color .14s,background-color .14s;display:inline-flex}.contact-action:hover{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 11%, var(--paper));transform:translateY(-2px)}.contact-action svg{width:17px;height:17px;stroke:var(--accent);stroke-width:1.8px;fill:none}.contact-action.linkedin svg{fill:var(--accent);stroke:none}.profile-photo-wrap{border:1px solid var(--line);background:var(--paper);border-radius:999px;flex:none;width:170px;height:170px;padding:4px}.profile-photo{object-fit:cover;object-position:center 28%;border-radius:999px;width:100%;height:100%;display:block}.hero-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.btn{appearance:none;border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;border-radius:999px;padding:.5rem .9rem;font-size:.92rem;text-decoration:none;transition:transform .12s,opacity .12s}.btn:hover{transform:translateY(-1px)}.btn.secondary{color:var(--text);background:0 0}.summary h2,.card h2{margin-bottom:.65rem;font-size:1.1rem}.section-card{border-left:1px solid var(--line)}.section-card[data-section=experience] .section-content-inner h2{border-top:1px solid var(--line);margin:.85rem 0 .35rem;padding-top:.85rem;font-size:1rem}.section-card[data-section=experience] .section-content-inner h2:first-child{border-top:0;margin-top:0;padding-top:0}.section-card[data-section=experience] .section-content-inner p strong{color:var(--muted);font-weight:600}.section-card[data-section=experience] .section-content-inner ul{margin-top:.32rem;margin-bottom:.55rem}.section-card[data-section=skills] .card h2,.section-card[data-section=skills] h3{letter-spacing:.02em}.section-card[data-section=skills] .section-content-inner>h2{margin:.75rem 0 .35rem;font-size:1rem}.section-card[data-section=skills] .section-content-inner>h2:first-child{margin-top:0}.section-card[data-section=skills] .section-content-inner>ul:first-of-type{flex-wrap:wrap;gap:.4rem;margin:.35rem 0 .65rem;padding-left:0;list-style:none;display:flex}.section-card[data-section=skills] .section-content-inner>ul:first-of-type li{border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:.28rem .6rem;font-size:.84rem;line-height:1.2}.section-card[data-section=skills] strong{color:var(--accent)}.section-details{width:100%}.section-summary{appearance:none;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:baseline;gap:.75rem;width:100%;margin-bottom:.6rem;padding:0;display:flex}.section-summary:hover h2{color:var(--accent)}.section-content{opacity:0;max-height:0;transition:max-height .3s cubic-bezier(.22,1,.36,1),opacity .22s;overflow:hidden}.section-content.is-open{opacity:1}.summary-hint{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.75rem}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;display:grid}.span-2{grid-column:span 2}.card p{margin:.42rem 0;font-size:.95rem;line-height:1.45}.card ul{margin:.4rem 0;padding-left:1.2rem}@media (max-width:860px){.cv-shell{margin-top:6.75rem}.site-nav-inner{flex-direction:column;align-items:flex-start}.export-dropdown{left:auto;right:0}.hero{flex-direction:column}.profile-photo-wrap{width:132px;height:132px}.hero-actions{justify-content:flex-start}.hero-meta{flex-wrap:wrap}.grid{grid-template-columns:1fr}.span-2{grid-column:span 1}.theme-toggle{height:34px}}@media (prefers-reduced-motion:reduce){body,.site-nav,.card,.btn,.location-pill,.contact-action,.export-dropdown,.export-item,.theme-toggle-thumb,.section-content{transition:none!important}}@media print{@page{size:A4;margin:8mm}.site-nav,.no-print{display:none!important}html,body{background:radial-gradient(circle at 0% 0%, var(--bg-soft) 0, transparent 40%), var(--bg);color:var(--text);font-family:var(--font-sans), "Segoe UI", sans-serif;-webkit-print-color-adjust:exact;print-color-adjust:exact;font-size:11px}.ambient-bg{opacity:.45;display:block;position:fixed;inset:0}.cv-shell{gap:.5rem;width:100%;margin:0}.hero{grid-template-columns:2.2fr .8fr;align-items:end;gap:.8rem;display:grid}.location-pill{height:30px;padding:0 .55rem;font-size:9px}.location-pill svg{width:12px;height:12px}.contact-action{width:30px;height:30px}.contact-action svg{width:13px;height:13px}.profile-photo-wrap{justify-self:end;width:100px;height:100px}.card{background:var(--paper);border:1px solid var(--line);page-break-inside:avoid;border-radius:12px;padding:.62rem}.summary{border-left:3px solid var(--accent)}h1{font-size:28px;line-height:1.05}h2{color:var(--accent);letter-spacing:.04em;text-transform:uppercase;margin-bottom:.3rem;font-size:14px}.kicker{font-size:9px}.role{margin:.35rem 0 .45rem;font-size:11px}.grid{gap:.5rem}.section-content{opacity:1!important;max-height:none!important;display:block!important}.section-content-inner{overflow:visible}.card p,.card li{margin:.16rem 0;line-height:1.35}.card ul{margin:.25rem 0;padding-left:1rem}}.summary,.section-card{box-shadow:0 1px #221c1408}.section-title{align-items:center;gap:.5rem;margin-bottom:.82rem;display:inline-flex}.section-title h2{font-family:var(--font-sans), "Segoe UI", sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.78rem;font-weight:700}.section-title-icon,.inline-heading-icon{width:16px;height:16px;stroke:var(--accent);stroke-width:1.75px;fill:none;flex:none}.summary>div{max-width:68ch}.card p{color:color-mix(in srgb, var(--text) 93%, var(--muted));margin:.38rem 0;font-size:.95rem;line-height:1.68}.card li{margin:.27rem 0;font-size:.92rem;line-height:1.52}.card ul{margin:.45rem 0}.section-summary{align-items:center}.section-summary:hover .section-title h2{color:var(--accent)}.summary-hint{border:1px solid var(--line);border-radius:999px;padding:.18rem .48rem}.experience-list{gap:.72rem;display:grid}.experience-item{border:1px solid var(--line);background:color-mix(in srgb, var(--paper) 92%, var(--accent) 8%);border-radius:14px;padding:.68rem .78rem}.experience-item-title-wrap{align-items:center;gap:.45rem;margin-bottom:.3rem;display:flex}.experience-item-title{margin:0;font-size:.99rem;line-height:1.2}.experience-item-body p:first-child{color:var(--muted);margin-top:0}.experience-item-body ul{margin-top:.3rem}.skills-spotlight{flex-wrap:wrap;gap:.42rem;margin-bottom:.68rem;display:flex}.skills-spotlight-chip{border:1px solid color-mix(in srgb, var(--accent) 26%, var(--line));color:var(--accent);background:color-mix(in srgb, var(--accent) 11%, var(--paper));letter-spacing:.01em;border-radius:999px;align-items:center;padding:.34rem .58rem;font-size:.81rem;line-height:1;display:inline-flex}.skill-category-title{align-items:center;gap:.45rem;margin-top:.78rem;margin-bottom:.34rem;font-size:.97rem;display:inline-flex}.section-card[data-section=skills] ul{flex-wrap:wrap;gap:.34rem;padding-left:0;list-style:none;display:flex}.section-card[data-section=skills] li{border:1px solid var(--line);background:var(--paper);border-radius:999px;margin:0;padding:.24rem .56rem;font-size:.82rem;line-height:1.28}.section-card[data-section=skills] p{margin:.32rem 0}@media (max-width:860px){.summary>div,.section-card .section-content-inner,.section-card>div{max-width:100%}.experience-item{padding:.62rem .66rem}}.summary>div>p:first-child{margin-bottom:.85rem;padding-left:1.1rem;font-size:1.06rem;font-style:italic;line-height:1.72;position:relative}.summary>div>p:first-child:before{content:"";background:var(--accent);border-radius:2px;width:3px;position:absolute;top:.2em;bottom:.2em;left:0}.role-tags{flex-wrap:wrap;gap:.38rem;margin:.15rem 0 .5rem;display:flex}.role-tag{border:1px solid var(--line);color:var(--muted);background:var(--paper);border-radius:999px;padding:.16rem .52rem;font-size:.74rem}.tech-stack{flex-wrap:wrap;gap:.28rem;margin-top:.52rem;display:flex}.tech-chip{border:1px solid var(--line);color:var(--muted);background:var(--bg);border-radius:999px;padding:.13rem .44rem;font-size:.72rem;line-height:1.25}.cert-list{border-top:1px solid var(--line);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.66rem;margin-top:.9rem;padding-top:.82rem;display:grid}.cert-item{border:1px solid var(--line);background:color-mix(in srgb, var(--paper) 92%, var(--accent) 8%);color:inherit;border-radius:12px;flex-direction:column;gap:.24rem;padding:.68rem .78rem;text-decoration:none;transition:border-color .14s,background-color .14s;display:flex}a.cert-item:hover{border-color:var(--accent);background:color-mix(in srgb, var(--paper) 86%, var(--accent) 14%)}.cert-item-header{justify-content:space-between;align-items:center;gap:.35rem;display:flex}.cert-issuer{text-transform:uppercase;letter-spacing:.1em;color:var(--accent);font-size:.68rem;font-weight:700}.cert-expires{border:1px solid var(--line);color:var(--muted);white-space:nowrap;border-radius:999px;padding:.07rem .36rem;font-size:.64rem}.cert-item-name{letter-spacing:.01em;margin:0;font-size:.86rem;line-height:1.25}.cert-item-meta{color:var(--muted);font-size:.74rem}
