@font-face{font-family:DejaVu Serif;font-style:normal;font-display:swap;font-weight:400;src:url(/Portafolio_GenesisValdebenito/assets/dejavu-serif-latin-400-normal-CPqGdW_o.woff2)format("woff2"),url(/Portafolio_GenesisValdebenito/assets/dejavu-serif-latin-400-normal-CXbDRCPm.woff)format("woff")}@font-face{font-family:DejaVu Serif;font-style:normal;font-display:swap;font-weight:700;src:url(/Portafolio_GenesisValdebenito/assets/dejavu-serif-latin-700-normal-CM6v_X84.woff2)format("woff2"),url(/Portafolio_GenesisValdebenito/assets/dejavu-serif-latin-700-normal-BczfTdz2.woff)format("woff")}:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}:root{--bg:#fff;--ink:#0a0a0a;--ink-soft:#5f5f5f;--ink-faint:#888;--accent:#888;--accent-dim:#eee;--amber:#b47b16;--amber-dim:#f1dfb7;--card:#fff;--border:#d8d8d8;--border-strong:#888;--nav-bg:#ffffffe0;--studio-bg:#f5f1e8;--studio-ink:#181614;--studio-muted:#5f5a52;--studio-line:#b47b1640;--studio-panel:#ffffffb8;--studio-wash:#b47b1614;--pointer-glow:#c58a1c24;--gold:#c58a1c;--radius:2px;--font-display-fam:"DejaVu Serif", serif;--font-body-fam:"DejaVu Serif", serif;--font-mono-fam:"IBM Plex Mono", monospace}:root[data-theme=dark]{--bg:#0a0a0a;--ink:#fff;--ink-soft:#d0d0d0;--ink-faint:#a8a8a8;--accent:#a8a8a8;--accent-dim:#292929;--amber:#d9a441;--amber-dim:#40351f;--card:#171717;--border:#3f3f3f;--border-strong:#888;--nav-bg:#0a0a0ae0;--studio-bg:#151515;--studio-ink:#fff;--studio-muted:#d0d0d0;--studio-line:#ffffff29;--studio-panel:#ffffff0b;--studio-wash:#daa94b0f;--pointer-glow:#e2b35421;--gold:#e2b354}:root:not([data-theme=dark]) h1.name{color:#0a0a0a}:root:not([data-theme=dark]) h1.name span{color:#888}:root[data-theme=dark] h1.name{color:#fff}:root[data-theme=dark] h1.name span{color:#c7c7c7}:root:not([data-theme=dark]) h1,:root:not([data-theme=dark]) h2,:root:not([data-theme=dark]) h3{color:#0a0a0a}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--font-body-fam);margin:0;line-height:1.55;transition:background-color .45s,color .45s}body:after{content:"";pointer-events:none;z-index:20;opacity:0;background:radial-gradient(100px circle at var(--pointer-x,50vw) var(--pointer-y,50vh), var(--pointer-glow), transparent 68%);transition:opacity .35s;position:fixed;inset:0}.startup-screen{z-index:100;background:#101010;place-items:center;padding:24px;animation:.35s 1.45s forwards startup-exit;display:grid;position:fixed;inset:0}.startup-terminal{color:#f4f0e7;width:min(620px,100%);font-family:var(--font-mono-fam);background:#080808;border:1px solid #4c4c4c;border-radius:7px;animation:.35s cubic-bezier(.2,.8,.2,1) both startup-enter;overflow:hidden;box-shadow:0 24px 80px #00000080}.startup-bar{color:#f4f0e7;background:#545f70;border-bottom:1px solid #4c4c4c;align-items:center;gap:14px;min-height:38px;padding:0 14px;font-size:11px;display:flex}.startup-bar .terminal-lights{gap:6px;display:flex}.startup-bar .terminal-lights i{opacity:1;border-radius:50%;width:8px;height:8px}.startup-time{color:#d7dbe1;margin-left:auto}.startup-body{padding:28px 30px 34px;font-size:14px;line-height:1.7}.startup-body p{margin:0 0 9px}.startup-body b{color:var(--gold);font-weight:500}.startup-muted{color:#aaa9a4}.startup-progress{border:1px solid #5b5b5b;border-radius:2px;height:9px;margin:17px 0 12px;overflow:hidden}.startup-progress span{background:var(--gold);width:0;height:100%;box-shadow:0 0 14px var(--gold);animation:.75s ease-out .2s forwards startup-progress;display:block}.startup-success{color:#aabf9e;opacity:0;animation:.2s 1.05s forwards startup-show}.startup-prompt{opacity:0;animation:.2s 1.25s forwards startup-show;margin-top:20px!important}.startup-caret{color:var(--gold);animation:.75s step-end infinite terminal-blink}@keyframes startup-enter{0%{opacity:0;transform:scale(.96)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes startup-progress{to{width:100%}}@keyframes startup-show{to{opacity:1}}@keyframes startup-exit{to{opacity:0;visibility:hidden;pointer-events:none}}.spark-field{left:var(--pointer-x,50vw);top:var(--pointer-y,50vh);z-index:21;pointer-events:none;position:fixed}.spark-field span{background:var(--gold);width:3px;height:10px;box-shadow:0 0 8px var(--gold);opacity:0;border-radius:50%;animation:1.25s ease-out infinite spark-drift;display:block;position:absolute}.spark-field span:first-child{--spark-x:-28px;--spark-y:-18px;animation-delay:-.15s}.spark-field span:nth-child(2){--spark-x:24px;--spark-y:-22px;animation-delay:-.42s}.spark-field span:nth-child(3){--spark-x:31px;--spark-y:12px;animation-delay:-.68s}.spark-field span:nth-child(4){--spark-x:-24px;--spark-y:22px;animation-delay:-.9s}.spark-field span:nth-child(5){--spark-x:4px;--spark-y:-31px;animation-delay:-1.08s}@keyframes spark-drift{0%{opacity:0;transform:translate(var(--spark-x), var(--spark-y)) scale(.4) rotate(0deg)}25%{opacity:.8}to{opacity:0;transform:translate(calc(var(--spark-x) * 1.5), calc(var(--spark-y) * 1.5)) scale(.1) rotate(90deg)}}@media (hover:hover) and (pointer:fine){body:after{opacity:1}}@media (hover:none),(pointer:coarse),(prefers-reduced-motion:reduce){.spark-field{display:none}}@media (prefers-reduced-motion:reduce){body:after{display:none}}a{color:var(--accent);transition:color .45s}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.mono{font-family:var(--font-mono-fam)}.wrap{max-width:1120px;margin:0 auto;padding:0 28px}.sitenav{border-bottom:1px solid var(--border);background:var(--nav-bg);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:10;transition:background-color .45s,border-color .45s;position:sticky;top:0}.sitenav .wrap{justify-content:space-between;align-items:center;padding-top:18px;padding-bottom:18px;display:flex}.sitenav .brand{font-family:var(--font-mono-fam);letter-spacing:.08em;text-transform:uppercase;color:var(--ink);font-size:13px;text-decoration:none;transition:color .45s}.sitenav .navlinks{font-family:var(--font-mono-fam);gap:22px;font-size:13px;display:flex}.theme-toggle{border:1px solid var(--border);border-radius:2px;display:flex;overflow:hidden}.theme-toggle button{appearance:none;border:0;border-right:1px solid var(--border);color:var(--ink-soft);cursor:pointer;font:inherit;background:0 0;padding:6px 8px;font-size:11px;transition:background-color .45s,color .45s,border-color .45s}.theme-toggle button:last-child{border-right:0}.theme-toggle button:hover,.theme-toggle button.active{background:var(--accent);color:#fff}:root[data-theme=dark] .theme-toggle button:first-child:hover{color:#0a0a0a;background:#fff}:root[data-theme=light] .theme-toggle button:last-child:hover{color:#fff;background:#0a0a0a}.sitenav .navlinks a{color:var(--ink-soft);border-bottom:2px solid #0000;padding:6px 2px;text-decoration:none;transition:color .45s,border-color .45s}.sitenav .navlinks a:hover,.sitenav .navlinks a.active{color:var(--gold);border-bottom-color:var(--gold)}header.hero{border-bottom:1px solid var(--border);padding:72px 0 56px;position:relative}.portfolio-hero .wrap{-webkit-backdrop-filter:none;backdrop-filter:none;border:1px solid var(--studio-line);box-shadow:none;text-align:center;z-index:1;background:0 0;border-radius:4px;flex-direction:column;align-items:center;padding-top:44px;padding-bottom:44px;display:flex;position:relative;overflow:hidden}.portfolio-hero{overflow:hidden}.portfolio-hero .name,.portfolio-hero .tagline{color:#fff;text-shadow:0 1px 3px #000c;z-index:1;position:relative}.portfolio-hero .name span{color:var(--gold)}.portfolio-hero .social-links{z-index:1;position:relative}.portfolio-hero .social-links a,.portfolio-hero .social-links button{color:#f2eee5}.portfolio-hero .social-links a:hover,.portfolio-hero .social-links button:hover{color:var(--gold)}:root:not([data-theme=dark]) .portfolio-hero .name,:root:not([data-theme=dark]) .portfolio-hero .tagline{color:var(--ink);text-shadow:none}:root:not([data-theme=dark]) .portfolio-hero .social-links a,:root:not([data-theme=dark]) .portfolio-hero .social-links button{color:var(--ink-soft)}.portfolio-hero .eyebrow{text-align:left;justify-content:flex-start;align-self:stretch}.portfolio-hero .social-links{justify-content:center}.portfolio-hero .tagline{margin-left:auto;margin-right:auto}.eyebrow{font-family:var(--font-mono-fam);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);align-items:center;gap:10px;margin-bottom:22px;font-size:12.5px;display:flex}.eyebrow:before{content:"";background:var(--accent);width:22px;height:1px}h1.name{font-family:var(--font-display-fam);letter-spacing:-.01em;min-height:1.02em;margin:0 0 18px;font-size:clamp(40px,6vw,68px);font-weight:700;line-height:1.02;transition:color .45s}h1.name span{color:var(--accent);transition:color .45s}h1.name.typing:after{content:"";vertical-align:-.06em;background:var(--gold);width:2px;height:.82em;margin-left:5px;animation:.75s step-end infinite typing-caret;display:inline-block}@keyframes typing-caret{50%{opacity:0}}p.tagline{color:var(--ink-soft);max-width:640px;margin:0 0 34px;font-size:19px}.chiprow{flex-wrap:wrap;gap:10px;display:flex}.chip{font-family:var(--font-mono-fam);border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--card);color:var(--ink);align-items:center;gap:8px;padding:9px 14px;font-size:13px;text-decoration:none;transition:color .45s,border-color .45s,background-color .45s,transform .15s;display:inline-flex}.chip:hover{color:var(--gold);border-color:var(--gold);background:var(--accent-dim);transform:translateY(-1px)}.chip .dot{background:var(--amber);border-radius:50%;width:6px;height:6px}.chip.filled{background:var(--ink);color:#fffaf0;border-color:var(--ink)}.chip.filled .dot{background:var(--amber)}.chip.filled:hover{background:var(--ink);color:#fffaf0;border-color:var(--ink)}:root[data-theme=dark] .chip.filled,:root[data-theme=dark] .chip.filled:hover,:root[data-theme=dark] .chip.filled:focus-visible,:root[data-theme=dark] .chip.filled:active{color:#0a0a0a;background:#fff;border-color:#fff}:root[data-theme=light] .chip.filled:hover,:root[data-theme=light] .chip.filled:focus-visible,:root[data-theme=light] .chip.filled:active{color:#fffaf0;background:#0a0a0a;border-color:#0a0a0a}.section{padding:64px 0}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:36px;display:flex}.section-num{font-family:var(--font-mono-fam);color:var(--ink-faint);letter-spacing:.08em;font-size:13px}h2.section-title{font-family:var(--font-display-fam);margin:6px 0 0;font-size:clamp(26px,3.4vw,34px);font-weight:600}p.section-desc{color:var(--ink-soft);max-width:520px;margin:0;font-size:15.5px}.gallery{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:26px;display:grid}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;transition:background-color .45s,color .45s,border-color .45s,box-shadow .18s,transform .18s;display:flex;overflow:hidden}.card:hover{border-color:var(--border-strong);transform:translateY(-3px);box-shadow:0 14px 30px -18px #0a0a0a47}.titleblock{font-family:var(--font-mono-fam);letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid var(--border);grid-template-columns:1fr 1fr;font-size:10.5px;display:grid}.titleblock div{border-right:1px solid var(--border);border-bottom:1px solid var(--border);color:var(--ink-faint);padding:8px 12px}.titleblock div:nth-child(2n){border-right:none}.titleblock div:nth-last-child(-n+2){border-bottom:none}.titleblock b{color:var(--ink);text-transform:none;letter-spacing:0;margin-top:2px;font-size:11.5px;font-weight:600;display:block}.art{background:linear-gradient(135deg, var(--accent-dim), transparent 60%), repeating-linear-gradient(45deg, transparent 0 8px, #0a0a0a0d 8px 9px);border-bottom:1px solid var(--border);justify-content:center;align-items:center;height:132px;transition:background-color .45s,border-color .45s;display:flex}.art svg{width:56px;height:56px;stroke:var(--accent);fill:none;stroke-width:1.4px;transition:stroke .2s,filter .2s}.card:hover .art svg{stroke:var(--gold);filter:drop-shadow(0 0 5px var(--gold))}.card-body{flex-direction:column;flex:1;gap:12px;padding:20px 22px 22px;display:flex}.card-body h3{font-family:var(--font-display-fam);margin:0;font-size:19px;font-weight:600}.card-body p{color:var(--ink-soft);margin:0;font-size:14.5px}.tags{flex-wrap:wrap;gap:6px;margin-top:2px;display:flex}.tag{font-family:var(--font-mono-fam);background:var(--accent-dim);color:var(--accent);border:1px solid color-mix(in srgb, var(--accent) 24%, transparent);border-radius:2px;padding:3px 8px;font-size:11px}.tag.role{background:var(--amber-dim);color:#704800;border-color:color-mix(in srgb, var(--amber) 42%, transparent)}:root[data-theme=dark] .tag.role{color:#f2cf78}.card-links{border-top:1px dashed var(--border);font-family:var(--font-mono-fam);flex-wrap:wrap;gap:16px;margin-top:auto;padding-top:12px;font-size:12.5px;display:flex}.card-links a{align-items:center;gap:5px;text-decoration:none;display:inline-flex}.card-links a:hover{color:var(--gold);text-decoration:underline}.noLink{color:var(--ink-faint);font-family:var(--font-mono-fam);font-size:12.5px}.studio{background:var(--studio-bg);color:var(--studio-ink);border:1px solid var(--studio-line);isolation:isolate;border-radius:4px;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:clamp(32px,5vw,64px);padding:clamp(30px,5vw,60px);transition:background-color .45s,color .45s,border-color .45s;display:grid;position:relative;overflow:hidden}.studio:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 100% 0%, var(--studio-wash), transparent 48%), linear-gradient(135deg, transparent 55%, var(--studio-wash));position:absolute;inset:0}.studio>*{z-index:1;position:relative}.studio-eyebrow{font-family:var(--font-mono-fam);letter-spacing:.12em;text-transform:uppercase;color:var(--amber);margin-bottom:12px;font-size:11px}.studio h2{font-family:var(--font-display-fam);color:var(--studio-ink);margin:0 0 8px;font-size:clamp(30px,4vw,44px);font-weight:700;line-height:1.12}.studio-manifesto{color:var(--amber);font-family:var(--font-mono-fam);letter-spacing:.07em;text-transform:uppercase;margin-bottom:20px;font-size:12px}.studio-manifesto span{color:var(--studio-muted);padding:0 5px}.studio p{color:var(--studio-muted);max-width:460px;margin:0 0 24px;font-size:16px}.studio-cta{background:var(--gold);color:#17110a;font-family:var(--font-mono-fam);border:1px solid #0000;border-radius:3px;align-items:center;gap:12px;padding:14px 18px;font-size:12px;font-weight:600;text-decoration:none;transition:transform .18s,background-color .18s,box-shadow .18s;display:inline-flex}.studio-cta:hover{color:#17110a;background:var(--amber);box-shadow:0 6px 18px var(--studio-wash);transform:translateY(-2px)}.studio-cta-note{color:var(--studio-muted);margin-top:11px;font-size:12px;display:block}.studio-card{background:var(--studio-panel);border:1px solid var(--studio-line);color:var(--studio-ink);border-radius:3px;padding:clamp(22px,3vw,32px);transition:background-color .45s,color .45s,border-color .45s}.studio-card-content{z-index:1;position:relative}.studio-card .lbl{color:var(--amber);font-family:var(--font-mono-fam);letter-spacing:.12em;text-transform:uppercase;margin-bottom:18px;font-size:11px;display:block}.studio-card ul{gap:0;margin:0;padding-left:0;list-style:none;display:grid}.studio-card li{border-top:1px solid var(--studio-line);min-height:54px;color:var(--studio-ink);text-align:left;align-items:center;gap:14px;padding:10px 0;font-size:14px;transition:color .2s,border-color .45s;display:flex}.studio-card li svg{fill:none;width:20px;height:20px;stroke:var(--amber);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6px;flex:0 0 20px;transition:transform .2s}.studio-card li:hover{color:var(--ink)}.studio-card li:hover svg{transform:translate(3px)}@media (prefers-reduced-motion:reduce){.studio-cta,.studio-card li,.studio-card li svg{transition:none}}.about-hero{padding-bottom:48px}.about-page{padding:0 0 64px}.terminal-window{background:var(--studio-bg);border:1px solid var(--studio-line);border-radius:7px;transition:background-color .45s,border-color .45s,box-shadow .45s;animation:.75s both about-rise;overflow:hidden;box-shadow:0 22px 52px -34px #0a0a0ab3}.terminal-bar{border-bottom:1px solid var(--studio-line);min-height:42px;color:var(--studio-muted);font-family:var(--font-mono-fam);background:#00000029;align-items:center;gap:16px;padding:0 18px;font-size:11px;transition:background-color .45s,color .45s,border-color .45s;display:flex}.terminal-lights{gap:6px;display:flex}.terminal-lights i{background:var(--studio-muted);opacity:.65;border-radius:50%;width:8px;height:8px}.terminal-lights i:first-child{background:#c76a5c}.terminal-lights i:nth-child(2){background:var(--gold)}.terminal-lights i:last-child{background:#6f9d78}.terminal-title{text-align:center;flex:1}.terminal-status{color:var(--gold);letter-spacing:.1em;font-size:10px}.terminal-body{min-height:250px;font-family:var(--font-mono-fam);background:linear-gradient(135deg,#ffffff06,#0000 45%);padding:28px 30px 32px;font-size:13px;transition:background .45s,color .45s}.terminal-command,.terminal-output{margin:0}.terminal-command{color:var(--studio-ink)}.terminal-command span{color:var(--gold)}.terminal-output{color:var(--studio-muted);margin:5px 0 18px 24px}.terminal-cursor{color:var(--gold);animation:1.1s step-end infinite terminal-blink}@keyframes terminal-blink{50%{opacity:.35}}.about-grid{grid-template-columns:1.3fr .7fr;gap:22px;margin-top:24px;display:grid}.about-panel{border:1px solid var(--border);background:color-mix(in srgb, var(--card) 78%, transparent);padding:30px;transition:background-color .45s,color .45s,border-color .45s;animation:.75s .12s both about-rise}.about-panel h2,.about-transparency h2{font-family:var(--font-display-fam);margin:16px 0 20px;font-size:clamp(24px,3vw,34px);line-height:1.12}.about-panel p,.about-transparency p{color:var(--ink-soft);max-width:680px;margin:0 0 15px;font-size:15px}.about-panel p:last-child,.about-transparency p:last-child{margin-bottom:0}.about-motivation{flex-direction:column;justify-content:space-between;gap:28px;display:flex}.motivation-list{font-family:var(--font-display-fam);flex-direction:column;gap:9px;font-size:clamp(25px,3vw,36px);font-weight:600;display:flex}.motivation-list span:before{content:"+";color:var(--gold);font-family:var(--font-mono-fam);vertical-align:.2em;margin-right:10px;font-size:.55em}.about-tools{padding:64px 0 58px;animation:.75s .2s both about-rise}.about-tools .section-head{margin-bottom:24px}.tool-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.tool-item{border-top:2px solid var(--gold);background:color-mix(in srgb, var(--card) 58%, transparent);flex-direction:column;gap:9px;min-height:150px;padding:16px 14px;transition:background-color .45s,color .45s,border-color .45s;display:flex}.tool-label,.tool-item>span:last-child{color:var(--ink-soft);font-family:var(--font-mono-fam);font-size:11px}.tool-label{color:var(--gold);text-transform:uppercase;letter-spacing:.08em}.tool-item strong{font-family:var(--font-display-fam);font-size:19px}.about-transparency{border-color:color-mix(in srgb, var(--gold) 34%, var(--border));animation-delay:.28s}@keyframes about-rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.cv-file-app{background:var(--card);border:1px solid var(--border);min-height:560px;box-shadow:0 12px 0 color-mix(in srgb, var(--border) 48%, transparent);border-radius:7px;grid-template-columns:235px minmax(0,1fr);animation:.65s both cv-folder-rise;display:grid;overflow:hidden}.cv-page-eyebrow{margin-bottom:14px}.cv-sidebar{background:color-mix(in srgb, var(--bg) 70%, var(--card));border-right:1px solid var(--border);flex-direction:column;gap:18px;padding:20px 14px;display:flex}.cv-sidebar-actions{border-bottom:1px solid var(--border);color:var(--ink);font-family:var(--font-mono-fam);gap:17px;padding:0 10px 14px;font-size:18px;display:flex}.cv-sidebar-title{color:var(--ink-faint);font-family:var(--font-mono-fam);letter-spacing:.1em;text-transform:uppercase;padding:0 10px;font-size:10px}.cv-sidebar nav{flex-direction:column;gap:4px;display:flex}.cv-sidebar-folder,.cv-sidebar-print{width:100%;color:var(--ink-soft);cursor:pointer;font:inherit;text-align:left;background:0 0;border:1px solid #0000;border-radius:5px;align-items:center;gap:10px;padding:10px;font-size:12.5px;text-decoration:none;transition:background-color .22s,border-color .22s,color .22s;display:flex}.cv-sidebar-folder:hover,.cv-sidebar-folder.is-active,.cv-sidebar-print:hover{background:color-mix(in srgb, var(--gold) 14%, transparent);border-color:color-mix(in srgb, var(--gold) 60%, var(--border));color:var(--gold)}.cv-sidebar-folder svg,.cv-sidebar-print:first-letter{flex:0 0 18px;width:18px;height:18px}.cv-sidebar-folder svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6px}.cv-sidebar-print{border-top:1px dashed var(--border);border-radius:0;padding-top:18px}.cv-sidebar-print+.cv-sidebar-print{border-top:0;margin-top:-18px;padding-top:0}.cv-sidebar-contact{flex-direction:column;gap:9px;margin-top:-8px;padding:0 10px;display:flex}.cv-sidebar-contact a{color:var(--ink-soft);font-family:var(--font-mono-fam);overflow-wrap:anywhere;text-align:left;align-items:flex-start;gap:8px;font-size:10px;line-height:1.35;text-decoration:none;display:flex}.cv-sidebar-contact a:hover{color:var(--gold)}.cv-sidebar-contact svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;flex:0 0 15px;width:15px;height:15px}.social-links{flex-wrap:wrap;align-items:center;gap:12px;display:flex;position:relative}.social-links a,.social-links button{color:var(--ink-soft);cursor:pointer;justify-content:center;align-items:center;width:30px;height:30px;transition:color .18s,transform .18s;display:inline-flex}.social-links button{appearance:none;background:0 0;border:0;padding:0}.social-links a:hover,.social-links button:hover{color:var(--gold);transform:translateY(-2px)}.social-copy-status{z-index:30;border:1px solid var(--border);background:var(--card);min-width:max-content;color:var(--ink);font-family:var(--font-mono-fam);opacity:0;pointer-events:none;visibility:hidden;white-space:nowrap;border-radius:4px;gap:3px;padding:9px 12px;font-size:11px;line-height:1.4;transition:opacity .15s,transform .15s,visibility .15s;display:grid;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%,4px);box-shadow:0 5px 18px #00000024}.social-copy-status.is-visible{opacity:1;visibility:visible;transform:translate(-50%)}.social-copy-status.error{border-color:var(--amber)}.social-copy-email{color:var(--ink-soft);font-size:10px}.social-copy-status:not(.is-visible){clip-path:inset(50%);width:1px;height:1px;padding:0;overflow:hidden}.social-links svg{fill:currentColor;width:22px;height:22px}.social-links a:nth-child(4) svg{width:19px;height:19px}.social-links .social-copy-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px}.hero-social-links{margin-top:6px}.cv-sidebar-social-links{border-top:1px dashed var(--border);flex-wrap:wrap;margin-top:-8px;padding:16px 10px 0}.cv-file-content{background:var(--card);min-width:0}.cv-file-toolbar{border-bottom:1px solid var(--border);color:var(--ink-soft);font-family:var(--font-mono-fam);justify-content:space-between;gap:16px;padding:15px 22px;font-size:11px;display:flex}.cv-file-heading{text-align:left;align-items:center;gap:15px;padding:28px 32px 18px;display:flex}.cv-file-heading-copy{flex-direction:column;align-items:flex-start;min-width:0;display:flex}.cv-folder-symbol{color:var(--gold)}.cv-folder-symbol svg{width:34px;height:34px;fill:color-mix(in srgb, var(--gold) 18%, transparent);stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.4px}.cv-file-heading h2{color:var(--ink);font-family:var(--font-display-fam);margin:0 0 3px;font-size:clamp(22px,3vw,31px)}.cv-file-heading-copy p{color:var(--ink-faint);font-family:var(--font-mono-fam);margin:0;font-size:11px}.cv-file-body{border-top:1px solid var(--border);background:color-mix(in srgb, var(--bg) 30%, transparent);text-align:left;min-height:300px;margin:0 32px 32px;padding:22px;animation:.3s both cv-folder-open}.cv-file-body .cv-subfolder-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.cv-file-body .cv-subfolder{background:color-mix(in srgb, var(--card) 74%, transparent)}.cv-file-body .cv-entry{padding:16px 0}.cv-file-body .cv-entry:first-child{padding-top:0}.cv-skills-list{flex-direction:column;gap:25px;display:flex}.cv-skill-category h3{color:var(--ink);border:0;align-items:center;gap:9px;margin:0 0 12px;padding:0;font-size:17px;display:flex}.cv-skill-category h3 svg{fill:none;width:21px;height:21px;stroke:var(--gold);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6px}.cv-skill-category>div{flex-wrap:wrap;gap:7px;display:flex}.cv-skill-tag{border:1px solid color-mix(in srgb, var(--ink) 18%, var(--border));background:color-mix(in srgb, var(--bg) 76%, var(--card));color:var(--ink);font-family:var(--font-mono-fam);letter-spacing:.04em;padding:8px 12px;font-size:11px;font-weight:600;transition:background-color .2s,border-color .2s,color .2s,transform .2s}.cv-skill-tag:hover{background:var(--gold);border-color:var(--gold);color:#17110a;transform:translateY(-2px)}.cv-about-terminal{max-width:720px;color:var(--ink);font-family:var(--font-mono-fam);text-align:left;align-self:flex-start;padding:5px 0;font-size:12px;line-height:1.65}.cv-about-terminal p{color:var(--ink);font-family:inherit;font-size:inherit;margin:0 0 8px}.cv-about-terminal p>span,.cv-terminal-prompt{color:var(--gold)}.cv-terminal-output{color:var(--ink-soft)!important;margin:0 0 18px 22px!important}.cv-terminal-prompt{animation:1.1s step-end infinite terminal-blink}.cv-preview-modal{z-index:90;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#000000b8;place-items:center;padding:28px;animation:.25s both cv-modal-in;display:grid;position:fixed;inset:0}.cv-preview-window{border:1px solid var(--gold);background:var(--card);border-radius:6px;width:min(920px,100%);height:min(88vh,860px);animation:.35s both cv-window-in;overflow:hidden;box-shadow:0 25px 80px #00000080}.cv-preview-toolbar{background:var(--studio-bg);min-height:44px;color:var(--studio-muted);font-family:var(--font-mono-fam);align-items:center;gap:14px;padding:0 15px;font-size:11px;display:flex}.cv-preview-toolbar .terminal-lights{gap:6px;display:flex}.cv-preview-toolbar .terminal-lights i{background:var(--studio-muted);border-radius:50%;width:8px;height:8px}.cv-preview-toolbar .terminal-lights i:first-child{background:#c76a5c}.cv-preview-toolbar .terminal-lights i:nth-child(2){background:var(--gold)}.cv-preview-toolbar .terminal-lights i:last-child{background:#6f9d78}.cv-preview-toolbar span:nth-child(2){text-align:center;flex:1}.cv-preview-toolbar button{color:var(--studio-muted);cursor:pointer;font:22px/1 var(--font-body-fam);background:0 0;border:0;padding:0 4px}.cv-preview-toolbar button:hover{color:var(--gold)}.cv-preview-window iframe{border:0;width:100%;height:calc(100% - 44px);display:block}@keyframes cv-modal-in{0%{opacity:0}to{opacity:1}}@keyframes cv-window-in{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.cv-folder-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:22px;display:grid}.cv-folder{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);min-width:0;box-shadow:0 5px 0 color-mix(in srgb, var(--border) 55%, transparent);transition:border-color .25s,box-shadow .25s,background-color .45s;animation:.6s both cv-folder-rise;overflow:hidden}.cv-folder:nth-child(2){animation-delay:80ms}.cv-folder:nth-child(3){animation-delay:.16s}.cv-folder:nth-child(4){animation-delay:.24s}.cv-folder:nth-child(5){animation-delay:.32s}.cv-folder:nth-child(6){animation-delay:.4s}.cv-folder:hover,.cv-folder.is-open{border-color:color-mix(in srgb, var(--gold) 55%, var(--border));box-shadow:0 5px 0 color-mix(in srgb, var(--gold) 35%, transparent)}.cv-folder-tab{width:100%;color:var(--ink);cursor:pointer;text-align:left;font:inherit;background:0 0;border:0;border-bottom:1px solid #0000;grid-template-columns:24px 1fr auto;align-items:center;gap:11px;padding:17px 18px;transition:color .25s,background-color .25s,border-color .25s;display:grid}.cv-folder-tab:hover,.cv-folder.is-open .cv-folder-tab{color:var(--gold);background:color-mix(in srgb, var(--gold) 9%, transparent);border-bottom-color:color-mix(in srgb, var(--gold) 30%, var(--border))}.cv-folder-tab svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6px;width:22px;height:22px;transition:transform .25s}.cv-folder-tab:hover svg,.cv-folder.is-open .cv-folder-tab svg{transform:translateY(-1px)}.cv-folder-tab span{font-family:var(--font-display-fam);font-size:16px;font-weight:600}.cv-folder-tab small{color:var(--ink-faint);font-family:var(--font-mono-fam);letter-spacing:.08em;font-size:10px}.cv-folder.is-open .cv-folder-tab small{color:var(--gold)}.cv-folder-content{border-top:1px solid var(--border);color:var(--ink-soft);padding:21px 22px 23px;font-size:14px;animation:.3s both cv-folder-open}.cv-folder-content p{color:var(--ink-soft);margin:0 0 14px;font-size:14px}.cv-folder-content .cv-row{margin-bottom:14px}.cv-folder-content .cv-row:last-child,.cv-folder-content p:last-child{margin-bottom:0}.cv-contact-row,.cv-language-list{border-top:1px dashed var(--border);font-family:var(--font-mono-fam);grid-template-columns:1fr auto;gap:8px 18px;margin-top:10px;padding-top:9px;font-size:12px;display:grid}.cv-contact-row span,.cv-language-list span{color:var(--ink-faint)}.cv-contact-row b,.cv-language-list b{color:var(--ink);text-align:right;font-weight:500}.cv-subfolder-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.cv-subfolder{border:1px solid var(--border);background:color-mix(in srgb, var(--bg) 55%, transparent);align-items:flex-start;gap:10px;min-height:76px;padding:12px;transition:border-color .2s,color .2s,background-color .2s;display:flex}.cv-subfolder:hover{color:var(--gold);border-color:color-mix(in srgb, var(--gold) 55%, var(--border))}.cv-subfolder svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px;flex:0 0 20px;width:20px;height:20px}.cv-subfolder div{flex-direction:column;gap:5px;display:flex}.cv-subfolder b{color:var(--ink);font-family:var(--font-display-fam);font-size:13px}.cv-subfolder:hover b,.cv-subfolder:hover span{color:var(--gold)}.cv-subfolder span{color:var(--ink-soft);font-family:var(--font-mono-fam);font-size:10.5px;line-height:1.45}.cv-entry{border-bottom:1px dashed var(--border);justify-content:space-between;align-items:flex-start;gap:16px;padding:11px 0;display:flex}.cv-entry:last-child{border-bottom:0;padding-bottom:0}.cv-entry b{color:var(--ink);font-size:14px}.cv-entry p{margin:5px 0 0;font-size:12px}.education-timeline{max-width:710px;margin:0;padding:0 0 0 2px;list-style:none}.education-timeline li{grid-template-columns:18px minmax(0,1fr);column-gap:16px;min-height:128px;display:grid;position:relative}.education-timeline li:not(:last-child):before{background:var(--gold);content:"";width:2px;position:absolute;top:18px;bottom:0;left:7px}.education-marker{background:var(--card);border:3px solid var(--gold);box-shadow:2px 2px 0 color-mix(in srgb, var(--gold) 45%, transparent);z-index:1;border-radius:50%;grid-area:1/1;width:16px;height:16px;margin-top:3px;position:relative}.education-content{text-align:left;grid-area:1/2;padding:0 0 28px}.education-date{color:var(--accent);font-family:var(--font-mono-fam);letter-spacing:.06em;font-size:11px;font-weight:700}.education-content h3{color:var(--ink);font-family:var(--font-display-fam);margin:4px 0 7px;font-size:17px;line-height:1.25}.education-content p{color:var(--ink-soft);margin:0;font-size:13px}.education-content .education-practice{border-left:2px solid var(--accent);margin-top:12px;padding-left:10px}.education-practice b{color:var(--ink)}.education-note{border-left:2px solid var(--gold);padding-left:10px;margin-top:12px!important}.education-practice-entry .education-date{color:var(--ink-soft)}.education-timeline li:first-child .education-marker{background:var(--gold);border-color:var(--ink);box-shadow:0 0 0 3px color-mix(in srgb, var(--gold) 35%, transparent)}.certification-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:2px;display:grid}.certification-card{background:var(--card);border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink);border-radius:7px;justify-content:space-between;align-items:center;gap:12px;min-height:92px;padding:14px 12px;transition:transform .16s,box-shadow .16s;display:flex}.certification-card:hover{box-shadow:5px 5px 0 var(--ink);transform:translate(-2px,-2px)}.certification-card-copy h3{color:var(--ink);font-family:var(--font-display-fam);margin:0 0 5px;font-size:13px;line-height:1.2}.certification-card-copy p,.certification-card-copy span{color:var(--ink-soft);margin:0;font-size:11px;line-height:1.35;display:block}.certification-seal{background:var(--amber);border:1.5px solid var(--ink);color:var(--bg);border-radius:50%;flex:0 0 20px;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;display:inline-flex}@keyframes cv-folder-rise{0%{opacity:0;transform:translateY(13px)}to{opacity:1;transform:translateY(0)}}@keyframes cv-folder-open{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.cv-block{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:22px;padding:32px;transition:background-color .45s,color .45s,border-color .45s;animation:.7s both cv-reveal}.cv-block:nth-child(2){animation-delay:80ms}.cv-block:nth-child(3){animation-delay:.16s}.cv-block:nth-child(4){animation-delay:.24s}.cv-block:nth-child(5){animation-delay:.32s}.cv-block:nth-child(6){animation-delay:.4s}.cv-block:nth-child(7){animation-delay:.48s}.cv-block:nth-child(8){animation-delay:.56s}@keyframes cv-reveal{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.cv-block h3{font-family:var(--font-display-fam);border-bottom:1px solid var(--border);margin:0 0 14px;padding-bottom:10px;font-size:18px}.cv-row{flex-wrap:wrap;justify-content:space-between;gap:12px;margin-bottom:6px;display:flex}.cv-row b{font-size:15px}.cv-row .when{font-family:var(--font-mono-fam);color:var(--ink-faint);white-space:nowrap;font-size:12.5px}.cv-block p{color:var(--ink-soft);margin:4px 0 14px;font-size:14.5px}.cv-download{background:var(--accent);color:#fff;font-family:var(--font-mono-fam);border-radius:2px;align-items:center;gap:10px;padding:13px 22px;font-size:14px;font-weight:600;text-decoration:none;transition:transform .15s,background .15s;display:inline-flex}.cv-download:hover{background:#333;transform:translateY(-2px)}footer{border-top:1px solid var(--border);padding:40px 0 60px;transition:border-color .45s}footer .wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}footer .mono{color:var(--ink-faint);font-size:12.5px}footer .flinks{gap:18px;display:flex}footer a{color:var(--ink-soft);font-size:13.5px;text-decoration:none}footer a:hover{color:var(--gold)}@media (prefers-reduced-motion:reduce){.cv-block{animation:none}}@media (width<=760px){.sitenav .wrap{align-items:flex-start}.sitenav .navlinks{flex-wrap:wrap;justify-content:flex-end;gap:10px}.studio{grid-template-columns:1fr;padding:34px 24px}.about-grid{grid-template-columns:1fr}.tool-grid{grid-template-columns:repeat(2,1fr)}.terminal-bar{padding:0 12px}.terminal-title{text-align:left}.terminal-status{display:none}.terminal-body{min-height:280px;padding:24px 18px;font-size:11px;overflow-x:auto}.terminal-output{margin-left:0}header.hero{padding:52px 0 40px}.section{padding:48px 0}.cv-row{flex-direction:column;gap:2px}.cv-folder-grid,.cv-file-app{grid-template-columns:1fr}.cv-sidebar{border-right:0;border-bottom:1px solid var(--border);padding:14px}.cv-sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;display:grid}.cv-sidebar-print{margin-top:0}.cv-file-heading{padding:22px 18px 16px}.cv-file-body{margin:0 18px 22px;padding:16px}.cv-file-body .cv-subfolder-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cv-subfolder-grid{grid-template-columns:1fr}.cv-folder-tab{grid-template-columns:22px 1fr auto;padding:15px 14px}.cv-folder-tab span{font-size:15px}.cv-folder-content{padding:18px 16px 20px}.cv-entry{flex-direction:column;gap:4px}.certification-grid{grid-template-columns:1fr}.cv-preview-modal{padding:12px}.cv-preview-window{height:92vh}.cv-preview-toolbar{font-size:9px}}@media (width<=460px){.tool-grid{grid-template-columns:1fr}.about-panel{padding:24px 20px}}@media (prefers-reduced-motion:reduce){.terminal-window,.about-panel,.about-tools,.about-transparency,.terminal-cursor{animation:none}}
