@import "https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600&family=Inter:wght@400;500;600&display=swap";.cv-root{--bg:#f7f5ef;--bg-elevated:#fff;--text:#1b1f27;--text-muted:#5b6270;--accent:#a9761f;--accent-soft:#a9761f1a;--accent-secondary:#2f6f68;--accent-secondary-soft:#2f6f681a;--border:#1b1f271f;--shadow:#1b1f270f;background:var(--bg);color:var(--text);border-radius:16px;min-height:100%;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;transition:background .2s,color .2s}.cv-root.theme-dark{--bg:#10141c;--bg-elevated:#171d28;--text:#ece8de;--text-muted:#9aa1ad;--accent:#d3a24a;--accent-soft:#d3a24a26;--accent-secondary:#5fb3aa;--accent-secondary-soft:#5fb3aa26;--border:#ece8de1f;--shadow:#00000059}*{box-sizing:border-box}.cv-root a{color:inherit}.cv-shell{max-width:980px;margin:0 auto;padding:0 24px 48px}.cv-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:16px;padding:40px 0 28px;display:flex}.cv-name-row{align-items:center;gap:10px;display:flex}.cv-name{margin:0;font-family:Fraunces,serif;font-size:2.4rem;font-weight:600;line-height:1.1}.cv-role{color:var(--accent);margin:4px 0 14px;font-size:1rem;font-weight:500}.cv-contact-list{color:var(--text-muted);flex-wrap:wrap;gap:14px;margin:0;padding:0;font-size:.88rem;list-style:none;display:grid}.cv-contact-list a{align-items:center;gap:8px;text-decoration:none;display:flex}.cv-contact-list a:hover{color:var(--accent)}.cv-contact-list a.cv-download{font-weight:500}.cv-contact-icon{width:16px;height:16px;color:var(--text);flex-shrink:0}.cv-contact-icon-linkedin,.cv-contact-icon-github{fill:currentColor}.cv-contact-icon-download{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px}.theme-toggle-list{-webkit-tap-highlight-color:transparent;margin:0;padding:0;list-style:none}.theme-toggle{width:38px;height:38px;color:var(--text);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;font-family:inherit;font-size:1.3rem;list-style:none;display:flex}.theme-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:999px}.theme-toggle:before{content:"☾"}.cv-root.theme-dark .theme-toggle:before{content:"☀"}.theme-toggle:hover{border-color:var(--accent)}.theme-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.cv-grid{grid-template-columns:240px 1fr;gap:40px;padding-top:32px;display:grid}@media (width<=720px){.cv-grid{grid-template-columns:1fr}.cv-name{font-size:1.9rem}.cv-header{flex-direction:column}}.cv-sidebar{background-color:var(--accent-secondary-soft);border-radius:12px;flex-direction:column;gap:28px;padding:10px;display:flex}.cv-section-label{margin:0 0 12px;scroll-margin-top:24px;font-family:Fraunces,serif;font-size:1rem;font-weight:600}.cv-tag-list{color:var(--text-muted);flex-direction:column;gap:6px;margin:0;padding:0;font-size:.85rem;list-style:none;display:flex}.cv-tag-list li{line-height:1.4}.cv-pill-row{flex-wrap:wrap;gap:6px;display:flex}.cv-pill{background:var(--accent-secondary-soft);color:var(--accent-secondary);white-space:nowrap;border-radius:999px;padding:3px 9px;font-size:.78rem}.cv-lang-row{justify-content:space-between;gap:8px;font-size:.85rem;display:flex}.cv-lang-row .lang-level{color:var(--text-muted)}.cv-main{flex-direction:column;gap:40px;margin-top:10px;display:flex}.cv-profile-text{max-width:62ch;color:var(--text-muted);margin:0;font-size:.85rem;line-height:1.65}.cv-additional{max-width:62ch;margin:10px 0 0;font-size:.92rem;line-height:1.6}.cv-timeline{border-left:2px solid var(--border);flex-direction:column;gap:30px;padding-left:22px;display:flex;position:relative}.cv-entry{position:relative}.cv-entry:not(:last-child){border-bottom:1px solid var(--border);padding-bottom:16px}.cv-entry:before{content:"";background:var(--accent);border-radius:50%;width:10px;height:10px;position:absolute;top:8px;left:-28px}.cv-entry-head{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 12px;margin-bottom:4px;padding:2px 0;display:flex}.cv-entry-head:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:4px}.cv-entry-head-main{flex-wrap:wrap;flex:1;align-items:baseline;gap:4px 12px;display:flex}.cv-entry-toggle-icon{border:1px solid var(--border);width:22px;height:22px;color:var(--accent);transform-origin:50%;border-radius:50%;flex-shrink:0;place-items:center;transition:transform .2s,background .2s;display:grid}.cv-entry-toggle-icon svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:1.8px;width:12px;height:12px;display:block}.cv-entry-head:hover .cv-entry-toggle-icon{transition:none}.cv-entry.open .cv-entry-toggle-icon{background:var(--accent-soft);transform:rotate(45deg)}.cv-entry-role{width:fit-content;margin:0;font-family:Fraunces,serif;font-size:1.08rem;font-weight:600;transition:color .2s;position:relative}.cv-entry-role:after{content:"";background:var(--accent);width:0;height:1px;transition:width .25s;position:absolute;bottom:-3px;left:0}.cv-entry-head:focus-visible .cv-entry-role{color:var(--accent)}@media (hover:hover) and (pointer:fine){.cv-entry-head:hover .cv-entry-role{color:var(--accent)}.cv-entry-head:hover .cv-entry-role:after{width:100%}}.cv-entry-company{color:var(--text-muted);flex-wrap:wrap;align-items:baseline;gap:4px 12px;font-size:.88rem;display:flex}.cv-entry-period{color:var(--accent);font-variant-numeric:tabular-nums;font-size:.8rem}.cv-entry-collapse{grid-template-rows:0fr;transition:grid-template-rows .25s;display:grid}.cv-entry.open .cv-entry-collapse{grid-template-rows:1fr}.cv-entry-collapse-inner{overflow:hidden}.cv-entry-bullets{color:var(--text);margin:8px 0 10px;padding-left:18px;font-size:.9rem;line-height:1.55}.cv-entry-bullets li{margin-bottom:3px}.cv-entry-sub-bullets{color:var(--text-muted);margin:3px 0 5px;padding-left:18px;list-style-type:circle}.cv-entry-tech{color:var(--text-muted);font-size:.78rem;line-height:1.5}.cv-entry-tech span{color:var(--accent-secondary)}.cv-edu-item,.cv-cert-item{border-bottom:1px solid var(--border);justify-content:space-between;gap:12px;padding:10px 0;font-size:.9rem;display:flex}.cv-edu-item:last-child,.cv-cert-item:last-child{border-bottom:none}.cv-edu-school{font-weight:600}.cv-edu-degree,.cv-cert-name{color:var(--text-muted);font-size:.85rem}.cv-edu-period,.cv-cert-year{color:var(--accent);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:.8rem}.cv-cert-columns{grid-template-columns:1fr 1fr;gap:0 32px;display:grid}@media (width<=720px){.cv-cert-columns{grid-template-columns:1fr}}.cv-footer{border-top:1px solid var(--border);color:var(--text-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:56px;padding-top:22px;font-size:.82rem;display:flex}.cv-footer-nav{flex-wrap:wrap;gap:18px;margin:0;padding:0;list-style:none;display:flex}.cv-footer-tech,.cv-footer-tech ul{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.cv-footer-tech ul{color:var(--text);margin:0;padding:0;list-style:none}.cv-footer-nav a{color:var(--text-muted);text-decoration:none;transition:color .15s}.cv-footer-nav a:hover,.cv-footer-top:hover{color:var(--accent)}.cv-footer-top{color:var(--text-muted);opacity:0;visibility:hidden;pointer-events:none;align-items:center;gap:7px;text-decoration:none;transition:color .15s,opacity .15s;display:inline-flex}.cv-footer-top svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:16px;height:16px;transition:transform .2s;display:block}.cv-footer-top:hover svg{transform:translateY(-2px)}.cv-footer-top.is-visible{opacity:1;visibility:visible;pointer-events:auto;animation:1.4s ease-in-out infinite back-to-top-blink}@keyframes back-to-top-blink{50%{opacity:.45}}@media (prefers-reduced-motion:reduce){.cv-root,.theme-toggle,.cv-entry-role,.cv-entry-role:after,.cv-footer-top svg{transition:none}.cv-footer-top:hover svg{transform:none}.cv-footer-top.is-visible{animation:none}}@media print{.accordion-collapse,.collapse,.cv-entry-collapse{visibility:visible!important;opacity:1!important;height:auto!important;display:block!important;overflow:visible!important}.experience-item,.accordion-item,div{position:static!important}button,.plus-button,.accordion-button:after{display:none!important}.cv-root{background:0 0!important}.cv-root *{color:#000!important;-webkit-print-color-adjust:economy!important;print-color-adjust:economy!important;background:0 0!important}}
