@font-face{font-family:Playpen Sans Fallback;src:local("Arial"),local("ArialMT"),local("Helvetica"),local("Roboto");size-adjust:108.5%;ascent-override:107.8%;descent-override:31.3%;line-gap-override:0%}:root{--bg: #0b0b0c;--fg: rgba(255,255,255,.92);--muted: rgba(255,255,255,.62);--line: rgba(255,255,255,.12);--accent: rgba(220, 38, 38, .9);--accent-hover: rgba(220, 38, 38, 1);--max: 1120px;--pad: 20px;--dur-fast: .15s;--dur-base: .24s;--dur-slow: .42s;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--dist-sm: 8px;--dist-md: 12px;--dist-lg: 16px;--dur-reveal: .7s;--dur-travel: .9s;--travel-up: 60px;--stagger-delay: 60ms;--letter-delay: 28ms;--ease-pop: cubic-bezier(.34, 1.56, .64, 1);--serif: ui-serif, "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--sans: "Playpen Sans", "Playpen Sans Fallback", ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial}*{box-sizing:border-box}html,body{height:100%}html,body{overflow-x:clip}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--serif);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--fg);text-decoration:none;border-bottom:1px solid transparent}a:hover{border-bottom-color:var(--line)}.container{max-width:var(--max);margin:0 auto;padding:28px var(--pad) 48px}.header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.headerRow{display:flex;align-items:center;justify-content:space-between;width:100%;gap:16px}.brand{display:flex;flex-direction:column;gap:6px;min-width:220px}.brand .name{font-size:18px;letter-spacing:.2px}.brand .role{font-size:14px;color:var(--muted);font-family:var(--sans)}.nav{display:flex;align-items:center;gap:18px;font-family:var(--sans);font-size:14px;color:var(--muted)}.nav a{color:var(--muted);border-bottom:1px solid transparent}.nav a:hover{color:var(--fg);border-bottom-color:var(--line)}.nav a.active{color:var(--fg)}.nav{position:relative}.navIndicator{position:absolute;left:0;top:0;width:1px;height:1px;background:var(--accent);transform-origin:left;translate:var(--x, 0) calc(var(--y, 0) - 1px);scale:var(--w, 0) 1;opacity:0;pointer-events:none}.navIndicator[data-visible=true]{opacity:1}.navIndicator[data-ready=true]{transition:translate var(--dur-slow) var(--ease-out),scale var(--dur-slow) var(--ease-out),opacity var(--dur-base) var(--ease-out)}@media(prefers-reduced-motion:reduce){.navIndicator[data-ready=true]{transition:opacity var(--dur-base) var(--ease-out)}}@media(max-width:900px){.navIndicator{display:none}.nav a.active{border-bottom-color:var(--accent)}}.menuToggle{display:none;width:40px;height:40px;padding:0;border-radius:10px;border:1px solid rgba(255,255,255,.16);background:#ffffff05;cursor:pointer;align-items:center;justify-content:center;gap:4px}.menuBar{display:block;width:18px;height:2px;background:#ffffffb8;border-radius:999px;transition:transform .22s ease,opacity .18s ease,width .22s ease}.menuToggleOpen .menuBar:nth-child(1){transform:translateY(6px) rotate(45deg)}.menuToggleOpen .menuBar:nth-child(2){opacity:0;width:0}.menuToggleOpen .menuBar:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.topline{margin-top:18px;border-top:1px solid var(--line)}.grid{display:grid;grid-template-columns:320px 1fr;gap:36px;padding-top:22px}@media(max-width:900px){.grid{grid-template-columns:1fr;gap:24px}.photoWrap{max-width:100%;margin:0 auto}.header{flex-direction:column;align-items:flex-start;gap:0px;position:relative}.nav{width:100%;justify-content:flex-start;flex-wrap:wrap;gap:14px;flex-direction:column;align-items:flex-start;padding-top:6px;border-top:1px solid var(--line);max-height:0;opacity:0;transform:translateY(-6px);overflow:hidden;pointer-events:none;transition:max-height .26s ease,opacity .22s ease,transform .22s ease}.nav.navOpen{max-height:320px;opacity:1;transform:translateY(0);pointer-events:auto;margin-top:10px}.menuToggle{display:inline-flex;align-self:flex-start;margin-top:24px}.h1{font-size:28px}}@media(max-width:480px){.container{padding:20px 16px}.brand .name img{height:48px}.brand .role{font-size:12px}.brand .name{font-size:17px}.titleRow{flex-direction:column;gap:4px}.meta{margin-bottom:4px}.item{padding:15px 0}.linkRow{font-size:13px}}.left p{margin:0 0 12px;color:var(--muted);font-family:var(--sans);line-height:1.55;font-size:15px}.h1{font-size:34px;line-height:1.1;margin:0 0 10px}.lead{font-family:var(--sans);color:var(--muted);line-height:1.6;margin:0 0 18px}.links{display:flex;flex-direction:column;gap:10px;margin-top:14px;font-family:var(--sans);font-size:14px}.linkRow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line)}.linkRow .label{color:var(--muted)}.linkRow .value{color:var(--fg)}.arrow{opacity:.7}.photoCard{margin-top:18px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#ffffff05}.photoPlaceholder{aspect-ratio:4 / 5;display:flex;align-items:center;justify-content:center;color:#ffffff8c;font-family:var(--sans);font-size:13px;letter-spacing:.3px;padding:18px;text-align:center}.photoHint{padding:12px 14px;border-top:1px solid var(--line);color:var(--muted);font-family:var(--sans);font-size:12px;line-height:1.45}.section{padding-top:6px;overflow:visible}.sectionTitle{font-family:var(--sans);font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 14px}.rule{border-top:1px solid var(--line);margin:18px 0}.items{display:grid;grid-template-columns:1fr;gap:18px}.item{display:grid;grid-template-columns:220px 1fr;gap:22px;padding:10px 0}@media(max-width:900px){.item{grid-template-columns:1fr;gap:8px}}.meta{font-family:var(--sans);color:var(--muted);font-size:14px;line-height:1.45}.titleRow{display:flex;align-items:baseline;justify-content:space-between;gap:14px}.job{font-size:18px;margin:0 0 6px}.company{font-family:var(--sans);font-size:14px;color:var(--muted)}.desc{margin:0;font-family:var(--sans);color:var(--muted);line-height:1.75;font-size:17px;max-width:820px}.pills{display:flex;flex-wrap:wrap;gap:8px;position:relative}.pill{font-family:var(--sans);font-size:14px;color:var(--muted);border:1px solid var(--line);padding:6px 10px;border-radius:999px;background:#ffffff05;transition:all .18s ease;display:inline-block}.pill:hover{background:#dc262626;border-color:#dc26264d;transform:translateY(-2px)}.langBar{display:flex;gap:6px;align-items:center}.langBtn{font-family:var(--sans);font-size:12px;color:var(--muted);border:1px solid var(--line);background:#ffffff05;padding:6px 10px;border-radius:999px;cursor:pointer}.langBtnActive{color:var(--fg);border-color:#ffffff47}.footer{margin-top:36px;border-top:1px solid var(--line);padding-top:14px;color:#ffffff6b;font-family:var(--sans);font-size:12px}@keyframes modalIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.brand .name img{width:auto}.routeView{transition:opacity var(--dur-base) var(--ease-out)}.routeView[data-phase=out]{opacity:0;transition-duration:var(--dur-fast)}[data-lang-fade] :is(.langFade,.role,.nav a,.nav>button,.footer),[data-lang-fade] :is(.langFade,.footer) *:not(.routeView){transition:-webkit-text-fill-color calc(var(--dur-base) / 2) var(--ease-out)!important}[data-lang-fade=out] :is(.langFade,.role,.nav a,.nav>button,.footer),[data-lang-fade=out] :is(.langFade,.footer) *:not(.routeView){-webkit-text-fill-color:transparent}.pill:hover{position:relative;z-index:2}.js-motion [data-reveal]{transition:opacity var(--dur-reveal) var(--ease-out),translate var(--dur-travel) var(--ease-out),scale var(--dur-travel) var(--ease-out);transition-delay:calc(var(--i, 0) * var(--stagger-delay))}.js-motion [data-reveal]:not(.is-in){opacity:0}.js-motion [data-reveal=up]:not(.is-in){translate:0 var(--travel-up)}.js-motion [data-reveal=pop]:not(.is-in){scale:.6}.js-motion [data-reveal=pop]{transition-timing-function:var(--ease-pop)}.kLetters{overflow:hidden}.kWord{display:inline-block;white-space:nowrap}.kLetter{display:inline-block;transition:translate var(--dur-reveal) var(--ease-out),rotate var(--dur-reveal) var(--ease-out),opacity var(--dur-base) var(--ease-out);transition-delay:calc(var(--i, 0) * var(--letter-delay))}.js-motion [data-reveal=letters]:not(.is-in){opacity:1}.js-motion [data-reveal=letters]:not(.is-in) .kLetter{translate:0 110%;rotate:12deg;opacity:0}.kSection{position:relative;isolation:isolate}.kBgWord{position:absolute;left:-4%;top:-.35em;z-index:-1;font-family:var(--sans);font-weight:700;font-size:clamp(56px,11vw,168px);line-height:1;text-transform:uppercase;white-space:nowrap;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.07);pointer-events:none;-webkit-user-select:none;user-select:none}@keyframes kDrift{0%{translate:12% 60%}to{translate:-12% -60%}}@keyframes kTilt{0%{transform:rotateX(28deg) translateZ(-60px)}to{transform:none}}@media(prefers-reduced-motion:reduce){.js-motion [data-reveal]:not(.is-in){translate:none;scale:none}.js-motion [data-reveal=letters]:not(.is-in) .kLetter{translate:none;rotate:none}}@supports (animation-timeline: view()){@media(prefers-reduced-motion:no-preference){.js-motion .kBgWord{animation:kDrift linear both;animation-timeline:view();animation-range:cover 0% cover 100%}@media(pointer:fine){.kTiltGroup{perspective:900px}.js-motion .kTilt{transform-origin:50% 100%;animation:kTilt linear both;animation-timeline:view();animation-range:entry 0% cover 45%}.js-motion .kTilt[data-reveal]:not(.is-in){opacity:1;translate:none}}}}.opener{--o-card-w: 320px;--o-card-h: calc(var(--o-card-w) * 4 / 3);--o-gap: 36px;--o-title-start: clamp(56px, 10vw, 160px);--o-title-end: 44px;position:relative}.openerStage{display:grid;grid-template-columns:var(--o-card-w) 1fr;grid-template-rows:auto 1fr;column-gap:var(--o-gap);padding-top:22px}.opener--title .openerStage{grid-template-columns:1fr}.openerPhoto{grid-row:1 / span 2;position:relative;aspect-ratio:3 / 4;border-radius:16px;overflow:hidden;border:1px solid var(--line);background:#ffffff05}.openerPhoto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--focus, 50% 30%)}.openerBlur{filter:blur(18px);scale:1.08}.openerImg{opacity:0;transition:opacity var(--dur-slow) var(--ease-out)}.openerPhoto[data-loaded] .openerImg{opacity:1}.openerShade,.openerCue{display:none}.openerTitle{margin:0 0 12px;font-family:var(--serif);font-weight:500;font-size:var(--o-title-end);line-height:1.05;color:var(--fg)}.openerText .lead{margin:0 0 12px;color:var(--muted);font-family:var(--sans);line-height:1.55;font-size:15px}@media(max-width:900px){.opener{--o-title-end: 34px}.openerStage{grid-template-columns:1fr;row-gap:18px}.openerPhoto{grid-row:auto}}@keyframes openerPhoto{0%{left:0;top:0;width:100%;height:100%;border-radius:0}to{left:var(--o-left);top:var(--o-top);width:var(--o-card-w);height:var(--o-card-h);border-radius:16px}}@keyframes openerImg{0%{scale:1.15;filter:brightness(.45)}to{scale:1;filter:brightness(1)}}@keyframes openerTitle{0%{left:50%;top:50%;translate:-50% -50%;font-size:var(--o-title-start)}to{left:var(--o-text-left);top:var(--o-title-top);translate:0 0;font-size:var(--o-title-end)}}@keyframes openerText{0%{opacity:0;translate:0 60px}to{opacity:1;translate:none}}@keyframes openerFadeOut{to{opacity:0}}@supports (animation-timeline: view()){@media(prefers-reduced-motion:no-preference){.js-motion .opener[data-mode=play]{--o-left: max(var(--pad), calc((100vw - var(--max)) / 2 + var(--pad)));--o-top: max(72px, calc((100vh - var(--o-card-h)) / 2));--o-text-left: calc(var(--o-left) + var(--o-card-w) + var(--o-gap));--o-title-top: var(--o-top);--o-text-top: calc(var(--o-title-top) + var(--o-title-end) * 1.05 + 16px);--o-text-w: min(560px, calc(100vw - var(--o-text-left) - var(--o-left)));height:230vh;width:100vw;margin-left:calc(50% - 50vw);view-timeline-name:--opener}.js-motion .opener--title[data-mode=play]{--o-title-start: clamp(40px, 8vw, 132px);--o-text-left: var(--o-left);--o-title-top: max(72px, 30vh);--o-text-w: min(720px, calc(100vw - 2 * var(--o-left)))}.js-motion .opener[data-mode=play] .openerStage{display:block;position:sticky;top:0;height:100vh;overflow:hidden;padding:0}.js-motion .opener[data-mode=play] .openerPhoto{position:absolute;aspect-ratio:auto;border:none;animation:openerPhoto linear both;animation-timeline:--opener;animation-range:contain 0% contain 70%}.js-motion .opener[data-mode=play] .openerPhoto img{animation:openerImg linear both;animation-timeline:--opener;animation-range:contain 0% contain 70%}.js-motion .opener[data-mode=play] .openerShade{display:block;position:absolute;inset:0;background:radial-gradient(ellipse at center,#0b0b0c26,#0b0b0ccc);animation:openerFadeOut linear both;animation-timeline:--opener;animation-range:contain 0% contain 45%}.js-motion .opener[data-mode=play] .openerTitle{position:absolute;z-index:1;margin:0;white-space:nowrap;animation:openerTitle linear both;animation-timeline:--opener;animation-range:contain 0% contain 70%}.js-motion .opener[data-mode=play] .openerText{position:absolute;left:var(--o-text-left);top:var(--o-text-top);width:var(--o-text-w);animation:openerText linear both;animation-timeline:--opener;animation-range:contain 50% contain 85%}.js-motion .opener[data-mode=play] .openerCue{display:block;position:absolute;bottom:28px;left:50%;translate:-50% 0;font-family:var(--sans);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);animation:openerFadeOut linear both;animation-timeline:--opener;animation-range:contain 0% contain 12%}@media(max-width:900px){.js-motion .opener[data-mode=play]{--o-card-w: calc(100vw - 2 * var(--o-left));--o-card-h: 46vh;--o-top: 72px;--o-text-left: var(--o-left);--o-title-top: calc(var(--o-top) + var(--o-card-h) + 20px);--o-text-w: calc(100vw - 2 * var(--o-left));--o-title-start: clamp(40px, 12vw, 72px)}.js-motion .opener--title[data-mode=play]{--o-title-top: max(72px, 18vh);--o-title-start: clamp(32px, 9vw, 72px)}}}}.openerSummary{color:var(--fg);margin:18px 0 0}@media(max-width:900px){.openerSummary{display:none}}@media(min-width:901px){.homeSummarySection{display:none}}.pageBody{padding-top:32px}.photoWrap{border:1px solid rgba(255,255,255,.12);border-radius:16px;overflow:hidden;background:#ffffff05;transform:translateZ(0)}.homeSummary{color:var(--fg);margin-bottom:16px}.photoMedia{width:100%;display:block;transform:scale(1);transition:transform .42s ease;will-change:transform}.photoWrap:hover .photoMedia{transform:scale(1.03)}.photoCaption{padding:10px 12px;border-top:1px solid rgba(255,255,255,.12);color:#ffffff8c;font-family:var(--sans);font-size:12px}.nav a,.nav button{transition:color .18s ease,border-color .18s ease,opacity .18s ease}.modalCard{animation:modalIn var(--dur-base) var(--ease-out) both}.modalBackdrop{animation:fadeIn .18s ease both}@media(prefers-reduced-motion:reduce){.modalCard{animation-name:fadeIn}}.photoFrame{position:relative;width:100%;overflow:hidden}.photoFrame:before{content:"";display:block;padding-top:133.333%}@media(max-width:768px){.photoFrame{max-height:400px}.photoFrame:before{padding-top:100%}.left p{font-size:16px;line-height:1.6}}.photoImg{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1);transition:transform .42s ease;will-change:transform}.photoWrap:hover .photoImg{transform:scale(1.04)}.projectStats{display:flex;gap:32px;margin-top:20px}.projectStatValue{font-size:28px;font-weight:600;color:var(--fg);font-family:var(--sans)}.projectStatLabel{font-size:13px;color:var(--muted);margin-top:4px;font-family:var(--sans)}.projectGrid{display:grid;gap:24px}.projectCard{padding:24px;background:#ffffff05;border:1px solid rgba(255,255,255,.08);border-radius:16px;transition:background .3s ease,border-color .3s ease,translate .3s ease}.projectCard:hover{background:#ffffff0a;border-color:#ffffff29;translate:0 -2px}.js-motion .projectCard[data-reveal]{transition:opacity var(--dur-reveal) var(--ease-out),translate var(--dur-travel) var(--ease-out),background .3s ease,border-color .3s ease}.js-motion .projectCard[data-reveal].is-in:hover{transition-duration:var(--dur-reveal),.3s,.3s,.3s}.projectCardHead{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.projectCardTitle{font-size:20px;font-weight:600;color:var(--fg);font-family:var(--sans);margin:0}.projectView{padding:8px 16px;background:#dc26261a;border:1px solid rgba(220,38,38,.3);border-radius:8px;color:#dc2626;font-size:13px;font-weight:500;font-family:var(--sans);white-space:nowrap;transition:background .2s ease,border-color .2s ease}.projectView:hover{background:#dc262633;border-color:#dc262680}.projectCardDesc{color:#ffffffb3;font-size:15px;line-height:1.6;margin:12px 0 16px}.projectTech{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.projectTechChip{padding:6px 12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;font-size:12px;color:#fffc;font-family:var(--mono)}.projectCardSoon{padding:40px;background:#ffffff03;border:2px dashed rgba(255,255,255,.1);text-align:center}.projectCardSoon:hover{background:#ffffff03;border-color:#ffffff1a;translate:none}.projectSoonIcon{font-size:48px;margin-bottom:12px}.projectSoonTitle{font-size:18px;font-weight:600;color:var(--fg);font-family:var(--sans);margin:0 0 8px}.projectSoonText{color:var(--muted);font-size:14px;margin:0}.projectsEmpty{text-align:center;padding:60px}.projectsEmptyIcon{font-size:64px;margin-bottom:16px}.item.project{border-left:2px solid rgba(220,38,38,.3);padding-left:14px}.projectLink{font-family:var(--sans);font-size:13px;color:#dc2626d9;border-bottom:1px solid transparent;transition:color .18s ease,border-color .18s ease}.projectLink:hover{color:#dc2626;border-bottom-color:#dc262680}.pillSmall{font-size:11px;padding:4px 10px}.item.cert{padding:12px 0;border-bottom:1px solid var(--line)}.item.cert:last-child{border-bottom:none}.certName{font-size:15px;font-weight:500;color:var(--fg);margin-bottom:4px}.certIssuer{font-family:var(--sans);font-size:13px;color:var(--muted);margin-bottom:6px}.desc.small{font-size:13px;margin-top:6px;margin-bottom:0}.item.language{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line)}.item.language:last-child{border-bottom:none}.langName{font-size:15px;color:var(--fg);font-weight:500}.langLevel{font-family:var(--sans);font-size:13px;color:var(--muted)}@media(max-width:768px){.item.language{flex-direction:column;align-items:flex-start;gap:4px}}.statsBlock{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:20px;background:#ffffff05;border:1px solid rgba(255,255,255,.08);border-radius:12px}.statItem{text-align:center;padding:12px 8px}.statValue{font-size:32px;font-weight:600;color:#dc2626e6;margin-bottom:6px;font-family:var(--sans)}.statLabel{font-size:13px;color:var(--muted);font-family:var(--sans);text-transform:uppercase;letter-spacing:.05em}.keySkillsBlock{margin:32px 0;padding:24px;background:#ffffff05;border-left:3px solid rgba(220,38,38,.5);border-radius:8px}.subTitle{font-size:18px;font-weight:500;color:var(--fg);margin-bottom:16px;font-family:var(--sans)}.keySkillsList{display:flex;flex-direction:column;gap:12px}.keySkillItem{display:flex;align-items:center;gap:12px;font-size:15px;line-height:1.6}.keySkillIcon{color:#dc2626cc;font-size:18px;flex-shrink:0}.keySkillText{color:var(--fg)}.ctaBlock{margin-top:48px;padding:32px;background:#dc26260d;border:1px solid rgba(220,38,38,.2);border-radius:12px;text-align:center}.ctaTitle{font-size:24px;font-weight:600;color:var(--fg);margin-bottom:12px;font-family:var(--sans)}.ctaDesc{font-size:16px;color:var(--muted);margin-bottom:24px;max-width:600px;margin-left:auto;margin-right:auto;line-height:1.6}.ctaButtons{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.ctaButton{padding:12px 24px;border-radius:8px;font-family:var(--sans);font-size:14px;font-weight:500;text-decoration:none;transition:all .2s ease;display:inline-block}.ctaButtonPrimary{background:#dc2626e6;border:1px solid rgba(220,38,38,1);color:#fff}.ctaButtonPrimary:hover{background:#dc2626;transform:translateY(-2px);box-shadow:0 4px 12px #dc26264d}.ctaButtonSecondary{background:#ffffff0d;border:1px solid rgba(255,255,255,.12);color:var(--fg)}.ctaButtonSecondary:hover{background:#ffffff14;border-color:#fff3}@media(max-width:768px){.statsBlock{grid-template-columns:1fr 1fr;gap:12px;padding:16px}.statValue{font-size:24px}.statLabel{font-size:11px}.keySkillsBlock{padding:20px}.ctaBlock{padding:24px 20px}.ctaTitle{font-size:20px}.ctaDesc{font-size:14px}.ctaButtons{flex-direction:column}.ctaButton{width:100%;text-align:center}}.contactForm{display:flex;flex-direction:column;gap:16px}.formGroup{display:flex;flex-direction:column;gap:6px}.formLabel{font-family:var(--sans);font-size:13px;color:var(--muted);font-weight:500}.formInput{width:100%;padding:10px 12px;background:#ffffff0a;border:1px solid rgba(255,255,255,.12);border-radius:8px;color:var(--fg);font-family:var(--serif);font-size:14px;transition:all .18s ease;outline:none}.formInput:focus{background:#ffffff0f;border-color:#dc262680;box-shadow:0 0 0 3px #dc26261a}.formInput:disabled{opacity:.5;cursor:not-allowed}.formInput::placeholder{color:#ffffff4d}.formTextarea{resize:vertical;min-height:100px;font-family:var(--sans);line-height:1.5}.formButton{padding:12px 24px;background:#dc262626;border:1px solid rgba(220,38,38,.3);border-radius:8px;color:#dc2626;font-family:var(--sans);font-size:14px;font-weight:500;cursor:pointer;transition:all .18s ease;outline:none}.formButton:hover:not(:disabled){background:#dc262640;border-color:#dc262680;transform:translateY(-1px)}.formButton:active:not(:disabled){transform:translateY(0)}.formButton:disabled{opacity:.6;cursor:not-allowed}.formMessage{padding:12px;border-radius:8px;font-family:var(--sans);font-size:13px;animation:slideIn .3s ease}.formSuccess{background:#22c55e1a;border:1px solid rgba(34,197,94,.3);color:#22c55e}.formError{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#ef4444}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}html{scroll-behavior:smooth}.modalContent::-webkit-scrollbar{width:8px}.modalContent::-webkit-scrollbar-track{background:#ffffff05;border-radius:4px}.modalContent::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:4px;transition:background .18s ease}.modalContent::-webkit-scrollbar-thumb:hover{background:#fff3}.modalContent{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.12) rgba(255,255,255,.02)}.skillPill{position:relative;display:inline-block}.tooltip{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%);background:#0f0f10fa;border:1px solid rgba(255,255,255,.16);border-radius:8px;padding:10px 14px;font-family:var(--sans);font-size:12px;line-height:1.5;color:#ffffffd9;white-space:normal;max-width:220px;width:max-content;min-width:120px;text-align:center;z-index:1000;pointer-events:none;box-shadow:0 8px 24px #00000080;animation:tooltipFadeIn .2s ease}.tooltipArrow{position:absolute;top:100%;left:50%;transform:translate(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid rgba(255,255,255,.16)}.tooltipArrow:after{content:"";position:absolute;top:-7px;left:-5px;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid rgba(15,15,16,.98)}@keyframes tooltipFadeIn{0%{opacity:0;transform:translate(-50%) translateY(-4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media(max-width:768px){.tooltip{max-width:180px;font-size:11px;padding:8px 12px}}.photoWrap{transition:all .3s ease}.photoWrap:hover{border-color:#ffffff3d;box-shadow:0 8px 24px #0000004d}.skeleton{background:linear-gradient(90deg,#ffffff0a,#ffffff14,#ffffff0a);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:8px}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeletonText{height:16px;margin-bottom:8px}.skeletonTitle{height:24px;width:60%;margin-bottom:12px}.skeletonImage{width:100%;padding-top:133.333%}
