@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap";.projects-modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(2px);background:#00000061;justify-content:center;align-items:center;padding:24px;animation:.3s both projectsOverlayIn;display:flex;position:fixed;inset:0}.projects-modal{background:#151517;border:1px solid #35353a;border-radius:14px;width:100%;max-width:760px;max-height:min(85vh,850px);padding:40px;animation:.4s cubic-bezier(.22,1,.36,1) both projectsModalIn;overflow-y:auto;box-shadow:0 30px 100px #0000008c}.projects-modal-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:36px;display:flex}.projects-modal-label{color:#fa7cbe;letter-spacing:1.8px;font-size:10px;font-weight:500}.projects-modal-header h2{color:#ededed;letter-spacing:-.055em;margin:18px 0 12px;font-size:clamp(30px,4vw,46px);font-weight:400}.projects-modal-header h2 span{color:#fa7cbe}.projects-modal-header p{color:#99999f;margin:0;font-size:12px;line-height:1.8}.projects-modal-close{color:#aaa;cursor:pointer;background:#222225;border:1px solid #39393e;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:24px;transition:color .25s,background .25s,border-color .25s;display:flex}.projects-modal-close:hover{color:#fa7cbe;background:#303034;border-color:#fa7cbe}.projects-modal-close:focus-visible{outline-offset:4px;outline:2px solid #fa7cbe}.projects-modal-list{flex-direction:column;gap:12px;display:flex}.projects-modal-item{color:inherit;background:#1c1c1f;border:1px solid #303034;border-radius:10px;align-items:flex-start;gap:22px;padding:26px 24px;text-decoration:none;transition:background .3s,border-color .3s,transform .3s;display:flex}.projects-modal-item:hover{background:#242427;border-color:#6d4a5d;transform:translateY(-3px)}.projects-modal-item:focus-visible{outline-offset:4px;outline:2px solid #fa7cbe}.projects-modal-number{color:#fa7cbe;letter-spacing:1px;flex-shrink:0;padding-top:7px;font-size:11px;font-weight:500}.projects-modal-item-content{flex:1;min-width:0}.projects-modal-item h3{color:#f0f0f2;letter-spacing:-.045em;margin:0 0 12px;font-size:clamp(22px,3vw,29px);font-weight:400}.projects-modal-item p{color:#96969c;max-width:440px;margin:0;font-size:12px;line-height:1.8}.projects-modal-stack{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.projects-modal-stack span{color:#a7a7ad;background:#242427;border:1px solid #36363b;border-radius:5px;padding:6px 9px;font-size:10px;transition:border-color .25s,color .25s}.projects-modal-item:hover .projects-modal-stack span{border-color:#51404a}.projects-modal-arrow{color:#fa7cbe;flex-shrink:0;font-size:23px;transition:transform .25s,color .25s}.projects-modal-item:hover .projects-modal-arrow{color:#ff9bd0;transform:translate(4px,-4px)}.projects-modal-footer{color:#77777d;letter-spacing:1.2px;justify-content:space-between;gap:12px;margin-top:30px;font-size:9px;display:flex}@keyframes projectsOverlayIn{0%{opacity:0}to{opacity:1}}@keyframes projectsModalIn{0%{opacity:0;transform:translateY(18px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=600px){.projects-modal-overlay{padding:14px}.projects-modal{max-height:90vh;padding:25px 20px}.projects-modal-header{margin-bottom:30px}.projects-modal-item{gap:12px;padding:22px 15px}.projects-modal-item h3{font-size:22px}.projects-modal-stack{gap:6px;margin-top:15px}.projects-modal-footer{font-size:8px}}@media (prefers-reduced-motion:reduce){.projects-modal-overlay,.projects-modal{animation:none}.projects-modal-item,.projects-modal-arrow,.projects-modal-close,.projects-modal-stack span{transition:none}}.command-overlay{z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000000b8;justify-content:center;align-items:flex-start;padding:min(18vh,160px) 16px 24px;display:flex;position:fixed;inset:0}.command-dialog{background:#141416;border:1px solid #37373b;border-radius:14px;flex-direction:column;width:min(100%,540px);max-height:75vh;animation:.2s both command-enter;display:flex;overflow:hidden;box-shadow:0 24px 90px #0000008c}.command-search{color:#a7a7ac;border-bottom:1px solid #303034;align-items:center;gap:14px;padding:18px;display:flex}.command-search input{color:#f1f1f1;min-width:0;font:inherit;background:0 0;border:none;outline:none;flex:1;font-size:14px}.command-search input::placeholder{color:#77777e}.command-search button{color:#a9a9b0;cursor:pointer;background:#242428;border:1px solid #404047;border-radius:5px;padding:5px 7px;font-size:10px}.command-results{padding:10px;overflow-y:auto}.command-result{color:#f1f1f1;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:14px;width:100%;padding:13px;display:flex}.command-result:hover,.command-result.selected{background:#27272c}.command-result-icon{color:#d97551;width:25px;font-size:20px}.command-result-text{flex-direction:column;flex:1;gap:4px;display:flex}.command-result-text strong{font-size:13px;font-weight:500}.command-result-text small{color:#8c8c94;font-size:11px}.command-result-arrow{color:#77777e}.command-empty{color:#99999f;text-align:center;padding:24px;font-size:13px}.command-footer{color:#77777e;border-top:1px solid #303034;gap:18px;padding:13px 18px;font-size:10px;display:flex}@keyframes command-enter{0%{opacity:0;transform:translateY(-10px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.command-dialog{animation:none}}.portfolio-toolbar{z-index:110;align-items:center;display:flex;position:fixed;top:24px;right:30px}.toolbar-search{color:#bcbcc2;cursor:pointer;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#18181bd9;border:1px solid #38383e;border-radius:10px;justify-content:center;align-items:center;width:38px;height:38px;padding:0;transition:color .2s,border-color .2s,background .2s;display:flex;position:relative}.toolbar-search:hover{color:#fff;background:#252529;border-color:#d97551}.toolbar-tooltip{color:#e8e8ea;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;background:#1a1a1d;border:1px solid #35353a;border-radius:8px;align-items:center;gap:12px;padding:9px 12px;font-size:11px;transition:opacity .2s,transform .2s,visibility .2s;display:flex;position:absolute;top:50%;right:calc(100% + 12px);transform:translate(5px,-50%)}.toolbar-search:hover .toolbar-tooltip,.toolbar-search:focus-visible .toolbar-tooltip{opacity:1;visibility:visible;transform:translateY(-50%)}.toolbar-tooltip kbd{color:#9999a2;font-size:10px}@media (width<=900px){.portfolio-toolbar{top:16px;right:16px}}.craft-sidebar{z-index:100;background:#0b0b0c;flex-direction:column;align-items:center;width:76px;height:100dvh;padding:28px 0;display:flex;position:fixed;top:0;left:0}.sidebar-navigation{flex-direction:column;gap:15px;margin-top:auto;margin-bottom:auto;display:flex}.sidebar-item{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:54px;height:24px;padding:0;display:flex;position:relative}.sidebar-line{background:#55555a;width:20px;height:1px;transition:width .3s,background .3s;display:block}.sidebar-item:hover .sidebar-line{background:#d5d5d8;width:32px}.sidebar-item.active .sidebar-line{background:#fa7cbe;width:36px;height:2px}.sidebar-tooltip{color:#e9e9eb;opacity:0;visibility:hidden;pointer-events:none;white-space:nowrap;background:#19191c;border:1px solid #303034;border-radius:6px;padding:7px 11px;font-size:11px;transition:opacity .2s,transform .2s,visibility .2s;position:absolute;left:62px;transform:translate(-5px)}.sidebar-item:hover .sidebar-tooltip,.sidebar-item:focus-visible .sidebar-tooltip{opacity:1;visibility:visible;transform:translate(0)}.sidebar-number{color:#55555a;font-size:8px;position:absolute;right:0}.sidebar-item.active .sidebar-number{color:#fa7cbe}.sidebar-item:focus-visible{outline-offset:3px;border-radius:4px;outline:2px solid #fa7cbe}.sidebar-bottom{letter-spacing:.12em;color:#55555a;font-size:9px}@media (width<=900px){.craft-sidebar{display:none}}@media (prefers-reduced-motion:reduce){.sidebar-line,.sidebar-tooltip{transition:none}}.intro-screen{z-index:20000;color:#161616;background:#f8f7f5;flex-direction:column;justify-content:space-between;padding:clamp(24px,4vw,55px);transition:transform .8s cubic-bezier(.76,0,.24,1);display:flex;position:fixed;inset:0;overflow:hidden}.intro-screen.intro-leaving{transform:translateY(-100%)}.intro-top,.intro-bottom{letter-spacing:.2em;justify-content:space-between;align-items:center;gap:20px;font-size:10px;font-weight:600;display:flex}.intro-center{flex:1;justify-content:center;align-items:center;display:flex}.intro-name{letter-spacing:-.075em;text-align:center;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:.25em;margin:0;font-size:clamp(42px,7vw,115px);font-weight:750;line-height:1.1;animation:.85s cubic-bezier(.22,1,.36,1) both intro-name-appear;display:flex}.intro-name-last{white-space:nowrap}.intro-accent{color:#fa7cbe}.intro-progress{background:#dedcda;width:min(140px,25vw);height:2px;overflow:hidden}.intro-progress span{transform-origin:0;background:#161616;width:100%;height:100%;animation:2.7s ease-out both intro-loading;display:block}@keyframes intro-name-appear{0%{opacity:0;filter:blur(8px);transform:translateY(28px)}to{opacity:1;filter:blur();transform:translateY(0)}}@keyframes intro-loading{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media (width<=600px){.intro-name{gap:.15em;font-size:clamp(38px,10vw,65px)}.intro-top,.intro-bottom{letter-spacing:.12em;font-size:8px}}@media (prefers-reduced-motion:reduce){.intro-screen{transition:none}.intro-name,.intro-progress span{animation:none}}.portfolio{color:#ededed;background:#0b0b0c;min-height:100vh}.header{justify-content:space-between;align-items:center;max-width:1440px;height:100px;margin:0 auto;padding:0 7%;display:flex}.logo{letter-spacing:-.8px;color:#ededed;font-size:19px;font-weight:600;text-decoration:none}.logo span{color:#888}.navigation{align-items:center;gap:38px;display:flex}.navigation a{color:#a3a3a3;font-size:12px;text-decoration:none;transition:color .25s}.navigation a:hover{color:#fff}.menu-toggle{display:none}.hero{flex-direction:column;justify-content:center;max-width:1440px;min-height:calc(100svh - 100px);margin:0 auto;padding:0 7% 65px;display:flex;position:relative}.eyebrow,.section-label{color:#858585;letter-spacing:2px;align-items:center;gap:12px;font-size:10px;display:flex}.status-dot{background:#a1b6aa;border-radius:50%;width:6px;height:6px}.hero h1{letter-spacing:-.065em;margin:30px 0 24px;font-size:clamp(46px,6vw,88px);font-weight:400;line-height:1.08}.hero h1 span{color:#777}.hero p{color:#909090;max-width:370px;font-size:13px;line-height:1.9}.work-section,.about-section{max-width:1440px;margin:0 auto;padding:110px 7%}.section-heading{color:#777;letter-spacing:1.5px;justify-content:space-between;margin-bottom:55px;font-size:10px;display:flex}.about-section{padding-top:130px;padding-bottom:180px}.about-section h2{letter-spacing:-.055em;margin:40px 0 25px;font-size:clamp(32px,4vw,58px);font-weight:400;line-height:1.2}.about-section p{color:#888;max-width:420px;font-size:13px;line-height:1.9}.footer{color:#666;border-top:1px solid #222;justify-content:space-between;max-width:1440px;margin:0 auto;padding:35px 7%;font-size:11px;display:flex}@media (width<=768px){.header{height:80px}.menu-toggle{color:#ddd;cursor:pointer;background:0 0;border:none;font-size:12px;display:block}.navigation{z-index:10;background:#1a1a1c;border:1px solid #303030;border-radius:8px;flex-direction:column;align-items:flex-start;gap:24px;padding:25px;display:none;position:absolute;top:70px;left:7%;right:7%}.navigation.open{display:flex}.hero{min-height:calc(100svh - 80px)}.hero h1{font-size:clamp(42px,9vw,64px)}.work-section,.about-section{padding-top:90px;padding-bottom:90px}.footer{flex-wrap:wrap;gap:15px}}.floating-preview{z-index:100;pointer-events:none;opacity:0;visibility:hidden;will-change:transform;transition:opacity .2s,visibility .2s;position:fixed;top:0;left:0}.floating-preview.visible{opacity:1;visibility:visible}.chess-preview{background:#171719;border:1px solid #303033;border-radius:8px;width:220px;padding:10px;box-shadow:0 12px 35px #00000059,0 2px 8px #00000026}.preview-header{color:#999;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:10px;display:flex}.window-dots{gap:5px;display:flex}.window-dots span{background:#555;border-radius:50%;width:6px;height:6px}.preview-board{aspect-ratio:1;border-radius:3px;grid-template-columns:repeat(8,1fr);display:grid;overflow:hidden}.square{justify-content:center;align-items:center;font-size:19px;line-height:1;display:flex}.square.light{color:#222;background:#d7d6c7}.square.dark{color:#222;background:#7b8d79}.preview-footer{color:#888;text-align:center;padding-top:12px;font-size:10px}@media (hover:none),(width<=768px){.floating-preview{display:none}}@media (prefers-reduced-motion:reduce){.floating-preview{transition:none}}.pet-preview{background:#171a18;border:1px solid #303833;border-radius:9px;width:300px;overflow:hidden;box-shadow:0 16px 45px #0006}.pet-preview-header{border-bottom:1px solid #303833;justify-content:space-between;align-items:center;height:40px;padding:0 14px;display:flex}.pet-preview-logo{color:#e3eee5;font-size:11px;font-weight:600}.pet-preview-status{color:#86b99a;font-size:9px}.pet-preview-body{grid-template-columns:100px 1fr;min-height:170px;display:grid}.pet-preview-sidebar{border-right:1px solid #303833;flex-direction:column;gap:16px;padding:18px 10px;display:flex}.pet-preview-sidebar span{color:#777f79;font-size:8px}.pet-preview-sidebar .active{color:#c4e3cc}.pet-preview-content{flex-direction:column;gap:10px;padding:16px;display:flex}.pet-preview-label{letter-spacing:1px;color:#6e8c77;font-size:8px}.pet-preview-content>strong{font-size:14px;font-weight:500}.pet-preview-stats{grid-template-columns:1fr 1fr;gap:7px;display:grid}.pet-preview-stats div{background:#222824;border-radius:5px;flex-direction:column;gap:4px;padding:10px;display:flex}.pet-preview-stats strong{font-size:16px;font-weight:500}.pet-preview-stats span{color:#88978c;font-size:8px}.pet-preview-appointment{border:1px solid #303833;border-radius:5px;flex-direction:column;gap:5px;padding:10px;display:flex}.pet-preview-appointment span{color:#789a83;letter-spacing:1px;font-size:8px}.pet-preview-appointment strong{font-size:10px;font-weight:500}.pet-preview-appointment small{color:#8d968f;font-size:8px}.project-page{color:#ededed;background:#0b0b0c;min-height:100vh}.project-page-header{justify-content:space-between;align-items:center;max-width:1440px;margin:0 auto;padding:40px 7%;display:flex}.back-link{color:#888;font-size:12px;text-decoration:none;transition:color .2s}.back-link:hover{color:#fff}.project-page-main{max-width:1100px;margin:0 auto;padding:100px 7% 140px}.project-page-intro h1{letter-spacing:-.07em;margin:30px 0 20px;font-size:clamp(48px,7vw,100px);font-weight:400}.project-page-intro h1 span{color:#777}.project-page-intro>p{color:#999;max-width:450px;font-size:14px;line-height:1.9}.project-page-links{margin-top:35px}.project-page-links a{color:#ddd;border:1px solid #383838;border-radius:5px;padding:12px 20px;font-size:12px;text-decoration:none;transition:background .2s;display:inline-block}.project-page-links a:hover{background:#202020}.project-page-divider{background:#303030;height:1px;margin:90px 0 35px}.project-page-details{grid-template-columns:repeat(3,1fr);gap:25px;display:grid}.detail-label{color:#777;letter-spacing:1.5px;font-size:10px}.project-page-details p{color:#ccc;font-size:12px;line-height:1.7}.project-page-description h2{letter-spacing:-.055em;margin:35px 0;font-size:clamp(28px,4vw,52px);font-weight:400}.project-page-description>p{color:#999;max-width:620px;font-size:13px;line-height:2}.feature-list>div{border-top:1px solid #303030;align-items:center;gap:40px;padding:22px 0;display:flex}.feature-list>div:last-child{border-bottom:1px solid #303030}.feature-list span{color:#777;font-size:11px}.feature-list p{margin:0;font-size:14px}.project-page-bottom{margin-top:150px}.project-page-bottom a{color:#999;font-size:12px;text-decoration:none}@media (width<=768px){.project-page-main{padding-top:70px}.project-page-details{grid-template-columns:1fr;gap:15px}.project-page-description{padding-top:100px}}.reveal{opacity:0;transition:opacity .65s,transform .65s cubic-bezier(.2,.8,.2,1);transform:translateY(18px)}.reveal.reveal-visible{opacity:1;transform:translateY(0)}.project-page-main{max-width:1050px}.project-page-intro h1{letter-spacing:-.055em;font-size:clamp(42px,5.5vw,76px);font-weight:400;line-height:1.1}.project-page-intro>p{max-width:410px;font-size:13px;line-height:1.9}.project-page-description{padding-top:135px}.project-page-description h2{letter-spacing:-.045em;font-size:clamp(27px,3.2vw,43px);font-weight:400;line-height:1.2}.project-page-description>p{max-width:560px;font-size:13px;line-height:2}.project-page-details p{color:#aaa;font-size:12px}.feature-list{margin-top:45px}.feature-row{border-top:1px solid #28282a;align-items:center;gap:45px;padding:25px 10px;transition:padding-left .3s,background .3s;display:flex}.feature-list .reveal:last-child .feature-row{border-bottom:1px solid #28282a}.feature-row span{color:#666;min-width:22px;font-size:10px}.feature-row p{color:#bcbcbc;margin:0;font-size:13px}.feature-row:hover{background:#121214;padding-left:22px}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;transform:none}.feature-row{transition:none}}@media (width<=768px){.project-page-description{padding-top:95px}.feature-row{gap:20px}}.hero-enter{animation:1s cubic-bezier(.22,1,.36,1) both heroEntrance}@keyframes heroEntrance{0%{opacity:0;filter:blur(5px);transform:translateY(25px)}to{opacity:1;filter:blur();transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.hero-enter{animation:none}}.page-transition{opacity:0;transition:opacity .65s cubic-bezier(.22,1,.36,1)}.page-transition-visible{opacity:1}@media (prefers-reduced-motion:reduce){.page-transition{opacity:1;transition:none}}.project-page-intro h1{overflow-wrap:anywhere}@media (width<=768px){.project-page-intro h1{font-size:clamp(36px,8vw,54px);line-height:1.15}}.about-content{max-width:570px;margin-top:35px}.about-content p{color:#a5a5a8;margin:0 0 20px;font-size:13px;line-height:2}.about-skills span{color:#77777d;letter-spacing:.02em;font-size:11px}.contact-section{border-top:1px solid #242426;max-width:1440px;margin:0 auto;padding:140px 7% 160px}.contact-section h2{letter-spacing:-.055em;margin:35px 0 25px;font-size:clamp(38px,5.5vw,72px);font-weight:400;line-height:1.12}.contact-section h2 span{color:#77777d}.contact-section p{color:#a5a5a8;max-width:430px;font-size:13px;line-height:1.9}.contact-links{flex-wrap:wrap;gap:35px;margin-top:45px;display:flex}.contact-links a{color:#e9e9ea;border-bottom:1px solid #555;padding-bottom:8px;font-size:12px;text-decoration:none;transition:color .25s,border-color .25s}.contact-links a:hover{color:#fff;border-color:#fff}@media (width<=768px){.contact-section{padding:100px 0 110px}.contact-section h2{font-size:clamp(36px,9vw,56px)}.contact-links{gap:24px}}@media (width<=600px){.hero h1{line-height:1.12}.contact-section{padding:100px 22px 110px}.contact-section h2{font-size:clamp(34px,9vw,48px);line-height:1.15}.contact-section p{font-size:14px;line-height:1.85}.contact-links{gap:28px}.contact-links a{font-size:12px}}@media (width>=901px){.header{padding-right:90px}.header .navigation{align-items:center;gap:32px;display:flex}.header .menu-toggle{display:none}.portfolio{box-sizing:border-box;width:calc(100% - 76px);margin-left:76px}}.work-section .projects-launcher{box-sizing:border-box;appearance:none;color:#ededed;text-align:left;width:100%;min-height:310px;font:inherit;cursor:pointer;background:#19191b;border:1px solid #303034;border-radius:12px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin:0;padding:0;transition:border-color .3s,transform .3s;display:grid;overflow:hidden}.projects-launcher-left{background:#19191b;flex-direction:column;justify-content:space-between;align-items:flex-start;gap:24px;min-width:0;padding:34px;display:flex}.projects-launcher-label{color:#99999e;letter-spacing:.12em;font-size:10px;font-weight:500}.projects-launcher-text h2{color:#ededed;letter-spacing:-.055em;margin:0 0 13px;font-size:clamp(29px,3.2vw,43px);font-weight:400;line-height:1.1}.projects-launcher-text p{color:#a0a0a5;max-width:340px;margin:0;font-size:13px;line-height:1.75}.projects-launcher-cta{color:#fa7cbe;background:0 0;align-items:center;gap:12px;padding:0;font-size:13px;font-weight:500;transition:color .3s;display:inline-flex}.projects-launcher-cta>span{color:#fa7cbe;font-size:18px;transition:transform .3s;display:inline-block}.projects-launcher-right{background:#242427;justify-content:center;align-items:center;min-width:0;display:flex}.projects-folder-icon{width:clamp(105px,13vw,160px);height:auto;transition:transform .35s;display:block}.work-section .projects-launcher:focus-visible{outline-offset:5px;outline:2px solid #fa7cbe}@media (hover:hover){.work-section .projects-launcher:hover{border-color:#6e5262;transform:translateY(-3px)}.projects-launcher:hover .projects-folder-icon{transform:translateY(-6px)}.projects-launcher:hover .projects-launcher-cta>span{transform:translate(4px,-4px)}}@media (width<=700px){.work-section .projects-launcher{grid-template-columns:1fr}.projects-launcher-left{min-height:275px;padding:27px}.projects-launcher-text h2{font-size:clamp(30px,8vw,40px)}.projects-launcher-right{min-height:180px}.projects-folder-icon{width:115px}}@media (prefers-reduced-motion:reduce){.work-section .projects-launcher,.projects-folder-icon,.projects-launcher-cta,.projects-launcher-cta>span{transition:none}}.project-showcase{background:#19191b;border:1px solid #303034;border-radius:12px;margin:65px 0 90px;padding:28px}.project-showcase-top{justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px;display:flex}.project-showcase-index{letter-spacing:2px;color:#77777f;font-size:11px}.project-showcase-content{grid-template-columns:1.1fr 1fr;align-items:center;gap:48px;display:grid}.project-showcase-preview{background:#242427;border-radius:8px;justify-content:center;align-items:center;min-width:0;padding:30px;display:flex}.project-showcase-preview .chess-preview{width:100%;max-width:360px}.project-showcase-info{padding:15px 12px 15px 0}.project-showcase-eyebrow{letter-spacing:2px;color:#fa7cbe;font-size:11px}.project-showcase-info h2{letter-spacing:-1.5px;color:#f5f5f5;margin:22px 0;font-size:clamp(30px,3.5vw,48px);font-weight:500;line-height:1.12}.project-showcase-info h2 span{color:#fa7cbe}.project-showcase-info p{color:#a1a1a9;max-width:360px;font-size:14px;line-height:1.9}.project-showcase-tags{flex-wrap:wrap;gap:8px;margin-top:26px;display:flex}.project-showcase-tags span{color:#bcbcc3;border:1px solid #404045;border-radius:5px;padding:7px 11px;font-size:11px}.project-showcase-link{color:#fa7cbe;margin-top:35px;font-size:13px;font-weight:500;text-decoration:none;transition:opacity .2s;display:inline-block}.project-showcase-link:hover{opacity:.7}@media (width<=850px){.project-showcase-content{grid-template-columns:1fr;gap:32px}.project-showcase-info{padding:0}}@media (width<=600px){.project-showcase{margin:40px 0 60px;padding:18px}.project-showcase-preview{padding:16px}.project-showcase-info h2{font-size:32px}}.project-showcase-actions{flex-wrap:wrap;align-items:center;gap:24px;display:flex}.contact-links{flex-wrap:wrap;gap:14px;display:flex}.contact-links .contact-button{color:#19191b;font:inherit;cursor:pointer;background:#fa7cbe;border:1px solid #fa7cbe;border-radius:8px;justify-content:center;align-items:center;padding:14px 26px;font-weight:600;text-decoration:none;transition:background .2s,transform .2s;display:inline-flex}.contact-links .contact-button:hover{color:#19191b;background:#ff9bd0;transform:translateY(-2px)}.contact-links .contact-button-secondary{color:#fa7cbe;background:0 0}.contact-links .contact-button-secondary:hover{color:#fa7cbe;background:#fa7cbe1a}.contact-overlay{z-index:9999;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000a6;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.contact-modal{color:#f5f5f5;background:#222225;border:1px solid #38383d;border-radius:16px;width:100%;max-width:480px;max-height:calc(100dvh - 48px);padding:40px;position:relative;overflow-y:auto;box-shadow:0 24px 80px #00000059}.contact-modal h2{margin:18px 0;font-size:clamp(30px,5vw,44px)}.contact-modal h2 span{color:#fa7cbe}.contact-modal p{color:#b8b8bc;line-height:1.7}.contact-modal-close{color:#f5f5f5;cursor:pointer;background:0 0;border:none;font-size:30px;position:absolute;top:18px;right:22px}.contact-modal-links{margin-top:28px}.contact-modal-links a{color:#19191b;background:#fa7cbe;border-radius:8px;padding:13px 20px;font-weight:600;text-decoration:none;display:inline-block}@media (width<=480px){.contact-modal{padding:30px 22px}}.about-read-more{color:#fa7cbe;font:inherit;cursor:pointer;background:0 0;border:none;border-bottom:1px solid #fa7cbe;margin-top:12px;padding:11px 0;font-size:12px;font-weight:500;transition:color .2s}.about-read-more:hover{color:#ffacd8}.about-read-more:focus-visible{outline-offset:5px;outline:2px solid #fa7cbe}.about-expanded{gap:24px;margin-top:30px;animation:.35s aboutFadeIn;display:grid}.about-extra-item{background:#151517;border:1px solid #303034;border-radius:10px;padding:24px}.about-extra-item>span{color:#fa7cbe;letter-spacing:1.5px;font-size:10px}.about-extra-item h3{letter-spacing:-.03em;margin:16px 0 12px;font-size:20px;font-weight:500}.about-extra-item p{color:#a5a5a8;max-width:100%;margin:0;line-height:1.9}.about-skills{flex-wrap:wrap;gap:12px;max-width:750px;margin-top:45px;display:flex}.about-skills span{color:#bcbcc2;background:#151517;border:1px solid #303034;border-radius:8px;align-items:center;gap:9px;padding:11px 15px;font-size:12px;transition:border-color .2s,transform .2s;display:inline-flex}.about-skills span:hover{border-color:#fa7cbe;transform:translateY(-2px)}.about-skills svg{flex-shrink:0;width:20px;height:20px}.about-skills span:first-child svg{color:#61dafb}.about-skills span:nth-child(2) svg{color:#3178c6}.about-skills span:nth-child(3) svg{color:#f7df1e}.about-skills span:nth-child(4) svg{color:#3776ab}.about-skills span:nth-child(5) svg{color:#512bd4}.about-skills span:nth-child(6) svg{color:#44b78b}.about-skills span:nth-child(7) svg{color:#00758f}.about-skills span:nth-child(8) svg{color:#f05032}@keyframes aboutFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.about-expanded{animation:none}.about-skills span{transition:none}}@media (width<=600px){.about-extra-item{padding:20px}.about-skills{gap:9px}.about-skills span{padding:10px 12px}}.hero.hero-redesign{flex-direction:column;justify-content:center;max-width:1440px;min-height:calc(100svh - 100px);padding:70px 7% 45px;display:flex;overflow:hidden}.hero-layout{flex:1;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:center;gap:clamp(30px,5vw,90px);width:100%;display:grid}.hero-copy{z-index:2;animation:1s .15s both hero-copy-in;position:relative}.hero-redesign .eyebrow{margin-bottom:34px}.hero-redesign h1{letter-spacing:-.075em;color:#f4f2f2;margin:0 0 32px;font-size:clamp(54px,5.8vw,100px);font-weight:650;line-height:.99}.hero-redesign h1 span{color:#fa7cbe}.hero-redesign .hero-copy p{color:#a4a1a5;max-width:400px;margin:0;font-size:14px;line-height:1.9}.hero-work-link{color:#f4f2f2;border-bottom:1px solid #fa7cbe;align-items:center;gap:24px;width:fit-content;margin-top:35px;padding:14px 0;font-size:12px;font-weight:600;text-decoration:none;transition:gap .3s,color .3s;display:inline-flex}.hero-work-link:hover{color:#fa7cbe;gap:32px}.hero-work-link span{color:#fa7cbe;font-size:20px}.hero-visual{aspect-ratio:.85;isolation:isolate;justify-self:center;width:100%;max-width:430px;animation:1.2s .3s both hero-photo-in;position:relative}.hero-photo-backdrop{opacity:.85;z-index:-1;background:#fa7cbe;border-radius:3px;position:absolute;inset:6% -4% -3% 7%;transform:rotate(5deg)}.hero-photo-frame{background:#242427;border:1px solid #ffffff1f;border-radius:3px;transition:transform .55s cubic-bezier(.22,1,.36,1);position:absolute;inset:0;overflow:hidden;transform:rotate(-3deg);box-shadow:0 25px 80px #00000059}.hero-portrait{object-fit:cover;object-position:center 52%;width:100%;height:100%;transition:transform .7s;display:block}.hero-visual:hover .hero-photo-frame{transform:rotate(0)translateY(-7px)}.hero-visual:hover .hero-portrait{transform:scale(1.035)}.hero-photo-cross{color:#fa7cbe;font-size:35px;font-weight:300;position:absolute;top:-35px;right:-20px}.hero-bottom{color:#67656a;letter-spacing:.16em;justify-content:space-between;align-items:center;gap:20px;padding-top:65px;font-size:9px;display:flex}@keyframes hero-copy-in{0%{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}@keyframes hero-photo-in{0%{opacity:0;transform:translateY(35px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=1100px){.hero-redesign h1{font-size:clamp(48px,5.5vw,72px)}.hero-layout{gap:35px}}@media (width<=768px){.hero.hero-redesign{min-height:auto;padding:85px 7% 45px}.hero-layout{grid-template-columns:1fr;gap:65px}.hero-redesign h1{font-size:clamp(48px,9vw,76px)}.hero-redesign .hero-copy p{max-width:480px}.hero-visual{width:min(78%,370px);margin:0 auto 20px}.hero-bottom{padding-top:55px}}@media (width<=480px){.hero-redesign h1{font-size:clamp(43px,10.5vw,60px)}.hero-visual{width:80%}.hero-photo-cross{right:-10px}.hero-bottom{letter-spacing:.08em;font-size:8px}}@media (prefers-reduced-motion:reduce){.hero-copy,.hero-visual{animation:none}.hero-photo-frame,.hero-portrait,.hero-work-link{transition:none}}.hero-work-link{cursor:pointer;background:0 0;border-top:none;border-left:none;border-right:none;font-family:inherit}.navigation .language-switch{color:#f7f2f5;font:inherit;cursor:pointer;background:#fa7cbe14;border:1px solid #fa7cbe6b;border-radius:999px;justify-content:center;align-items:center;gap:7px;padding:7px 10px;font-size:12px;font-weight:600;transition:background .2s,border-color .2s;display:inline-flex}.navigation .language-switch:hover,.navigation .language-switch:focus-visible{background:#fa7cbe30;border-color:#fa7cbe}.navigation .language-switch span:first-child{font-size:17px;line-height:1}:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:DM Sans,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:#0b0b0c;min-width:320px;margin:0}button,a{font:inherit}::selection{color:#111;background:#c6c6c6}
