:root{--font-heading:"Lora", "Georgia", serif;--font-groovy:"Lora", serif;--font-body:"Space Grotesk", "Inter", sans-serif;--font-mono:"Courier Prime", monospace;--transition-fast:.2s cubic-bezier(.4, 0, .2, 1);--transition-normal:.3s cubic-bezier(.4, 0, .2, 1);--transition-slow:.5s cubic-bezier(.4, 0, .2, 1);--transition-bounce:.5s cubic-bezier(.175, .885, .32, 1.275);--shadow-sm:0 1px 3px #0000000a;--shadow-md:0 2px 8px #0000000d;--shadow-lg:0 4px 16px #0000000f;--shadow-xl:0 8px 24px #00000014;--shadow-glow:0 0 20px #e76f511f;--radius-sm:10px;--radius-md:16px;--radius-lg:22px;--radius-full:9999px;--spacing-xs:8px;--spacing-sm:16px;--spacing-md:24px;--spacing-lg:48px;--spacing-xl:80px}html.light{--bg-primary:#fdf6ec;--bg-secondary:#f5ebe0;--bg-card:#fffcf7;--bg-input:#fdf6ec;--border-color:#1d2d441a;--border-subtle:#1d2d440f;--border-hover:#e76f51;--text-primary:#1d2d44;--text-secondary:#3c4f5c;--text-muted:#8a8274;--accent-blue:#2a9d8f;--accent-violet:#e76f51;--accent-emerald:#e9c46a;--accent-blue-soft:#2a9d8f1a;--accent-violet-soft:#e76f5114;--accent-emerald-soft:#e9c46a1a;--nav-bg:#fdf6ecd1;--nav-border:#1d2d4414;--card-shadow:0 2px 8px #0000000a;--modal-bg:#fdf6ecfa;--modal-overlay:#1d2d4480}html.dark{--bg-primary:#1a1210;--bg-secondary:#241c18;--bg-card:#241c18;--bg-input:#1a1210;--border-color:#e9c46a26;--border-subtle:#e9c46a14;--border-hover:#f4a261;--text-primary:#f5ebe0;--text-secondary:#d4c4a8;--text-muted:#8a7b68;--accent-blue:#6fbfae;--accent-violet:#f4a261;--accent-emerald:#e9c46a;--accent-blue-soft:#6fbfae1f;--accent-violet-soft:#f4a2611f;--accent-emerald-soft:#e9c46a1f;--nav-bg:#1a1210e6;--nav-border:#e9c46a26;--card-shadow:0 2px 8px #0000004d;--modal-bg:#1a1210fc;--modal-overlay:#000000b3}*,:before,:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;font-size:16px}body{font-family:var(--font-body);background-color:var(--bg-primary);color:var(--text-primary);transition:background-color var(--transition-normal), color var(--transition-normal);line-height:1.6;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--text-primary);font-weight:700;line-height:1.2}a{color:inherit;transition:color var(--transition-fast);text-decoration:none}img{max-width:100%;height:auto;display:block}button{cursor:pointer;background:0 0;border:none;outline:none;font-family:inherit}ul{list-style:none}.container{width:100%;max-width:1200px;padding:0 var(--spacing-md);margin:0 auto}.section-padding{padding-top:calc(var(--spacing-xl) / 2);padding-bottom:var(--spacing-xl)}.header{z-index:1000;width:100%;transition:transform var(--transition-normal), top var(--transition-normal);position:fixed;top:20px;left:0}.nav-container{background:var(--nav-bg);border:1px solid var(--border-color);max-width:880px;box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(16px);border-radius:var(--radius-full);justify-content:space-between;align-items:center;margin:0 auto;padding:12px 24px;display:flex}.header.scrolled{top:12px}.logo{font-family:var(--font-heading);color:var(--text-primary);letter-spacing:-.02em;align-items:center;gap:8px;font-size:1.15rem;font-style:italic;font-weight:700;text-decoration:none;display:flex}.logo-text{font-family:var(--font-heading)!important;color:var(--accent-violet)!important;background:0 0!important;-webkit-background-clip:initial!important;-webkit-text-fill-color:initial!important;text-shadow:none!important;filter:none!important;font-style:italic!important;font-weight:700!important}html.dark .logo-text{color:var(--accent-violet)!important}.nav-menu{gap:4px;display:flex}.nav-link{font-family:var(--font-body);border-radius:var(--radius-full);color:var(--text-muted);letter-spacing:.01em;border:none;padding:7px 16px;font-size:.82rem;font-weight:500;transition:color .2s,background .2s}.nav-link:hover{color:var(--text-primary);background:var(--accent-violet-soft);box-shadow:none;transform:none}.nav-link.active{color:var(--accent-violet);background:var(--accent-violet-soft);box-shadow:none;font-weight:600}.nav-actions{align-items:center;gap:8px;display:flex}.lang-toggle,.mobile-menu-toggle{border-radius:var(--radius-full);width:36px;height:36px;color:var(--text-muted);border:1px solid var(--border-color);box-shadow:none;font-family:var(--font-mono);cursor:pointer;background:0 0;justify-content:center;align-items:center;font-weight:500;transition:all .2s;display:flex}.lang-toggle:hover,.mobile-menu-toggle:hover{color:var(--accent-violet);border-color:var(--accent-violet);background:var(--accent-violet-soft);box-shadow:none;transform:none}.lang-text{letter-spacing:.06em;font-size:.7rem;font-weight:600;font-family:var(--font-body);text-transform:uppercase}.mobile-menu-toggle,.mobile-menu-toggle .close-icon{display:none}.mobile-menu-backdrop{z-index:1040;-webkit-backdrop-filter:blur(2px);background:#0006;display:none;position:fixed;inset:0}.mobile-menu-backdrop.active{display:block}.btn{border-radius:var(--radius-full);transition:background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-size:.875rem;font-weight:600;display:inline-flex}.btn-primary{background:var(--text-primary);color:var(--bg-primary);border:1px solid var(--text-primary)}.btn-primary:hover{background:var(--accent-violet);border-color:var(--accent-violet);color:var(--bg-primary)}.btn-secondary{border:1px solid var(--border-color);color:var(--text-primary);background:0 0}.btn-secondary:hover{background:var(--bg-secondary);border-color:var(--border-hover)}.btn-small{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-primary);border-radius:var(--radius-full);-webkit-backdrop-filter:blur(8px);padding:8px 16px;font-size:.8rem;font-weight:600}.btn-small svg{width:14px;height:14px;transition:transform var(--transition-fast)}.btn-small:hover svg{transform:translate(4px)}.hero-section{justify-content:center;align-items:center;min-height:100vh;padding-top:80px;display:flex;position:relative;overflow:hidden}.hero-bg-accent{background:radial-gradient(circle, var(--accent-blue-soft) 0%, transparent 70%);border-radius:var(--radius-full);z-index:-1;filter:blur(80px);width:600px;height:600px;position:absolute;top:-10%;right:-10%}.hero-container{text-align:left;flex-direction:column;align-items:flex-start;width:100%;max-width:800px;margin:0 auto;display:flex}.hero-content{flex-direction:column;align-items:flex-start;width:100%;display:flex}.hero-name-container{margin-top:16px;margin-bottom:28px;display:inline-block;position:relative}.hero-greeting-prefix{color:var(--accent-blue);text-transform:uppercase;letter-spacing:.1em;font-size:1.15rem;font-weight:600;position:absolute;top:-12px;left:4px}.hero-greeting-suffix{color:var(--accent-blue);text-transform:uppercase;letter-spacing:.1em;font-size:1.15rem;font-weight:600;position:absolute;bottom:-12px;right:-32px}.hero-title{letter-spacing:-.04em;color:var(--text-primary);background:0 0;-webkit-background-clip:initial;-webkit-text-fill-color:initial;margin:0;font-size:clamp(3.5rem,10vw,6.5rem);font-style:italic}.hero-name-container.animate-hero-name{opacity:1;transform:none}.hero-name-container.animate-hero-name .hero-title{opacity:0;filter:blur(12px);letter-spacing:.08em;transition:opacity 1.4s cubic-bezier(.16,1,.3,1) .4s,filter 1.2s cubic-bezier(.16,1,.3,1) .4s,letter-spacing 1.5s cubic-bezier(.16,1,.3,1) .4s,transform 1.4s cubic-bezier(.16,1,.3,1) .4s;transform:scale(.98)}.hero-name-container.animate-hero-name.revealed .hero-title{opacity:1;filter:blur();letter-spacing:-.03em;transform:scale(1)}.hero-name-container.animate-hero-name .hero-greeting-prefix{opacity:0;filter:blur(4px);transition:opacity 1s cubic-bezier(.16,1,.3,1) .1s,filter 1s cubic-bezier(.16,1,.3,1) .1s,transform 1s cubic-bezier(.16,1,.3,1) .1s;transform:translateY(-3px)scale(.98)}.hero-name-container.animate-hero-name.revealed .hero-greeting-prefix{opacity:1;filter:blur();transform:translateY(0)scale(1)}.hero-name-container.animate-hero-name .hero-greeting-suffix{opacity:0;filter:blur(4px);transition:opacity 1s cubic-bezier(.16,1,.3,1) .9s,filter 1s cubic-bezier(.16,1,.3,1) .9s,transform 1s cubic-bezier(.16,1,.3,1) .9s;transform:translateY(3px)scale(.98)}.hero-name-container.animate-hero-name.revealed .hero-greeting-suffix{opacity:1;filter:blur();transform:translateY(0)scale(1)}.hero-description{color:var(--text-secondary);max-width:640px;margin-bottom:36px;font-size:1.15rem}.hero-cta{gap:16px;display:flex}.hero-illustration-container{border-radius:var(--radius-lg);width:320px;height:320px;box-shadow:var(--shadow-xl);border:1px solid var(--border-color);background:var(--bg-card);transition:transform var(--transition-normal), box-shadow var(--transition-normal), border-color var(--transition-normal);justify-content:center;align-items:center;padding:24px;display:flex;position:relative;overflow:hidden}.hero-illustration-container:hover{box-shadow:var(--shadow-xl), var(--shadow-glow);border-color:var(--border-hover);transform:translateY(-6px)rotate(.5deg)}.hero-illustration{object-fit:contain;width:100%;height:100%;transition:transform var(--transition-slow)}.scroll-down{color:var(--text-secondary);flex-direction:column;align-items:center;gap:4px;font-size:.8rem;animation:2s infinite bounce;display:flex;position:absolute;bottom:40px;left:50%;transform:translate(-50%)}.scroll-down svg{width:20px;height:20px}@keyframes bounce{0%,20%,50%,80%,to{transform:translate(-50%)}40%{transform:translate(-50%,-10px)}60%{transform:translate(-50%,-5px)}}.section-header{text-align:center;max-width:600px;margin:0 auto var(--spacing-lg) auto}.section-tag{color:var(--accent-blue);text-transform:uppercase;letter-spacing:.12em;opacity:.75;margin-bottom:12px;font-size:.72rem;font-weight:700;display:inline-block}.section-title{letter-spacing:-.02em;margin-bottom:16px;font-size:2.25rem}.section-desc{color:var(--text-secondary);font-size:1rem}.projects-grid{gap:var(--spacing-md);grid-template-columns:repeat(2,1fr);max-width:720px;margin-left:auto;margin-right:auto;display:grid}.project-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--card-shadow);transition:transform var(--transition-normal), border-color var(--transition-normal), box-shadow var(--transition-normal);cursor:pointer;flex-direction:column;height:100%;display:flex;overflow:hidden;transform:translateZ(0);-webkit-mask-image:-webkit-radial-gradient(#fff,#000)}.project-card:hover{border-color:var(--border-hover)}.project-img-container{aspect-ratio:16/10;background:var(--bg-secondary);width:100%;position:relative;overflow:hidden}.project-img{object-fit:cover;width:100%;height:100%;transition:transform var(--transition-slow)}.project-card:hover .project-img{transform:scale(1.05)}.project-overlay{display:none}.project-more-link{color:var(--text-secondary);transition:color var(--transition-normal);align-items:center;gap:8px;margin-top:auto;padding-top:16px;font-size:.875rem;font-weight:600;display:inline-flex}.project-card:hover .project-more-link{color:var(--accent-blue)}.project-more-link svg,.project-more-link i{width:16px;height:16px;transition:transform var(--transition-normal)}.project-card:hover .project-more-link svg,.project-card:hover .project-more-link i{transform:translate(4px)}.project-info{flex-direction:column;flex-grow:1;padding:20px 20px 22px;display:flex}.project-category{color:var(--accent-blue);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px;font-size:.72rem;font-weight:600}.project-title-text{letter-spacing:.01em;color:var(--text-primary);margin-bottom:10px;font-size:1.35rem;font-weight:700;font-family:var(--font-heading)!important}.project-summary{color:var(--text-secondary);margin-bottom:16px;font-size:.88rem;line-height:1.55}.project-tech-tags{flex-wrap:wrap;gap:8px;display:flex}.project-tech-tags span{border-radius:var(--radius-full);background:var(--bg-secondary);color:var(--text-secondary);padding:4px 10px;font-size:.72rem;font-weight:500}.timeline-container{max-width:800px;padding:var(--spacing-sm) 0;margin:0 auto;position:relative}.timeline-line{background:var(--border-color);width:2px;position:absolute;top:0;bottom:0;left:20px}.timeline-item{margin-bottom:40px;padding-left:54px;position:relative}.timeline-item:last-child{margin-bottom:0}.timeline-dot{border-radius:var(--radius-full);background:var(--bg-primary);border:4px solid var(--accent-blue);width:20px;height:20px;box-shadow:0 0 0 4px var(--bg-primary);transition:transform var(--transition-fast), background-color var(--transition-fast);z-index:2;position:absolute;top:6px;left:11px}.timeline-item:hover .timeline-dot{background-color:var(--accent-violet);transform:scale(1.25)}.timeline-time{color:var(--accent-blue);letter-spacing:.05em;margin-bottom:8px;font-size:.85rem;font-weight:700}.timeline-content{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--card-shadow);transition:transform var(--transition-normal), border-color var(--transition-normal);min-height:unset;padding:20px 24px}.timeline-item:hover .timeline-content{border-color:var(--border-hover);transform:translate(4px)}.timeline-header{flex-direction:column;align-items:flex-start;gap:4px;margin-bottom:6px;display:flex}.timeline-title{font-size:1.1rem;font-weight:700;line-height:1.3}.timeline-org{color:var(--accent-blue);flex-shrink:0;font-size:.875rem;font-weight:600}.timeline-loc{color:var(--text-muted);margin-top:2px;margin-bottom:10px;font-size:.8rem;display:block}.timeline-text{color:var(--text-secondary);font-size:.9rem;line-height:1.65}.skills-grid{gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));display:grid}.skill-category-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--card-shadow);transition:transform var(--transition-normal), border-color var(--transition-normal);padding:32px}.skill-category-card:hover{border-color:var(--border-hover)}.skill-cat-header{margin-bottom:24px}.skill-cat-title{align-items:baseline;gap:12px;font-size:1.25rem;font-weight:700;display:flex}.skill-cat-number{font-family:var(--font-body);color:var(--accent-blue);opacity:.8;font-size:.85rem;font-weight:700}.skill-list{flex-direction:column;gap:24px;display:flex}.skill-list li{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.skill-concept{color:var(--accent-blue);text-transform:uppercase;letter-spacing:.08em;font-size:.725rem;font-weight:700;display:block}.skill-desc{color:var(--text-primary);font-size:.95rem;font-weight:500;line-height:1.45;display:block}.contact-grid{justify-content:center;display:flex}.contact-info-panel{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--card-shadow);flex-direction:column;align-items:center;width:100%;max-width:600px;padding:3.5rem;display:flex}.contact-info-desc{color:var(--text-secondary);text-align:center;margin-bottom:32px;font-size:1.05rem;line-height:1.55}.contact-methods{grid-template-columns:repeat(2,1fr);gap:24px;width:100%;max-width:100%;margin-bottom:40px;display:grid}.contact-method-item{border-radius:var(--radius-sm);transition:background var(--transition-fast);align-items:center;gap:16px;padding:8px;display:flex}.contact-method-item:hover{background:var(--bg-secondary)}.contact-method-icon{border-radius:var(--radius-full);background:var(--accent-blue-soft);width:44px;height:44px;color:var(--accent-blue);justify-content:center;align-items:center;display:flex}.contact-method-icon svg{width:20px;height:20px}.contact-method-text{flex-direction:column;display:flex}.contact-method-label{color:var(--text-muted);font-size:.75rem;font-weight:500}.contact-method-val{color:var(--text-primary);font-size:.95rem;font-weight:600}.contact-socials{gap:12px;display:flex}.contact-socials a{border-radius:var(--radius-full);border:1px solid var(--border-color);width:44px;height:44px;color:var(--text-secondary);background:var(--bg-primary);transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex}.contact-socials a:hover{color:var(--text-primary);border-color:var(--border-hover);transform:translateY(-2px)}.contact-socials a svg{width:18px;height:18px}.contact-footer-location{color:var(--text-muted);justify-content:center;align-items:center;gap:6px;margin-top:12px;font-size:.8rem;font-weight:500;display:flex}.contact-footer-location svg{stroke-width:2px;width:14px;height:14px}.contact-form{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--card-shadow);flex-direction:column;gap:20px;padding:40px;display:flex}.form-group-row{grid-template-columns:1fr 1fr;gap:20px;display:grid}.form-group{flex-direction:column;gap:8px;display:flex;position:relative}.form-group label{color:var(--text-secondary);font-size:.85rem;font-weight:600}.form-group input,.form-group textarea{border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none;padding:12px 16px;font-family:inherit;font-size:.925rem}.form-group input:focus,.form-group textarea:focus{border-color:var(--accent-blue);box-shadow:0 0 0 3px var(--accent-blue-soft)}.form-group.invalid input,.form-group.invalid textarea{border-color:#ef4444}.form-group.invalid input:focus,.form-group.invalid textarea:focus{box-shadow:0 0 0 3px #ef44441a}.error-msg{color:#ef4444;font-size:.75rem;display:none}.form-group.invalid .error-msg{display:block}.btn-submit{align-self:flex-start}.btn-send-icon{width:16px;height:16px}.form-status{border-radius:var(--radius-sm);text-align:center;padding:12px;font-size:.9rem;font-weight:500;display:none}.form-status.success{color:var(--accent-emerald);background:#10b9811a;display:block}.form-status.error{color:#ef4444;background:#ef44441a;display:block}.footer{border-top:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-secondary);padding:40px 0;font-size:.875rem}.footer-container{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex}.loop-back-container{justify-content:center;width:100%;margin-bottom:8px;display:flex}.loop-back-btn{color:var(--accent-blue);font-family:var(--font-heading);letter-spacing:.05em;text-transform:uppercase;transition:all var(--transition-fast) ease;flex-direction:column;align-items:center;gap:8px;font-size:.7rem;font-weight:700;text-decoration:none;display:inline-flex}.loop-icon{border:1.5px solid var(--border-color);background:var(--bg-primary);width:36px;height:36px;box-shadow:var(--card-shadow);border-radius:50%;padding:9px;transition:all .4s cubic-bezier(.16,1,.3,1)}.loop-back-btn:hover{color:var(--accent-violet)}.loop-back-btn:hover .loop-icon{border-color:var(--accent-violet);box-shadow:0 0 12px var(--accent-violet-soft);transform:rotate(360deg)scale(1.1)}.loop-text{opacity:.8;transition:opacity .3s}.loop-back-btn:hover .loop-text{opacity:1}.project-modal{z-index:2000;opacity:0;pointer-events:none;justify-content:center;align-items:center;padding:32px 24px;transition:opacity .3s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;inset:0}.project-modal.active{opacity:1;pointer-events:all}.modal-backdrop{-webkit-backdrop-filter:blur(28px)saturate(180%);background:#0f0c0a8c;position:absolute;inset:0}.modal-wrapper{background:var(--modal-bg);z-index:10;border:1px solid #ffffff4d;border-radius:24px;width:100%;max-width:960px;max-height:85vh;transition:transform .35s cubic-bezier(.16,1,.3,1);position:relative;overflow-y:auto;transform:scale(.96)translateY(12px);box-shadow:0 30px 80px #00000038,0 4px 20px #0000001a;scrollbar-width:none!important;-ms-overflow-style:none!important}.modal-wrapper::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}html.dark .modal-wrapper{border:1px solid #ffffff1f;box-shadow:0 30px 90px #0009,0 4px 24px #0000004d}.project-modal.active .modal-wrapper{transform:scale(1)translateY(0)}.modal-sticky-bar{z-index:100;-webkit-backdrop-filter:none;pointer-events:none;background:0 0;border-bottom:none;justify-content:space-between;align-items:center;padding:24px 36px 8px;transition:padding .35s cubic-bezier(.16,1,.3,1);display:flex;position:sticky;top:0}.modal-sticky-bar .modal-close{pointer-events:auto;margin-left:auto}.modal-wrapper.is-scrolled .modal-sticky-bar{pointer-events:auto;background:linear-gradient(to bottom, var(--bg-primary) 0%, var(--bg-primary) 50%, var(--nav-bg) 80%, transparent 100%);-webkit-backdrop-filter:blur(36px)saturate(200%);padding:24px 36px 36px;-webkit-mask-image:linear-gradient(#000 0% 80%,#0000 100%);mask-image:linear-gradient(#000 0% 80%,#0000 100%);box-shadow:none!important;border-bottom:none!important}.modal-sticky-title-group{opacity:0;flex-direction:column;gap:4px;min-width:0;padding-right:24px;transition:opacity .3s cubic-bezier(.16,1,.3,1),transform .3s cubic-bezier(.16,1,.3,1);display:flex;transform:translateY(8px)}.modal-wrapper.is-scrolled .modal-sticky-title-group{opacity:1;transform:translateY(0)}.modal-sticky-cat{display:none!important}.modal-sticky-title{letter-spacing:-.02em;color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1.6rem;font-style:italic;font-weight:700;overflow:hidden;font-family:var(--font-heading)!important}.modal-sticky-bar .modal-close{border:1px solid var(--border-color);background:var(--bg-card);width:44px;min-width:44px;height:44px;min-height:44px;color:var(--text-muted);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex;position:static!important}.modal-sticky-bar .modal-close:hover{color:var(--text-primary);border-color:var(--border-hover);background:var(--accent-violet-soft);transform:scale(1.08)}.modal-body{padding:4px 44px 44px}.modal-project-header{margin-top:0;margin-bottom:20px;display:block}.modal-project-cat{display:none!important}.modal-project-title{letter-spacing:-.03em;color:var(--text-primary);font-size:2.6rem;font-style:italic;font-family:var(--font-heading)!important}.modal-project-banner{aspect-ratio:16/7;border:1px solid var(--border-color);border-radius:18px;justify-content:center;align-items:center;width:100%;margin-bottom:36px;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 16px #0000000a}.modal-banner-icon{background:var(--bg-card);border:1px solid var(--border-color);width:64px;height:64px;color:var(--text-primary);z-index:2;border-radius:50%;justify-content:center;align-items:center;display:flex;box-shadow:0 4px 16px #00000014}.modal-banner-icon svg{width:28px;height:28px}.modal-project-content{grid-template-columns:1.55fr .95fr;align-items:start;gap:40px;display:grid}.modal-info-panel-right{align-self:start;position:sticky;top:135px}.modal-text-section{min-width:0}.modal-text-section h4{color:var(--text-primary);margin-bottom:12px;font-size:1.25rem;font-style:italic;font-weight:600;font-family:var(--font-heading)!important}.modal-text-section p{color:var(--text-secondary);margin-bottom:24px;font-size:.95rem;line-height:1.7}.modal-info-list{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:18px;flex-direction:column;gap:20px;padding:24px;display:flex}.modal-info-item{flex-direction:column;gap:4px;display:flex}.modal-info-label{font-family:var(--font-mono);color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:600}.modal-info-val{color:var(--text-primary);font-size:.9rem;font-weight:600}.modal-tech-pills{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.modal-tech-pills span{font-family:var(--font-mono);border-radius:var(--radius-full);background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-secondary);padding:4px 10px;font-size:.72rem;font-weight:500}.modal-project-links{flex-direction:column;gap:10px;width:100%;margin-top:16px;display:flex}.modal-project-links .btn{justify-content:center;width:100%;font-family:var(--font-mono)!important;border-radius:10px!important;padding:11px 20px!important;font-size:.82rem!important}.modal-sticky-bottom-bar{display:none}.animate-fade{opacity:0;transition:opacity var(--transition-slow) ease, transform var(--transition-slow) ease;transform:translateY(15px)}.animate-fade.revealed{opacity:1;transform:translateY(0)}.animate-scroll{opacity:0;transition:opacity var(--transition-slow) ease, transform var(--transition-slow) ease;transform:translateY(30px)}.animate-scroll.revealed{opacity:1;transform:translateY(0)}.animate-fade:first-child{transition-delay:.1s}.animate-fade:nth-child(2){transition-delay:.2s}.animate-fade:nth-child(3){transition-delay:.3s}.animate-fade:nth-child(4){transition-delay:.4s}.animate-fade:nth-child(5){transition-delay:.5s}@media (width<=1024px){:root{--spacing-xl:60px}.hero-title{font-size:3.5rem}.hero-fullname{font-size:1.15rem}.contact-grid{grid-template-columns:1fr}.header{top:0}.nav-container{width:100%;max-width:100%;padding:16px var(--spacing-md);box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border:none;border-bottom:1px solid #0000;border-radius:0;transition:background .35s,border-color .35s,-webkit-backdrop-filter .35s,backdrop-filter .35s}.header.scrolled{top:0}.header.scrolled .nav-container{background:var(--nav-bg);border-bottom:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(20px)saturate(180%)}.nav-actions{gap:6px}.lang-toggle,.mobile-menu-toggle{width:34px;height:34px}.lang-text{letter-spacing:.04em;font-size:.7rem}.mobile-menu-toggle{z-index:1100;display:flex}.nav-menu{background:var(--modal-bg);border-left:1px solid var(--border-color);width:280px;height:100vh;box-shadow:var(--shadow-xl);z-index:1050;transition:right var(--transition-normal);-webkit-backdrop-filter:blur(16px);flex-direction:column;justify-content:center;align-items:center;gap:24px;position:fixed;top:0;right:-100%}.nav-menu.active{right:0}.nav-link{font-size:1.15rem}.nav-menu.active~.nav-actions .mobile-menu-toggle .menu-icon{display:none}.nav-menu.active~.nav-actions .mobile-menu-toggle .close-icon{display:block}}@media (width<=768px){.contact-methods{grid-template-columns:1fr;max-width:340px}.scroll-down{bottom:80px}.hero-container{gap:var(--spacing-lg);text-align:left;grid-template-columns:1fr;align-items:flex-start}.hero-content{order:2;align-items:flex-start}.hero-cta{justify-content:flex-start;width:100%}.hero-image-wrapper{order:1}.hero-description{max-width:100%}.avatar-card{width:240px;height:240px}.form-group-row{grid-template-columns:1fr;gap:20px}.modal-project-content{grid-template-columns:1fr;gap:30px}.modal-project-title{font-size:1.75rem}.modal-body{padding:64px 24px 24px}.modal-close{width:36px;height:36px;top:16px;right:16px}.modal-info-panel-right .modal-project-links{display:none!important}.modal-sticky-bottom-bar{box-sizing:border-box!important;z-index:150!important;width:100%!important;max-width:100%!important;padding:12px 14px calc(14px + env(safe-area-inset-bottom,0px)) 14px!important;background:var(--modal-bg)!important;-webkit-backdrop-filter:blur(24px)saturate(200%)!important;backdrop-filter:blur(24px)saturate(200%)!important;border-top:1px solid var(--border-color)!important;flex-direction:row!important;gap:8px!important;margin-top:auto!important;display:flex!important;position:sticky!important;bottom:0!important;left:0!important;box-shadow:0 -8px 30px #00000040!important}.modal-sticky-bottom-bar .btn{white-space:nowrap!important;width:auto!important;min-width:0!important;font-size:.8rem!important;font-family:var(--font-mono)!important;border-radius:10px!important;flex:1 1 0!important;justify-content:center!important;align-items:center!important;gap:6px!important;padding:11px 8px!important;display:inline-flex!important}.modal-sticky-bottom-bar .btn svg{flex-shrink:0!important;width:15px!important;height:15px!important}.contact-info-panel{padding:2.5rem 2rem}.contact-footer-location{align-self:flex-start;margin-left:8px}.section-header{text-align:left;max-width:100%;margin-left:0;margin-right:0}.other-projects-toggle-wrapper{display:none!important}.projects-grid{-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory!important;scrollbar-width:none!important;-ms-overflow-style:none!important;align-items:stretch!important;gap:16px!important;width:calc(100% + 40px)!important;max-width:calc(100% + 40px)!important;margin-left:-20px!important;margin-right:-20px!important;padding:8px 20px 24px!important;scroll-padding-left:20px!important;scroll-padding-right:20px!important;display:flex!important;overflow-x:auto!important}.projects-grid::-webkit-scrollbar{display:none!important}.projects-grid .project-card.other-project{display:none!important}.projects-grid.show-other-projects .project-card.other-project{display:flex!important}.projects-grid.show-other-projects .mobile-other-projects-btn-card{display:none!important}.projects-grid .project-card,.mobile-other-projects-btn-card{scroll-snap-align:start!important;flex:0 0 84%!important;align-self:stretch!important;min-width:84%!important;max-width:84%!important;height:auto!important;display:flex!important}.projects-grid .project-card.animate-scroll{opacity:1!important;transition:border-color var(--transition-normal), box-shadow var(--transition-normal)!important;transform:none!important}.projects-grid .project-card .project-info{flex-direction:column!important;flex:auto!important;display:flex!important}.projects-grid .project-card .project-summary{flex:auto!important}.projects-grid .project-card .project-tech-tags{margin-top:auto!important}.skills-grid{-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory!important;scrollbar-width:none!important;-ms-overflow-style:none!important;flex-direction:row!important;align-items:stretch!important;gap:16px!important;max-width:100%!important;padding:4px 4px 16px!important;display:flex!important;overflow-x:auto!important}.skills-grid::-webkit-scrollbar{display:none!important}.skills-grid .skill-category-card{scroll-snap-align:center;flex-direction:column!important;flex:0 0 88%!important;align-self:stretch!important;min-width:88%!important;max-width:88%!important;height:auto!important;padding:20px 20px 24px!important;display:flex!important}.skills-grid .skill-cat-header{margin-bottom:16px!important}.skills-grid .skill-list{gap:14px!important}.skills-grid .skill-list li{gap:3px!important}.skills-grid .skill-concept{font-size:.68rem!important}.skills-grid .skill-desc{font-size:.88rem!important;line-height:1.35!important}}@media (width<=480px){.hero-title{font-size:2.75rem}.hero-cta{flex-wrap:wrap;gap:12px;width:100%;display:flex}.hero-cta .btn{white-space:nowrap;flex:1;justify-content:center;min-width:130px;padding:10px 16px;font-size:.85rem}.contact-info-panel{padding:2rem 1.25rem}}.side-nav{display:none}.header-lang-toggle{display:flex}.wheel-lang-toggle{display:none!important}@media (width<=1024px){.mobile-menu-toggle,.header-lang-toggle{display:none!important}.wheel-lang-toggle{z-index:52;pointer-events:auto;width:32px;height:32px;margin:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 2px 8px #00000014;display:flex!important}.wheel-lang-toggle:hover{transform:translate(-50%,-50%)scale(1.08)}.side-nav{z-index:50;pointer-events:none;opacity:.85;width:250px;height:60px;transition:opacity var(--transition-normal) ease;display:block;position:fixed;bottom:20px;left:20px}.side-nav.at-top{opacity:.15}.side-nav:hover{opacity:1}.side-nav:has(.side-nav-item:hover){opacity:1}.side-nav-wheel-container{pointer-events:none;width:60px;height:60px;position:absolute;top:0;left:0}.side-nav-wheel{border:1.5px solid var(--border-color);background:var(--bg-card);pointer-events:none;transform-origin:50%;border-radius:50%;width:60px;height:60px;transition:transform 1.2s cubic-bezier(.34,1.56,.64,1);position:absolute;top:0;left:0;transform:rotate(0);box-shadow:0 8px 32px #0000001f}.side-nav-wheel:after{content:"";border:1px dashed var(--border-color);opacity:.5;border-radius:50%;position:absolute;inset:12px}.side-nav-item{pointer-events:auto;width:24px;height:24px;transform:rotate(var(--angle)) translateX(30px) rotate(calc(-1 * var(--angle) - var(--wheel-rotation,0deg)));justify-content:center;align-items:center;margin-top:-12px;margin-left:-12px;text-decoration:none;transition:transform 1.2s cubic-bezier(.34,1.56,.64,1);display:flex;position:absolute;top:50%;left:50%}.side-nav-dot{background:var(--text-muted);opacity:.5;z-index:1;border-radius:50%;flex-shrink:0;width:6px;height:6px;transition:all .4s;position:relative}.side-nav-item.active .side-nav-dot{background:var(--accent-blue);opacity:1;width:10px;height:10px;box-shadow:0 0 0 4px var(--accent-blue-soft)}.side-nav-label{font-family:var(--font-heading);letter-spacing:.05em;text-transform:uppercase;color:var(--accent-blue);background:var(--accent-blue-soft);border-radius:var(--radius-full);white-space:nowrap;opacity:0;pointer-events:none;border:none;padding:4px 12px;font-size:.65rem;font-weight:700;transition:opacity .4s,transform .4s;position:absolute;top:50%;left:20px;transform:translateY(-50%)translate(-8px)}.side-nav-item.active .side-nav-label{opacity:1;transform:translateY(-50%)translate(0)}}.avatar-fallback{background:linear-gradient(135deg, var(--bg-secondary) 0%, var(--border-color) 100%);justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.avatar-initials{font-family:var(--font-heading);letter-spacing:-.05em;color:var(--accent-violet);z-index:2;text-shadow:0 4px 12px #2e2b2614;font-size:5rem;font-weight:800}.avatar-glow-ring{border-radius:var(--radius-full);background:radial-gradient(circle, var(--accent-violet-soft) 0%, transparent 70%);z-index:1;width:150px;height:150px;animation:4s ease-in-out infinite alternate pulseGlow;position:absolute}@keyframes pulseGlow{0%{opacity:.5;transform:scale(.9)}to{opacity:1;transform:scale(1.3)}}.project-visual-container,.modal-project-banner{aspect-ratio:16/10;background:linear-gradient(145deg,#0e1722 0%,#152332 50%,#1d2d44 100%);border-bottom:1px solid #e9c46a1f;width:100%;position:relative;overflow:hidden}.project-visual-container:before,.modal-project-banner:before{content:"";pointer-events:none;z-index:1;background:radial-gradient(circle,#e9c46a0a 0%,#0000 70%);position:absolute;inset:0}.visual-inner{z-index:2;width:100%;height:100%;transition:transform var(--transition-slow);justify-content:center;align-items:center;padding:24px;display:flex;position:relative}.project-card:hover .visual-inner,.modal-project-banner:hover .visual-inner{transform:scale(1.03)}.visual-aradapay{background:linear-gradient(145deg,#0b131e 0%,#132030 50%,#1d2d44 100%);position:relative;overflow:hidden}.visual-aradapay-scene{perspective:800px;justify-content:center;align-items:center;width:245px;height:140px;display:flex;position:relative}.arada-card-mesh{pointer-events:none;z-index:1;background:radial-gradient(circle at 60% 40%,#2a9d8f38 0%,#e9c46a1a 45%,#0000 70%);position:absolute;inset:-20px}.arada-glass-card{z-index:2;border-radius:var(--radius-md);-webkit-backdrop-filter:blur(10px);width:100%;height:100%;transition:transform var(--transition-slow), box-shadow var(--transition-slow), border-color var(--transition-normal);background:#132030e0;border:1px solid #e9c46a4d;flex-direction:column;justify-content:space-between;padding:10px 14px;display:flex;position:relative;box-shadow:0 8px 24px #00000073,inset 0 1px #f5ebe026}.project-card:hover .arada-glass-card,.modal-project-banner:hover .arada-glass-card{border-color:#e9c46a99;transform:translateY(-3px)rotateX(4deg)scale(1.02);box-shadow:0 14px 32px #00000080,0 0 20px #2a9d8f4d}.arada-card-header{justify-content:space-between;align-items:center;display:flex}.arada-chip{background:linear-gradient(135deg,#d4af37 0%,#e9c46a 60%,#b8972e 100%);border:.5px solid #fff6;border-radius:4px;width:24px;height:17px;position:relative;box-shadow:0 1px 4px #0000004d}.chip-circuit{opacity:.7;border:.8px solid #1d2d44;border-radius:2px;position:absolute;inset:3px}.arada-badge{font-family:var(--font-mono);letter-spacing:.08em;color:var(--accent-emerald);border-radius:var(--radius-full);background:#e9c46a1f;border:1px solid #e9c46a40;align-items:center;gap:5px;padding:2px 8px;font-size:.58rem;font-weight:700;display:inline-flex}.arada-badge .badge-dot{background:var(--accent-emerald);width:5px;height:5px;box-shadow:0 0 6px var(--accent-emerald);border-radius:50%}.arada-settle-body{justify-content:space-between;align-items:center;gap:8px;margin:4px 0;display:flex}.arada-flow-left{flex-direction:column;gap:5px;display:flex}.flow-pill{font-family:var(--font-mono);color:#f5ebe0;background:#0e1722bf;border:1px solid #f5ebe017;border-radius:6px;align-items:center;gap:6px;padding:2px 7px;font-size:.62rem;display:flex}.pill-dot{border-radius:50%;width:6px;height:6px}.pill-dot.terracotta{background:var(--accent-violet);box-shadow:0 0 6px var(--accent-violet)}.pill-dot.teal{background:var(--accent-blue);box-shadow:0 0 6px var(--accent-blue)}.arada-converter{flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex;position:relative}.converter-glow{filter:blur(4px);background:radial-gradient(circle,#2a9d8f73 0%,#e9c46a33 60%,#0000 80%);border-radius:50%;animation:3s ease-in-out infinite converterPulse;position:absolute;inset:-4px}.converter-svg{z-index:2;width:32px;height:32px;position:relative}.converter-orbit{fill:none;stroke:#e9c46a59;stroke-width:1.2px;stroke-dasharray:4 3;transform-origin:50%;animation:8s linear infinite orbitRotate}.converter-arrow-up{fill:none;stroke:var(--accent-blue);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 4px #2a9d8fcc)}.converter-arrow-down{fill:none;stroke:var(--accent-emerald);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 4px #e9c46acc)}.project-card:hover .converter-orbit,.modal-project-banner:hover .converter-orbit{stroke:var(--accent-emerald);animation-duration:3s}@keyframes converterPulse{0%,to{opacity:.5;transform:scale(.9)}50%{opacity:.9;transform:scale(1.2)}}@keyframes orbitRotate{to{transform:rotate(360deg)}}.arada-flow-right{flex-shrink:0}.settle-result-pill{transition:transform var(--transition-normal), box-shadow var(--transition-normal);background:#2a9d8f2e;border:1px solid #2a9d8f80;border-radius:8px;flex-direction:column;align-items:flex-end;padding:3px 8px;display:flex;box-shadow:0 0 12px #2a9d8f33}.settle-label{font-family:var(--font-mono);letter-spacing:.08em;color:var(--accent-emerald);font-size:.52rem;font-weight:700}.settle-val{font-family:var(--font-mono);color:#4ade80;text-shadow:0 0 6px #4ade8099;font-size:.68rem;font-weight:800}.project-card:hover .settle-result-pill,.modal-project-banner:hover .settle-result-pill{border-color:#4ade80;transform:scale(1.06);box-shadow:0 0 16px #4ade8066}.arada-card-footer{border-top:1px solid #f5ebe014;justify-content:space-between;align-items:center;padding-top:5px;display:flex}.arada-hash-code{font-family:var(--font-mono);color:#f5ebe073;letter-spacing:.04em;font-size:.54rem}.arada-opt-tag{font-family:var(--font-mono);color:var(--accent-violet);background:#e76f5126;border:.5px solid #e76f5159;border-radius:4px;padding:1px 6px;font-size:.56rem;font-weight:700}.visual-aura{background:linear-gradient(145deg,#0a171c 0%,#12222a 50%,#1d2d44 100%)}.visual-aura-scene{justify-content:center;align-items:center;width:140px;height:120px;display:flex;position:relative}.aura-resonance-ring{border-radius:var(--radius-full);pointer-events:none;transition:border-color var(--transition-normal);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.aura-resonance-ring.ring-1{border:1.5px solid #2a9d8f66;width:72px;height:72px;animation:4s ease-in-out infinite auraBreath}.aura-resonance-ring.ring-2{border:1px dashed #e9c46a4d;width:104px;height:104px;animation:4s ease-in-out .6s infinite auraBreath}.aura-resonance-ring.ring-3{border:1px solid #2a9d8f26;width:136px;height:136px;animation:4s ease-in-out 1.2s infinite auraBreath}.aura-core-glow{border-radius:var(--radius-full);filter:blur(8px);background:radial-gradient(circle,#2a9d8f59 0%,#e9c46a26 50%,#0000 75%);width:60px;height:60px;animation:4s ease-in-out infinite auraGlowPulse;position:absolute}.aura-center-node{z-index:3;border-radius:var(--radius-full);border:2px solid var(--accent-blue);width:44px;height:44px;transition:transform var(--transition-normal), box-shadow var(--transition-normal), border-color var(--transition-normal);background:#12222a;justify-content:center;align-items:center;display:flex;position:relative;box-shadow:0 0 16px #2a9d8f73}.aura-wave-svg{width:32px;height:32px}.aura-svg-ring{stroke:#e9c46a66;stroke-width:1.2px;fill:none;stroke-dasharray:2 3}.aura-svg-wave{stroke:#f5ebe0;stroke-width:1.8px;fill:none;stroke-linecap:round;filter:drop-shadow(0 0 4px #e9c46acc);animation:3s ease-in-out infinite waveFloat}.project-card:hover .aura-center-node,.modal-project-banner:hover .aura-center-node{border-color:#6fbfae;transform:scale(1.15);box-shadow:0 0 24px #2a9d8fbf}.project-card:hover .aura-resonance-ring.ring-1,.modal-project-banner:hover .aura-resonance-ring.ring-1{border-color:#2a9d8fbf}@keyframes auraBreath{0%,to{opacity:.5;transform:translate(-50%,-50%)scale(.92)}50%{opacity:.95;transform:translate(-50%,-50%)scale(1.08)}}@keyframes auraGlowPulse{0%,to{opacity:.4;transform:scale(.85)}50%{opacity:.85;transform:scale(1.25)}}@keyframes waveFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-1.5px)}}.visual-adnet,.visual-ekotakippro{background:linear-gradient(145deg,#091717 0%,#112624 50%,#1d2d44 100%)}.visual-ekotakip-scene{justify-content:center;align-items:center;width:140px;height:120px;display:flex;position:relative}.eco-orbit-ring{border-radius:var(--radius-full);pointer-events:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.eco-orbit-ring.ring-outer{border:1px solid #2a9d8f33;width:110px;height:110px;animation:18s linear infinite ecoSpinOuter}.eco-orbit-ring.ring-mid{border:1.5px dashed #e9c46a4d;width:80px;height:80px;animation:12s linear infinite reverse ecoSpinMid}.eco-orbit-svg{pointer-events:none;width:120px;height:120px;animation:20s linear infinite ecoSvgRotate;position:absolute}.eco-svg-orbit{fill:none;stroke:#2a9d8f26;stroke-width:1px}.eco-svg-particle.p1{fill:var(--accent-emerald);filter:drop-shadow(0 0 5px #e9c46acc)}.eco-svg-particle.p2{fill:var(--accent-blue);filter:drop-shadow(0 0 4px #2a9d8fcc)}.eco-svg-particle.p3{fill:var(--accent-violet);filter:drop-shadow(0 0 4px #e76f51cc)}.visual-carbon-center{z-index:3;border-radius:var(--radius-full);border:2px solid var(--accent-blue);width:44px;height:44px;transition:transform var(--transition-normal), box-shadow var(--transition-normal), border-color var(--transition-normal);background:#112624;justify-content:center;align-items:center;display:flex;position:relative;box-shadow:0 0 16px #2a9d8f66}.visual-co2-label{font-family:var(--font-mono);color:var(--accent-emerald);letter-spacing:.04em;text-shadow:0 0 8px #e9c46a99;font-size:.72rem;font-weight:700}.eco-leaf-accent{background:var(--accent-blue);opacity:.55;filter:drop-shadow(0 0 4px #2a9d8f80);border-radius:12px 0;width:8px;height:14px;position:absolute}.eco-leaf-accent.leaf-1{animation:4s ease-in-out infinite leafSway;top:22px;right:28px;transform:rotate(25deg)}.eco-leaf-accent.leaf-2{animation:4s ease-in-out 1s infinite leafSway;bottom:24px;left:28px;transform:rotate(-45deg)}.project-card:hover .visual-carbon-center,.modal-project-banner:hover .visual-carbon-center{border-color:#6fbfae;transform:scale(1.15);box-shadow:0 0 24px #2a9d8fcc}@keyframes ecoSpinOuter{to{transform:translate(-50%,-50%)rotate(360deg)}}@keyframes ecoSpinMid{to{transform:translate(-50%,-50%)rotate(-360deg)}}@keyframes ecoSvgRotate{to{transform:rotate(360deg)}}@keyframes leafSway{0%,to{transform:rotate(25deg)scale(.95)}50%{opacity:.85;transform:rotate(35deg)scale(1.1)}}.visual-sosyal{background:linear-gradient(145deg,#131422 0%,#1e1d32 50%,#1d2d44 100%)}.visual-sosyal-scene{justify-content:center;align-items:center;width:180px;height:110px;display:flex;position:relative}.sttfl-node{border-radius:var(--radius-full);-webkit-backdrop-filter:blur(6px);z-index:3;transition:transform var(--transition-normal), box-shadow var(--transition-normal), border-color var(--transition-normal);background:#152230d9;align-items:center;gap:6px;padding:6px 12px;display:flex;position:absolute}.sttfl-node-icon{font-size:.85rem;line-height:1}.sttfl-node-tag{font-family:var(--font-mono);letter-spacing:.03em;color:#f5ebe0;font-size:.68rem;font-weight:700}.sttfl-node.node-alumni{border:1.5px solid var(--accent-violet);top:22px;left:8px;box-shadow:0 0 14px #e76f5159}.sttfl-node.node-student{border:1.5px solid var(--accent-blue);bottom:20px;right:8px;box-shadow:0 0 14px #2a9d8f59}.sttfl-discourse-svg{z-index:1;pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}.sttfl-wave{fill:none;stroke-width:1.5px;stroke-linecap:round;stroke-dasharray:4 4;animation:5s linear infinite sttflWaveDash}.sttfl-wave.wave-1{stroke:#e9c46a66}.sttfl-wave.wave-2{stroke:#e76f5159;animation-direction:reverse}.sttfl-direct-beam{fill:none;stroke:var(--accent-blue);stroke-width:1.8px;stroke-linecap:round;stroke-dasharray:60;stroke-dashoffset:60px;filter:drop-shadow(0 0 6px #2a9d8fb3);animation:3.5s cubic-bezier(.4,0,.2,1) infinite sttflBeamPulse}.sttfl-pulse-spark{fill:var(--accent-emerald);filter:drop-shadow(0 0 6px #e9c46ae6);animation:2s ease-in-out infinite sparkPulse}.project-card:hover .sttfl-node.node-alumni,.modal-project-banner:hover .sttfl-node.node-alumni{border-color:#f08c72;transform:scale(1.08)translateY(-2px);box-shadow:0 0 20px #e76f51b3}.project-card:hover .sttfl-node.node-student,.modal-project-banner:hover .sttfl-node.node-student{border-color:#6fbfae;transform:scale(1.08)translateY(2px);box-shadow:0 0 20px #2a9d8fb3}@keyframes sttflWaveDash{to{stroke-dashoffset:-32px}}@keyframes sttflBeamPulse{0%{stroke-dashoffset:60px;opacity:.2}50%{stroke-dashoffset:0;opacity:1}90%,to{stroke-dashoffset:0;opacity:.85}}@keyframes sparkPulse{0%,to{opacity:.6;transform:scale(.9)}50%{opacity:1;transform:scale(1.3)}}.visual-yazareser{background:linear-gradient(145deg,#17121c 0%,#241a2a 50%,#1d2d44 100%)}.visual-yazareser-scene{justify-content:center;align-items:center;width:170px;height:110px;display:flex;position:relative}.yazareser-card-stack{width:130px;height:72px;position:relative}.yazareser-card{border-radius:var(--radius-md);-webkit-backdrop-filter:blur(8px);transition:transform var(--transition-bounce), box-shadow var(--transition-normal), border-color var(--transition-normal);background:#1d2d44cc;flex-direction:column;justify-content:center;padding:10px 14px;display:flex;position:absolute;inset:0}.yazareser-card.card-back{z-index:1;border:1.5px solid #e9c46a66;transform:rotate(6deg)translate(8px,6px);box-shadow:0 4px 14px #00000059}.yazareser-card.card-front{z-index:2;border:1.5px solid #e76f5199;transform:rotate(-3deg)translate(-4px,-2px);box-shadow:0 6px 18px #00000073}.yazareser-tag{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--accent-emerald);margin-bottom:2px;font-size:.58rem;font-weight:700}.yazareser-card.card-front .yazareser-tag{color:var(--accent-violet)}.yazareser-title,.yazareser-name{font-family:var(--font-heading);color:#f5ebe0;letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;font-size:.88rem;font-weight:700;overflow:hidden}.yazareser-sparkle-svg{pointer-events:none;z-index:3;width:100%;height:100%;position:absolute;top:0;left:0}.yazareser-quill-arc{fill:none;stroke:#e9c46a73;stroke-width:1.5px;stroke-dasharray:4 3;animation:6s linear infinite quillArcDash}.yazareser-star-dot{fill:var(--accent-emerald);filter:drop-shadow(0 0 5px #e9c46ae6)}.project-card:hover .yazareser-card.card-front,.modal-project-banner:hover .yazareser-card.card-front{border-color:var(--accent-violet);transform:rotate(-6deg)translate(-8px,-6px)scale(1.05);box-shadow:0 8px 24px #e76f5166}.project-card:hover .yazareser-card.card-back,.modal-project-banner:hover .yazareser-card.card-back{border-color:var(--accent-emerald);transform:rotate(8deg)translate(12px,8px)scale(1.03);box-shadow:0 6px 20px #e9c46a66}@keyframes quillArcDash{to{stroke-dashoffset:-28px}}.modal-contact-fallback{flex-direction:column;gap:20px;max-width:500px;margin:0 auto;display:flex}.modal-fallback-title{color:var(--accent-violet);align-items:center;gap:12px;font-size:1.75rem;font-weight:700;display:flex}.modal-fallback-desc{color:var(--text-secondary);font-size:.95rem;line-height:1.6}.message-preview-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);font-family:var(--font-body);flex-direction:column;gap:12px;padding:20px;display:flex}.preview-item{border-bottom:1px dashed var(--border-color);color:var(--text-primary);padding-bottom:8px;font-size:.9rem}.preview-item strong{color:var(--text-secondary)}.preview-body{flex-direction:column;gap:6px;font-size:.9rem;display:flex}.preview-body strong{color:var(--text-secondary)}.preview-body pre{white-space:pre-wrap;word-break:break-all;color:var(--text-primary);background:var(--bg-primary);border-radius:var(--radius-sm);border:1px solid var(--border-color);max-height:150px;padding:12px;font-family:inherit;overflow-y:auto}.modal-fallback-actions{gap:12px;margin-top:8px;display:flex}.modal-fallback-actions .btn{flex:1}.modal-fallback-footer{text-align:center;margin-top:12px}.btn-link{color:var(--text-muted);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;font-size:.875rem;font-weight:600;text-decoration:underline}.btn-link:hover{color:var(--text-primary)}@media (width<=576px){.modal-fallback-actions{flex-direction:column;gap:12px}}.modal-project-screenshots{border-top:1px solid var(--border-color);width:100%;margin-top:32px;padding-top:24px}.modal-project-screenshots h4{margin-bottom:16px;font-size:1.1rem;font-weight:700}.screenshots-grid-container{scrollbar-width:thin;scrollbar-color:var(--border-hover) transparent;-webkit-overflow-scrolling:touch;width:100%;padding-bottom:8px;position:relative;overflow-x:auto}.screenshots-grid-container::-webkit-scrollbar{height:5px}.screenshots-grid-container::-webkit-scrollbar-track{background:0 0}.screenshots-grid-container::-webkit-scrollbar-thumb{background-color:var(--border-color);border-radius:var(--radius-full)}.screenshots-grid-container::-webkit-scrollbar-thumb:hover{background-color:var(--border-hover)}.screenshots-track{gap:12px;width:max-content;padding-right:8px;display:flex}.screenshot-item{border-radius:var(--radius-md);border:1px solid var(--border-color);height:240px;box-shadow:var(--shadow-sm);transition:transform var(--transition-normal), border-color var(--transition-fast), box-shadow var(--transition-normal);cursor:zoom-in;background:var(--modal-bg);overflow:hidden}.screenshot-item img{object-fit:contain;width:auto;height:100%;display:block}.screenshot-item:hover{border-color:var(--accent-violet);transform:translateY(-4px)scale(1.02);box-shadow:0 8px 16px #00000026}.screenshot-lightbox{z-index:3000;opacity:0;pointer-events:none;transition:opacity var(--transition-normal);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.screenshot-lightbox.active{opacity:1;pointer-events:all}.lightbox-backdrop{-webkit-backdrop-filter:blur(12px);background:#0a0a0cf5;position:absolute;inset:0}.lightbox-content{z-index:10;max-width:90vw;max-height:85vh;transition:transform var(--transition-normal);justify-content:center;align-items:center;display:flex;position:relative;transform:scale(.96)}.screenshot-lightbox.active .lightbox-content{transform:scale(1)}.lightbox-content img{object-fit:contain;border-radius:var(--radius-md);border:1px solid #ffffff1a;max-width:100%;max-height:82vh;box-shadow:0 24px 48px #0009}.lightbox-close{border-radius:var(--radius-full);color:#fff;cursor:pointer;z-index:20;width:44px;height:44px;transition:all var(--transition-fast);background:#ffffff14;border:1px solid #ffffff26;justify-content:center;align-items:center;display:flex;position:absolute;top:24px;right:24px}.lightbox-close:hover{background:#ffffff14;border-color:#ffffff59;transform:scale(1.05)}.lightbox-nav{border-radius:var(--radius-full);color:#fff;cursor:pointer;z-index:20;width:50px;height:50px;transition:all var(--transition-fast);background:#ffffff14;border:1px solid #ffffff26;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-nav:hover{background:#ffffff14;border-color:#ffffff59;transform:translateY(-50%)scale(1.05)}.lightbox-nav.prev{left:24px}.lightbox-nav.next{right:24px}@media (width<=768px){.project-modal{box-sizing:border-box!important;width:100%!important;max-width:100%!important;padding:0!important;overflow:hidden!important}.modal-wrapper{transform:translateY(100%);width:100%!important;max-width:100%!important;height:100dvh!important;max-height:100dvh!important;box-shadow:none!important;box-sizing:border-box!important;border:none!important;border-radius:0!important;flex-direction:column!important;transition:transform .35s cubic-bezier(.16,1,.3,1)!important;display:flex!important;position:relative!important;overflow:hidden auto!important}.project-modal.active .modal-wrapper{transform:translateY(0)!important}.modal-sticky-bar{box-sizing:border-box!important;width:100%!important;max-width:100%!important;padding:16px 20px 12px!important}.modal-wrapper.is-scrolled .modal-sticky-bar{padding:14px 20px!important}.modal-body{box-sizing:border-box!important;flex:1 0 auto!important;width:100%!important;max-width:100%!important;padding:16px 20px 32px!important;overflow-x:hidden!important}.modal-project-banner,.modal-project-content,.modal-info-panel-right,.modal-text-section,.modal-project-screenshots{box-sizing:border-box!important;width:100%!important;max-width:100%!important}.modal-project-content{flex-direction:column!important;gap:24px!important;display:flex!important}.modal-info-panel-right{position:static!important}.modal-info-panel-right .modal-project-links{display:none!important}.modal-sticky-bottom-bar{box-sizing:border-box!important;z-index:150!important;width:100%!important;max-width:100%!important;padding:12px 14px calc(14px + env(safe-area-inset-bottom,0px)) 14px!important;background:var(--modal-bg)!important;-webkit-backdrop-filter:blur(24px)saturate(200%)!important;backdrop-filter:blur(24px)saturate(200%)!important;border-top:1px solid var(--border-color)!important;flex-direction:row!important;gap:8px!important;margin-top:auto!important;display:flex!important;position:sticky!important;bottom:0!important;left:0!important;box-shadow:0 -8px 30px #00000040!important}.modal-sticky-bottom-bar .btn{white-space:nowrap!important;width:auto!important;min-width:0!important;font-size:.8rem!important;font-family:var(--font-mono)!important;border-radius:10px!important;flex:1 1 0!important;justify-content:center!important;align-items:center!important;gap:6px!important;padding:11px 8px!important;display:inline-flex!important}.modal-sticky-bottom-bar .btn svg{flex-shrink:0!important;width:15px!important;height:15px!important}.lightbox-close{width:38px;height:38px;top:16px;right:16px}.lightbox-nav{width:38px;height:38px}.lightbox-nav.prev{left:16px}.lightbox-nav.next{right:16px}.modal-project-banner{aspect-ratio:16/9;min-height:180px}.visual-inner{transform:scale(.9)}.visual-aura-breathing{border-color:var(--accent-blue)!important;animation:4s ease-in-out infinite growAndGlow!important}.visual-aura-breathing:after{animation:4s ease-in-out infinite breatheOuter!important}.breathing-ring.ring-1{animation:2s cubic-bezier(.1,.8,.3,1) infinite ripple!important}.breathing-ring.ring-2{animation:2s cubic-bezier(.1,.8,.3,1) .6s infinite ripple!important}.breathing-ring.ring-3{animation:2s cubic-bezier(.1,.8,.3,1) 1.2s infinite ripple!important}.visual-forum-box{animation:5s cubic-bezier(.4,0,.2,1) infinite sttflMainLoop}.visual-forum-box.reply{animation:5s cubic-bezier(.4,0,.2,1) infinite sttflReplyLoop}.visual-flashcard{animation:5s cubic-bezier(.4,0,.2,1) infinite cardFlipLoop}}@media (width<=480px){.visual-inner{transform:scale(.78)}}@keyframes sttflMainLoop{0%,to{box-shadow:var(--shadow-sm);transform:translateY(0)}40%,65%{box-shadow:var(--shadow-md);transform:translateY(-6px)}}@keyframes sttflReplyLoop{0%,to{opacity:.4;box-shadow:none;transform:translateY(12px)scale(.95)}40%,65%{opacity:1;box-shadow:var(--shadow-sm);transform:translateY(0)scale(1)}}@keyframes cardFlipLoop{0%,40%,to{transform:rotate(-3deg)rotateY(0)}50%,90%{transform:rotate(2deg)rotateY(180deg)scale(1.05)}}.logo-text,.hero-title,.section-title{letter-spacing:-.02em;font-family:var(--font-heading)!important}.hero-title{color:var(--text-primary);text-shadow:none;font-style:italic}.grain-overlay{pointer-events:none;z-index:9999;opacity:.12;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 400 400' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.7' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");width:100vw;height:100vh;position:fixed;top:0;left:0}.retro-bg-pattern-layer{display:none}.project-visual-container{position:relative;overflow:hidden}.section-tag{font-family:var(--font-mono)!important;text-transform:uppercase!important;letter-spacing:.12em!important;color:var(--accent-blue)!important;font-size:.72rem!important;font-weight:600!important}.project-title-text{letter-spacing:-.02em;font-style:italic;font-weight:600;font-family:var(--font-heading)!important}.project-card,.skill-category-card,.contact-info-panel,.timeline-content{background:var(--bg-card)!important;border:1px solid var(--border-color)!important;box-shadow:var(--card-shadow)!important;border-radius:var(--radius-md)!important;transition:border-color .3s,box-shadow .3s!important}.project-card:hover,.skill-category-card:hover{border-color:var(--border-hover)!important;box-shadow:var(--shadow-lg)!important;transform:none!important}.project-tech-tags span{font-family:var(--font-mono)!important;letter-spacing:.04em!important;border-color:var(--border-color)!important;font-size:.68rem!important}.btn-primary,.btn-secondary,.btn-small{border-radius:var(--radius-full)!important}.visual-other-projects{background:linear-gradient(145deg,#0f1622 0%,#172332 50%,#1d2d44 100%);position:relative;overflow:hidden;aspect-ratio:16/10!important}.visual-other-stacked{flex-direction:column;align-items:center;gap:10px;width:100%;display:flex;position:relative}.other-preview-chip{font-family:var(--font-mono);color:#f5ebe0;border-radius:var(--radius-full);-webkit-backdrop-filter:blur(6px);transition:transform var(--transition-normal), border-color var(--transition-normal), box-shadow var(--transition-normal);background:#152230d9;border:1px solid #e9c46a40;align-items:center;gap:8px;padding:6px 16px;font-size:.75rem;font-weight:600;display:inline-flex;box-shadow:0 4px 14px #00000059}.chip-1{transform:rotate(-3deg)translate(-8px)}.chip-2{transform:rotate(3deg)translate(8px)}.other-preview-chip .chip-dot{background:var(--accent-violet);border-radius:50%;width:8px;height:8px;box-shadow:0 0 8px #e76f51cc}.other-preview-chip .chip-dot.alt{background:var(--accent-blue);box-shadow:0 0 8px #2a9d8fcc}.other-count-badge{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;background:var(--accent-emerald);color:#1d2d44;border-radius:var(--radius-full);padding:3px 9px;font-size:.65rem;font-weight:700;position:absolute;top:-16px;right:8px;box-shadow:0 0 10px #e9c46a80}.mobile-other-projects-btn-card:hover .chip-1{border-color:var(--accent-violet);transform:rotate(-5deg)translate(-12px)scale(1.04)}.mobile-other-projects-btn-card:hover .chip-2{border-color:var(--accent-blue);transform:rotate(5deg)translate(12px)scale(1.04)}.mobile-other-projects-btn-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;text-align:left;transition:border-color var(--transition-normal), background var(--transition-normal), box-shadow var(--transition-normal);box-shadow:var(--card-shadow);display:none;overflow:hidden}.mobile-other-projects-btn-card:hover,.mobile-other-projects-btn-card:focus{border-color:var(--accent-violet);box-shadow:var(--shadow-lg)}.other-card-action{border-top:1px dashed var(--border-color);font-family:var(--font-mono);color:var(--accent-violet);justify-content:space-between;align-items:center;margin-top:16px;padding-top:12px;font-size:.78rem;font-weight:600;transition:color .2s;display:flex}.other-card-action svg{transition:transform .3s}.mobile-other-projects-btn-card:hover .other-card-action svg{transform:translate(4px)}.projects-grid.show-other-projects .mobile-other-projects-btn-card .other-card-action svg{transform:rotate(180deg)}@media (width>=769px){.mobile-other-projects-btn-card{display:none!important}.projects-grid .project-card.other-project{display:none}.projects-grid.show-other-projects .project-card.other-project{animation:.35s forwards fadeInCard;display:flex}}@keyframes fadeInCard{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.other-projects-toggle-wrapper{justify-content:center;margin-top:32px;display:flex}.other-projects-toggle{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);border:1px solid var(--border-color);border-radius:var(--radius-full);cursor:pointer;background:0 0;align-items:center;gap:8px;padding:10px 24px;font-size:.78rem;font-weight:600;transition:color .25s,border-color .25s,background .25s;display:inline-flex}.other-projects-toggle:hover{color:var(--accent-violet);border-color:var(--accent-violet);background:var(--accent-violet-soft)}.other-projects-toggle[aria-expanded=true]{color:var(--accent-violet);border-color:var(--accent-violet)}.toggle-chevron{transition:transform .3s}.other-projects-toggle[aria-expanded=true] .toggle-chevron{transform:rotate(180deg)}
