@import "https://fonts.googleapis.com/css2?family=Anton&display=swap";
@import "https://fonts.googleapis.com/css2?family=Syne:wght@800&display=swap";
@import "https://fonts.googleapis.com/css2?family=Space+Mono:wght@400;700&family=Syne:wght@700;800&display=swap";
@import "https://fonts.googleapis.com/css2?family=Unbounded:wght@300;400;500;600;700;800&display=swap";
html,body{max-width:100vw;margin:0;padding:0}.main{--ink:#161412;--brick:#4a2318;--patch:#f4ebd0;--patch-dim:#b8ab91;--lamp:#e6a15c;--lamp-soft:#e6a15c59;--spray:#9cb878;--spray-dim:#9cb87840;--wood:#7a6348;--wood-dark:#4a3018;--wood-burn:#2b1a0c;--wood-light:#ebd8bc;width:100%;max-width:100vw;color:var(--patch);background:#0d0b09;font-family:Space Mono,ui-monospace,monospace;position:relative;overflow:hidden}.main:before{content:"";z-index:0;pointer-events:none;background:radial-gradient(circle at 78% 30%, var(--lamp-soft) 0%, transparent 42%), radial-gradient(circle at 60% 55%, #e6a15c24 0%, transparent 50%);filter:blur(18px);opacity:.9;will-change:background-position, opacity;mix-blend-mode:screen;background-repeat:no-repeat;animation:22s cubic-bezier(.45,0,.55,1) infinite driftGlow,9s ease-in-out infinite pulseGlow;position:absolute;inset:-20%}.main:after{content:"";z-index:0;pointer-events:none;background:radial-gradient(circle at 15% 80%, var(--spray-dim) 0%, transparent 38%), radial-gradient(circle at 35% 60%, #9cb8781a 0%, transparent 48%);filter:blur(20px);opacity:.85;will-change:background-position, opacity;mix-blend-mode:screen;background-repeat:no-repeat;animation:26s cubic-bezier(.45,0,.55,1) infinite driftGlowAlt,11s ease-in-out infinite pulseGlowAlt;position:absolute;inset:-20%}.main .grain:before{content:"";z-index:0;pointer-events:none;filter:blur(30px);background:radial-gradient(circle at 45%,#4a231866 0%,#0000 60%);animation:30s ease-in-out infinite driftCenter;position:absolute;inset:-20%}@keyframes driftGlow{0%{background-position:40% 40%,55%}50%{background-position:58% 52%,45% 45%}to{background-position:40% 40%,55%}}@keyframes driftGlowAlt{0%{background-position:60% 60%,30% 55%}50%{background-position:40% 48%,50% 40%}to{background-position:60% 60%,30% 55%}}@keyframes driftCenter{0%{transform:translate(0%)}50%{transform:translate(2%,-2%)}to{transform:translate(0%)}}@keyframes pulseGlow{0%,to{opacity:.75}50%{opacity:1}}@keyframes pulseGlowAlt{0%,to{opacity:.65}50%{opacity:.9}}.contents{z-index:3;box-sizing:border-box;justify-content:space-between;align-items:center;gap:60px;width:100vw;height:100vh;padding:0 8vw;display:flex;position:relative}.left-col{flex-direction:column;gap:18px;max-width:1020px;display:flex}.info-links{gap:22px;display:flex}.info-links a{color:var(--patch-dim);justify-content:center;align-items:center;font-size:20px;line-height:1;text-decoration:none;transition:all .25s;display:flex}.info-links a:hover{color:var(--lamp);filter:drop-shadow(0 0 8px var(--lamp-soft));transform:translateY(-2px)}.location{letter-spacing:3px;color:var(--patch-dim);text-transform:uppercase;font-size:12px}.hero-title{text-transform:uppercase;letter-spacing:1px;color:var(--patch);white-space:nowrap;margin:6px 0 0;font-family:Syne,sans-serif;font-size:clamp(38px,3.6vw,60px);font-weight:800;font-stretch:125%;line-height:1}.hero-title .accent{color:var(--lamp);display:inline-block;transform:skew(-6deg)}.hero-role{color:var(--patch-dim);letter-spacing:.5px;align-items:center;gap:4px;font-size:clamp(18px,2.2vw,26px);display:flex}.cursor-blink{background:var(--wood);width:10px;height:26px;animation:1s steps(2,end) infinite blink;display:inline-block}@keyframes blink{0%,to{opacity:1}50%{opacity:.25}}.stats-row{align-items:center;gap:22px;margin-top:14px;display:flex}.stat-item{flex-direction:column;gap:2px;display:flex}.stat-number{color:var(--lamp);font-family:Anton,sans-serif;font-size:30px;line-height:1}.stat-label{letter-spacing:1.5px;text-transform:uppercase;color:var(--patch-dim);font-size:11px}.stat-divider{background:linear-gradient(180deg, transparent, var(--wood), transparent);width:1px;height:34px}.scroll-hint{z-index:5;letter-spacing:2px;color:var(--patch-dim);opacity:.6;flex-direction:column;align-items:center;gap:8px;font-size:10px;display:flex;position:absolute;bottom:28px;left:50%;transform:translate(-50%)}.mouse-icon{border:1px solid var(--patch-dim);border-radius:10px;width:18px;height:28px;position:relative}.mouse-icon:after{content:"";background:var(--spray);border-radius:2px;width:3px;height:6px;animation:1.5s ease-in-out infinite scrollDot;position:absolute;top:5px;left:50%;transform:translate(-50%)}@keyframes scrollDot{0%{opacity:1;top:5px}70%{opacity:0;top:15px}to{opacity:0;top:5px}}.hero-photo-plain{z-index:1;object-fit:contain;width:auto;max-height:95vh;filter:drop-shadow(0 30px 50px #0000008c) drop-shadow(0 0 60px var(--lamp-soft));flex-shrink:0;position:relative;top:30px;left:30px}.home-fade-out{z-index:4;pointer-events:none;background:linear-gradient(#0000 0%,#0d0b09 100%);width:100%;height:400px;position:absolute;bottom:0;left:0}@media (max-width:900px){.contents{flex-direction:column;justify-content:flex-end;align-items:center;gap:0;width:100vw;height:100vh;padding:0;position:relative;overflow:hidden}.hero-photo-plain{width:auto;max-width:none;height:140vh;margin:0!important;position:absolute!important;top:0%!important;left:50%!important;right:auto!important;transform:translate(-50%)!important}.left-col{z-index:3;box-sizing:border-box;text-align:center;align-items:center;width:100%;max-width:100%;margin:0 auto;padding:24px 6vw 150px;position:relative}.info-links,.stats-row,.hero-role{justify-content:center}.contents:after{content:"";z-index:2;pointer-events:none;background:linear-gradient(#0000 0%,#0d0b09bf 55%,#0d0b09 100%);width:100%;height:60%;position:absolute;bottom:0;left:0}.hero-title{white-space:normal;font-size:clamp(28px,8vw,44px)}.stats-row{gap:16px}.scroll-hint{z-index:5;bottom:16px}}
.header{--h-ink:#161412;--h-patch:#f4ebd0;--h-patch-dim:#b8ab91;--h-lamp:#e6a15c;--h-lamp-soft:#e6a15c59;z-index:1000;height:0;padding:24px 90px 0;font-family:Space Mono,ui-monospace,monospace;position:fixed;inset:0}.header-contents{-webkit-backdrop-filter:blur();backdrop-filter:blur();background:0 0;border:1px solid #0000;border-radius:100px;justify-content:space-between;align-items:center;padding:14px 24px;transition:background .5s,border-color .5s,-webkit-backdrop-filter .5s,backdrop-filter .5s,box-shadow .5s,padding .4s;display:flex}.header-contents.is-scrolled{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#1614128c;border:1px solid #f4ebd01a;box-shadow:0 12px 30px #00000059}.header-contents--name p{letter-spacing:.08em;text-transform:uppercase;color:var(--h-patch);margin:0;font-family:Syne,sans-serif;font-size:15px;font-weight:800}.header-contents--name .accent{color:var(--h-lamp)}.header-contents--nav{flex-wrap:nowrap;justify-content:center;align-items:center;gap:24px;display:flex}.header-contents--nav ul{gap:36px;margin:0;padding:0;list-style:none;display:flex}.header-contents--nav li a{color:var(--h-patch-dim);text-transform:uppercase;letter-spacing:.15em;padding-bottom:6px;font-family:Space Mono,monospace;font-size:12px;text-decoration:none;transition:color .2s;position:relative}.header-contents--nav li a:after{content:"";background:var(--h-lamp);width:0;height:2px;box-shadow:0 0 8px var(--h-lamp-soft);transition:width .2s;position:absolute;bottom:0;left:0}.header-contents--nav li a:hover{color:var(--h-patch)}.header-contents--nav li a:hover:after{width:100%}.header-contents--nav li a.active{color:var(--h-lamp)}.header-contents--nav li a.active:after{background:var(--h-lamp);width:100%}.header-contents--nav-change-lang{position:relative}.header-contents--nav-change-lang button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--h-patch-dim);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;background:#16141266;border:1px solid #f4ebd01f;border-radius:100px;width:auto;height:auto;padding:8px 16px;font-family:Space Mono,monospace;font-size:11px;transition:all .2s}.header-contents--nav-change-lang button:hover{color:var(--h-patch);border-color:var(--h-lamp-soft)}.header-contents--nav-change-lang-menu{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:100;background:#161412cc;border:1px solid #f4ebd01a;border-radius:14px;flex-direction:column;gap:4px;min-width:140px;margin-top:10px;padding:12px;animation:.2s dropdownFade;display:flex;position:absolute;top:100%;right:0}.header-contents--nav-change-lang-menu p{letter-spacing:.12em;text-transform:uppercase;color:var(--h-patch-dim);margin:0 0 6px;padding:0 10px;font-family:Space Mono,monospace;font-size:10px}.header-contents--nav-change-lang-menu a{color:var(--h-patch-dim);letter-spacing:.08em;text-transform:uppercase;border-radius:8px;padding:8px 10px;font-family:Space Mono,monospace;font-size:13px;text-decoration:none;transition:all .2s}.header-contents--nav-change-lang-menu a:hover{background:var(--h-lamp-soft);color:var(--h-patch)}@keyframes dropdownFade{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.mobile-nav{display:none}@media (max-width:800px){.header{display:none}.mobile-nav{z-index:1000;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);padding:10px 0 calc(10px + env(safe-area-inset-bottom)) 0;background:#161412d9;border-top:1px solid #f4ebd014;justify-content:space-around;align-items:center;font-family:Space Mono,monospace;display:flex;position:fixed;bottom:0;left:0;right:0}.mobile-nav--item{color:var(--h-patch-dim,#b8ab91);letter-spacing:.05em;text-transform:uppercase;flex-direction:column;align-items:center;gap:4px;font-size:10px;text-decoration:none;transition:color .2s;display:flex}.mobile-nav--item svg{font-size:22px}.mobile-nav--item:active,.mobile-nav--item:hover{color:#e6a15c}}
.AboutMe{--patch:#f4ebd0;--patch-dim:#b8ab91;--lamp:#e6a15c;--lamp-soft:#e6a15c59;--wood:#7a6348;z-index:2;background:#0d0b09;width:100vw;min-height:100vh;margin-top:0;font-family:Space Mono,ui-monospace,monospace;position:relative;overflow:hidden}.about-hero-photo-plain{z-index:1;position:relative}.about-fade-in{z-index:6;pointer-events:none;background:linear-gradient(#0d0b09 0%,#0000 100%);width:100%;height:0;position:absolute;top:0;left:0}.about-fade-out{z-index:6;pointer-events:none;background:linear-gradient(#0000 0%,#0d0b09 100%);width:100%;height:140px;position:absolute;bottom:0;left:0}.AboutMe:before{content:"";pointer-events:none;z-index:3;background:linear-gradient(#0d0b09 0%,#0d0b0999 40%,#0000 100%);width:100%;height:300px;position:absolute;top:0;left:0}.AboutMe:after{content:"";z-index:0;pointer-events:none;background:radial-gradient(circle at 25% 20%, var(--lamp-soft) 0%, transparent 40%), radial-gradient(circle at 80% 70%, #7a634840 0%, transparent 45%);filter:blur(60px);opacity:.5;will-change:opacity;background-repeat:no-repeat;animation:28s ease-in-out infinite aboutDrift;position:absolute;inset:-20%}@keyframes aboutDrift{0%,to{opacity:.4}50%{opacity:.6}}@media (prefers-reduced-motion:reduce){.AboutMe:after{animation:none}}.about-contents{z-index:2;box-sizing:border-box;justify-content:center;align-items:center;width:100%;height:100%;min-height:100vh;display:flex;position:relative}.rigth-info{text-align:center;flex-direction:column;flex-shrink:0;gap:12px;max-width:760px;margin-right:200px;display:flex}.rigth-info--label{letter-spacing:3px;text-transform:uppercase;color:var(--lamp);font-size:12px}.rigth-info--title{color:var(--patch);text-transform:uppercase;letter-spacing:.5px;margin:0;font-family:Syne,sans-serif;font-size:clamp(32px,3vw,40px);font-weight:800}.rigth-info--text{color:var(--patch-dim);margin:0;font-family:Syne,sans-serif;font-size:24px;font-weight:500;line-height:1.6}.rigth-info--tags{flex-wrap:wrap;justify-content:center;gap:18px;margin-top:16px;display:flex}.rigth-info--tags span{letter-spacing:1px;text-transform:uppercase;justify-content:center;align-items:center;padding:5px 10px;font-size:21px;transition:all .25s;display:flex}.rigth-info--tags span:hover{color:var(--lamp);border-color:var(--lamp);filter:drop-shadow(0 0 6px var(--lamp-soft))}.tech-icon{flex-direction:column;align-items:center;width:52px;display:flex;position:relative}.tech-icon--glyph{border:1px solid var(--wood);width:52px;height:52px;color:var(--patch-dim);border-radius:10px;justify-content:center;align-items:center;transition:all .25s;display:flex}.tech-icon--glyph svg{width:28px;height:28px}.tech-icon--glyph:hover{color:var(--lamp);border-color:var(--lamp);filter:drop-shadow(0 0 8px var(--lamp-soft));transform:translateY(-3px)}.tech-icon--label{white-space:nowrap;letter-spacing:.5px;text-transform:uppercase;color:var(--patch);opacity:0;pointer-events:none;z-index:5;margin-top:8px;font-size:10px;transition:opacity .2s,transform .2s;position:absolute;top:100%;left:50%;transform:translate(-50%)translateY(-4px)}.tech-icon:hover .tech-icon--label{opacity:1;transform:translate(-50%)translateY(0)}.about-hero-photo-plain{object-fit:contain;width:auto;max-height:95vh;filter:drop-shadow(0 30px 50px #0000008c) drop-shadow(0 0 60px var(--lamp-soft));flex-shrink:0;position:relative;top:50px;left:-50px}@media (max-width:900px){.about-contents{box-sizing:border-box;flex-direction:column;justify-content:flex-end;align-items:center;gap:0;width:100%;min-height:100vh;padding-bottom:30px;display:flex;position:relative;overflow:hidden}.about-hero-photo-plain{z-index:1;width:auto;max-width:none;height:90vh;max-height:none;margin:0!important;position:absolute!important;top:10%!important;left:50%!important;right:auto!important;transform:translate(-50%)!important}.rigth-info{z-index:3;text-align:center;box-sizing:border-box;-webkit-backdrop-filter:blur(6px);background:linear-gradient(#0d0b0900 0%,#0d0b09d9 20%,#0d0b09f2 100%);border-radius:24px 24px 0 0;align-items:center;width:100%;max-width:100%;margin-top:500px;margin-right:0;padding:28px 6vw 24px;position:relative}.about-contents:after{content:"";z-index:2;pointer-events:none;background:linear-gradient(#0000 0%,#0d0b09bf 55%,#0d0b09 100%);width:100%;height:60%;position:absolute;bottom:0;left:0}}
.portfolio-grid{z-index:2;grid-template-columns:repeat(2,1fr);gap:32px;max-width:1500px;margin:0 auto 100px;padding:40px 20px;display:grid;position:relative}@media (max-width:768px){.portfolio-grid{grid-template-columns:1fr}}.portfolio-card{background:#f4ebd008;border:1px solid #b8ab9126;flex-direction:column;padding:12px;display:flex}.portfolio-card__stack-item{color:var(--patch-dim,#b8ab91);align-items:center;font-size:1.15rem;display:flex}@media (max-width:768px){.portfolio-grid{grid-template-columns:1fr}}.portfolio-card{background:#f4ebd008;border:1px solid #b8ab9126;flex-direction:column;padding:12px;font-family:Space Mono,ui-monospace,monospace;display:flex}.portfolio-card__photo{aspect-ratio:16/9;background:var(--wood-burn,#2b1a0c);width:100%;overflow:hidden}.portfolio-card__photo img{object-fit:cover;width:100%;height:100%;display:block}.portfolio-card__body{flex-direction:column;gap:10px;padding:18px 0 0;display:flex}.portfolio-card__name{color:var(--patch,#f4ebd0);margin:0;font-family:Space Mono,ui-monospace,monospace;font-size:1.2rem;font-weight:700}.portfolio-card__description{color:var(--patch-dim,#b8ab91);margin:0;font-size:.9rem;line-height:1.55}.portfolio-card__stack{gap:14px;margin:4px 0 0;padding:0;list-style:none;display:flex}.portfolio-card__stack-item{color:var(--patch-dim,#b8ab91);align-items:center;font-size:1.15rem;transition:color .2s,transform .2s;display:flex;position:relative}.portfolio-card__stack-item:hover{color:var(--lamp,#e6a15c);transform:translateY(-2px)}.portfolio-card__stack-tooltip{background:var(--wood-burn,#2b1a0c);border:1px solid var(--wood,#7a6348);color:var(--patch,#f4ebd0);white-space:nowrap;opacity:0;pointer-events:none;z-index:10;border-radius:4px;width:max-content;max-width:min(260px,80vw);padding:6px 10px;font-family:Space Mono,ui-monospace,monospace;font-size:.68rem;transition:opacity .18s,transform .18s;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%)translateY(4px);box-shadow:0 4px 14px #0006}.portfolio-card__stack-tooltip:after{content:"";border:5px solid #0000;border-top-color:var(--wood,#7a6348);position:absolute;top:100%;left:50%;transform:translate(-50%)}.portfolio-card__stack-item:hover .portfolio-card__stack-tooltip{opacity:1;transform:translate(-50%)translateY(0)}.portfolio-card__footer{justify-content:space-between;align-items:center;padding-top:12px;display:flex}.portfolio-card__date{color:var(--wood,#7a6348);font-size:.72rem}.portfolio-card__button{color:var(--lamp,#e6a15c);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:0;font-family:inherit;font-size:.85rem;display:inline-flex}.portfolio-card__arrow{transition:transform .2s;display:inline-block}.portfolio-card__button:hover .portfolio-card__arrow{transform:translate(4px)}.portfolio-modal__overlay{z-index:100;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0d0b09cc;justify-content:center;align-items:center;padding:20px;font-family:Space Mono,ui-monospace,monospace;animation:.25s forwards portfolioModalFadeIn;display:flex;position:fixed;inset:0}@keyframes portfolioModalFadeIn{0%{opacity:0}to{opacity:1}}.portfolio-modal__window{border:1px solid var(--lamp,#e6a15c);width:100%;max-width:640px;max-height:78vh;color:var(--patch,#f4ebd0);z-index:10000;background:#f4ebd00a;border-radius:4px;flex-direction:column;padding:16px;animation:.32s cubic-bezier(.19,1,.22,1) forwards portfolioModalPopIn;display:flex;overflow-y:auto;box-shadow:0 30px 80px #00000080}@keyframes portfolioModalPopIn{0%{opacity:0;transform:scale(.94)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}.portfolio-modal__tabs{border-bottom:1px solid #b8ab9126;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:12px;display:flex}.portfolio-modal__tab{color:var(--patch,#f4ebd0);align-items:center;gap:10px;font-size:.85rem;font-weight:700;display:flex}.portfolio-modal__tab-active{color:var(--lamp,#e6a15c)}.portfolio-modal__tab-dot{background:var(--lamp,#e6a15c);width:8px;height:8px;box-shadow:0 0 8px var(--lamp,#e6a15c);border-radius:50%;flex-shrink:0;animation:1.6s ease-in-out infinite portfolioModalPulse}@keyframes portfolioModalPulse{0%,to{opacity:1}50%{opacity:.3}}.portfolio-modal__close{color:var(--patch-dim,#b8ab91);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:16px;line-height:1;transition:color .2s,transform .2s}.portfolio-modal__close:hover{color:var(--lamp,#e6a15c);transform:rotate(90deg)}.portfolio-modal__photo{aspect-ratio:16/9;background:#1a1512;border-radius:2px;width:100%;margin-bottom:16px;animation:.4s 50ms both portfolioModalSlideIn;overflow:hidden}.portfolio-modal__photo img{object-fit:cover;width:100%;height:100%;display:block}.portfolio-modal__content{flex-direction:column;display:flex}.portfolio-modal__info{flex-direction:column;gap:12px;animation:.4s .12s both portfolioModalSlideIn;display:flex}@keyframes portfolioModalSlideIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.portfolio-modal__title{color:var(--patch,#f4ebd0);margin:0;font-size:1.4rem;font-weight:700}.portfolio-modal__description{color:var(--patch-dim,#b8ab91);margin:0;font-size:.9rem;line-height:1.55}.portfolio-modal__label{color:var(--lamp,#e6a15c);letter-spacing:.03em;margin-bottom:8px;font-size:.7rem;display:block}.portfolio-modal__stack-block{border-top:1px solid #b8ab9126;padding-top:12px}.portfolio-modal__stack-list{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.portfolio-modal__stack-item{color:var(--patch,#f4ebd0);cursor:default;background:#b8ab9114;border:1px solid #b8ab9126;border-radius:4px;align-items:center;gap:6px;padding:6px 10px;font-size:.8rem;transition:border-color .2s,color .2s;display:flex;position:relative}.portfolio-modal__stack-item:hover{border-color:var(--lamp,#e6a15c);color:var(--lamp,#e6a15c)}.portfolio-modal__stack-item svg{color:inherit;flex-shrink:0;font-size:1rem}.portfolio-modal__stack-name{white-space:nowrap;font-weight:700}.portfolio-modal__stack-desc{border:1px solid var(--lamp,#e6a15c);color:var(--patch,#f4ebd0);white-space:normal;opacity:0;pointer-events:none;z-index:10;background:#1a1512;border-radius:4px;width:max-content;max-width:min(260px,80vw);padding:6px 10px;font-size:.72rem;font-weight:400;transition:opacity .18s,transform .18s;position:absolute;bottom:calc(100% + 8px);left:0;transform:translateY(4px);box-shadow:0 4px 14px #0006}.portfolio-modal__stack-item:hover .portfolio-modal__stack-desc{opacity:1;transform:translateY(0)}.portfolio-modal__meta{color:var(--wood,#7a6348);border-top:1px solid #b8ab9126;padding-top:10px;font-size:.72rem}.portfolio-modal__demo-btn{border:1px solid var(--lamp,#e6a15c);color:var(--lamp,#e6a15c);background:0 0;border-radius:4px;justify-content:center;align-self:flex-start;align-items:center;gap:6px;margin-top:4px;padding:10px 18px;font-family:inherit;font-size:.85rem;font-weight:700;text-decoration:none;transition:background .2s,color .2s,transform .2s;display:inline-flex}.portfolio-modal__demo-btn:hover{background:var(--lamp,#e6a15c);color:#1a1512;transform:translateY(-2px)}.portfolio-modal__arrow{transition:transform .2s;display:inline-block}.portfolio-modal__demo-btn:hover .portfolio-modal__arrow{transform:translate(4px)}
.portfolio{--patch:#f4ebd0;--patch-dim:#b8ab91;--lamp:#e6a15c;--lamp-soft:#e6a15c59;--wood:#7a6348;z-index:3;background:#0d0b09;flex-direction:column;justify-content:center;align-items:center;width:100vw;min-height:80vh;margin-bottom:0;font-family:Space Mono,ui-monospace,monospace;display:flex;position:relative;overflow:hidden}.portfolio-fade-in{z-index:6;pointer-events:none;background:linear-gradient(#0d0b09 0%,#0000 100%);width:100%;height:140px;position:absolute;top:0;left:0}.portfolio:before{content:"";pointer-events:none;z-index:1;background:linear-gradient(#0000 0%,#0d0b09 100%);width:100%;height:120px;position:absolute;top:-120px;left:0}.portfolio:after{content:"";z-index:0;pointer-events:none;background:radial-gradient(circle at 35% 35%, var(--lamp-soft) 0%, transparent 40%), radial-gradient(circle at 75% 55%, #7a634840 0%, transparent 45%);filter:blur(60px);opacity:.5;will-change:opacity;background-repeat:no-repeat;animation:28s ease-in-out infinite aboutDrift;position:absolute;inset:-20%}.portfolio-text{color:var(--patch);margin-top:100px;padding:0;font-family:Syne,sans-serif;font-size:clamp(28px,8vw,60px);font-weight:800}.portfolio-fade-out{z-index:6;pointer-events:none;background:linear-gradient(#0000 0%,#0d0b09 100%);width:100%;height:140px;position:absolute;bottom:0;left:0}
.contacts{--patch:#f4ebd0;--patch-dim:#b8ab91;--lamp:#e6a15c;--lamp-soft:#e6a15c59;--wood:#7a6348;width:100vw;min-height:60vh;color:var(--patch);box-sizing:border-box;background:#0d0b09;flex-direction:column;justify-content:center;padding:0 8vw;font-family:Space Mono,ui-monospace,monospace;display:flex;position:relative;overflow:hidden}.contacts-fade-in{z-index:6;pointer-events:none;background:linear-gradient(#0d0b09 0%,#0000 100%);width:100%;height:140px;position:absolute;top:0;left:0}.contacts-bg-text{color:#f4ebd008;white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:0;letter-spacing:4px;font-family:Syne,sans-serif;font-size:clamp(120px,22vw,340px);font-weight:800;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.contacts-content{z-index:2;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:40px;display:flex;position:relative}.contacts-left{flex-direction:column;gap:32px;display:flex}.contacts-title{text-transform:uppercase;letter-spacing:.5px;color:var(--patch);margin:0;font-family:Syne,sans-serif;font-size:clamp(40px,6vw,76px);font-weight:800;line-height:1.05}.contacts-title .accent{color:var(--lamp)}.contacts-cta{border:1px solid var(--lamp);color:var(--lamp);letter-spacing:2px;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:999px;align-self:flex-start;padding:16px 34px;font-family:Space Mono,ui-monospace,monospace;font-size:13px;transition:all .25s}.contacts-cta:hover{background:var(--lamp);color:#0d0b09;filter:drop-shadow(0 0 12px var(--lamp-soft))}.contacts-right{text-align:right;flex-direction:column;align-items:flex-end;gap:28px;display:flex}.contacts-block{flex-direction:column;align-items:flex-end;gap:10px;display:flex}.contacts-label{letter-spacing:3px;text-transform:uppercase;color:var(--lamp);font-size:11px}.contacts-socials{gap:18px;display:flex}.contacts-socials a{color:var(--patch-dim);justify-content:center;align-items:center;font-size:20px;text-decoration:none;transition:all .25s;display:flex}.contacts-socials a:hover{color:var(--lamp);filter:drop-shadow(0 0 8px var(--lamp-soft));transform:translateY(-2px)}.contacts-email{color:var(--patch);align-items:center;gap:8px;font-size:15px;text-decoration:none;transition:color .25s;display:flex}.contacts-email:hover{color:var(--lamp)}.contacts-footer{z-index:2;letter-spacing:1px;color:var(--patch-dim);border-top:1px solid #b8ab9126;justify-content:space-between;align-items:center;margin-top:80px;padding-top:20px;font-size:11px;display:flex;position:relative}.contacts-footer-tags{letter-spacing:2px;color:var(--lamp);gap:10px;display:flex}.contacts-footer-tags i{color:var(--wood);font-style:normal}@media (max-width:900px){.contacts{min-height:auto;padding:100px 6vw 40px}.contacts-bg-text{white-space:normal;text-align:center;letter-spacing:1px;width:100%;font-size:clamp(60px,18vw,140px);left:50%;transform:translate(-50%,-50%)}.contacts-content{flex-direction:column;align-items:flex-start;gap:40px}.contacts-title{font-size:clamp(32px,9vw,56px)}.contacts-cta{text-align:center;width:100%}.contacts-right{text-align:left;align-items:flex-start;gap:24px;width:100%}.contacts-block{align-items:flex-start;width:100%}.contacts-socials{gap:22px}.contacts-email{word-break:break-all;font-size:14px}.contacts-footer{flex-direction:column;align-items:flex-start;gap:14px;margin-top:50px}.contacts-footer-tags{flex-wrap:wrap;gap:8px}}
@font-face{font-family:"Baloo 2";src:url(../media/Baloo2-Regular.3-m0wg9msqar1.woff2)}:root{--background-color:#0a0000;--blob-red-1:#ff1a1a;--blob-red-2:#b00000;--blob-red-3:#7a0010;--blob-red-4:#d6002a;--color-text-main:#f2f0ef;--color-text-noActive:#fff6;--color-text-accent:#ff4d4d;--color-text-vtoros:#fff9;--font-nav:"Space Mono", monospace;--font-text1:"Instrument Sans", sans-serif;--font-text2:"Bricolage Grotesque", sans-serif;--font-wide:"Unbounded", sans-serif}*,:before,:after{box-sizing:border-box}*{scroll-behavior:smooth;max-width:100%}body{background-color:var(--background-color);margin:0;padding:0;position:relative;overflow-x:hidden}body:before{content:"";z-index:-3;pointer-events:none;background:radial-gradient(#0000 0%,#000 90%);position:fixed;inset:0}.grid{z-index:-1;pointer-events:none;background-image:linear-gradient(#ffffff1f 1px,#0000 1px),linear-gradient(90deg,#ffffff1f 1px,#0000 1px);background-size:40px 40px;position:fixed;inset:0}.symbols{z-index:-2;pointer-events:none;position:fixed;inset:0;overflow:hidden}.symbol{font-family:var(--font-nav);color:var(--blob-red-1);opacity:.25;-webkit-user-select:none;user-select:none;font-weight:700;animation:25s ease-in-out infinite float;position:absolute}.symbol:first-child{font-size:60px;animation-delay:0s;top:8%;left:6%}.symbol:nth-child(2){font-size:40px;animation-delay:-4s;top:20%;right:10%}.symbol:nth-child(3){font-size:32px;animation-delay:-8s;top:45%;left:15%}.symbol:nth-child(4){font-size:55px;animation-delay:-12s;top:60%;right:20%}.symbol:nth-child(5){font-size:45px;animation-delay:-16s;top:75%;left:8%}.symbol:nth-child(6){font-size:28px;animation-delay:-20s;top:30%;left:45%}.symbol:nth-child(7){font-size:38px;animation-delay:-2s;top:85%;right:40%}@keyframes float{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-30px)rotate(5deg)}}@media (prefers-reduced-motion:reduce){.symbol{animation:none}}.code-window{border:1px solid var(--blob-red-1);border-radius:8px;max-width:1600px;margin:70px auto 0;overflow:hidden;background:0 0!important}.code-window--tabs{border-bottom:1px solid var(--blob-red-1);background:#0f0808d9;display:flex}.code-window--tab{font-family:var(--font-nav);color:var(--color-text-noActive);border-right:1px solid #ffffff0f;align-items:center;gap:10px;padding:12px 24px;font-size:14px;font-weight:700;display:flex}.code-window--tab-active{color:var(--color-text-main);box-shadow:inset 0 -2px 0 var(--blob-red-1);background:#ff1a1a0f}.code-window--tab-dot{background:var(--color-text-accent);width:8px;height:8px;box-shadow:0 0 8px var(--color-text-accent);border-radius:50%;flex-shrink:0;animation:1.6s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.code-window--content{background:#0f080880;padding:20px 0}@media (max-width:1200px){.code-window{margin:60px 40px 0}}@media (max-width:800px){.code-window{margin:40px 16px 0}body{padding-bottom:70px}}@media (max-width:1200px){.code-window{margin:60px 20px 0}}section{margin:0;display:block}
