:root{--paper: #f7f5ef;--surface: #eeece4;--ink: #292d2a;--muted: #62675f;--accent: #2d6556;--line: #d9dcd1;--share-linkedin: #0077b5;--share-twitter: #000000;--share-reddit: #ff4500;--share-email: #7d7d7d;--share-facebook: #4267B2;--share-whatsapp: #25d366;--share-telegram: #0088cc;--share-viber: #645EA4;--serif: Georgia, "Times New Roman", serif;--sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mono: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;color-scheme:light;font-family:var(--sans);color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0;font-size:16px;line-height:1.75}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:5px}a:hover{color:var(--accent)}button,input{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.65}button,a,summary,input{outline-offset:5px}:focus-visible{outline:2px solid var(--accent)}[hidden]{display:none!important}h1,h2,h3,h4,p,figure{margin:0}h1,h2{font-family:var(--serif);font-weight:400;line-height:1.08;letter-spacing:-.035em}h2{font-size:clamp(2rem,3.5vw,3.1rem)}h3{font-size:1.25rem;line-height:1.4;font-weight:600;letter-spacing:-.02em}p+p{margin-top:1rem}ul,ol{margin:0;padding:0;list-style:none}img{max-width:100%;height:auto;display:block}main,.site-footer,.header-main,.section-nav{width:min(1120px,calc(100% - 80px));margin-inline:auto}main{outline:none}section,h1,h2{scroll-margin-top:150px}.eyebrow{font:500 .69rem/1.6 var(--mono);letter-spacing:.15em;color:var(--muted)}.mono{font-family:var(--mono)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link{position:fixed;top:12px;left:12px;transform:translateY(-160%);z-index:100;padding:10px;background:var(--paper)}.skip-link:focus{transform:translateY(0)}.site-header{position:sticky;top:0;z-index:10;background:var(--paper);border-bottom:1px solid var(--line)}.header-main{height:87px;display:flex;align-items:center;gap:22px}.brand{display:flex;align-items:center;gap:12px;font-size:1.12rem;font-weight:650;text-decoration:none;letter-spacing:-.04em}.brand-mark{width:36px;height:36px;background:var(--ink);color:var(--paper);display:flex;align-items:center;justify-content:center;border-radius:8px;font:600 1.1rem var(--mono);letter-spacing:-.14em}.brand-mark span{color:#a8c6aa}.brand-dot{color:var(--accent)}.edition{margin-left:22px;font:500 .62rem var(--mono);letter-spacing:.1em;color:var(--muted)}.header-controls{margin-left:auto;display:flex;align-items:center;gap:25px}.mode-controls{padding:3px;border:1px solid var(--line);border-radius:7px;display:flex;gap:2px}.mode-controls button{border:0;background:transparent;color:var(--muted);padding:5px 13px;border-radius:4px;font:500 .72rem/1.8 var(--mono);min-height:34px}.mode-controls button[aria-pressed=true]{background:var(--ink);color:var(--paper);opacity:1}.languages{display:flex;align-items:center;gap:10px;font:500 .7rem var(--mono)}.languages a{padding-block:12px;text-decoration:none;color:var(--muted)}.languages a[aria-current]{color:var(--ink);text-decoration:underline}.languages span{color:var(--line)}.section-nav{display:flex;gap:27px;min-height:45px;align-items:center;flex-wrap:wrap;padding-block:7px;font-size:.73rem}.section-nav a{text-decoration:none;color:var(--muted);padding-block:5px}.section-nav a:hover,.section-nav a[aria-current=location]{color:var(--accent)}.section-nav a[aria-current=location]{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:7px}.mode-status:empty{display:none}.mode-status{padding:18px 0;font-size:.85rem;color:var(--accent)}.hero{padding:85px 0 38px;display:grid;grid-template-columns:1.65fr 1fr;column-gap:60px;align-items:center}.hero .eyebrow{margin-bottom:30px}.hello{font-family:var(--serif);font-size:1.35rem;color:var(--muted);margin-bottom:10px}.hero h1{font-size:clamp(3.8rem,7.6vw,6.7rem);line-height:.98;margin-bottom:28px}.hero h1 em{font-weight:400;color:var(--accent)}.headline{font-weight:550;max-width:490px;font-size:1.1rem;line-height:1.6}.hero-copy>p:not(.eyebrow,.hello,.headline){font-size:.92rem;color:var(--muted);max-width:525px;margin-top:17px}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:29px}.button-primary,.share-disclosure>summary{display:inline-flex;align-items:center;gap:25px;background:var(--accent);color:var(--paper);padding:12px 21px;text-decoration:none;font-size:.8rem;border:1px solid var(--accent);border-radius:3px}.button-primary:hover,.share-disclosure>summary:hover,.share-disclosure[open]>summary{background:var(--ink);color:var(--paper)}.text-link{font-size:.8rem;font-weight:500;text-decoration:none;border-bottom:1px solid var(--line);padding:8px 0}.text-link span{margin-left:8px}.portrait{max-width:300px;justify-self:end;transform:rotate(3deg);margin-top:10px}.portrait-frame{padding:13px;background:#e9e5db;border:1px solid #d4d1c5;box-shadow:10px 12px #eeebe1}.portrait-placeholder{position:relative;isolation:isolate;overflow:hidden;width:260px;max-width:100%;aspect-ratio:1/1.1;display:grid;place-items:center;background:#dce1d1;background-image:linear-gradient(0deg,transparent 49%,#ffffff50 50%,transparent 51%),linear-gradient(90deg,transparent 49%,#ffffff50 50%,transparent 51%);background-size:26px 26px}.portrait-placeholder>span{display:grid;place-items:center;font:italic 5.1rem var(--serif);color:var(--accent);letter-spacing:-.09em;background:#eef0e5;width:180px;height:180px;border:1px solid #a4b49e;border-radius:50%;z-index:1}.portrait-orbit{position:absolute;width:320px;height:105px;border:1px solid #8da58b;border-radius:50%;transform:rotate(-35deg)}.portrait figcaption{margin-top:22px;display:flex;justify-content:space-between;gap:8px;font-size:.61rem;color:var(--muted);line-height:1.5}.motto{grid-column:1/-1;font-family:var(--serif);font-style:italic;font-size:clamp(1.25rem,2.1vw,1.65rem);border-top:1px solid var(--line);padding-top:27px;margin-top:68px}.motto span{font-style:normal;font-family:var(--mono);color:var(--accent);margin-right:12px}.cv-section{padding:66px 0;border-top:1px solid var(--line)}.section-heading{display:grid;grid-template-columns:235px 1fr;gap:42px;align-items:start;margin-bottom:30px}.section-heading>.eyebrow{padding-top:8px}.section-heading h2{max-width:700px}.section-content{margin-left:277px}.section-content>p,.share-prompt{font-size:.96rem;color:var(--muted);max-width:735px}.share-prompt{margin-right:30px}.section-about .section-content>p:first-child{color:var(--ink);font-size:1.1rem}.experience-list{margin-top:34px}.experience-item{padding:30px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:170px 1fr;gap:26px}.experience-meta{font-size:.7rem;color:var(--muted);line-height:1.6}.experience-meta p+p{margin-top:6px}.organization{font-size:.95rem;font-weight:600;color:var(--ink)}.period{font-family:var(--mono);font-size:.64rem}.item-subtitle{font-size:.73rem;color:var(--accent);margin-top:6px;margin-bottom:13px}.experience-item>div>p:not(.item-subtitle){font-size:.87rem;color:var(--muted)}.tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:16px}.tags li{padding:3px 8px;background:var(--surface);border:1px solid var(--line);border-radius:3px;font:400 .64rem/1.6 var(--mono);color:var(--muted)}details{margin-top:15px;font-size:.8rem}summary{cursor:pointer;color:var(--accent);padding-block:6px;width:fit-content}.bullets{list-style:disc;padding-left:18px;margin-top:12px;color:var(--muted);font-size:.84rem}.bullets li+li{margin-top:8px}.strengths-list{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:35px}.strengths-item{border-top:1px solid var(--line);padding-top:20px}.item-number{display:block;font:400 .7rem var(--mono);color:var(--accent);margin-bottom:15px}.strengths-item h3{font-family:var(--serif);font-size:1.38rem;font-weight:400}.strengths-item>p:not(.item-subtitle){font-size:.87rem;color:var(--muted)}.skills{border-top:1px solid var(--line);padding-top:24px;margin-top:34px}.skills>h3{font-size:.86rem}.skill-groups{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:20px}.skill-groups h4{font-size:.7rem;font-weight:500;color:var(--muted)}.skill-groups .tags{margin-top:10px}.how-i-work-list{display:grid;grid-template-columns:1fr 1fr;gap:32px}.how-i-work-item{position:relative;padding-left:26px;border-left:1px solid var(--line)}.how-i-work-item .item-number{color:var(--accent)}.how-i-work-item h3{font-family:var(--serif);font-weight:400;font-size:1.55rem}.how-i-work-item>p:not(.item-subtitle){font-size:.85rem;color:var(--muted)}.projects-list{margin-top:30px}.projects-item{position:relative;padding:25px 0 28px 50px;border-top:1px solid var(--line)}.projects-item .item-number{position:absolute;top:32px;left:0}.projects-item h3{font-family:var(--serif);font-weight:400;font-size:1.65rem}.projects-item>p:not(.item-subtitle){font-size:.9rem;color:var(--muted)}.item-links{display:flex;gap:25px;margin-top:20px;font-size:.75rem}.item-links a{text-decoration:none}.item-links span{color:var(--accent)}.section-hobbies .section-content{position:relative;padding-right:150px}.hobby-scene{font-size:.51rem;line-height:1.8;color:var(--accent);position:absolute;right:0;top:3px;transform:rotate(-5deg)}.section-contact{padding-bottom:80px}.contact-links{display:flex;flex-wrap:wrap;gap:28px;margin-top:26px;font-family:var(--serif);font-size:1.4rem}.contact-links a{text-decoration:none;border-bottom:1px solid var(--accent)}.contact-links span{font:1rem var(--mono);color:var(--accent);margin-left:15px}.share-control{--share-popover-gap: 12px;display:flex;flex-wrap:wrap;align-items:baseline;column-gap:.4em;position:relative;z-index:2;width:fit-content;margin-top:28px}.share-disclosure{position:relative}.share-disclosure>summary{list-style:none}.share-disclosure>summary::-webkit-details-marker{display:none}.share-popover{position:absolute;left:0;bottom:calc(100% + var(--share-popover-gap));z-index:20;display:grid;grid-template-columns:repeat(4,44px);gap:8px;width:max-content;padding:20px;border:1px solid var(--line);border-radius:9px;background:var(--paper);box-shadow:0 10px 30px #292d2a24}.share-popover:after{position:absolute;top:100%;right:0;left:0;height:calc(var(--share-popover-gap) + 2px);content:""}.share-option{display:grid;place-items:center;width:44px;height:44px;border-radius:9px;text-decoration:none;transition:transform .14s ease}.share-option[data-share=linkedin]{background:var(--share-linkedin)}.share-option[data-share=twitter]{background:var(--share-twitter)}.share-option[data-share=reddit]{background:var(--share-reddit)}.share-option[data-share=email]{background:var(--share-email)}.share-option[data-share=facebook]{background:var(--share-facebook)}.share-option[data-share=whatsapp]{background:var(--share-whatsapp)}.share-option[data-share=telegram]{background:var(--share-telegram)}.share-option[data-share=viber]{background:var(--share-viber)}.share-option img{width:22px;height:22px;object-fit:contain}.share-option:hover{color:inherit;transform:translateY(-2px)}@media (prefers-reduced-motion: reduce){.share-option{transition:none}}.pending-note{font-size:.72rem!important;margin-top:24px!important}.site-footer{border-top:1px solid var(--line);padding:25px 0 40px;display:flex;align-items:center;gap:20px}.site-footer p{font-size:.68rem;color:var(--muted);margin-left:auto}.site-footer>a:last-child{font-size:.7rem;text-decoration:none}.not-found{min-height:80vh;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:24px}.not-found h1{font-size:clamp(2.8rem,8vw,6rem)}html[data-mode=dev]{--paper: #151c24;--surface: #1e2833;--ink: #e8e8df;--muted: #a5b5be;--accent: #9bccc0;--line: #34434c;color-scheme:dark}html[data-mode=dev],html[data-mode=dev] body{height:100%;overflow:hidden;background:#11181f}#dev-main{position:fixed;top:var(--terminal-top, 0px);left:0;width:100%;height:100vh;height:var(--terminal-height, 100dvh);margin:0}#dev-view{position:relative;height:100%;overflow:hidden;scroll-margin-top:0}#dev-controls{position:fixed;top:calc(var(--terminal-top, 0px) + 24px);right:max(22px,calc((100vw - 1120px)/2 + 82px));z-index:20;background:#11181f;border-radius:7px}.terminal-window{display:grid;grid-template-rows:minmax(0,1fr) auto;height:100%;min-height:0;font:400 .875rem/1.8 var(--mono);color:#e8e8df;overflow-wrap:anywhere}#terminal-output{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:#455960 #11181f;padding:84px clamp(18px,3vw,48px) 20px}#terminal-output:focus-visible{outline-offset:-3px}#terminal-input-panel{position:relative;z-index:1;padding:12px clamp(18px,3vw,48px) calc(16px + env(safe-area-inset-bottom,0px));border-top:2px solid #698d89;background:#1b2833;box-shadow:0 -8px 24px #0003}#terminal-input-panel:focus-within{border-top-color:#9bccc0}#terminal-welcome{padding:0 0 20px}.terminal-wordmark{font:400 clamp(.4rem,1.5vw,.9rem) / 1.2 var(--mono);color:#9bccc0;overflow:auto;margin:0 0 20px}.terminal-wordmark.compact{display:none}#terminal-welcome h2{font:500 1.1rem/1.6 var(--mono);letter-spacing:0}#terminal-welcome p{color:#a5b5be;font-size:.77rem}#transcript{overflow:visible}.terminal-entry{padding:18px 0;max-width:110ch;overflow-wrap:anywhere}.terminal-entry:last-child{min-height:var(--output-space, 0px)}.terminal-entry .command-echo,.terminal-install .command-echo{color:#c1f4e5;font-size:1rem;font-weight:600;line-height:1.6;margin:0 0 18px;padding:10px 14px;border-left:3px solid #9bccc0;background:#1b2833}.terminal-install{max-width:72ch;margin-bottom:28px;padding:20px;border:1px solid #698d89;background:repeating-linear-gradient(0deg,#1b283355 0 1px,transparent 1px 4px);box-shadow:inset 0 0 30px #9bccc008}.terminal-install p{font-size:.8rem;color:#a5b5be}.terminal-install .install-label{color:#dfd2a9}.install-meter{color:#c1f4e5;font:600 clamp(.65rem,2.4vw,.95rem)/1.8 var(--mono);margin:12px 0 0;white-space:pre}.input-row input:disabled{opacity:.5;cursor:wait}.terminal-entry h2{font:500 1.02rem/1.5 var(--mono);letter-spacing:0;color:#dfd2a9;margin-bottom:12px}.terminal-entry h3{font:500 .9rem/1.6 var(--mono);margin-top:20px;color:#9bccc0}.terminal-entry p,.terminal-entry ul{font-size:.79rem}.terminal-entry p{margin-top:8px}.terminal-entry ul{padding-left:20px;list-style:disc}.terminal-entry a{color:#9bccc0;overflow-wrap:anywhere}.terminal-entry .terminal-links{display:flex;flex-wrap:wrap;gap:16px;margin-block:10px}.terminal-entry .terminal-error{color:#f3b7a4}.terminal-skip{padding:6px 12px;margin-bottom:12px;border:1px solid #698d89;border-radius:3px;background:#1b2833;color:#c1f4e5;font:inherit;font-size:.75rem}.terminal-skip:hover{background:#34434c}.terminal-entry .terminal-skills{color:#a5b5be}.help-list{display:grid;grid-template-columns:max-content 1fr;gap:8px 24px}.help-list dt{color:#9bccc0}.help-list dd{margin:0;color:#a5b5be}.terminal-window form{display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:baseline;gap:clamp(6px,2vw,12px);margin:0;padding:4px 0}.terminal-window label{color:#9bccc0;font-size:.875rem;white-space:nowrap}.input-row{min-width:0}.command-line{position:relative;font:400 16px/1.8 var(--mono)}.input-row input{position:relative;display:block;min-width:0;width:100%;border:0;background:transparent;color:#e8e8df;border-radius:0;padding:0;font:inherit;caret-color:#9bccc0}.input-row input:focus-visible{outline:1px solid #455960;outline-offset:4px}#command-ghost{position:absolute;inset:0;overflow:hidden;white-space:pre;pointer-events:none;color:#a5b5be}#ghost-prefix{color:transparent}.terminal-command{font:inherit;font-weight:700;color:#c1f4e5;background:#34434c;border:1px solid #455960;border-radius:3px;padding:1px 5px;white-space:nowrap}#terminal-hint{padding:8px 0 0;max-width:110ch;font-size:.7rem;color:#a5b5be}.terminal-window a:hover{color:#e8e8df}@media (min-width: 1500px){.hero{padding-top:105px}}@media (max-width: 900px){main,.site-footer,.header-main,.section-nav{width:calc(100% - 44px)}.edition{display:none}.hero{gap:25px;grid-template-columns:1.4fr 1fr;padding-top:55px}.hero h1{font-size:4.6rem}.portrait-placeholder{width:220px}.portrait-placeholder>span{width:150px;height:150px;font-size:4rem}.section-heading{grid-template-columns:170px 1fr;gap:22px}.section-content{margin-left:192px}.experience-item{grid-template-columns:1fr;gap:17px}.experience-meta{display:flex;flex-wrap:wrap;gap:8px 16px}.experience-meta p+p{margin:0}.experience-meta .period{width:100%}.skill-groups{grid-template-columns:1fr}.section-hobbies .section-content{padding-right:0}.hobby-scene{position:static;margin-top:25px}.section-nav{gap:18px}.site-footer p{max-width:220px}.strengths-list{gap:25px}}@media (width < 900px){.hobby-scene{display:none}}@media (max-width: 600px){main,.site-footer,.header-main,.section-nav{width:calc(100% - 36px)}body{font-size:15px}section,h1,h2{scroll-margin-top:140px}.header-main{height:70px;gap:12px}.header-controls{gap:13px}.brand{font-size:1rem;gap:8px}.brand-mark{width:29px;height:29px;font-size:.9rem}.mode-controls button{padding:4px 10px;min-height:32px}.languages{gap:6px;font-size:.65rem}.section-nav{flex-wrap:nowrap;gap:18px;overflow-x:auto;padding:4px;font-size:.8rem;min-height:52px;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.section-nav a{flex:0 0 auto;display:inline-flex;align-items:center;min-height:40px;padding:8px 4px;white-space:nowrap;outline-offset:2px}.hero{grid-template-columns:minmax(0,1fr);position:relative;padding-top:38px;gap:12px}.hero-copy{display:contents}.hero-copy>*{grid-column:1;min-width:0}.hero .eyebrow{grid-row:1;font-size:.57rem;margin-bottom:13px}.hero h1{grid-row:3;font-size:clamp(3.5rem,13.5vw,5rem);margin-bottom:8px}.hello{grid-row:2;font-size:1.1rem;margin-bottom:0}.hero-copy>p:not(.eyebrow,.hello,.headline){font-size:.87rem}.headline{font-size:.97rem;max-width:350px}.portrait{grid-column:1;grid-row:4;justify-self:center;width:150px;max-width:100%;transform:rotate(2deg);margin:0 0 12px}.portrait-frame{padding:8px;box-shadow:6px 7px #eeebe1}.portrait-placeholder{width:100%;aspect-ratio:1}.portrait-placeholder>span{width:70%;height:auto;aspect-ratio:1;font-size:clamp(1.8rem,7vw,2.8rem)}.portrait-orbit{width:200px;height:60px}.portrait figcaption{font-size:.53rem;margin-top:10px;flex-direction:column;align-items:center;text-align:center;gap:3px}.hero-actions{gap:20px;margin-top:24px}.motto{font-size:1.3rem;margin-top:15px;padding-top:22px}.motto span{margin-right:4px}.cv-section{padding:40px 0}.section-heading{grid-template-columns:1fr;gap:12px;margin-bottom:23px}.section-heading h2{font-size:2.15rem;max-width:430px}.section-content{margin-left:0}.section-content>p,.share-prompt{font-size:.91rem}.section-about .section-content>p:first-child{font-size:1rem}.strengths-list{gap:25px;grid-template-columns:1fr}.strengths-item h3{font-size:1.24rem}.strengths-item>p:not(.item-subtitle){font-size:.8rem}.how-i-work-list{gap:28px;grid-template-columns:1fr}.how-i-work-item{padding-left:22px}.skill-groups{gap:18px}.projects-item{padding-left:36px}.projects-item h3{font-size:1.5rem}.contact-links{gap:20px;font-size:1.25rem}.share-control{flex-direction:column;align-items:flex-start;row-gap:.2em}.site-footer{flex-wrap:wrap;gap:8px 16px;align-items:center}.site-footer .brand{flex:1;min-height:44px}.site-footer>a:last-child{display:inline-flex;align-items:center;gap:6px;min-height:44px;margin-left:auto;font-size:.75rem}.site-footer p{order:3;width:100%;max-width:none;margin:0;font-size:.75rem;text-align:center}#dev-controls{top:calc(var(--terminal-top, 0px) + 18px);right:18px}#terminal-output{padding-top:78px}.help-list{grid-template-columns:1fr;gap:0;font-size:.72rem}.help-list dd{margin-bottom:12px}.terminal-wordmark.wide{display:none}.terminal-wordmark.compact{display:block;font-size:.85rem}}@media (forced-colors: active){.portrait-placeholder,.button-primary,.share-disclosure>summary,.tags li,.mode-controls button{border:1px solid CanvasText}}
