@import"https://fonts.googleapis.com/css2?family=Bebas+Neue&display=swap";@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_astro/Inter-Regular.COLGFB3M.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/_astro/InterDisplay-SemiBold.-Mm3ZPsY.woff2) format("woff2")}@font-face{font-family:Cormorant Italic;src:url(/_astro/Cormorant-Italic.C9f1h0Kz.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(/_astro/poppins-regular-webfont.Dt1oZLEV.woff2) format("woff2")}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(/_astro/poppins-semibold-webfont.ChZJIKDv.woff2) format("woff2")}@font-face{font-family:PitchSans-Regular;font-style:normal;font-weight:400;font-display:swap;src:url(/_astro/PitchSans-Regular.sPsENdZY.otf) format("otf")}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_astro/Inter-Regular.COLGFB3M.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/_astro/InterDisplay-SemiBold.-Mm3ZPsY.woff2) format("woff2")}@font-face{font-family:Cormorant Italic;src:url(/_astro/Cormorant-Italic.C9f1h0Kz.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(/_astro/poppins-regular-webfont.Dt1oZLEV.woff2) format("woff2")}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(/_astro/poppins-semibold-webfont.ChZJIKDv.woff2) format("woff2")}@font-face{font-family:PitchSans-Regular;font-style:normal;font-weight:400;font-display:swap;src:url(/_astro/PitchSans-Regular.sPsENdZY.otf) format("otf")}:root{--color-page-bg: #f7f3f6;--color-text-card: #f7f3f6;--color-text-primary: #111111;--color-text-muted: rgba(0, 0, 0, .68);--color-surface: #ffffff;--color-surface-soft: rgba(255, 255, 255, .9);--color-border-subtle: rgba(0, 0, 0, .12);--glass-bg: rgba(255, 255, 255, .1);--glass-border: rgba(255, 255, 255, .2);--glass-blur: blur(30px);--color-accent: #1d4bff;--color-accent-soft: #f0f4ff;--pr-brackets: #1d4bff;--shadow-soft: 0 24px 60px rgba(0, 0, 0, .12);--font-display: "Poppins", system-ui, -apple-system, sans-serif;--font-body: "Inter", system-ui, -apple-system, sans-serif;--fw-regular: 400;--fw-semibold: 600;--fw-bold: 1000;--page-max-width: 1920px;--page-padding-x: clamp(1.5rem, 6vw, 108px);--section-gap: clamp(3rem, 6vw, 5rem);--radius-lg: 1.5rem;--radius-pill: 999px;--shadow-deep: drop-shadow(0px 120px 80px rgba(0, 0, 0, .12)) drop-shadow(0px 60px 40px rgba(0, 0, 0, .14)) drop-shadow(0px 20px 15px rgba(0, 0, 0, .18));--anim-float-duration: 10s;--anim-float-timing: ease-in-out;--hero-filter: saturate(1.4) contrast(1.1);--z-back: 1;--z-middle: 5;--z-front: 10;--z-sticky: 20;--nav-link-height: 74px;--nav-link-min-width: 140px;--cursor-size: 20px;--cursor-scale: 1;--cursor-blend: difference;--cursor-color: var(--color-accent);--font-size-h2: clamp(2.2rem, 5vw, 4.5rem);--font-size-h2-mobile: 1.8rem}[data-theme=dark]{--color-page-bg: rgb(23, 22, 22);--color-text-primary: rgb(250, 236, 181);--color-text-card: rgb(250, 236, 181);--color-text-muted: rgb(250, 236, 181);--pr-brackets: rgb(132, 186, 255);--glass-bg: rgba(0, 0, 0, .2);--glass-border: rgba(255, 255, 255, .1);--color-surface: #11111a;--color-surface-soft: rgba(18, 18, 28, .96);--color-border-subtle: rgba(255, 255, 255, .14);--color-accent: rgb(200, 199, 199);--color-accent-soft: #101735;--shadow-soft: 0 26px 70px rgba(0, 0, 0, .7)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body{min-inline-size:320px;margin:0;overflow-x:hidden;font-family:var(--font-body);color:var(--color-text-primary);background:var(--color-page-bg);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}img,picture,video,canvas,svg{display:block;max-width:100%}h1,h2,h3,h4,h5,h6,p{margin:0}ul{margin:0;padding:0;list-style:none}button,a{color:inherit;font-family:inherit;font-size:inherit;line-height:inherit;text-decoration:none;background:none;border:none;padding:0;cursor:pointer}.page{max-width:calc(var(--page-max-width) + var(--page-padding-x) * 2);margin-inline:auto;padding-inline:var(--page-padding-x)}main{display:flex;flex-direction:column;gap:var(--section-gap);padding-block:2rem}.section{position:relative}.section__title{font-family:var(--font-display);font-size:clamp(1.5rem,2.4vw,2.1rem);margin-bottom:1.5rem}.text-muted{color:var(--color-muted)}.badge-pill{border-radius:var(--radius-pill);padding:.5rem 1.2rem;border:1px solid rgba(0,0,0,.1);background:#ffffffb3;backdrop-filter:blur(12px)}.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s cubic-bezier(.5,0,0,1),transform .8s cubic-bezier(.5,0,0,1);transition-delay:var(--reveal-delay, 0s)}body.loading .hero{opacity:0;visibility:hidden}body:not(.loading) .hero{opacity:1;visibility:visible;transition:opacity 1.2s cubic-bezier(.4,0,.2,1) .2s}.preloader{position:fixed;inset:0;z-index:99;overflow:hidden;display:flex;align-items:center;justify-content:center;pointer-events:none;background:#050816;transition:opacity .8s cubic-bezier(.4,0,.2,1)}.preloader-image-wrapper{position:absolute;inset:-10%;display:grid;grid-template-columns:repeat(2,1fr);grid-auto-rows:auto;animation:preloader-diagonal 18s linear infinite alternate}.preloader-image{width:100%;height:100%;object-fit:cover}@keyframes preloader-diagonal{0%{transform:translate(-5%,-5%) scale(1.02)}50%{transform:translate(0) scale(1.04)}to{transform:translate(5%,5%) scale(1.06)}}.preloader-content{position:relative;z-index:2;text-align:center}.loading-text{font-family:var(--font-display, system-ui);font-size:clamp(.9rem,1.7vw,1.1rem);text-transform:uppercase;letter-spacing:.2em;color:#fffc}.loading-text span{margin-left:.5em;font-weight:600;color:#fff}.projects__title,.section__title,.education__title,.additional-exp .section__title{font-family:var(--font-display);font-size:var(--font-size-h2);line-height:1.1;font-weight:var(--fw-regular);color:var(--color-text-primary);margin:0;word-wrap:break-word}@media(max-width:480px){.projects__title,.section__title,.education__title{font-size:var(--font-size-h2-mobile)!important}}.about{margin:0;padding:clamp(2rem,5vw,5rem) clamp(20px,10vw,200px);position:relative;overflow:visible;width:100%;background-color:transparent}.about__bg-carpet{position:absolute;inset:0;z-index:-1;overflow:hidden;background-color:#0a0a0a}.about__carpet-img{width:100%;height:100%;object-fit:cover;filter:brightness(.4) saturate(.85)}.about__noise-overlay{position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300' viewBox='0 0 300 300'%3E%3Cfilter id='n' x='0' y='0'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='4.5' numOctaves='4' stitchTiles='stitch'/%3E%3CfeBlend mode='screen'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.22'/%3E%3C/svg%3E");background-size:180px;opacity:.65;mix-blend-mode:screen;pointer-events:none;animation:tv-grain .45s steps(8) infinite}.about__scanlines{position:absolute;inset:0;background:repeating-linear-gradient(to bottom,transparent 0px,transparent 2px,rgba(255,255,255,.02) 2px,rgba(255,255,255,.02) 4px);pointer-events:none;animation:scanline 8s linear infinite}@keyframes scanline{0%{background-position:0 0}to{background-position:0 240px}}@keyframes tv-grain{0%{background-position:0 0}to{background-position:40px 40px}}.about__grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(1.5rem,3vw,3rem);align-items:start;width:100%;margin:0 auto;padding:clamp(20px,4vw,40px);position:relative;background-color:var(--color-page-bg);border:1px solid rgba(var(--color-text-primary-rgb, 17, 17, 17),.1);overflow:visible;z-index:1}[data-theme=dark] .about__grid{border-color:#ffffff14}.about__header{grid-column:1 / span 4;grid-row:1;width:100%}.about__title-wrapper{position:relative;display:flex;align-items:center;padding-left:clamp(35px,4vw,55px)}.about__bracket{position:absolute;left:0;display:flex;width:clamp(25px,3vw,40px);height:auto;color:var(--color-accent)!important;transition:transform .3s ease-out}.about__title{font-family:"Bebas Neue",var(--font-display, serif);font-size:clamp(3.5rem,6vw,6.5rem);font-weight:400;margin:0;line-height:.9;letter-spacing:-.01em;color:var(--color-text-primary)}.about__name{grid-column:6 / span 7;grid-row:1;font-family:"Bebas Neue",var(--font-display, serif);font-size:clamp(2.5rem,5vw,5rem);font-weight:400;line-height:.9;letter-spacing:-.01em;color:var(--color-text-primary);margin:0}.about__content{grid-column:1 / -1;grid-row:2;display:grid;grid-template-columns:repeat(12,1fr);gap:inherit;width:100%}.about__image-box{grid-column:1 / span 5;width:100%;aspect-ratio:1 / 1;overflow:hidden;position:relative}.about__image{width:100%;height:100%;object-fit:cover;filter:saturate(1.05)}.about__text-wrapper{grid-column:6 / span 7;width:100%;display:flex;flex-direction:column}.about__description{display:flex;flex-direction:column;gap:1.2rem;font-family:var(--font-body, "Inter", sans-serif);font-size:clamp(13px,1vw,15px);line-height:1.6;color:var(--color-text-muted, #666666);text-align:left}.about__divider{border:none;height:1px;background:var(--color-text-primary);opacity:.12;margin:.5rem 0}.text-accent{color:var(--color-accent);font-weight:600}.about__cta{align-self:flex-start;background:none;border:none;cursor:pointer;font-family:var(--font-body, "Inter", sans-serif);font-weight:700;font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--color-accent);padding:6px 0;transition:opacity .2s}.about__cta:hover{text-decoration:underline}@keyframes about-bracket-wiggle{0%{transform:rotate(0)}25%{transform:rotate(-8deg)}50%{transform:rotate(8deg)}75%{transform:rotate(-4deg)}to{transform:rotate(0)}}.about__title-wrapper:hover .about__bracket{animation:about-bracket-wiggle .8s ease-in-out infinite}.cv-modal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .4s cubic-bezier(.16,1,.3,1)}.cv-modal.is-active{opacity:1;pointer-events:auto}.cv-modal__overlay{position:absolute;inset:0;background:#0a0a0ad9;backdrop-filter:blur(8px)}.cv-modal__container{position:relative;width:90%;max-width:1100px;max-height:85vh;z-index:2;display:flex;flex-direction:column;transform:translateY(20px);transition:transform .4s cubic-bezier(.16,1,.3,1)}.cv-modal.is-active .cv-modal__container{transform:translateY(0)}.cv-modal__close{position:absolute;top:-45px;right:0;background:none;border:none;color:#fff;cursor:pointer;padding:8px;transition:transform .2s}.cv-modal__close:hover{transform:scale(1.1)}.cv-modal__content{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;overflow-y:auto;padding-right:5px;scrollbar-width:thin}.cv-modal__img{width:100%;height:auto;object-fit:contain;background:#fff;box-shadow:0 20px 40px #0000004d}.about .reveal{opacity:0;transform:translateY(20px);transition:opacity .6s cubic-bezier(.215,.61,.355,1),transform .6s cubic-bezier(.215,.61,.355,1);transition-delay:var(--reveal-delay, 0s)}.about .reveal.is-visible{opacity:1!important;transform:translateY(0)!important}@media(max-width:1024px){.about{padding:3rem 2rem}.about__grid{gap:2rem}.about__header{grid-column:1 / span 5}.about__name{grid-column:6 / -1}.about__image-box{grid-column:1 / span 4}.about__text-wrapper{grid-column:5 / -1}}@media(max-width:768px){.about{padding:2rem 1rem}.about__grid{padding:1.5rem}.cv-modal__content{grid-template-columns:1fr}}@media(max-width:580px){.about__grid{display:flex;flex-direction:column;gap:1.5rem}.about__title,.about__bracket{display:none!important}.about__name{font-size:2rem;width:100%}.about__image-box{width:100%;max-width:320px;margin:0 auto}.about__text-wrapper{width:100%}.about__bg-carpet{display:none}}.additional-exp{padding:clamp(3rem,6vw,5rem) clamp(20px,10vw,200px);background-color:var(--color-page-bg, #ffffff);position:relative;overflow:visible}.additional-exp .container{width:100%;margin:0 auto;position:relative;z-index:2}.section__header{margin-bottom:clamp(2rem,4vh,3.5rem);display:flex;justify-content:flex-start}.title-wrapper{position:relative;display:inline-flex;align-items:center;justify-content:flex-start;padding:0 clamp(35px,4vw,55px)}.section__title{font-family:"Bebas Neue",var(--font-display, serif)!important;font-weight:400;font-style:normal!important;font-size:clamp(3rem,5.5vw,6.5rem);line-height:.9;letter-spacing:-.01em;color:var(--color-text-primary, #111111)!important;margin:0;text-transform:uppercase}.bracket{position:absolute;display:flex;width:clamp(25px,3vw,40px);height:auto;color:var(--color-accent)!important;transition:transform .3s ease-out;top:50%;transform:translateY(-50%)}[data-theme=dark] .bracket{color:var(--color-accent)!important}.bracket--left{left:0}.bracket--right{right:0;transform:translateY(-50%) scaleX(-1)}@keyframes bracket-wiggle-left{0%{transform:translateY(-50%) rotate(0)}25%{transform:translateY(-50%) rotate(-8deg)}50%{transform:translateY(-50%) rotate(8deg)}75%{transform:translateY(-50%) rotate(-4deg)}to{transform:translateY(-50%) rotate(0)}}@keyframes bracket-wiggle-right{0%{transform:translateY(-50%) scaleX(-1) rotate(0)}25%{transform:translateY(-50%) scaleX(-1) rotate(8deg)}50%{transform:translateY(-50%) scaleX(-1) rotate(-8deg)}75%{transform:translateY(-50%) scaleX(-1) rotate(4deg)}to{transform:translateY(-50%) scaleX(-1) rotate(0)}}.title-wrapper:hover .bracket--left{animation:bracket-wiggle-left .8s ease-in-out infinite}.title-wrapper:hover .bracket--right{animation:bracket-wiggle-right .8s ease-in-out infinite}.exp-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid rgba(var(--color-text-primary-rgb, 17, 17, 17),.1);border-left:1px solid rgba(var(--color-text-primary-rgb, 17, 17, 17),.1);width:100%}[data-theme=dark] .exp-grid{border-top-color:#ffffff14;border-left-color:#ffffff14}.exp-card{display:flex;flex-direction:column;min-height:480px;position:relative;border-right:1px solid rgba(var(--color-text-primary-rgb, 17, 17, 17),.1);border-bottom:1px solid rgba(var(--color-text-primary-rgb, 17, 17, 17),.1);padding:clamp(20px,3vw,35px);background:transparent;overflow:hidden;transition:background .2s ease}.exp-card:hover{background:#0038ff03}[data-theme=dark] .exp-card{border-right-color:#ffffff14;border-bottom-color:#ffffff14}.exp-card__content{flex:1;display:flex;flex-direction:column;overflow:hidden}.exp-card__company{font-family:"Bebas Neue",var(--font-display, serif);font-size:clamp(1.6rem,2.2vw,2.4rem);font-weight:400;line-height:1.1;letter-spacing:.01em;color:var(--color-text-primary, #111111);margin:0 0 6px}.exp-card__date{font-family:var(--font-body, "Inter", sans-serif);font-size:clamp(12px,1vw,13px);font-weight:500;color:var(--color-text-muted, #666666);margin-bottom:24px}.exp-card__description-wrapper{position:relative;overflow:hidden;max-height:260px;scrollbar-width:none;margin-bottom:12px;transition:max-height .4s ease}.exp-card.is-expanded .exp-card__description-wrapper{max-height:1200px;overflow-y:auto}.exp-card__description-wrapper:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:45px;background:linear-gradient(transparent,var(--color-page-bg));transition:opacity .3s;pointer-events:none}.exp-card.is-expanded .exp-card__description-wrapper:after{opacity:0}.read-more-btn{display:none;background:none;border:none;color:#0038ff;cursor:pointer;font-family:var(--font-body, "Inter", sans-serif);font-weight:700;font-size:11px;letter-spacing:.06em;text-transform:uppercase;padding:8px 0;align-self:flex-start;text-align:left;transition:opacity .2s}.read-more-btn:hover{opacity:.8;text-decoration:underline}.exp-card__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.exp-card__item{font-family:var(--font-body, "Inter", sans-serif);font-size:clamp(13px,1.1vw,14px);line-height:1.55;position:relative;padding-left:16px;color:var(--color-text-muted, #666666);text-align:left}.exp-card__item:before{content:"—";position:absolute;left:0;color:var(--color-accent);font-weight:700}.text-accent{font-family:Cormorant Garamond,serif!important;font-style:italic!important;color:#0038ff!important;font-size:1.15em!important;line-height:.9;font-weight:400}.reveal{opacity:0;transform:translateY(20px);transition:opacity .6s cubic-bezier(.215,.61,.355,1),transform .6s cubic-bezier(.215,.61,.355,1);transition-delay:var(--reveal-delay, 0s)}@media(max-width:1024px){.additional-exp{padding:3rem 2rem}.exp-card{padding:20px;min-height:420px}}@media(max-width:768px){.additional-exp{padding:2.5rem 1rem}.exp-grid{grid-template-columns:1fr}.exp-card{min-height:auto}}@media(max-width:580px){.title-wrapper{padding:0;width:100%}.bracket{display:none!important}.section__title{font-size:2.2rem!important;text-align:left;display:block!important}.exp-grid{border:none}.exp-card{padding:1.5rem 0;border-left:none;border-right:none}.exp-card__company{font-size:1.5rem}.exp-card__description-wrapper{max-height:180px}}.contact-section{padding:clamp(3rem,6vw,5rem) 0 clamp(2rem,4vw,3rem);background-color:var(--color-page-bg);min-height:0;position:relative}.contact__container{width:100%;position:relative;z-index:2}.contact__topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;flex-wrap:wrap;gap:8px}.contact__label{font-family:var(--font-body, "Inter", sans-serif);font-size:clamp(10px,.9vw,12px);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-muted)}.contact__status{display:flex;align-items:center;gap:8px;font-family:var(--font-body, "Inter", sans-serif);font-size:clamp(10px,.85vw,11px);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent)}.contact__dot{width:7px;height:7px;border-radius:50%;background:var(--color-accent);flex-shrink:0;animation:contact-dot-blink 1.6s ease-in-out infinite}@keyframes contact-dot-blink{0%,to{opacity:1}50%{opacity:.15}}.contact__rule{width:100%;height:1px;background:var(--color-text-primary);opacity:.15;margin-bottom:14px}.contact__title-row{display:flex;align-items:flex-end;gap:clamp(1rem,3vw,3rem);margin-bottom:clamp(2.5rem,5vh,4rem)}.contact__title{font-family:"Bebas Neue",var(--font-display, serif);font-weight:400;font-size:clamp(5rem,14vw,15rem);line-height:.88;letter-spacing:-.01em;color:var(--color-text-primary);margin:0;flex-shrink:0}.contact__title-acc{background-image:url(/images/%D0%BA%D0%BE%D0%B2%D0%B5%D1%80.avif);background-size:300px auto;background-repeat:repeat;background-position:center;-webkit-background-clip:text;background-clip:text;color:transparent;filter:saturate(1.4) contrast(1.1);display:block}.contact__title-line{flex:1;height:2px;background:var(--color-accent);margin-bottom:clamp(1rem,3vw,2.5rem);position:relative}.contact__title-line:after{content:"→";position:absolute;right:-2px;bottom:-.6em;font-size:14px;color:var(--color-accent);font-family:var(--font-body, "Inter", sans-serif);font-weight:700}.contact__body{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:start}.contact__links{display:flex;flex-direction:column;gap:0;border-top:1px solid rgba(17,17,17,.12)}[data-theme=dark] .contact__links{border-top-color:#ffffff1a}.contact__link-item{display:flex;flex-direction:column;gap:3px;padding:clamp(14px,2vw,20px) 0;border-bottom:1px solid rgba(17,17,17,.08);text-decoration:none;transition:background .2s ease;cursor:pointer;padding-left:4px;padding-right:4px;margin:0 -4px}[data-theme=dark] .contact__link-item{border-bottom-color:#ffffff0f}.contact__link-item:hover .contact__link-value{color:var(--color-accent)}.contact__link-item:hover{background:#1d4bff08}.contact__link-label{font-family:var(--font-body, "Inter", sans-serif);font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--color-text-muted);opacity:.5}.contact__link-value{font-family:var(--font-body, "Inter", sans-serif);font-size:clamp(13px,1.3vw,17px);font-weight:500;color:var(--color-text-primary);transition:color .2s ease;letter-spacing:.01em}.contact__bubble-wrap{display:flex;flex-direction:column;gap:clamp(1.5rem,3vh,2.5rem)}.contact__bubble{position:relative;padding:clamp(1.5rem,3vw,2.5rem) clamp(1.5rem,3vw,2.5rem) clamp(2rem,4vw,3rem)}.contact__bubble-outline{position:absolute;inset:0;pointer-events:none;z-index:0}.contact__bubble-outline svg{width:100%;height:100%;display:block}.contact__bubble-text{position:relative;z-index:1;font-family:var(--font-body, "Inter", sans-serif);font-size:clamp(14px,1.3vw,17px);line-height:1.7;color:var(--color-text-muted);margin:0}.contact__bubble-text strong{color:var(--color-text-primary);font-weight:700}.contact__actions{display:flex;gap:10px;flex-wrap:wrap}.contact__btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 20px;font-family:var(--font-body, "Inter", sans-serif);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;border-radius:0;cursor:pointer;transition:background .2s ease,color .2s ease;white-space:nowrap;background:var(--color-accent);color:#fff;border:1.5px solid var(--color-accent)}.contact__btn:hover{background:transparent;color:var(--color-accent)}.contact__btn--ghost{background:transparent;color:var(--color-accent);border:1.5px solid var(--color-accent)}.contact__btn--ghost:hover{background:var(--color-accent);color:#fff}.contact__bottom-rule{height:1px;background:var(--color-text-primary);opacity:.1;margin-top:clamp(2.5rem,5vh,4rem)}.contact__bottom-row{display:flex;align-items:center;justify-content:space-between;padding-top:12px;flex-wrap:wrap;gap:8px}.contact__bottom-note,.contact__bottom-copy{font-family:var(--font-body, "Inter", sans-serif);font-size:10px;letter-spacing:.08em;color:var(--color-text-muted);opacity:.5;text-transform:uppercase}@media(max-width:900px){.contact__body{grid-template-columns:1fr;gap:clamp(2rem,4vh,3rem)}.contact__title-line{display:none}}@media(max-width:768px){.contact-section{padding:clamp(2rem,4vw,3rem) 0 clamp(1.5rem,3vw,2rem)}.contact__title{font-size:clamp(4rem,16vw,7rem)}}@media(max-width:480px){.contact__topbar{flex-direction:column;align-items:flex-start;gap:4px}.contact__title{font-size:clamp(3.5rem,18vw,5rem);line-height:.9}.contact__title-row{margin-bottom:1.5rem}.contact__actions{flex-direction:column}.contact__btn{width:100%;justify-content:center}.contact__bottom-copy{display:none}}.education{margin:0;background-color:transparent;position:relative;overflow:visible;width:100%;padding:clamp(2rem,5vw,5rem) clamp(20px,10vw,200px)}.education__bg-carpet{position:absolute;inset:0;z-index:-1;overflow:hidden;background-color:#0a0a0a}.education__carpet-img{width:100%;height:100%;object-fit:cover;filter:brightness(.4) saturate(.85)}.education__noise-overlay{position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300' viewBox='0 0 300 300'%3E%3Cfilter id='n' x='0' y='0'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='4.5' numOctaves='4' stitchTiles='stitch'/%3E%3CfeBlend mode='screen'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.22'/%3E%3C/svg%3E");background-size:180px;opacity:.65;mix-blend-mode:screen;pointer-events:none;animation:tv-grain-edu .45s steps(8) infinite}.education__scanlines{position:absolute;inset:0;background:repeating-linear-gradient(to bottom,transparent 0px,transparent 2px,rgba(255,255,255,.02) 2px,rgba(255,255,255,.02) 4px);pointer-events:none;animation:scanline-edu 8s linear infinite}@keyframes scanline-edu{0%{background-position:0 0}to{background-position:0 240px}}@keyframes tv-grain-edu{0%{background-position:0 0}to{background-position:40px 40px}}.education__grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(1.5rem,3vw,3rem);align-items:start;width:100%;margin:0 auto;padding:clamp(20px,4vw,40px);background-color:var(--color-page-bg);border:1px solid rgba(var(--color-text-primary-rgb, 17, 17, 17),.1);position:relative;z-index:1}[data-theme=dark] .education__grid{border-color:#ffffff14}.education__header{grid-column:1 / span 4;display:flex;flex-direction:column;gap:clamp(2rem,4vh,3.5rem)}.education__title-wrapper{position:relative;display:flex;align-items:center;justify-content:flex-start;padding-left:clamp(35px,4vw,55px)}.education__title{font-family:"Bebas Neue",var(--font-display, serif);font-size:clamp(3.5rem,6vw,6.5rem);font-weight:400;margin:0;line-height:.9;letter-spacing:-.01em;color:var(--color-text-primary)}.education__bracket{position:absolute;display:flex;width:clamp(25px,3vw,40px);height:auto;color:var(--pr-brackets);transition:transform .3s ease-out;left:0}.education__years{display:flex;flex-direction:column;gap:2rem}.education__year-item strong{display:block;font-family:"Bebas Neue",var(--font-display, serif);font-size:clamp(1.8rem,2.5vw,2.4rem);font-weight:400;line-height:1;letter-spacing:.02em;color:var(--color-text-primary);margin-bottom:4px}.education__year-item span{display:block;font-family:var(--font-body, "Inter", sans-serif);font-size:clamp(12px,1vw,14px);font-weight:500;color:var(--color-text-muted, #666666)}.education__main{grid-column:6 / span 7;display:flex;flex-direction:column;gap:2.5rem}.education__motivation{display:flex;flex-direction:column;gap:1.2rem}.education__motivation p{font-family:var(--font-body, "Inter", sans-serif);font-size:clamp(13px,1vw,15px);line-height:1.6;color:var(--color-text-muted, #666666);text-align:left;margin:0}.education__carpet-card{border-top:1px solid rgba(var(--color-text-primary-rgb, 17, 17, 17),.1);padding-top:2rem;margin-top:.5rem}[data-theme=dark] .education__carpet-card{border-top-color:#ffffff14}.art-phrase{font-family:Cormorant Garamond,serif!important;font-style:italic!important;font-size:clamp(1.6rem,3vw,2.6rem)!important;line-height:1.2;font-weight:400;color:#0038ff!important;margin-bottom:1rem;text-align:left}[data-theme=dark] .art-phrase{color:var(--color-accent)!important}.education__motivation-sub p{font-family:var(--font-body, "Inter", sans-serif);font-size:clamp(11px,.9vw,12px);font-weight:500;color:var(--color-text-muted, #666666);opacity:.7}.education .reveal{opacity:0;transform:translateY(20px);transition:opacity .6s cubic-bezier(.215,.61,.355,1),transform .6s cubic-bezier(.215,.61,.355,1);transition-delay:var(--reveal-delay, 0s)}.education .reveal.is-visible{opacity:1!important;transform:translateY(0)!important}@keyframes edu-bracket-wiggle{0%{transform:rotate(0)}25%{transform:rotate(-8deg)}50%{transform:rotate(8deg)}75%{transform:rotate(-4deg)}to{transform:rotate(0)}}.education__title-wrapper:hover .education__bracket--left{animation:edu-bracket-wiggle .8s ease-in-out infinite}@media(max-width:1024px){.education{padding:3rem 2rem}.education__grid{gap:2rem}.education__header{grid-column:1 / span 5}.education__main{grid-column:6 / -1}}@media(max-width:768px){.education{padding:2rem 1rem}.education__grid{grid-template-columns:1fr;padding:1.5rem}.education__header,.education__main{grid-column:1 / -1}.education__years{flex-direction:row;gap:2rem;flex-wrap:wrap}}@media(max-width:580px){.education__grid{display:flex;flex-direction:column;gap:1.5rem}.education__title,.education__bracket{display:none!important}.education__years{flex-direction:column;gap:1.25rem}.education__year-item strong{font-size:1.5rem}.art-phrase{font-size:1.4rem!important}.education__bg-carpet{display:none}}.header{position:sticky;top:0;z-index:100;pointer-events:none;padding:10px 0 0}.header__inner{pointer-events:auto;width:100%;max-width:var(--page-max-width, 1440px);margin:0 auto;padding:0 clamp(1rem,2.5vw,2rem)}.header__nav-list{display:flex;flex-wrap:nowrap;gap:6px;align-items:center;list-style:none;margin:0;padding:0}.header__nav-link{display:inline-flex;justify-content:center;align-items:center;height:36px;padding:0 16px;font-family:var(--font-body, "Inter", sans-serif);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;color:var(--color-accent);border:1.5px solid var(--color-accent);border-radius:0;background:transparent;backdrop-filter:none;transition:background .2s ease,color .2s ease;white-space:nowrap;position:relative;overflow:hidden}.header__nav-link:hover,.header__nav-link:focus-visible{background:var(--color-accent);color:var(--color-page-bg, #f7f3f6)}.header__nav-link:active{background:var(--color-accent);color:var(--color-page-bg, #f7f3f6);opacity:.85}.nav-letter{display:inline-block;pointer-events:none}.nav-letter.jump{animation:nav-jump .38s ease;animation-delay:var(--nav-delay, 0s)}@keyframes nav-jump{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}html{scroll-behavior:smooth}section{scroll-margin-top:60px}@media(max-width:1024px){.header__nav-list{flex-wrap:wrap;gap:5px}.header__nav-link{height:32px;padding:0 12px;font-size:11px}section{scroll-margin-top:90px}}@media(max-width:767px){.header{display:none}section{scroll-margin-top:0px}}.hero{display:flex;flex-direction:column;position:relative;min-height:auto;width:100%;overflow:hidden;box-sizing:border-box;contain:layout}.hero__container{position:relative;width:100%;height:100%;display:flex;flex-direction:column;justify-content:flex-start}.hero__layout{display:flex;flex-direction:column;position:relative;z-index:10;width:100%;padding-top:2.5rem;padding-bottom:2.5rem;gap:0;box-sizing:border-box}.hero__topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;flex-wrap:wrap;gap:8px}.hero__name-label{font-family:var(--font-body, "Inter", sans-serif);font-size:clamp(11px,1vw,13px);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-muted)}.hero__status{display:flex;align-items:center;gap:8px;font-family:var(--font-body, "Inter", sans-serif);font-size:clamp(10px,.9vw,12px);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent)}.hero__status-dot{width:7px;height:7px;border-radius:50%;background:var(--color-accent);flex-shrink:0;animation:hero-dot-blink 1.6s ease-in-out infinite}@keyframes hero-dot-blink{0%,to{opacity:1}50%{opacity:.15}}.hero__rule{width:100%;height:1px;background:var(--color-text-primary);opacity:.15;margin-bottom:16px}.hero__tag{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px;font-family:var(--font-body, "Inter", sans-serif);font-size:clamp(10px,.95vw,12px);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent);border:1.5px solid var(--color-accent);padding:5px 12px;margin-bottom:18px;align-self:flex-start}.hero__tag-sep{opacity:.4}.hero__title{display:block;margin:0;line-height:.86;cursor:default;user-select:none}.hero__title-line{display:block;font-family:"Bebas Neue",var(--font-display, serif);font-weight:400;font-size:clamp(4rem,12.5vw,14rem);letter-spacing:-.01em;white-space:nowrap;position:relative}.hero__title-line--plain{display:block;position:relative}.hero__title-main{display:block;position:relative;background-image:url(/images/%D0%BA%D0%BE%D0%B2%D0%B5%D1%80.avif);background-size:300px auto;background-repeat:repeat;background-position:center;-webkit-background-clip:text;background-clip:text;color:transparent;z-index:2;filter:var(--hero-filter, saturate(1.4) contrast(1.1))}.hero__title-shadow{position:absolute;inset:0;display:block;transform:translate(-.025em,-.015em);color:var(--color-accent);z-index:1;pointer-events:none;font-family:"Bebas Neue",var(--font-display, serif);font-weight:400;font-size:inherit;letter-spacing:inherit}.hero__title-line--mixed{display:block;font-size:clamp(4rem,12.5vw,14rem)}.hero__word-outlined{display:inline;font-family:"Bebas Neue",var(--font-display, serif);font-weight:400;font-size:inherit;-webkit-text-stroke:clamp(1.5px,.18vw,3px) var(--color-text-primary);color:transparent;letter-spacing:-.01em}.hero__word-carpet{display:inline;font-family:"Bebas Neue",var(--font-display, serif);font-weight:400;font-size:inherit;background-image:url(/images/%D0%BA%D0%BE%D0%B2%D0%B5%D1%80.avif);background-size:300px auto;background-repeat:repeat;background-position:center;-webkit-background-clip:text;background-clip:text;color:transparent;filter:var(--hero-filter, saturate(1.4) contrast(1.1));letter-spacing:-.01em}.letter{display:inline-block;position:relative;animation-delay:var(--animation-delay, 0s);transition:transform .3s ease}.letter--outlined{-webkit-text-stroke:inherit;color:inherit;background:none}.letter--carpet{background-image:url(/images/%D0%BA%D0%BE%D0%B2%D0%B5%D1%80.avif);background-size:300px auto;background-repeat:repeat;background-position:center;-webkit-background-clip:text;background-clip:text;color:transparent;filter:var(--hero-filter, saturate(1.4) contrast(1.1))}.is-loading .letter{opacity:1}@media(prefers-reduced-motion:no-preference){.is-loading .letter{animation:bounceIn .7s cubic-bezier(.36,0,.66,-.56) both;animation-delay:var(--animation-delay);will-change:transform,opacity}}.letter.jump-on-hover{animation:jump-single .45s ease-out forwards!important;will-change:transform}@keyframes bounceIn{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes jump-single{0%{transform:translateY(0)}45%{transform:translateY(-20px)}to{transform:translateY(0)}}.hero__bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-top:28px;flex-wrap:wrap}.hero__bottom-left{display:flex;flex-direction:column;gap:4px}.hero__exp-line{font-family:var(--font-body, "Inter", sans-serif);font-size:clamp(11px,1vw,13px);color:var(--color-text-muted);letter-spacing:.03em;margin:0;line-height:1.3}.hero__exp-accent{font-weight:700;color:var(--color-accent)}.hero__reloc{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0}.hero__reloc-label{font-family:var(--font-body, "Inter", sans-serif);font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--color-text-muted);opacity:.5}.hero__reloc-cities{display:flex;align-items:center;gap:8px;font-family:"Bebas Neue",var(--font-display, serif);font-size:clamp(20px,2.2vw,32px);letter-spacing:.04em;color:var(--color-text-primary);line-height:1}.hero__reloc-sep{color:var(--color-accent);font-family:var(--font-body);font-size:16px;opacity:.5}.hero__scroll-indicator{position:absolute;right:0;bottom:2rem;display:flex;flex-direction:column;align-items:center;gap:8px;z-index:10}.hero__scroll-indicator span{writing-mode:vertical-rl;font-family:var(--font-body, "Inter", sans-serif);font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--color-text-muted);opacity:.4}.hero__scroll-line{width:1px;height:40px;background:var(--color-text-muted);opacity:.25;animation:scroll-line-anim 2.2s ease-in-out infinite;transform-origin:top;will-change:transform,opacity}@keyframes scroll-line-anim{0%{transform:scaleY(0);opacity:0}40%{transform:scaleY(1);opacity:.3}to{transform:scaleY(1);opacity:0}}.hero__blob,.blob-layer--back,.blob-layer--front,.hero__blob--left-large,.hero__blob--right-large,.hero__blob--right-small,.hero__blob--left-large-hero{display:none!important}@media(max-width:1100px){.hero__title-line,.hero__title-line--mixed{font-size:clamp(3.5rem,10.5vw,7.5rem)}}@media(max-width:768px){.hero{height:auto}.hero__layout{padding-top:1.5rem;padding-bottom:2.5rem}.hero__title-line,.hero__title-line--mixed{font-size:clamp(2.8rem,12vw,4.8rem);white-space:normal}.hero__bottom{flex-direction:column;align-items:flex-start;gap:14px;margin-top:20px}.hero__reloc{align-items:flex-start}.hero__scroll-indicator{display:none}}@media(max-width:480px){.hero__layout{padding-top:1rem;padding-bottom:1.5rem}.hero__title-line,.hero__title-line--mixed{font-size:clamp(2.4rem,14.5vw,3.4rem);line-height:.9;white-space:normal;word-break:break-word}.hero__topbar{flex-direction:column;align-items:flex-start;gap:4px;margin-bottom:6px}.hero__tag{font-size:9.5px;gap:4px;padding:4px 10px;margin-bottom:12px}.hero__bottom{gap:10px}.hero__reloc{display:none}}body .text-accent{color:var(--color-accent)!important}.projects{background-color:var(--color-page-bg);position:relative;z-index:5;padding:clamp(3rem,6vw,5rem) 0}.projects__container{width:100%;max-width:var(--page-max-width, 1440px);margin:0 auto}.projects__header{margin-bottom:clamp(2rem,4vh,3rem)}.projects__topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.projects__label{font-family:var(--font-body, "Inter", sans-serif);font-size:clamp(10px,.9vw,12px);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-muted)}.projects__count{font-family:var(--font-body, "Inter", sans-serif);font-size:clamp(10px,.9vw,12px);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent)}.projects__rule{width:100%;height:1px;background:var(--color-text-primary);opacity:.15;margin-bottom:14px}.projects__title-wrapper{position:relative;display:inline-flex;align-items:center;justify-content:flex-start;padding:0 clamp(35px,4vw,55px)}.projects__title{font-family:"Bebas Neue",var(--font-display, serif);font-weight:400;font-size:clamp(3rem,8vw,9rem);line-height:.9;letter-spacing:-.01em;color:var(--color-text-primary);margin:0}.projects__bracket{position:absolute;width:clamp(25px,3.5vw,40px);height:auto;color:var(--color-accent);display:flex;align-items:center;transition:transform .3s ease-out;top:50%;transform:translateY(-50%)}.projects__bracket--left{left:0}.projects__bracket--right{right:0;transform:translateY(-50%) scaleX(-1)}.projects__title-wrapper:hover .projects__bracket--left{animation:bracket-wiggle .8s ease-in-out infinite}.projects__title-wrapper:hover .projects__bracket--right{animation:bracket-wiggle-right .8s ease-in-out infinite}.projects__grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--color-text-primary);border-left:1px solid var(--color-text-primary);width:100%}[data-theme=dark] .projects__grid{border-top-color:#ffffff1f;border-left-color:#ffffff1f}.project-card{display:flex;flex-direction:column;height:auto;min-height:480px;position:relative;border-right:1px solid rgba(var(--color-text-primary-rgb, 17, 17, 17),.12);border-bottom:1px solid rgba(var(--color-text-primary-rgb, 17, 17, 17),.12);padding:clamp(20px,2.5vw,32px);background:transparent;overflow:hidden;transition:background .2s ease}.project-card:hover{background:rgba(var(--color-accent-rgb, 29, 75, 255),.01)}[data-theme=dark] .project-card{border-right-color:#ffffff14;border-bottom-color:#ffffff14}.project-card__content{flex:1;display:flex;flex-direction:column;overflow:hidden}.project-card__title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-top:4px;margin-bottom:6px}.project-card__title{font-family:var(--font-body, "Inter", sans-serif);font-size:clamp(14px,1.2vw,17px);font-weight:700;line-height:1.3;letter-spacing:-.01em;color:var(--color-text-primary);margin:0}.project-card__badge{font-family:var(--font-body, "Inter", sans-serif);font-size:9px;font-weight:700;padding:2px 8px;border:1px solid var(--color-accent);color:var(--color-accent);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.project-card__date{font-family:var(--font-body, "Inter", sans-serif);font-size:clamp(11px,.9vw,12px);font-weight:500;color:var(--color-text-muted);margin-bottom:20px}.project-card__description-wrapper{position:relative;overflow:hidden;max-height:260px;scrollbar-width:none;margin-bottom:14px;transition:max-height .4s ease}.project-card.is-expanded .project-card__description-wrapper{max-height:1200px;overflow-y:auto}.project-card.has-overflow:not(.is-expanded) .project-card__description-wrapper:after{content:"";display:block;position:absolute;bottom:0;left:0;width:100%;height:45px;background:linear-gradient(transparent,var(--color-page-bg));pointer-events:none}.read-more-btn{display:none;background:none;border:none;color:var(--color-accent);cursor:pointer;font-family:var(--font-body, "Inter", sans-serif);font-weight:700;font-size:11px;letter-spacing:.05em;text-transform:uppercase;padding:8px 0;align-self:flex-start}.read-more-btn:hover{text-decoration:underline}.project-card__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.project-card__item{font-family:var(--font-body, "Inter", sans-serif);font-size:clamp(12px,1.05vw,13.5px);line-height:1.55;position:relative;padding-left:16px;color:var(--color-text-muted);text-align:left}.project-card__item:before{content:"—";position:absolute;left:0;color:var(--color-accent);font-weight:700}.project-card__footer{margin-top:auto;padding-top:16px}.project-button{display:inline-flex;align-items:center;justify-content:space-between;width:100%;height:44px;padding:0 14px;font-family:var(--font-body, "Inter", sans-serif);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;color:var(--color-text-primary);background:transparent;border:1px solid rgba(var(--color-text-primary-rgb, 17, 17, 17),.15);border-radius:0;transition:background-color .3s cubic-bezier(.25,1,.5,1),color .3s ease,border-color .3s ease}[data-theme=dark] .project-button{border-color:#ffffff26}.project-button:not(.project-button--disabled):hover{background-color:var(--color-accent)!important;color:#fff!important;border-color:var(--color-accent)!important;background-image:none!important}[data-theme=dark] .project-button:not(.project-button--disabled):hover{background-color:var(--color-accent)!important;border-color:var(--color-accent)!important}.project-button:visited:hover{background-image:linear-gradient(#0000008c,#0000008c),url(../img/carpet.jpg)!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important;border-color:rgba(var(--color-text-primary-rgb, 17, 17, 17),.4)!important;color:#fff!important}[data-theme=dark] .project-button:visited:hover{background-image:linear-gradient(#000000b3,#000000b3),url(../img/carpet.jpg)!important;border-color:#ffffff40!important;color:#f5ecec!important}.project-button--disabled{opacity:.35;cursor:default;border-style:dashed}.projects__bottom-rule{height:1px;background:var(--color-text-primary);opacity:.1}.projects__bottom-row{display:flex;align-items:center;justify-content:space-between;padding-top:14px;flex-wrap:wrap;gap:8px}.projects__bottom-note{font-family:var(--font-body, "Inter", sans-serif);font-size:10px;letter-spacing:.06em;color:var(--color-text-muted);opacity:.6}.projects__bottom-tag{font-family:var(--font-body, "Inter", sans-serif);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent);border:1px solid var(--color-accent);padding:3px 10px}.reveal.is-visible{opacity:1!important;transform:translateY(0)!important}@keyframes bracket-wiggle{0%,to{transform:translateY(-50%) rotate(0)}25%{transform:translateY(-50%) rotate(-5deg)}50%{transform:translateY(-50%) rotate(5deg)}75%{transform:translateY(-50%) rotate(-3deg)}}@keyframes bracket-wiggle-right{0%,to{transform:translateY(-50%) scaleX(-1) rotate(0)}25%{transform:translateY(-50%) scaleX(-1) rotate(5deg)}50%{transform:translateY(-50%) scaleX(-1) rotate(-5deg)}75%{transform:translateY(-50%) scaleX(-1) rotate(3deg)}}@media(max-width:1150px){.projects__grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.projects{padding:2.5rem 1rem}.projects__grid{grid-template-columns:repeat(2,1fr)}.projects__bottom-tag{display:none}}@media(max-width:580px){.projects__title-wrapper{padding:0;width:100%}.projects__bracket{display:none!important}.projects__title{font-size:2.4rem!important}.projects__grid{grid-template-columns:1fr;border-left:none}.project-card{min-height:auto;padding:24px 0;border-right:none}.project-card__description-wrapper{max-height:180px;height:auto}.read-more-btn{margin-top:4px;position:relative;z-index:2}.projects__bottom-row{flex-direction:column;align-items:flex-start}}.hamburger-menu{position:fixed;top:2rem;right:var(--page-padding-x);z-index:100;width:48px;height:48px;background:var(--color-page-bg);border:1px solid var(--color-text-primary);border-radius:0;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease}.hamburger-menu:hover{border-color:var(--color-accent);background:rgba(var(--color-accent-rgb, 29, 75, 255),.04)}.burger-lines{width:22px;height:14px;position:relative;display:flex;flex-direction:column;justify-content:space-between}.line{height:2px;background:var(--color-text-primary);border-radius:0;transition:all .4s cubic-bezier(.4,0,.2,1)}.line.top{width:100%}.line.bottom{width:60%;align-self:flex-end}.sidebar-switch:checked+.hamburger-menu .line.top{transform:translateY(6px) rotate(45deg);background:var(--color-accent)}.sidebar-switch:checked+.hamburger-menu .line.bottom{width:100%;transform:translateY(-6px) rotate(-45deg);background:var(--color-accent)}.sidebar-container{position:fixed;top:0;right:-100%;width:min(350px,85vw);height:100vh;background:var(--color-page-bg);border-left:1px solid rgba(var(--color-text-primary-rgb, 17, 17, 17),.15);z-index:95;transition:right .6s cubic-bezier(.16,1,.3,1)}[data-theme=dark] .sidebar-container{border-left-color:#ffffff14}.sidebar-switch:checked~.sidebar-container{right:0}.sidebar-backdrop{position:fixed;inset:0;background:#0000004d;z-index:90;opacity:0;visibility:hidden;transition:all .4s ease}.sidebar-switch:checked~.sidebar-backdrop{opacity:1;visibility:visible}.sidebar-inner{height:100%;padding:8rem 2.5rem 3rem;display:flex;flex-direction:column;justify-content:space-between}.nav-menu{list-style:none;padding:0}.nav-item{font-family:var(--font-body, "Inter", sans-serif);font-size:2rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-primary);text-decoration:none;display:block;padding-block:.8rem;transition:all .3s ease}.nav-item:hover{color:var(--color-accent);transform:translate(8px)}.nav-social .nav-item{font-size:1.5rem;font-weight:500;color:var(--color-text-muted);text-transform:none;letter-spacing:0}.sidebar-divider{width:100%;height:1px;background:var(--color-text-primary);opacity:.15;border:none;margin:1.5rem 0}.sidebar-bottom{border-top:1px solid rgba(var(--color-text-primary-rgb, 17, 17, 17),.1);padding-top:2rem}.theme-section{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem}.theme-status{font-family:var(--font-body, "Inter", sans-serif);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted)}.theme-toggle-node{background:none;border:none;cursor:pointer;padding:0}.track{width:52px;height:28px;background:transparent;border:1.5px solid var(--color-text-primary);border-radius:0;position:relative;transition:border-color .4s ease}.thumb{position:absolute;top:4px;left:4px;width:18px;height:18px;background:var(--color-text-primary);border-radius:0;transition:transform .4s cubic-bezier(.175,.885,.32,1.275),background-color .3s}[data-theme=dark] .track{border-color:var(--color-accent)}[data-theme=dark] .thumb{transform:translate(24px);background:var(--color-accent)}.social-mini{display:flex;gap:1.5rem}.social-link{font-size:.9rem;color:var(--color-text-primary);text-decoration:none;opacity:.6;transition:opacity .3s}.social-link:hover{opacity:1}.mobile-only{display:none!important}@media(max-width:768px){.nav-page,.sidebar-divider{display:block}.nav-page .nav-item{font-size:1.6rem}.nav-social .nav-item{font-size:1.2rem;opacity:.9}.mobile-only{display:none!important}}@media(max-width:480px){.hamburger-menu{display:flex;width:30px!important;height:30px!important;top:1rem!important;border-radius:8px!important}.mobile-only{display:flex!important;flex-direction:column;padding-block:.35rem;line-height:1.35}.nav-page,.sidebar-divider{display:block}.sidebar-container{width:min(40vw,320px);max-width:320px;right:-100%}.sidebar-inner{padding:4rem 2rem 2.5rem}.nav-item{font-size:14px!important;font-weight:500;padding-block:.35rem;line-height:1.35}.social-mini{gap:.25rem}.social-link{font-size:14px}.theme-status{font-size:.6rem}.track{width:45px;height:21px}.thumb{width:13px;height:13px}.burger-lines{width:15px!important;height:10px!important}.line{height:1.5px!important}.sidebar-switch:checked+.hamburger-menu .line.top{transform:translateY(3.5px) rotate(45deg)!important}.sidebar-switch:checked+.hamburger-menu .line.bottom{transform:translateY(-3.5px) rotate(-45deg)!important}}.skills{padding:clamp(3rem,6vw,5rem) 0;position:relative;background-color:var(--color-page-bg)}.skills__container{width:100%;max-width:var(--page-max-width);margin:0 auto}.skills__header{margin-bottom:clamp(2rem,4vh,3rem)}.skills__topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.skills__label{font-family:var(--font-body, "Inter", sans-serif);font-size:clamp(10px,.9vw,12px);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-muted)}.skills__count{font-family:var(--font-body, "Inter", sans-serif);font-size:clamp(10px,.9vw,12px);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent)}.skills__rule{width:100%;height:1px;background:var(--color-text-primary);opacity:.15;margin-bottom:14px}.skills__title{font-family:"Bebas Neue",var(--font-display, serif);font-weight:400;font-size:clamp(3rem,8vw,9rem);line-height:.9;letter-spacing:-.01em;color:var(--color-text-primary);margin:0}.skills__title-acc{color:var(--color-accent)}.skills__ws-wrapper{border:1.5px solid var(--color-accent);padding:16px 20px 20px;margin-bottom:clamp(2rem,4vh,3rem);position:relative}.skills__ws-label{font-family:var(--font-body, "Inter", sans-serif);font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--color-accent);margin-bottom:12px}.skills__grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--color-text-primary);border-left:1px solid var(--color-text-primary);opacity-on-parent:.15}.skill-cat{border-right:1px solid rgba(var(--color-text-primary-rgb, 17,17,17),.12);border-bottom:1px solid rgba(var(--color-text-primary-rgb, 17,17,17),.12);padding:clamp(16px,2vw,24px);transition:background .2s ease;cursor:default}.skill-cat:hover{background:#1d4bff0a}[data-theme=dark] .skills__grid{border-top-color:#ffffff1f;border-left-color:#ffffff1f}[data-theme=dark] .skill-cat{border-right-color:#ffffff14;border-bottom-color:#ffffff14}[data-theme=dark] .skill-cat:hover{background:#ffffff0a}.skill-cat__title{display:flex;align-items:center;gap:8px;font-family:var(--font-body, "Inter", sans-serif);font-size:clamp(9px,.85vw,11px);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--color-accent);margin-bottom:14px}.skill-cat__dash{display:inline-block;width:14px;height:1.5px;background:var(--color-accent);flex-shrink:0}.skill-cat__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:5px}.skill-cat__item{font-family:var(--font-body, "Inter", sans-serif);font-size:clamp(11px,1vw,13px);line-height:1.45;color:var(--color-text-muted)}.skills__bottom-rule{height:1px;background:var(--color-text-primary);opacity:.1;margin-top:0}.skills__bottom-row{display:flex;align-items:center;justify-content:space-between;padding-top:12px;flex-wrap:wrap;gap:8px}.skills__bottom-note{font-family:var(--font-body, "Inter", sans-serif);font-size:10px;letter-spacing:.06em;color:var(--color-text-muted);opacity:.6}.skills__bottom-tag{font-family:var(--font-body, "Inter", sans-serif);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent);border:1px solid var(--color-accent);padding:3px 10px}.reveal{opacity:0;transform:translateY(16px);transition:opacity .5s ease,transform .5s ease;transition-delay:var(--reveal-delay, 0s)}.reveal.is-visible{opacity:1;transform:translateY(0)}@media(max-width:1100px)and (min-width:769px){.skills__grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.skills{padding:clamp(2rem,4vw,3rem) 0}.skills__grid{grid-template-columns:repeat(2,1fr)}.skills__ws-wrapper{padding:12px 14px 16px}.skills__bottom-tag{display:none}}@media(max-width:480px){.skills__title{font-size:clamp(2.4rem,12vw,3.5rem)}.skills__grid{grid-template-columns:1fr}.skills__ws-wrapper{padding:10px 12px 14px;margin-bottom:1.5rem}.skill-cat{padding:14px 12px}.skills__bottom-row{flex-direction:column;align-items:flex-start}}.wordsearch-wrapper{margin:0 auto;width:100%}.wordsearch-layout{display:flex;flex-wrap:nowrap;gap:2rem 3rem;align-items:center;width:100%;box-sizing:border-box}.wordsearch-words-left{flex:1;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem 1.5rem;align-self:center}.wordsearch-words-left ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.wordsearch-words-left li{margin-bottom:0;white-space:nowrap;display:block;line-height:1.25}.skill-word{font-family:Courier New,monospace;font-size:clamp(.85rem,.95vw,1rem);font-weight:700;letter-spacing:.05em;color:var(--color-text-muted);display:inline-block;transition:all .25s ease}.skill-word.found{text-decoration:line-through;opacity:.35;color:var(--color-accent)}.wordsearch-right-section{flex:0 0 420px;max-width:420px;display:flex;flex-direction:row;gap:1.5rem;min-width:0}.wordsearch-grid-container{position:relative;border:1.5px solid rgba(var(--color-text-primary-rgb, 17,17,17),.15);border-radius:0;flex:1 1 auto;min-width:0;box-sizing:border-box;overflow:hidden}[data-theme=dark] .wordsearch-grid-container{border-color:#ffffff1f}.wordsearch-grid{display:grid;gap:1px;width:100%;padding:.8rem;box-sizing:border-box;background:#00000003}[data-theme=dark] .wordsearch-grid{background:#ffffff03}.wordsearch-cell{aspect-ratio:1 / 1;display:flex;align-items:center;justify-content:center;font-family:Courier New,monospace;font-size:.85rem;font-weight:700;color:var(--color-text-primary);background:transparent;transition:background .12s ease,color .12s ease,transform .12s ease;user-select:none;cursor:pointer;border:.5px solid rgba(var(--color-text-primary-rgb, 17,17,17),.05)}[data-theme=dark] .wordsearch-cell{border-color:#ffffff0d}.wordsearch-cell.temp-highlight{background:#1d4bff40!important;color:var(--color-accent);transform:scale(1.06)}.wordsearch-cell.found{background:var(--color-accent)!important;color:#fff;font-weight:900;border-color:transparent;animation:foundPop .4s ease}@keyframes foundPop{0%{transform:scale(.85)}55%{transform:scale(1.12)}to{transform:scale(1)}}.memes-sidebar{display:none!important}.wordsearch-footer-bar{display:flex;justify-content:space-between;align-items:center;margin-top:1.5rem;padding-top:.8rem;border-top:1px solid rgba(0,0,0,.08)}[data-theme=dark] .wordsearch-footer-bar{border-color:#ffffff14}.footer-hint{font-size:.8rem;color:var(--color-text-muted)}.footer-status-badge{border:1px solid var(--color-accent);color:var(--color-accent);padding:.2rem .6rem;font-weight:700;font-size:.7rem;letter-spacing:.03em}@media(max-width:1024px){.wordsearch-layout{gap:1.5rem}.wordsearch-right-section{flex:0 0 380px;max-width:380px}.wordsearch-words-left{grid-template-columns:repeat(3,1fr);gap:1.2rem}}@media(max-width:768px){.wordsearch-layout{flex-direction:column;align-items:center;gap:1.5rem}.wordsearch-right-section{width:100%;max-width:400px}.wordsearch-words-left{width:100%;grid-template-columns:repeat(3,1fr)}}@media(max-width:480px){.wordsearch-layout{flex-direction:column;gap:1.2rem;align-items:stretch}.wordsearch-words-left{order:2;width:100%;grid-template-columns:1fr 1fr;gap:.4rem 1rem}.wordsearch-words-left ul{display:block}.wordsearch-words-left li{margin-bottom:.4rem;white-space:nowrap}.skill-word{font-size:11px!important;letter-spacing:.03em}.wordsearch-right-section{order:1;width:100%;max-width:100%}.wordsearch-grid-container{width:100%}.wordsearch-grid{padding:.5rem;gap:.5px}.wordsearch-cell{font-size:11px}.wordsearch-footer-bar{flex-direction:column;align-items:flex-start;gap:.6rem}}.custom-cursor{position:fixed;top:0;left:0;width:14px;height:14px;background-color:var(--color-accent, #1d4bff);border-radius:50%;pointer-events:none;z-index:9999;mix-blend-mode:difference;will-change:transform;transform:translate(-50%,-50%);transition:scale .25s ease,opacity .2s ease;scale:1}.custom-cursor.active{scale:4;opacity:.75}@media(hover:none){.custom-cursor{display:none}}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_astro/Inter-Regular.COLGFB3M.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/_astro/InterDisplay-SemiBold.-Mm3ZPsY.woff2) format("woff2")}@font-face{font-family:Cormorant Italic;src:url(/_astro/Cormorant-Italic.C9f1h0Kz.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(/_astro/poppins-regular-webfont.Dt1oZLEV.woff2) format("woff2")}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(/_astro/poppins-semibold-webfont.ChZJIKDv.woff2) format("woff2")}@font-face{font-family:PitchSans-Regular;font-style:normal;font-weight:400;font-display:swap;src:url(/_astro/PitchSans-Regular.sPsENdZY.otf) format("otf")}
