@font-face{font-family:'Pragmatica Next';src:url('/holding-home-assets/pragmatica-next.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
:root{color-scheme:dark;--paper:#101112;--ink:#f5f5f2;--muted:#aaaea9;--accent:#b7ff3c;--line:#383c39;--pattern:#ffffff0d;--active:#f5f5f2;--active-ink:#101112;--selection:#40591d;--font:'Pragmatica Next',Arial,sans-serif;--gutter:3rem;--space-sm:1rem;--space-md:1.5rem;--space-lg:2rem;--space-xl:3rem}
:root[data-theme='light']{color-scheme:light;--paper:#fafaf7;--ink:#20211e;--muted:#62635d;--accent:#af241f;--line:#cdcec7;--pattern:#20211e22;--active:#20211e;--active-ink:#fafaf7;--selection:#f0dcd5}
:root[data-theme='cyberpunk']{color-scheme:light;--paper:#e8ff37;--ink:#101206;--muted:#454c13;--accent:#101206;--line:#6e7a20;--pattern:#10120615;--active:#101206;--active-ink:#42e8ff;--selection:#42e8ff}
:root{--button-radius:0;--button-cut:.8rem}
:root[data-theme='dark']{--button-radius:.375rem}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;min-height:100svh;display:flex;flex-direction:column;isolation:isolate;background:var(--paper);color:var(--ink);font:400 1rem/1.6 var(--font);font-kerning:normal;-webkit-font-smoothing:antialiased}
body::before{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(var(--pattern) 1px,transparent 1px),linear-gradient(90deg,var(--pattern) 1px,transparent 1px);background-size:2rem 2rem}
[data-theme='light'] body::before{background-image:radial-gradient(circle,var(--pattern) 1px,transparent 1.3px);background-size:1.15rem 1.15rem}
[data-theme='cyberpunk'] body::before{background-size:4rem 4rem}
[data-theme='dark'] body::before{background-image:linear-gradient(var(--pattern) 1px,transparent 1px),linear-gradient(90deg,var(--pattern) 1px,transparent 1px),radial-gradient(ellipse 72% 85% at 0% 0%,#6335b85e 0%,#39256728 48%,transparent 75%),radial-gradient(ellipse 55% 60% at 100% 100%,#7b287344 0%,transparent 75%);background-size:2rem 2rem,2rem 2rem,100% 100%,100% 100%;background-repeat:repeat,repeat,no-repeat,no-repeat}
main{width:100%;max-width:72rem;margin:0 auto;padding-inline:var(--gutter)}
.theme-switch{display:flex;flex-wrap:wrap;gap:.25rem}
.theme-switch a{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:2.75rem;border:1px solid transparent;padding:.5rem .75rem;background:var(--paper);color:var(--muted);font:450 .875rem/1.2 var(--font);cursor:pointer}
.theme-switch a:hover{border-color:var(--line);color:var(--ink)}
.theme-switch a[aria-current='page']{background:var(--active);color:var(--active-ink);border-color:var(--active)}
[data-theme='dark'] .theme-switch a:not([aria-current='page']){background:transparent}
.theme-swatch{width:.65rem;height:.65rem;border-radius:50%;border:1px solid #888;flex:none}
[data-set-theme='dark'] .theme-swatch{background:#101112}
[data-set-theme='light'] .theme-swatch{background:#fafaf7}
[data-set-theme='cyberpunk'] .theme-swatch{background:#e8ff37}
main{padding-block:clamp(2rem,6vh,5rem) 4rem}.hero{display:grid;grid-template-columns:minmax(0,1fr) 20rem;gap:4rem;align-items:start}
.content{min-width:0;width:100%;overflow-wrap:anywhere}
h1{font-weight:550;font-size:clamp(2rem,6.5vw,4rem);line-height:1.08;letter-spacing:-.035em;margin:0 0 var(--space-md);text-wrap:balance;overflow-wrap:anywhere}
h1 .greeting{display:block}
[data-theme='cyberpunk'] h1{font-weight:750;letter-spacing:-.05em}
.intro{max-width:36rem;font-size:1.1875rem;line-height:1.6}
p{margin:0 0 var(--space-sm);text-wrap:pretty;orphans:2;widows:2}
.note{color:var(--muted)}
.contacts{list-style:none;padding:0;margin:2.5rem 0 0;font-size:1rem}
.contacts li{display:grid;grid-template-columns:6rem minmax(0,1fr);gap:var(--space-md);align-items:baseline}
.contacts li>span{color:var(--muted);font-size:.875rem}
.contacts a{justify-self:start;display:inline-flex;align-items:center;min-height:2.75rem;color:var(--ink);text-decoration-thickness:1px;text-underline-offset:.25em;overflow-wrap:anywhere}
a:hover{color:var(--accent)}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.portrait-frame{position:relative;isolation:isolate;overflow:hidden;width:100%;max-width:100%}
.portrait{display:block;width:100%;height:auto}
[data-theme='cyberpunk'] .portrait-frame{outline:1px solid var(--ink);box-shadow:.5rem .5rem 0 var(--ink)}
.portrait-frame::before,.portrait-frame::after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:url('/holding-home-assets/andrey-velzha.webp') center / 100% 100%;opacity:0}
.portrait-frame::before{filter:hue-rotate(90deg) saturate(1.8)}
.portrait-frame::after{filter:hue-rotate(250deg) saturate(1.8)}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) and (min-width:761px){.portrait-frame:hover::before{animation:glitch-upper 1.1s steps(1,end)}.portrait-frame:hover::after{animation:glitch-lower 1.1s steps(1,end)}}
@keyframes glitch-upper{0%{opacity:.8;clip-path:inset(18% 0 72%);transform:translateX(7px)}24%{clip-path:inset(45% 0 49%);transform:translateX(-5px)}48%{clip-path:inset(70% 0 26%);transform:translateX(3px)}72%,100%{opacity:0;transform:none}}
@keyframes glitch-lower{0%{opacity:.75;clip-path:inset(68% 0 23%);transform:translateX(-6px)}24%{clip-path:inset(30% 0 63%);transform:translateX(5px)}48%{clip-path:inset(56% 0 39%);transform:translateX(-3px)}72%,100%{opacity:0;transform:none}}
.site-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 2rem;width:calc(100% - var(--gutter) * 2);max-width:66rem;margin:auto auto 0;border-top:1px solid var(--line);padding-block:var(--space-md);color:var(--muted);font-size:.875rem}
.site-footer p{flex:1;min-width:0;margin:0;overflow-wrap:anywhere}
.site-settings{position:relative;flex:none}
.site-settings .settings-toggle,.site-settings .settings-close{width:2.75rem;height:2.75rem;padding:0;flex:none;cursor:pointer}
.site-settings .settings-close{background:transparent}
.settings-toggle{list-style:none}
.settings-toggle::-webkit-details-marker{display:none}
.settings-toggle::marker{content:''}
.settings-panel{position:absolute;z-index:10;right:0;bottom:calc(100% + .75rem);width:min(22rem,calc(100vw - var(--gutter) * 2));max-height:calc(100dvh - 7rem);overflow:auto;padding:1rem;border:1px solid var(--line);border-radius:var(--button-radius);background:var(--paper);color:var(--ink);box-shadow:0 .75rem 2.5rem #0003}
[data-theme='hr'] .settings-panel{border-radius:1.5rem}
.settings-heading{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.75rem}
.settings-heading h2{margin:0;font-size:1.125rem;font-weight:600;line-height:1.3;text-wrap:balance}
.settings-panel .settings-label{color:var(--muted);font-size:.875rem;margin:0 0 .75rem}
.settings-panel .theme-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;width:100%}
.settings-panel .theme-switch a{min-width:0;white-space:normal;padding:.625rem .5rem}
::selection{background:var(--selection);color:var(--ink)}
[data-theme='cyberpunk'] ::selection{color:#101206}
:lang(ja){font-family:'Pragmatica Next','Yu Gothic','Meiryo',sans-serif;line-break:strict}
:lang(ja) h1{font-size:clamp(2rem,5.7vw,3rem);line-height:1.4;letter-spacing:0}
@media(max-width:1100px){:root{--gutter:2rem}.hero{grid-template-columns:minmax(0,1fr) 16rem;gap:var(--space-xl)}h1{font-size:clamp(2rem,5vw,3rem)}}
@media(max-width:760px){main{max-width:40rem}.hero{grid-template-columns:minmax(0,1fr) clamp(5rem,22vw,7rem);grid-template-areas:'title avatar' 'intro intro' 'actions actions' 'contacts contacts';column-gap:var(--space-sm);row-gap:var(--space-lg)}.content{display:contents}h1{grid-area:title;align-self:center;margin:0;font-size:clamp(1.75rem,6.5vw,3rem)}.intro{grid-area:intro;min-width:0;overflow-wrap:anywhere}.contacts{grid-area:contacts;margin:0;min-width:0}.portrait-frame{grid-area:avatar;align-self:center;aspect-ratio:1;border-radius:50%}.portrait{width:100%;height:100%;object-fit:cover;object-position:53% 32%;transform:scale(2.5);transform-origin:53% 32%}.portrait-frame::before,.portrait-frame::after{display:none}[data-theme='cyberpunk'] .portrait-frame{box-shadow:.25rem .25rem 0 var(--ink)}.site-footer{max-width:calc(40rem - var(--gutter) * 2)}:lang(ja) h1{font-size:clamp(1.5rem,5vw,2rem)}}
@media(max-width:420px){:root{--gutter:1.25rem}.theme-switch{width:100%}.theme-switch a{padding-inline:.375rem;gap:.25rem;font-size:.8125rem;flex:1 0 auto}.theme-swatch{width:.5rem;height:.5rem}main{padding-block:var(--space-lg) var(--space-xl)}.intro{font-size:1.0625rem}.contacts li{grid-template-columns:4.5rem minmax(0,1fr);gap:var(--space-sm)}.contacts{font-size:.9375rem}}
@media(prefers-reduced-motion:reduce){.portrait-frame::before,.portrait-frame::after{display:none;animation:none}}
/* Audience presentation shares facts, typography and contacts. */
.theme-switch a{text-decoration:none;white-space:nowrap}
[data-set-theme='hr'] .theme-swatch{background:#142746}
.role-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin:1.75rem 0 0}
.role-action{display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;max-width:100%;padding:.625rem 1rem;border:1px solid var(--line);color:var(--ink);font:500 1rem/1.3 var(--font);text-decoration:none;text-align:center;overflow-wrap:anywhere}
.role-action:hover{border-color:var(--ink);color:var(--ink)}
.role-action.is-primary{background:var(--active);color:var(--active-ink);border-color:var(--active)}
.role-action.is-primary:hover{text-decoration:underline;text-underline-offset:.2em}
.role-action,.theme-switch a{border-radius:var(--button-radius)}
/* Same opposing corner cuts as .preview-button; only the painted layers are clipped. */
[data-theme='cyberpunk'] :is(.role-action,.theme-switch a){position:relative;isolation:isolate;--button-border:var(--line);--button-fill:var(--paper);--button-ink:var(--ink);background:transparent;border-color:transparent;color:var(--button-ink)}
[data-theme='cyberpunk'] .theme-switch a{--button-border:transparent}
[data-theme='cyberpunk'] :is(.role-action,.theme-switch a)::before,[data-theme='cyberpunk'] :is(.role-action,.theme-switch a)::after{content:'';position:absolute;pointer-events:none;z-index:-1;clip-path:polygon(0 0,calc(100% - var(--button-cut)) 0,100% var(--button-cut),100% 100%,var(--button-cut) 100%,0 calc(100% - var(--button-cut)))}
[data-theme='cyberpunk'] :is(.role-action,.theme-switch a)::before{inset:-1px;background:var(--button-border)}
[data-theme='cyberpunk'] :is(.role-action,.theme-switch a)::after{inset:0;background:var(--button-fill);--button-cut:calc(.8rem - .0625rem)}
[data-theme='cyberpunk'] :is(.role-action,.theme-switch a):hover{--button-border:var(--ink)}
[data-theme='cyberpunk'] :is(.role-action.is-primary,.theme-switch a[aria-current='page']){--button-border:var(--active);--button-fill:var(--active);--button-ink:var(--active-ink);background:transparent;border-color:transparent;color:var(--button-ink)}
[data-theme='cyberpunk'] :is(.role-action,.theme-switch a):focus-visible{text-decoration:underline;text-underline-offset:.2em}
.profile-role{font-size:1.25rem;font-weight:600;line-height:1.4}
:root[data-theme='hr']{color-scheme:dark;--paper:#142746;--ink:#f5f7fb;--muted:#bdcbe0;--accent:#b3cbff;--line:#637894;--pattern:transparent;--active:#f5f7fb;--active-ink:#142746;--selection:#314f7d;--button-radius:999px}
[data-theme='hr'] body::before{display:none}
[data-audience='hr'] main{max-width:64rem}
[data-audience='hr'] .hero{grid-template-columns:minmax(0,1fr) 8rem;grid-template-areas:'title avatar' 'intro intro' 'actions actions' 'contacts contacts';column-gap:2rem;row-gap:1.5rem}
[data-audience='hr'] .content{display:contents}
[data-audience='hr'] h1{grid-area:title;align-self:center;margin:0}
[data-audience='hr'] .intro{grid-area:intro;max-width:46rem;min-width:0;overflow-wrap:anywhere}
[data-audience='hr'] .role-actions{grid-area:actions;margin:0}
[data-audience='hr'] .contacts{grid-area:contacts;margin:0;min-width:0}
[data-audience='hr'] .portrait-frame{grid-area:avatar;align-self:center;aspect-ratio:1;border-radius:50%}
[data-audience='hr'] .portrait{width:100%;height:100%;object-fit:cover;object-position:53% 32%;transform:scale(2.5);transform-origin:53% 32%}
[data-audience='hr'] .portrait-frame::before,[data-audience='hr'] .portrait-frame::after{display:none}
.resume-document{max-width:46rem;margin:3rem 0 0;font-size:1.0625rem;line-height:1.65;overflow-wrap:anywhere}
[data-audience='hr'] .resume-document{color-scheme:light;--paper:#fff;--ink:#171c26;--muted:#4d5a70;--line:#dce2ea;--accent:#234fac;--selection:#dbe7ff;max-width:none;padding:clamp(1.25rem,4vw,3rem);background:var(--paper);color:var(--ink);border-radius:1.5rem}
[data-audience='hr'] .resume-section{max-width:46rem}
[data-audience='hr'] .resume-section:first-of-type{border-top:0;padding-top:0}
[data-audience='hr'] .resume-section:last-child{padding-bottom:0}
.resume-section{padding:2rem 0;border-top:1px solid var(--line)}
.resume-section h2{font-size:1.75rem;font-weight:650;line-height:1.2;letter-spacing:-.02em;margin:0 0 1.25rem;text-wrap:balance}
.resume-job+ .resume-job{margin-top:2.5rem}
.resume-job h3{font-size:1.1875rem;font-weight:650;line-height:1.4;margin:0 0 .5rem;text-wrap:pretty}
.job-dates{color:var(--muted);font-size:.9375rem;line-height:1.5;margin-bottom:1rem}
.job-details{padding-left:1.25rem;margin:0}
.job-details li+li{margin-top:.75rem}
.skill-tags{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin:0}
.skill-tags li{padding:.25rem .625rem;border:1px solid var(--line);font-size:.9375rem;max-width:100%}
.resume-language{font-size:.9375rem;color:var(--muted)}
@media(max-width:760px){.role-actions{grid-area:actions;margin:0}.role-action{flex:1 1 auto}[data-audience='hr'] .hero{grid-template-columns:minmax(0,1fr) clamp(5rem,22vw,7rem);column-gap:1rem;row-gap:1.5rem}.resume-document{margin-top:2.5rem}[data-audience='hr'] h1{font-size:clamp(1.75rem,6.5vw,3rem)}[data-audience='hr'] main{max-width:40rem}}
@media(max-width:420px){.theme-switch a{font-size:.8125rem;padding-inline:.375rem;gap:.25rem;flex:1 0 auto;white-space:normal}.theme-switch{gap:.25rem}.role-action{font-size:.9375rem}.resume-section h2{font-size:1.5rem}}
@media(max-width:420px){[data-audience='hr'] .resume-document{margin-inline:calc(var(--gutter) / -2);padding:1.25rem 1rem;border-radius:1.25rem}}
@media(max-width:420px){[data-audience='hr'] .greeting{font-size:.85em;white-space:nowrap}}
@media print{
 @page{size:A4;margin:15mm}
 :root{--paper:#fff!important;--ink:#000!important;--muted:#000!important;--line:#bbb!important}
 body{display:block;background:#fff!important;color:#000!important;font-size:10pt;min-height:0}
 body::before,.site-footer,.portrait-frame,.role-actions,.greeting,.name-prefix,.resume-language{display:none!important}
 main,[data-audience='hr'] main{display:block;width:100%;max-width:none;padding:0;margin:0}
 .hero,[data-audience='hr'] .hero{display:block}
 .content,[data-audience='hr'] .content{display:block}
 h1,[data-audience='hr'] h1{font-size:24pt!important;line-height:1.15;margin-bottom:10pt}
 .intro,.resume-document{max-width:none;font-size:10pt;line-height:1.5}
 .profile-role{font-size:12pt}.note{display:none}
 .contacts,[data-audience='hr'] .contacts{margin:10pt 0;font-size:10pt}.contacts li{display:block}.contacts li>span{display:inline;margin-right:.5rem}.contacts a{display:inline;min-height:0;color:#000;text-decoration:none}
 .resume-document{margin-top:12pt}.resume-section{padding:12pt 0}.resume-section h2{font-size:16pt;break-after:avoid}.resume-job h3{font-size:12pt;break-after:avoid}.job-dates{font-size:9pt;break-after:avoid}.job-details li{break-inside:avoid}.skill-tags{display:block}.skill-tags li{display:inline;border:0;padding:0;font-size:10pt}.skill-tags li::after{content:'; '}
 [data-audience='hr'] .resume-document{--ink:#000;--muted:#000;--line:#bbb;max-width:none;margin-inline:0;padding:0;border-radius:0;background:#fff;color:#000}
 [data-audience='hr'] .resume-section{max-width:none}
}
