.site-header{position:fixed;top:0;left:0;right:0;width:100%;z-index:1000;background:rgba(255,255,255,.85);border-bottom:1px solid transparent;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:background-color .25s ease,border-color .25s ease}.site-header-scrolled{background:rgba(255,255,255,.98);border-bottom-color:var(--border,#E1E7ED)}.header-inner{width:100%;max-width:1320px;margin:0 auto;height:76px;padding:0 32px;display:flex;align-items:center;gap:24px}.header-brand{flex-shrink:0;display:inline-flex;align-items:center;gap:10px;color:var(--navy,#0F2F50);text-decoration:none;white-space:nowrap}.brand-mark{font-family:var(--font-display,"Amarante",serif);font-style:normal;font-size:18px;font-weight:400;letter-spacing:.02em;color:var(--navy,#0F2F50);transition:opacity .2s ease}.header-brand:hover .brand-mark{opacity:.8}.brand-rule{display:inline-block;width:18px;height:1px;background:var(--navy,#0F2F50);opacity:.6}.desktop-navigation{flex:1 1;display:flex;justify-content:center;align-items:center;gap:4px}.nav-link{position:relative;display:inline-flex;align-items:center;gap:6px;padding:8px 12px;color:var(--text-muted,#5A6B7D);text-decoration:none;font-family:var(--font-main,"Inter",sans-serif);font-size:13px;font-weight:500;border-radius:var(--radius-sm,.25rem);transition:color .15s ease,background-color .15s ease}.nav-link:hover{color:var(--navy,#0F2F50);background-color:var(--surface-hover,#F5F7FA)}.nav-link-active{color:var(--navy,#0F2F50);background-color:transparent;font-weight:600}.nav-link-active:after{content:"";position:absolute;left:12px;right:12px;bottom:-2px;height:1px;background:var(--navy,#0F2F50);border-radius:0}.nav-number{font-family:var(--font-code,"Fira Code",monospace);font-size:10px;font-weight:600;letter-spacing:.05em;color:var(--navy,#0F2F50);opacity:.55}.header-actions{flex-shrink:0;display:flex;align-items:center;gap:10px}.header-cv-btn{height:38px;display:inline-flex;align-items:center;gap:8px;padding:0 16px;border:1px solid var(--navy,#0f2f50);border-radius:var(--radius-sm,.25rem);color:var(--navy,#0F2F50);background:#FFFFFF;text-decoration:none;font-family:var(--font-main,"Inter",sans-serif);font-size:12.5px;font-weight:600;letter-spacing:.01em;transition:background-color .2s ease,color .2s ease,border-color .2s ease}.header-cv-btn:hover{background:var(--navy,#0F2F50);color:#FFFFFF;border-color:var(--navy,#0F2F50)}.header-cv-btn i{font-size:11px;opacity:.85}.cv-btn-text{white-space:nowrap}.header-contact{height:38px;display:inline-flex;align-items:center;gap:8px;padding:0 16px;border:1px solid var(--navy,#0f2f50);border-radius:var(--radius-sm,.25rem);background:var(--navy,#0F2F50);color:#FFFFFF!important;text-decoration:none;font-family:var(--font-main,"Inter",sans-serif);font-size:12.5px;font-weight:600;letter-spacing:.01em;transition:background-color .2s ease,border-color .2s ease}.header-contact:hover{background:var(--navy-light,#1A4A7A);border-color:var(--navy-light,#1A4A7A);color:#FFFFFF!important}.contact-arrow{font-size:12px;transition:transform .2s ease}.header-contact:hover .contact-arrow{transform:translate(2px,-2px)}.menu-toggle{display:none;width:40px;height:40px;margin-left:auto;align-items:center;justify-content:center;flex-direction:column;gap:6px;border:1px solid var(--navy,#0f2f50);border-radius:var(--radius-sm,.25rem);background:#FFFFFF;color:var(--navy,#0F2F50);cursor:pointer;transition:background-color .15s ease}.menu-toggle:hover{background:var(--surface-hover,#F5F7FA)}.menu-toggle span{display:block;width:18px;height:1.5px;background:currentColor;border-radius:0;transition:transform .25s ease,opacity .2s ease}.menu-toggle-active span:first-child{transform:translateY(3.75px) rotate(45deg)}.menu-toggle-active span:last-child{transform:translateY(-3.75px) rotate(-45deg)}.mobile-backdrop{position:fixed;inset:0;background:rgba(15,47,80,.5);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s ease,visibility .25s ease;z-index:1050}.mobile-backdrop-visible{opacity:1;visibility:visible;pointer-events:auto}.mobile-navigation{position:fixed;top:0;right:0;bottom:0;width:min(360px,86vw);background:#FFFFFF;border-left:1px solid var(--navy,#0f2f50);transform:translateX(100%);visibility:hidden;transition:transform .32s cubic-bezier(.22,1,.36,1),visibility .32s ease;overflow-y:auto;overscroll-behavior:contain;z-index:1100}.mobile-navigation-open{transform:translateX(0);visibility:visible}.mobile-navigation-inner{min-height:100dvh;padding:24px;display:flex;flex-direction:column}.mobile-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:18px;border-bottom:1px solid var(--border,#e1e7ed)}.mobile-sidebar-kicker{font-family:var(--font-code,"Fira Code",monospace);font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--navy,#0F2F50);opacity:.6;display:block;margin-bottom:2px}.mobile-sidebar-title{font-family:var(--font-display,"Amarante",serif);font-weight:400;font-size:20px;letter-spacing:.01em;color:var(--navy,#0F2F50);line-height:1.15}.mobile-close{position:relative;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:1px solid var(--navy,#0f2f50);border-radius:var(--radius-sm,.25rem);background:#FFFFFF;color:var(--navy,#0F2F50);cursor:pointer;transition:background-color .15s ease}.mobile-close:hover{background:var(--surface-hover,#F5F7FA)}.mobile-close span{position:absolute;width:16px;height:1.5px;background:currentColor}.mobile-close span:first-child{transform:rotate(45deg)}.mobile-close span:last-child{transform:rotate(-45deg)}.mobile-nav-list{display:flex;flex-direction:column;padding:18px 0;gap:2px}.mobile-nav-link{position:relative;min-height:52px;display:grid;grid-template-columns:32px 1fr auto;align-items:center;grid-gap:10px;gap:10px;padding:0 14px;border-radius:var(--radius-sm,.25rem);border-left:2px solid transparent;color:var(--text-muted,#5A6B7D);text-decoration:none;transition:color .15s ease,background-color .15s ease,border-color .15s ease}.mobile-nav-link-active,.mobile-nav-link:hover{color:var(--navy,#0F2F50);background:var(--surface-hover,#F5F7FA);border-left-color:var(--navy,#0F2F50)}.mobile-nav-link-active{font-weight:600}.mobile-nav-number{font-family:var(--font-code,"Fira Code",monospace);font-size:11px;font-weight:600;letter-spacing:.05em;color:var(--navy,#0F2F50);opacity:.55}.mobile-nav-text{font-family:var(--font-main,"Inter",sans-serif);font-size:15px;font-weight:500}.mobile-nav-link-active .mobile-nav-text{font-weight:600}.mobile-nav-arrow{font-size:14px;opacity:.4;transition:transform .2s ease,opacity .2s ease}.mobile-nav-link:hover .mobile-nav-arrow{opacity:.9;transform:translate(2px,-2px)}.mobile-action-buttons{display:flex;flex-direction:column;gap:10px;margin-top:auto;padding-top:24px}.mobile-contact-btn,.mobile-cv-btn{min-height:46px;display:flex;align-items:center;justify-content:center;gap:8px;border-radius:var(--radius-sm,.25rem);text-decoration:none;font-family:var(--font-main,"Inter",sans-serif);font-size:13px;font-weight:600;letter-spacing:.01em;transition:background-color .2s ease,color .2s ease,border-color .2s ease}.mobile-cv-btn{border:1px solid var(--navy,#0f2f50);background:#FFFFFF;color:var(--navy,#0F2F50)}.mobile-cv-btn:hover{background:var(--navy,#0F2F50);color:#FFFFFF}.mobile-contact-btn{border:1px solid var(--navy,#0f2f50);background:var(--navy,#0F2F50);color:#FFFFFF!important}.mobile-contact-btn:hover{background:var(--navy-light,#1A4A7A);border-color:var(--navy-light,#1A4A7A);color:#FFFFFF!important}.mobile-menu-footer{margin-top:24px;padding-top:16px;display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--border,#e1e7ed);font-family:var(--font-main,"Inter",sans-serif);font-size:11px;color:var(--text-muted,#5A6B7D)}.mobile-availability{display:flex;align-items:center;gap:7px;font-weight:600;color:var(--navy,#0F2F50)}.availability-dot{width:6px;height:6px;border-radius:0;background:var(--navy,#0F2F50)}@media (max-width:900px){.header-inner{height:68px;padding:0 20px}.desktop-navigation,.header-actions{display:none}.menu-toggle{display:flex}}@media (max-width:480px){.header-inner{padding:0 16px}.brand-mark{font-size:16px}.brand-rule{width:14px}}.nav-more{position:relative;display:inline-flex}.nav-more-trigger{cursor:pointer;background:transparent;border:0;font-family:inherit;gap:6px}.nav-more-chevron{font-size:9px;opacity:.6;transition:transform .2s ease}.nav-more-open .nav-more-chevron{transform:rotate(180deg)}.nav-more-menu{position:absolute;top:calc(100% + 10px);right:0;min-width:200px;background:#FFFFFF;border:1px solid var(--border,#e1e7ed);border-radius:var(--radius-sm,.25rem);padding:6px;display:flex;flex-direction:column;gap:2px;z-index:1200;animation:navMoreIn .16s ease both}@keyframes navMoreIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.nav-more-item{display:block;padding:9px 12px;font-family:var(--font-main,"Inter",sans-serif);font-size:13px;font-weight:500;letter-spacing:.01em;text-decoration:none;color:var(--navy,#0F2F50);border-radius:var(--radius-sm,.25rem);transition:background-color .15s ease,color .15s ease}.nav-more-item-active,.nav-more-item:hover{background:var(--surface-hover,#F5F7FA)}.nav-more-item-active{font-weight:600}.nav-more-item-active:before{content:"";display:inline-block;width:3px;height:12px;background:var(--navy,#0F2F50);margin-right:8px;vertical-align:middle}.hobbies-section{position:relative;overflow:hidden}.hobby-item-card{position:relative;z-index:2;border-radius:var(--radius-lg);padding:28px 18px;text-align:center;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:145px;background:#FFFFFF;border:1px solid var(--border-subtle);box-shadow:0 4px 20px -2px rgba(15,23,42,.04);transition:all .35s cubic-bezier(.2,.8,.2,1)}.hobby-item-card:hover{background:#FFFFFF;border-color:var(--accent-blue-border);box-shadow:0 14px 34px -4px rgba(30,64,175,.1);transform:translateY(-4px)}.hobby-card-icon{font-size:2.3rem;color:var(--accent-secondary);margin-bottom:12px;transition:transform .3s ease,color .3s ease}.hobby-item-card:hover .hobby-card-icon{transform:scale(1.15);color:var(--accent-royal)}.hobby-card-label{font-size:.95rem;font-weight:700;color:var(--accent-dark-blue);margin:0}.projects-section{position:relative;overflow:hidden;padding:100px 0 92px;background:#0F2F50!important;color:#FFFFFF!important;border-top:1px solid rgba(255,255,255,.14)}.projects-section:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 0),linear-gradient(0deg,rgba(255,255,255,.025) 1px,transparent 0);background-size:80px 80px;opacity:.45;pointer-events:none}.projects-section:after{content:"";position:absolute;width:700px;height:700px;left:50%;top:45%;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(255,255,255,.08),transparent 65%);pointer-events:none}.projects-section .container{position:relative;z-index:2;max-width:1240px}.projects-header{max-width:720px;margin-bottom:38px}.projects-eyebrow{display:inline-flex;align-items:center;gap:12px;margin-bottom:20px}.eyebrow-rule{width:30px;background:#FFFFFF!important;opacity:.7}.eyebrow-text{font-size:.7rem;letter-spacing:.18em;color:rgba(255,255,255,.72)}.projects-title{margin:0 0 14px;font-family:var(--font-display,"Amarante",serif);font-size:clamp(2rem,4.2vw,3rem);font-weight:400;line-height:1.12;letter-spacing:.01em;color:#FFFFFF!important}.projects-subtitle{max-width:650px;margin:0;font-family:var(--font-main,"Inter",sans-serif);font-size:clamp(.9rem,1.4vw,1rem);line-height:1.75;color:rgba(255,255,255,.64)}.projects-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:42px}.projects-filter{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:6px 13px;font-family:var(--font-main,"Inter",sans-serif);font-size:.7rem;font-weight:600;letter-spacing:.04em;color:rgba(255,255,255,.7);background:transparent!important;border:1px solid rgba(255,255,255,.22);border-radius:2px;cursor:pointer;transition:color .2s ease,border-color .2s ease,background-color .2s ease,transform .2s ease}.projects-filter:hover{color:#FFFFFF;border-color:rgba(255,255,255,.7);transform:translateY(-1px)}.projects-filter-active{color:#0F2F50!important;background:#FFFFFF!important;border-color:#FFFFFF}.projects-cinematic{position:relative;min-height:720px;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:pan-y;perspective:1600px}.projects-cinematic-top{position:relative;display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;z-index:20}.projects-cinematic-label{font-size:.63rem;letter-spacing:.16em;color:rgba(255,255,255,.46)}.projects-cinematic-counter,.projects-cinematic-label{font-family:var(--font-code,"Fira Code",monospace);font-weight:700}.projects-cinematic-counter{display:inline-flex;align-items:center;gap:9px;font-size:.68rem;color:rgba(255,255,255,.65)}.projects-cinematic-counter span:first-child{color:#FFFFFF}.projects-cinematic-counter i{display:block;width:22px;height:1px;background:rgba(255,255,255,.35)!important}.projects-coverflow{position:absolute;left:50%;top:54%;width:100%;height:620px;transform:translate(-50%,-50%);transform-style:preserve-3d;overflow:visible}.projects-coverflow-floor{position:absolute;left:50%;bottom:3%;width:70%;height:120px;transform:translateX(-50%) rotateX(72deg) translateZ(-100px);background:radial-gradient(ellipse,rgba(255,255,255,.13),transparent 68%);filter:blur(18px);pointer-events:none}.project-cover-card{position:absolute;left:50%;top:50%;width:470px;height:470px;display:flex;flex-direction:column;overflow:hidden;background:#FFFFFF!important;border:1px solid rgba(255,255,255,.22);box-shadow:0 25px 60px rgba(0,0,0,.18);transform-style:preserve-3d;cursor:pointer;transition:transform .72s cubic-bezier(.22,1,.36,1),opacity .5s ease,filter .5s ease,box-shadow .5s ease;will-change:transform}.project-cover-card-active{z-index:10;cursor:default;opacity:1!important;filter:none;transform:translate3d(-50%,-50%,170px) rotateY(0deg) scale(1);box-shadow:0 38px 85px rgba(0,0,0,.3),0 0 0 1px rgba(255,255,255,.18)}.project-cover-card-left{transform:translate3d(-117%,-50%,-70px) rotateY(29deg) scale(.82)}.project-cover-card-left,.project-cover-card-right{z-index:5;opacity:1;filter:brightness(.72) saturate(.72)}.project-cover-card-right{transform:translate3d(17%,-50%,-70px) rotateY(-29deg) scale(.82)}.project-cover-card[data-offset="-2"]{z-index:2;opacity:1;filter:brightness(.55) saturate(.55);transform:translate3d(-161%,-50%,-160px) rotateY(40deg) scale(.67)}.project-cover-card[data-offset="2"]{z-index:2;opacity:1;filter:brightness(.55) saturate(.55);transform:translate3d(61%,-50%,-160px) rotateY(-40deg) scale(.67)}.project-cover-content{display:flex;flex:1 1;flex-direction:column;padding:30px 30px 34px;background:#FFFFFF!important;color:#0F2F50!important}.project-cover-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}.project-cover-kicker{display:block;margin-bottom:8px;font-family:var(--font-code,"Fira Code",monospace);font-size:.54rem;font-weight:700;letter-spacing:.14em;color:#7B8997}.project-cover-title{margin:0;font-family:var(--font-display,"Amarante",serif);font-size:1.75rem;font-weight:400;line-height:1.12;color:#0F2F50!important}.project-cover-index{font-family:var(--font-code,"Fira Code",monospace);font-size:.66rem;font-weight:700;color:#A1ACB7}.project-cover-description{margin:0 0 20px;font-family:var(--font-main,"Inter",sans-serif);font-size:.82rem;line-height:1.65;color:#5A6B7D}.project-cover-meta{display:grid;grid-template-columns:1fr 1fr;grid-gap:15px;gap:15px;margin-bottom:18px;padding:14px 0;border-top:1px solid #e3e7eb;border-bottom:1px solid #e3e7eb}.project-cover-meta div{min-width:0}.project-cover-meta span{display:block;margin-bottom:5px;font-family:var(--font-code,"Fira Code",monospace);font-size:.5rem;font-weight:700;letter-spacing:.1em;color:#8996A3}.project-cover-meta strong{display:block;overflow:hidden;font-family:var(--font-main,"Inter",sans-serif);font-size:.7rem;font-weight:600;white-space:nowrap;text-overflow:ellipsis;color:#0F2F50}.project-cover-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.project-cover-tag{display:inline-flex;align-items:center;padding:5px 8px;font-family:var(--font-code,"Fira Code",monospace);font-size:.55rem;font-weight:600;color:#0F2F50;background:#F4F6F8!important;border:1px solid #dfe5ea}.project-cover-highlights{display:flex;flex-direction:column;gap:7px;margin-bottom:14px}.project-cover-highlight{display:flex;gap:8px;font-family:var(--font-main,"Inter",sans-serif);font-size:.7rem;line-height:1.5;color:#526476}.project-cover-highlight>span:first-child{color:#0F2F50;font-weight:800}.project-cover-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.project-action-btn,.project-private-badge{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:7px 13px;font-family:var(--font-main,"Inter",sans-serif);font-size:.68rem;font-weight:700;text-decoration:none;color:#0F2F50;background:#FFFFFF!important;border:1px solid #0f2f50;border-radius:2px;transition:background-color .2s ease,color .2s ease,transform .2s ease}.project-action-btn:hover{transform:translateY(-1px)}.project-action-btn-primary,.project-action-btn:hover{color:#FFFFFF;background:#0F2F50!important}.project-action-btn-primary:hover{background:#1A4A7A!important}.project-private-badge{color:#687887;border-color:#D9E0E6;cursor:default}.project-cover-bottom{position:absolute;left:30px;right:30px;bottom:10px;display:flex;align-items:center;gap:9px;pointer-events:none;font-family:var(--font-code,"Fira Code",monospace);font-size:.5rem;font-weight:700;color:#A1ACB7}.project-cover-bottom-line{flex:1 1;height:1px;background:#E1E6EA!important}.project-cover-arrow{position:absolute;top:50%;z-index:30;display:flex;align-items:center;justify-content:center;width:62px;height:42px;padding:0;color:#FFFFFF;background:rgba(15,47,80,.9)!important;border:1px solid rgba(255,255,255,.3);cursor:pointer;transform:translateY(-50%);transition:background-color .2s ease,border-color .2s ease,transform .2s ease}.project-cover-arrow:hover{background:#FFFFFF!important;color:#0F2F50;border-color:#FFFFFF}.project-cover-arrow i{font-size:10px}.project-cover-arrow span{font-family:var(--font-code,"Fira Code",monospace);font-size:.52rem;font-weight:700;letter-spacing:.08em}.project-cover-arrow-prev{left:0;gap:7px}.project-cover-arrow-next{right:0;gap:7px}.projects-cover-footer{position:relative;margin-top:-12px;z-index:20}.projects-cover-progress{width:100%;height:1px;overflow:hidden;background:rgba(255,255,255,.16)!important}.projects-cover-progress span{display:block;height:100%;background:#FFFFFF!important;transition:width .5s cubic-bezier(.22,1,.36,1)}.projects-cover-footer-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:17px}.projects-cover-counter{display:inline-flex;align-items:baseline;gap:5px;min-width:60px;font-family:var(--font-code,"Fira Code",monospace);font-size:.67rem;font-weight:700;color:rgba(255,255,255,.4)}.projects-cover-current{font-size:1rem;color:#FFFFFF}.projects-cover-dots{display:flex;align-items:center;justify-content:center;gap:8px;flex:1 1}.projects-cover-dot{width:7px;height:7px;padding:0;background:transparent!important;border:1px solid rgba(255,255,255,.5);border-radius:50%;cursor:pointer;transition:width .25s ease,background-color .25s ease,border-color .25s ease}.projects-cover-dot:hover{background:rgba(255,255,255,.4)!important}.projects-cover-dot-active{width:28px;background:#FFFFFF!important;border-color:#FFFFFF;border-radius:20px}.projects-cover-swipe{min-width:100px;display:flex;align-items:center;justify-content:flex-end;gap:8px;font-family:var(--font-code,"Fira Code",monospace);font-size:.52rem;font-weight:700;letter-spacing:.08em;color:rgba(255,255,255,.4)}.projects-cover-swipe-arrows{color:rgba(255,255,255,.75);font-size:.75rem}@media (max-width:1100px){.projects-section{padding:82px 0 76px}.projects-cinematic{min-height:680px}.projects-coverflow{height:580px}.project-cover-card{width:520px;height:540px}.project-cover-card-left{transform:translate3d(-112%,-50%,-70px) rotateY(27deg) scale(.78)}.project-cover-card-right{transform:translate3d(12%,-50%,-70px) rotateY(-27deg) scale(.78)}}@media (max-width:767px){.projects-section{padding:70px 0 64px}.projects-header{margin-bottom:30px}.projects-title{font-size:2rem}.projects-subtitle{font-size:.84rem;line-height:1.65}.projects-filters{margin-bottom:28px;flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.projects-filters::-webkit-scrollbar{display:none}.projects-filter{flex-shrink:0}.projects-cinematic{min-height:560px;margin-left:-4px;margin-right:-4px}.projects-cinematic-top{padding:0 4px}.projects-cinematic-label{font-size:.55rem}.projects-coverflow{top:52%;height:470px}.project-cover-card{width:64vw;max-width:260px;height:400px}.project-cover-card-active{transform:translate3d(-50%,-50%,120px) rotateY(0deg) scale(1)}.project-cover-card-left{transform:translate3d(-117%,-50%,-60px) rotateY(29deg) scale(.82)}.project-cover-card-right{transform:translate3d(17%,-50%,-60px) rotateY(-29deg) scale(.82)}.project-cover-card[data-offset="-2"]{transform:translate3d(-161%,-50%,-140px) rotateY(40deg) scale(.67)}.project-cover-card[data-offset="2"]{transform:translate3d(61%,-50%,-140px) rotateY(-40deg) scale(.67)}.project-cover-content{padding:18px 16px 26px}.project-cover-kicker{font-size:.48rem;margin-bottom:6px}.project-cover-title{font-size:1.05rem}.project-cover-index{font-size:.56rem}.project-cover-description{font-size:.68rem;line-height:1.5;margin-bottom:10px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.project-cover-meta{gap:8px;padding:8px 0;margin-bottom:10px}.project-cover-meta span{font-size:.44rem;margin-bottom:3px}.project-cover-meta strong{font-size:.56rem}.project-cover-tags{gap:4px;margin-bottom:10px}.project-cover-tag{font-size:.46rem;padding:3px 5px}.project-cover-highlights{gap:4px;margin-bottom:10px}.project-cover-highlight{font-size:.56rem;line-height:1.4}.project-action-btn,.project-private-badge{min-height:28px;padding:5px 9px;font-size:.56rem}.project-cover-bottom{left:16px;right:16px;bottom:6px}.project-cover-arrow{width:36px;height:34px}.project-cover-arrow span{display:none}.project-cover-arrow-prev{left:2px}.project-cover-arrow-next{right:2px}.projects-cover-footer{margin-top:-4px}.projects-cover-footer-row{gap:12px}.projects-cover-swipe{display:none}.projects-cover-dots{justify-content:flex-end}}@media (max-width:480px){.projects-section{padding-top:60px}.projects-cinematic{min-height:520px}.projects-coverflow{top:52%;height:440px}.project-cover-card{width:62vw;max-width:240px;height:380px}.project-cover-card-active{transform:translate3d(-50%,-50%,110px) rotateY(0deg) scale(1)}.project-cover-card-left{transform:translate3d(-117%,-50%,-55px) rotateY(29deg) scale(.82)}.project-cover-card-right{transform:translate3d(17%,-50%,-55px) rotateY(-29deg) scale(.82)}.project-cover-card[data-offset="-2"]{transform:translate3d(-161%,-50%,-130px) rotateY(40deg) scale(.67)}.project-cover-card[data-offset="2"]{transform:translate3d(61%,-50%,-130px) rotateY(-40deg) scale(.67)}.project-cover-content{padding:16px 14px 24px}.project-cover-title{font-size:.95rem}.project-cover-description{font-size:.64rem;margin-bottom:8px;-webkit-line-clamp:2}.project-cover-meta{padding:7px 0;margin-bottom:8px}.project-cover-tag{font-size:.44rem;padding:2px 5px}.project-cover-highlights{display:none}.project-cover-actions{gap:5px}.project-action-btn,.project-private-badge{min-height:26px;padding:4px 8px;font-size:.54rem}.project-cover-arrow{width:32px;height:30px}.project-cover-arrow-prev{left:0}.project-cover-arrow-next{right:0}.project-cover-bottom{left:14px;right:14px}.projects-cover-footer-row{margin-top:13px}}@media (prefers-reduced-motion:reduce){.project-action-btn,.project-cover-card,.projects-cover-progress span,.projects-filter{transition:none!important}}.scroll-to-top-btn{position:fixed;right:24px;bottom:88px;z-index:998;width:46px;height:46px;display:inline-flex;align-items:center;justify-content:center;background:var(--navy,#0F2F50);color:#FFFFFF;border:1px solid var(--navy,#0f2f50);border-radius:var(--radius-sm,.25rem);font-size:14px;cursor:pointer;box-shadow:none;animation:scrollBtnIn .26s cubic-bezier(.22,1,.36,1) both;transition:background-color .2s ease,border-color .2s ease}@keyframes scrollBtnIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.scroll-to-top-btn:hover{background:var(--navy-light,#1A4A7A);border-color:var(--navy-light,#1A4A7A)}.scroll-to-top-btn:active{transform:translateY(1px)}.scroll-to-top-btn:focus-visible{outline:2px solid #FFFFFF;outline-offset:2px}.scroll-to-top-btn i{line-height:1}.site-footer{position:relative;background:#0A1F36;color:#FFFFFF;padding:56px 0 32px;border-top:1px solid rgba(255,255,255,.08)}.site-footer .container{max-width:1200px}.footer-top{display:grid;grid-template-columns:1.4fr 1fr auto;align-items:start;grid-gap:40px;gap:40px;padding-bottom:32px}.footer-brand{min-width:0;max-width:420px}.footer-brand-name{display:block;font-family:var(--font-display,"Amarante",serif);font-style:normal;font-weight:400;font-size:1.35rem;letter-spacing:.02em;line-height:1.1;color:#FFFFFF;margin-bottom:10px}.footer-brand-tagline{font-family:var(--font-main,"Inter",sans-serif);font-size:.82rem;line-height:1.65;color:rgba(255,255,255,.6);margin:0}.footer-nav{display:flex;flex-direction:column;gap:10px}.footer-nav-link{display:inline-block;width:-moz-fit-content;width:fit-content;font-family:var(--font-code,"Fira Code",monospace);font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.7);text-decoration:none;transition:color .15s ease}.footer-nav-link:hover{color:#FFFFFF}.footer-social{display:flex;gap:8px;flex-shrink:0}.footer-social-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;color:#FFFFFF;background:transparent;border:1px solid rgba(255,255,255,.18);border-radius:var(--radius-sm,.25rem);font-size:14px;text-decoration:none;transition:background-color .2s ease,border-color .2s ease}.footer-social-btn:hover{background:#FFFFFF;color:var(--navy,#0F2F50);border-color:#FFFFFF}.footer-social-btn i{line-height:1}.footer-rule{width:100%;height:1px;background:rgba(255,255,255,.08);margin-bottom:22px}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.footer-copyright,.footer-credit{font-family:var(--font-code,"Fira Code",monospace);font-size:.68rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.5);margin:0}@media (max-width:991px){.footer-top{grid-template-columns:1fr 1fr;gap:32px}.footer-social{grid-column:1/-1;justify-content:flex-start}}@media (max-width:767px){.site-footer{padding:48px 0 28px}.footer-top{grid-template-columns:1fr;gap:28px;padding-bottom:26px}.footer-social{grid-column:auto}}@media (max-width:480px){.scroll-to-top-btn{right:16px;bottom:80px;width:42px;height:42px;font-size:13px}.site-footer{padding:40px 0 24px}.footer-brand-name{font-size:1.2rem}.footer-brand-tagline{font-size:.78rem}.footer-nav{flex-direction:row;flex-wrap:wrap;gap:14px}.footer-social-btn{width:36px;height:36px;font-size:13px}.footer-bottom{flex-direction:column;align-items:flex-start;gap:8px}}.skills-section{position:relative;background:#F5F7FA;border-top:1px solid var(--border,#e1e7ed);padding:96px 0;overflow:hidden}.skills-section .container{max-width:1200px;position:relative;z-index:1}.skills-header{max-width:640px;margin-bottom:48px}.skills-eyebrow{display:inline-flex;align-items:center;gap:12px;margin-bottom:20px}.eyebrow-rule{display:inline-block;width:28px;height:1px;background:var(--navy,#0F2F50)}.eyebrow-text{font-family:var(--font-main,"Inter",sans-serif);font-size:.72rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--navy,#0F2F50)}.skills-title{font-family:var(--font-display,"Amarante",serif);font-style:normal;font-weight:400;font-size:clamp(1.85rem,4vw,2.75rem);line-height:1.15;letter-spacing:.01em;color:var(--navy,#0F2F50);margin:0 0 14px}.skills-subtitle{font-family:var(--font-main,"Inter",sans-serif);font-size:clamp(.9rem,1.4vw,1rem);line-height:1.75;color:var(--text-muted,#5A6B7D);margin:0;max-width:560px}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:20px;gap:20px}.skills-card{display:flex;flex-direction:column;background:#FFFFFF;border:1px solid var(--border,#e1e7ed);border-radius:var(--radius-md,.375rem);padding:24px 24px 22px;transition:border-color .2s ease,transform .25s ease}.skills-card:hover{border-color:var(--navy,#0F2F50);transform:translateY(-2px)}.skills-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.skills-card-head-left{min-width:0;flex:1 1}.skills-card-index{display:block;font-family:var(--font-code,"Fira Code",monospace);font-size:10px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--navy,#0F2F50);opacity:.55;margin-bottom:6px}.skills-card-title{font-family:var(--font-display,"Amarante",serif);font-style:normal;font-weight:400;font-size:1.15rem;line-height:1.25;letter-spacing:.01em;color:var(--navy,#0F2F50);margin:0}.skills-card-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;flex-shrink:0;color:var(--navy,#0F2F50);font-size:16px;border:1px solid var(--border,#e1e7ed);border-radius:var(--radius-sm,.25rem);background:var(--surface-hover,#F5F7FA);transition:border-color .2s ease,background-color .2s ease}.skills-card:hover .skills-card-icon{border-color:var(--navy,#0F2F50);background:#FFFFFF}.skills-card-icon i{line-height:1}.skills-card-rule{width:100%;height:1px;background:var(--border,#E1E7ED);margin-bottom:18px}.skills-card-items{display:flex;flex-wrap:wrap;gap:6px}.skill-chip{display:inline-flex;align-items:center;padding:5px 10px;font-family:var(--font-code,"Fira Code",monospace);font-size:.72rem;font-weight:500;letter-spacing:.02em;color:var(--navy,#0F2F50);background:#FFFFFF;border:1px solid var(--border,#e1e7ed);border-radius:var(--radius-sm,.25rem);transition:border-color .15s ease,background-color .15s ease,color .15s ease}.skill-chip:hover{border-color:var(--navy,#0F2F50);background:var(--navy,#0F2F50);color:#FFFFFF}@media (max-width:991px){.skills-section{padding:72px 0}.skills-header{margin-bottom:36px}.skills-grid{gap:16px}}@media (max-width:575px){.skills-section{padding:64px 0}.skills-card{padding:20px 18px 18px}.skills-card-icon{width:34px;height:34px;font-size:14px}.skills-card-title{font-size:1.05rem}.skill-chip{font-size:.7rem;padding:4px 8px}}.wa-widget{position:fixed;right:24px;bottom:24px;z-index:999;animation:waIn .32s cubic-bezier(.22,1,.36,1) both}@keyframes waIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.wa-btn{position:relative;display:inline-flex;align-items:center;gap:10px;padding:11px 16px 11px 12px;font-family:var(--font-main,"Inter",sans-serif);font-size:.82rem;font-weight:600;letter-spacing:.02em;color:#FFFFFF;background:var(--navy,#0F2F50);border:1px solid var(--navy,#0f2f50);border-radius:var(--radius-sm,.25rem);cursor:pointer;box-shadow:none;transition:background-color .2s ease,border-color .2s ease}.wa-btn:hover{background:var(--navy-light,#1A4A7A);border-color:var(--navy-light,#1A4A7A)}.wa-btn:active{transform:translateY(1px)}.wa-btn:focus-visible{outline:2px solid #FFFFFF;outline-offset:2px}.wa-icon{justify-content:center;width:26px;height:26px;color:var(--navy,#0F2F50);background:#FFFFFF;border-radius:var(--radius-sm,.25rem);font-size:14px;line-height:1}.wa-icon,.wa-label{display:inline-flex;align-items:center}.wa-label{gap:8px}.wa-dot{display:inline-block;width:5px;height:5px;background:#FFFFFF;border-radius:0;opacity:.85}.wa-label-text{font-family:var(--font-code,"Fira Code",monospace);font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#FFFFFF}@media (max-width:480px){.wa-widget{right:16px;bottom:16px}.wa-btn{padding:10px;gap:0}.wa-label{display:none}.wa-icon{width:28px;height:28px;font-size:15px}}