:root{--paper: #ffffff;--paper-2: #fafafa;--ink: #2e2e2e;--ink-soft: #5b5b5b;--ink-faint: #8c8c8c;--yellow: #f3df49;--yellow-deep: #ecd42f;--yellow-soft: #fdf7c9;--gray: #eeeeee;--line: #e7e7e7;--teal: #0d9488;--teal-deep: #0b7d72;--radius: 14px;--radius-sm: 10px;--maxw: 1180px;--header-h: 60px;--shadow-sm: 0 2px 10px rgba(46, 46, 46, .06);--shadow: 0 10px 30px -14px rgba(46, 46, 46, .25);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;--font-title: "M PLUS Rounded 1c", "Inter", system-ui, sans-serif;font-weight:400;line-height:1.5;color:var(--ink);background-color:var(--paper);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}.print-only{display:none}html{scroll-behavior:smooth;scroll-padding-top:var(--header-h)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{margin:0;min-height:100vh;background-color:var(--paper);color:var(--ink);overflow-x:hidden}h1,h2,h3{margin:0;font-family:var(--font-title);font-weight:700;line-height:1.1}p{margin:0}a{color:var(--teal);text-decoration:none;transition:color .2s ease}a:hover{color:var(--teal-deep)}img{display:block;max-width:100%}::selection{background:var(--yellow);color:var(--ink)}:focus-visible{outline:2px solid var(--teal);outline-offset:3px;border-radius:4px}.site-header{position:fixed;top:0;left:0;width:100%;height:var(--header-h);z-index:100;background-color:var(--yellow);box-shadow:0 2px 14px #3232321f}.site-header .logo{width:40px;height:40px;position:absolute;top:10px;left:30px;background-size:contain;background-repeat:no-repeat;background-position:center;background-image:url(/logo.png);cursor:pointer}.site-header nav{position:absolute;top:50%;right:30px;transform:translateY(-50%);color:var(--ink);display:flex;gap:24px}.site-header .item{text-transform:uppercase;font-size:.72rem;letter-spacing:.08em;font-weight:700;cursor:pointer;position:relative;padding:4px 0;transition:color .2s ease}.site-header .item:after{content:"";position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--ink);transition:width .22s ease}.site-header .item:hover:after{width:100%}@media(max-width:700px){.site-header .logo{left:16px}.site-header nav{right:16px;gap:16px}.site-header .item{font-size:.68rem}}h1{font-size:clamp(2.4rem,6vw,5rem);color:var(--ink);text-transform:uppercase;font-weight:800;letter-spacing:-.01em;margin:2px 0 18px}.about p,.contact p{font-size:clamp(1.05rem,1.6vw,1.5rem);color:var(--ink-soft);line-height:1.6;margin-bottom:18px}.about strong{color:var(--ink);font-weight:700}.btn{color:#fff;display:inline-flex;align-items:center;font-weight:700;background-color:var(--ink);border-radius:var(--radius-sm);overflow:hidden;text-decoration:none;box-shadow:var(--shadow);transition:transform .18s ease,box-shadow .18s ease}.btn:hover{color:#fff;transform:translateY(-2px);box-shadow:0 16px 34px -14px #2e2e2e66}.btn__image{background-color:var(--yellow);color:var(--ink);display:flex;justify-content:center;align-items:center;width:58px;height:58px;flex:none}.btn__text{padding:0 22px}.about{position:relative;overflow:hidden;background-color:var(--paper);display:flex;align-items:center;justify-content:center;gap:56px;padding:clamp(80px,11vw,150px) 32px clamp(64px,9vw,120px)}.hero-bg{position:absolute;inset:0;z-index:0}.hero-bg canvas{display:block;width:100%;height:100%}.about .text,.about .my-photo{position:relative;z-index:1}.about .text{flex:0 1 600px}.about .my-photo{flex:none;width:340px;height:auto;border-radius:20px;box-shadow:var(--shadow);order:2}.about .btn{margin-top:12px}@media(max-width:820px){.about{flex-direction:column;text-align:left;gap:28px;padding:80px 20px 48px}.about .my-photo{order:0;width:100%;max-width:320px}.about .text{width:100%}}.cv{background-color:var(--paper-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.cv>h1,.cv-cols{max-width:var(--maxw);margin:0 auto;padding-left:32px;padding-right:32px}.cv>h1{padding-top:clamp(56px,8vw,90px)}.cv h2{text-transform:uppercase;color:var(--ink);font-size:clamp(1.25rem,2.4vw,1.7rem);font-weight:800;letter-spacing:.01em;margin:44px 0 22px;padding-bottom:10px;border-bottom:3px solid var(--yellow);display:inline-block}.cv-cols{display:flex;gap:72px;padding-bottom:clamp(56px,8vw,96px)}.col_left{width:60%}.col_right{width:40%}.date_range_item{display:flex;gap:20px;margin-bottom:26px;font-size:1.02rem;color:var(--ink-soft);line-height:1.6}.date_range_item .date{width:190px;flex:none;color:var(--ink);font-weight:500}.date_range_item .text{flex:1}.plain-link{color:inherit}.plain-link:hover{color:var(--ink)}.date_range_item .text h3{margin:0 0 10px;font-size:1.12rem;color:var(--ink);font-weight:700;line-height:1.35}.date_range_item ul{margin:12px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}.date_range_item li{position:relative;padding-left:20px}.date_range_item li:before{content:"";position:absolute;left:0;top:.6em;width:8px;height:8px;border-radius:3px;background:var(--yellow-deep)}.date_range_item.stacked{flex-direction:column;gap:4px}.date_range_item.stacked .date{width:auto;font-weight:700}.date_range_item .text h3 .year{color:var(--yellow-deep);font-weight:700;margin-right:10px}@media(max-width:1000px){.cv-cols{flex-direction:column;gap:8px}.col_left,.col_right{width:100%}}@media(max-width:620px){.date_range_item{flex-direction:column;gap:6px}.date_range_item .date{width:auto}}.contact{background-color:var(--ink);color:#fff;padding:clamp(64px,10vw,120px) 32px}.contact>*{max-width:var(--maxw);margin-left:auto;margin-right:auto}.contact h1{color:#fff}.contact p{color:#d7d7d7;max-width:60ch}.contact a{color:var(--yellow)}.contact a:hover{color:var(--yellow-deep)}.socials{list-style:none;display:flex;flex-wrap:wrap;gap:12px;margin-top:32px;padding:0}.socials a{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:999px;color:#d7d7d7;border:1px solid rgba(255,255,255,.18);transition:transform .18s ease,color .18s ease,background .18s ease,border-color .18s ease}.socials a:hover{color:var(--ink);background:var(--yellow);border-color:var(--yellow);transform:translateY(-2px)}.socials svg{width:20px;height:20px;fill:currentColor}@media print{@page{size:A4;margin:14mm 15mm}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}.print-only{display:block}.no-print,.site-header,.hero-bg,.about .btn,.contact{display:none!important}body{overflow:visible;background:#fff}.about{min-height:0;display:flex;flex-direction:row;align-items:center;text-align:left;gap:22px;padding:0 0 14px;background:#fff;page-break-after:avoid}.about .my-photo{order:0;width:150px;max-width:150px;flex:none;border-radius:8px;box-shadow:none}.about .text{flex:1}.print-head h1{font-size:22pt;margin:0 0 2px}.print-role{font-size:11pt;font-weight:600;color:var(--ink);margin:0 0 2px}.print-contact{font-size:9.5pt;color:var(--ink-soft);margin:0}.about .text p:not(.print-role):not(.print-contact){font-size:9.5pt;line-height:1.4;color:var(--ink-soft);margin:6px 0 0}.cv{border:none;background:#fff}.cv>h1{display:none}.cv>h1,.cv-cols{max-width:none;padding:0}.cv-cols{gap:28px;padding-bottom:0}.cv h2{font-size:12pt;margin:12px 0 7px}.date_range_item{font-size:9.5pt;line-height:1.45;margin-bottom:9px;page-break-inside:avoid}.date_range_item .text h3{font-size:10.5pt;margin-bottom:4px}.date_range_item ul{margin-top:6px;gap:4px}a{color:inherit;text-decoration:none}}
