:root{--color-1: #512b52;--color-2: #635274;--color-3: #7bb0a8;--color-4: #a7dbab;--color-5: #e4f5b1;--primary: var(--color-3);--text-dark: #1a1a1a;--text-light: #ffffff;--text-muted: #666666;--bg-light: #fafafa;--bg-white: #ffffff;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 2rem;--spacing-lg: 4rem;--spacing-xl: 6rem;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif;--font-size-base: 16px;--font-size-sm: .875rem;--font-size-lg: 1.125rem;--font-size-xl: 1.5rem;--font-size-2xl: 2rem;--font-size-3xl: 3rem;--border-radius: 8px;--border-radius-lg: 16px;--transition: all .3s ease;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .1);--shadow-md: 0 4px 12px rgba(0, 0, 0, .15);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .2)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;font-size:var(--font-size-base)}body{font-family:var(--font-family);color:var(--text-dark);line-height:1.6;background-color:var(--bg-white);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.2;margin-bottom:var(--spacing-sm)}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}p{margin-bottom:var(--spacing-sm)}a{color:var(--primary);text-decoration:none;transition:var(--transition)}a:hover{opacity:.8}button{cursor:pointer;border:none;outline:none;font-family:inherit;transition:var(--transition)}img{max-width:100%;height:auto;display:block}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.section{padding:var(--spacing-xl) 0}.section-title{text-align:center;margin-bottom:var(--spacing-lg);color:var(--color-1)}.section-subtitle{text-align:center;color:var(--text-muted);max-width:600px;margin:0 auto var(--spacing-lg)}.btn{display:inline-block;padding:1rem 2rem;border-radius:var(--border-radius);font-weight:600;font-size:var(--font-size-base);transition:var(--transition);text-align:center}.btn-primary{background-color:var(--primary);color:var(--text-light)}.btn-primary:hover{background-color:var(--color-4);transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-secondary{background-color:transparent;color:var(--primary);border:2px solid var(--primary)}.btn-secondary:hover{background-color:var(--primary);color:var(--text-light)}@media(max-width:768px){:root{--font-size-3xl: 2rem;--font-size-2xl: 1.5rem;--spacing-xl: 4rem;--spacing-lg: 3rem}.container{padding:0 var(--spacing-sm)}}.language-toggle{background:transparent;border:2px solid var(--primary);padding:.5rem 1rem;border-radius:var(--border-radius);font-size:var(--font-size-sm);font-weight:600;color:var(--text-dark);display:flex;align-items:center;gap:.25rem;transition:var(--transition)}.language-toggle:hover{border-color:var(--color-4);background-color:#7bb0a81a}.language-toggle .separator{color:var(--text-muted)}.language-toggle .active{color:var(--primary);font-weight:700}.language-toggle span{transition:var(--transition)}.header{position:fixed;top:0;left:0;right:0;background-color:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000;box-shadow:var(--shadow-sm)}.header-content{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) 0}.logo{display:flex;align-items:center;gap:.75rem;transition:var(--transition)}.header-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;border:2px solid var(--primary);opacity:0;transform:scale(.5);transition:all .3s ease}.header-avatar.visible{opacity:1;transform:scale(1)}.logo-text{font-size:var(--font-size-lg);font-weight:700;color:var(--color-1)}@media(max-width:768px){.logo-text{font-size:var(--font-size-base)}}.footer{background-color:var(--color-1);color:var(--text-light);padding:var(--spacing-lg) 0 var(--spacing-md)}.footer-content{display:flex;flex-direction:column;gap:var(--spacing-md);align-items:center}.footer-info{text-align:center}.footer-text{font-size:var(--font-size-base);margin-bottom:var(--spacing-xs);opacity:.9}.footer-subtext{font-size:var(--font-size-sm);opacity:.7;margin:0}.footer-links{display:flex;flex-direction:column;gap:.5rem;align-items:center}.footer-links-row{display:flex;gap:1rem;justify-content:center}.footer-link{color:var(--text-light);font-size:var(--font-size-sm);text-decoration:none;transition:var(--transition);opacity:.9;display:inline-flex;align-items:center;gap:.3rem}.footer-link svg{font-size:1em}.footer-link:hover{opacity:1;color:var(--color-5)}@media(min-width:768px){.footer-content{flex-direction:row;justify-content:space-between;align-items:flex-start}.footer-info{text-align:left}.footer-links{align-items:flex-end}.footer-links-row{justify-content:flex-end}}.coffee-modal-overlay{position:fixed;inset:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-md);animation:fadeIn .2s ease}.coffee-modal{background-color:var(--bg-white);border-radius:var(--border-radius-lg);max-width:500px;width:100%;max-height:85vh;overflow-y:auto;position:relative;animation:slideUp .2s ease;box-shadow:0 20px 40px #0003}.coffee-modal-close{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);background:none;border:none;font-size:1.5rem;color:var(--text-muted);cursor:pointer;padding:.5rem;line-height:1;border-radius:var(--border-radius);transition:color .2s ease,background-color .2s ease;display:flex;align-items:center;justify-content:center}.coffee-modal-close:hover{color:var(--color-1);background-color:var(--bg-light)}.coffee-modal-close:focus{outline:2px solid var(--primary);outline-offset:2px}.coffee-modal-header{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg);padding-right:var(--spacing-xl);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--bg-light)}.coffee-modal-emoji{font-size:3rem;line-height:1;flex-shrink:0}.coffee-modal-header-text{display:flex;flex-direction:column;gap:var(--spacing-xs)}.coffee-modal-title{color:var(--color-1);font-size:var(--font-size-xl);margin:0}.coffee-modal-subtitle{color:var(--text-muted);font-size:var(--font-size-base);margin:0}.coffee-modal-content{padding:var(--spacing-md)}.coffee-section{margin-bottom:var(--spacing-md)}.coffee-section:last-child{margin-bottom:0}.coffee-section-title{color:var(--color-1);font-size:var(--font-size-base);font-weight:600;margin:0 0 var(--spacing-sm);display:flex;align-items:center;gap:.5rem}.section-icon{font-size:1.25rem}.crypto-options{display:flex;flex-direction:column;gap:var(--spacing-sm)}.crypto-option{background-color:var(--bg-light);border-radius:var(--border-radius);padding:var(--spacing-sm)}.crypto-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.crypto-icon{font-size:1.5rem;display:flex;align-items:center}.crypto-icon.usdt{color:#26a17b}.crypto-icon.btc{color:#f7931a}.crypto-icon.eth{color:#627eea}.crypto-icon.usdc{color:#2775ca}.crypto-info{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.crypto-name{font-weight:600;color:var(--text-dark)}.crypto-symbol{color:var(--text-muted);font-size:var(--font-size-sm)}.crypto-network{background-color:var(--primary);color:#fff;font-size:.65rem;padding:.125rem .375rem;border-radius:4px;font-weight:600}.crypto-address-container{display:flex;align-items:center;gap:.5rem}.crypto-address{flex:1;background-color:var(--bg-white);padding:.5rem .75rem;border-radius:var(--border-radius);font-size:var(--font-size-sm);color:var(--text-dark);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:1px solid rgba(0,0,0,.1)}.copy-btn{background-color:var(--primary);color:#fff;border:none;padding:.5rem;border-radius:var(--border-radius);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease;min-width:36px;height:36px}.copy-btn:hover{background-color:var(--color-1)}.copy-btn:focus{outline:2px solid var(--primary);outline-offset:2px}.copy-btn.copied{background-color:#22c55e}.platform-options{display:flex;flex-direction:column;gap:var(--spacing-sm)}.platform-option{background-color:var(--bg-light);border-radius:var(--border-radius);padding:var(--spacing-sm);text-decoration:none;color:var(--text-dark);transition:background-color .2s ease}a.platform-option:hover{background-color:#7bb0a833}.platform-option.paypal{display:flex;align-items:center;gap:.75rem;font-weight:600}.platform-icon{font-size:1.5rem;color:#003087}.platform-option.nequi{display:flex;flex-direction:column;gap:.5rem}.platform-header{display:flex;align-items:center;gap:.75rem;font-weight:600}.nequi-logo{width:28px;height:28px;background:linear-gradient(135deg,#e91e63,#9c27b0);color:#fff;border-radius:6px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem}.platform-option.nu{display:flex;flex-direction:column;gap:.5rem}.nu-logo{width:28px;height:28px;background:#820ad1;color:#fff;border-radius:6px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.7rem}.platform-details{display:flex;align-items:center;gap:.5rem}.platform-code{flex:1;background-color:var(--bg-white);padding:.5rem .75rem;border-radius:var(--border-radius);font-size:var(--font-size-sm);color:var(--text-dark);border:1px solid rgba(0,0,0,.1)}.coffee-modal-thanks{text-align:center;color:var(--text-muted);font-size:var(--font-size-sm);padding:var(--spacing-md) var(--spacing-lg) var(--spacing-lg);margin:0;border-top:1px solid var(--bg-light)}@media(max-width:768px){.coffee-modal{max-height:90vh}.coffee-modal-header{padding:var(--spacing-md)}.coffee-modal-content{padding:var(--spacing-sm) var(--spacing-md)}.coffee-modal-emoji{font-size:2.5rem}.coffee-modal-title{font-size:var(--font-size-lg)}.crypto-address,.platform-code{font-size:.75rem}}.floating-coffee-btn{position:fixed;bottom:24px;right:24px;width:56px;height:56px;border-radius:50%;background-color:var(--bg-white);box-shadow:0 0 12px var(--primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .2s ease,box-shadow .2s ease;z-index:900}.floating-coffee-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0003}.floating-coffee-btn:focus{outline:2px solid var(--primary);outline-offset:2px}.floating-coffee-btn:active{transform:translateY(0)}.coffee-icon{font-size:1.75rem;line-height:1}@media(max-width:768px){.floating-coffee-btn{width:48px;height:48px;bottom:16px;right:16px}.coffee-icon{font-size:1.5rem}}.modal-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000;padding:1rem;animation:fadeIn .3s ease-in-out}.modal-content{background:var(--bg-white, #ffffff);border-radius:12px;padding:2rem;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease-out;border:1px solid rgba(123,176,168,.2)}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-muted, #666666);width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.modal-close:hover{background-color:#7bb0a81a;color:var(--color-1, #512b52)}.modal-title{font-size:1.75rem;font-weight:700;margin-bottom:1.5rem;color:var(--color-1, #512b52)}.contact-form{display:flex;flex-direction:column;gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:600;color:var(--text-dark, #1a1a1a);font-size:.95rem}.form-group .required{color:var(--primary, #7bb0a8)}.form-group input,.form-group textarea{padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;font-family:inherit;background-color:var(--bg-white, #ffffff);color:var(--text-dark, #1a1a1a);transition:all .2s ease}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--primary, #7bb0a8);box-shadow:0 0 0 3px #7bb0a81a}.form-group textarea{resize:vertical;min-height:120px}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-muted, #666666);opacity:.8}.form-group input:disabled,.form-group textarea:disabled{background-color:var(--bg-light, #f5f5f5);cursor:not-allowed;opacity:.7}.form-group.has-error input,.form-group.has-error textarea{border-color:#ef4444}.form-group.has-error input:focus,.form-group.has-error textarea:focus{box-shadow:0 0 0 3px #ef444433}.form-error{color:#ef4444;font-size:.875rem;display:flex;align-items:center;gap:.25rem}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:.5rem}.form-actions .btn{padding:.75rem 1.5rem;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.form-actions .btn:disabled{opacity:.7;cursor:not-allowed}.spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.form-status-container{min-height:50px;margin-top:.5rem}.form-status{padding:.875rem 1rem;border-radius:8px;font-size:.9rem;display:flex;align-items:center;gap:.5rem;animation:fadeIn .3s ease}.form-status-success{background-color:#22c55e1a;color:#16a34a;border:1px solid rgba(34,197,94,.3)}.form-status-error{background-color:#ef44441a;color:#dc2626;border:1px solid rgba(239,68,68,.3)}.status-icon{font-weight:700;font-size:1rem}@media(max-width:640px){.modal-content{padding:1.5rem;margin:1rem}.modal-title{font-size:1.5rem;padding-right:2rem}.form-actions{flex-direction:column-reverse}.form-actions .btn{width:100%}}.hero{min-height:100vh;display:flex;align-items:center;background:linear-gradient(135deg,#7bb0a81a,#e4f5b11a);padding-top:80px}.hero-content{max-width:800px;margin:0 auto;text-align:center}.hero-avatar-container{display:flex;justify-content:center;margin-bottom:10px}.hero-avatar{width:150px;height:150px;border-radius:50%;object-fit:cover;border:4px solid var(--primary);box-shadow:var(--shadow-lg);transition:all .3s ease;opacity:1;transform:scale(1)}.hero-avatar:hover:not(.scrolled){transform:scale(1.25);box-shadow:0 12px 40px #00000040}.hero-avatar.scrolled{opacity:0;transform:scale(.8)}.hero-title{font-size:var(--font-size-3xl);color:var(--color-1);margin-bottom:var(--spacing-md);line-height:1.2}.hero-subtitle{font-size:var(--font-size-lg);color:var(--text-muted);margin-bottom:var(--spacing-lg);line-height:1.6}.hero-cta{display:flex;flex-direction:column;gap:var(--spacing-md);align-items:center}.hero-links{display:flex;gap:var(--spacing-sm)}.hero-links .btn{display:inline-flex;align-items:center;gap:.5rem}.hero-links .btn svg{font-size:1em;transition:transform .2s ease}.hero-links .btn:hover svg{transform:scale(1.3)}@media(max-width:768px){.hero{padding-top:60px}.hero-title{font-size:var(--font-size-2xl)}.hero-subtitle{font-size:var(--font-size-base)}.hero-links{flex-direction:column;width:100%}.hero-links .btn{width:100%}}.about{background-color:var(--bg-light)}.about-content{max-width:900px;margin:0 auto}.about-text{line-height:1.8}.about-intro{font-size:var(--font-size-lg);color:var(--color-1);font-weight:600;margin-bottom:var(--spacing-md)}.about-text p{color:var(--text-dark);margin-bottom:var(--spacing-md)}.about-values{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-md);margin-top:var(--spacing-lg)}.value-item{background-color:var(--bg-white);padding:var(--spacing-md);border-radius:var(--border-radius);border-left:4px solid var(--primary);box-shadow:var(--shadow-sm);transition:var(--transition)}.value-item:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.value-item h4{color:var(--color-1);margin-bottom:var(--spacing-xs);font-size:var(--font-size-lg)}.value-item p{color:var(--text-muted);font-size:var(--font-size-base);margin-bottom:0}@media(max-width:768px){.about-values{grid-template-columns:1fr}}.services{background-color:var(--bg-white)}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--spacing-md)}.service-card{background-color:var(--bg-light);padding:var(--spacing-md);border-radius:var(--border-radius-lg);transition:var(--transition);border:2px solid transparent}.service-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg);border-color:var(--primary)}.service-icon{font-size:3rem;margin-bottom:var(--spacing-sm)}.service-title{color:var(--color-1);font-size:var(--font-size-xl);margin-bottom:var(--spacing-sm)}.service-description{color:var(--text-muted);line-height:1.7}@media(max-width:768px){.services-grid{grid-template-columns:1fr}}.projects{background-color:var(--bg-light)}.projects-list{display:flex;flex-direction:column;gap:var(--spacing-lg)}.project-card{background-color:var(--bg-white);border-radius:var(--border-radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);transition:var(--transition);border:2px solid transparent}.project-card:hover{box-shadow:var(--shadow-lg);border-color:var(--primary)}.project-header{margin-bottom:var(--spacing-md);border-bottom:2px solid var(--bg-light)}.project-title{color:var(--color-1);font-size:var(--font-size-xl);margin-bottom:var(--spacing-xs)}.project-description{color:var(--text-muted);font-size:var(--font-size-base)}.project-details{display:flex;flex-direction:column;gap:var(--spacing-md)}.project-section{display:flex;flex-direction:column;gap:var(--spacing-xs)}.project-subtitle{color:var(--primary);font-size:var(--font-size-base);font-weight:700;text-transform:uppercase;letter-spacing:.5px}.project-section p{color:var(--text-dark);line-height:1.7;margin:0}.project-stack{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.stack-tag{background-color:var(--primary);color:var(--text-light);padding:.5rem 1rem;border-radius:var(--border-radius);font-size:var(--font-size-sm);font-weight:600}.project-impact{background-color:#7bb0a81a;padding:var(--spacing-md);border-radius:var(--border-radius);border-left:4px solid var(--primary)}.project-impact p{font-weight:600;color:var(--color-1)}.small-projects-section{margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:2px solid var(--border, #e0e0e0)}.small-projects-title{color:var(--color-1);font-size:var(--font-size-2xl);text-align:center;margin-bottom:var(--spacing-lg)}.small-projects-carousel{display:flex;gap:var(--spacing-md);overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:var(--spacing-sm);padding:var(--spacing-sm) 0;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--primary) var(--bg-light)}.small-projects-carousel::-webkit-scrollbar{height:8px}.small-projects-carousel::-webkit-scrollbar-track{background:var(--bg-light);border-radius:10px}.small-projects-carousel::-webkit-scrollbar-thumb{background:var(--primary);border-radius:10px}.small-projects-carousel::-webkit-scrollbar-thumb:hover{background:var(--color-1)}.small-project-card{background-color:var(--bg-white);border-radius:var(--border-radius-lg);overflow:hidden;box-shadow:0 1px 3px #0000001a;transition:var(--transition);border:2px solid transparent;display:flex;flex-direction:column;min-width:320px;flex-shrink:0;scroll-snap-align:start;position:relative;max-width:400px}.small-project-live-link{position:absolute;top:10px;right:10px;z-index:10;background-color:var(--bg-white);color:var(--primary);width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #00000026;transition:var(--transition)}.small-project-live-link:hover{background-color:var(--primary);color:var(--bg-white);transform:scale(1.1)}.small-project-live-link svg{width:18px;height:18px}.small-project-card:hover{box-shadow:0 4px 12px #00000026;border-color:var(--primary);transform:translateY(-4px)}.small-project-image{width:100%;height:200px;overflow:hidden;background-color:var(--bg-light)}.small-project-image img{width:100%;height:100%;object-fit:cover;transition:var(--transition)}.small-project-card:hover .small-project-image img{transform:scale(1.05)}.small-project-content{padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-sm);flex:1}.small-project-title{color:var(--color-1);font-size:var(--font-size-lg);font-weight:700;margin:0}.small-project-tools{display:flex;flex-wrap:wrap;gap:.5rem}.small-tool-tag{background-color:#7bb0a826;color:var(--color-1);padding:.25rem .75rem;border-radius:var(--border-radius);font-size:var(--font-size-sm);font-weight:600}.small-project-link{color:var(--primary);font-weight:600;text-decoration:none;margin-top:auto;display:inline-flex;align-items:center;gap:.25rem;transition:var(--transition)}.small-project-link:hover{color:var(--color-1);gap:.5rem}.small-project-card:first-child{margin-left:var(--spacing-sm)}.small-project-card:last-child{margin-right:var(--spacing-sm)}.small-projects-description{text-align:center;color:var(--text-muted);max-width:600px;margin:0 auto var(--spacing-md)}.mini-projects-cta{text-align:center;margin-top:var(--spacing-lg)}@media(max-width:768px){.project-card{padding:var(--spacing-md)}.small-project-card{min-width:280px}}.stack{background-color:var(--bg-white)}.stack-categories{display:flex;flex-direction:column;gap:var(--spacing-lg)}.stack-category{background-color:#63527426;padding:var(--spacing-md);border-radius:var(--border-radius-lg)}.stack-category-title{color:var(--color-1);font-size:var(--font-size-xl);margin-bottom:var(--spacing-md);text-align:center}.stack-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--spacing-sm)}.stack-item{background-color:var(--bg-white);padding:var(--spacing-md);border-radius:var(--border-radius);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);transition:var(--transition);border:2px solid transparent}.stack-item:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--primary)}.stack-icon{font-size:2.5rem}.stack-name{color:var(--text-dark);font-weight:600;font-size:var(--font-size-base);text-align:center}@media(max-width:768px){.stack-items{grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}.stack-icon{font-size:2rem}.stack-name{font-size:var(--font-size-sm)}}.interests{background-color:var(--bg-light)}.interests-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spacing-md)}.interest-card{background-color:var(--bg-white);padding:var(--spacing-md);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);transition:var(--transition);border:2px solid transparent}.interest-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--primary)}.interest-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.interest-icons{display:flex;gap:.5rem}.interest-icon{font-size:2.5rem}.interest-status{background-color:#7bb0a826;color:var(--primary);padding:.25rem .75rem;border-radius:var(--border-radius);font-size:var(--font-size-sm);font-weight:600}.interest-title{color:var(--color-1);font-size:var(--font-size-xl);margin-bottom:var(--spacing-xs)}.interest-description{color:var(--text-muted);font-size:var(--font-size-base);line-height:1.6}@media(max-width:768px){.interests-grid{grid-template-columns:1fr}.interest-icon{font-size:2rem}}.process{background-color:var(--bg-white)}.process-steps{display:flex;flex-direction:column;gap:var(--spacing-lg);max-width:900px;margin:0 auto}.process-step{background-color:var(--bg-white);padding:var(--spacing-lg);border-radius:var(--border-radius-lg);display:grid;grid-template-columns:auto auto 1fr;gap:var(--spacing-md);align-items:start;box-shadow:var(--shadow-sm);transition:var(--transition);border-left:4px solid var(--primary)}.process-step:hover{transform:translate(8px);box-shadow:var(--shadow-md)}.step-number{font-size:3rem;font-weight:700;color:var(--primary);opacity:.3;line-height:1}.step-icon{font-size:3rem;line-height:1}.step-content{display:flex;flex-direction:column;gap:var(--spacing-xs)}.step-title{color:var(--color-1);font-size:var(--font-size-xl);margin-bottom:0}.step-description{color:var(--text-dark);line-height:1.7;margin:0}@media(max-width:768px){.process-step{grid-template-columns:1fr;text-align:center;padding:var(--spacing-md)}.process-step:hover{transform:translateY(-4px);transform:translate(0)}.step-number{font-size:2rem}.step-icon{font-size:2.5rem}}.testimonials{background-color:var(--bg-light)}.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spacing-md)}.testimonial-card{background-color:var(--bg-white);padding:var(--spacing-lg);border-radius:var(--border-radius-lg);display:flex;flex-direction:column;gap:var(--spacing-sm);box-shadow:var(--shadow-sm);transition:var(--transition);border-top:4px solid var(--primary)}.testimonial-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg)}.testimonial-avatar{font-size:3rem;text-align:center}.testimonial-text{color:var(--text-dark);font-size:var(--font-size-base);line-height:1.7;font-style:italic;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.read-more-btn{background:none;border:none;color:var(--primary);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;padding:0;text-align:left;transition:var(--transition)}.read-more-btn:hover{color:var(--color-1);text-decoration:underline}.testimonial-author{display:flex;flex-direction:column;gap:.25rem;border-top:2px solid var(--bg-light);padding-top:var(--spacing-sm);margin-top:auto}.author-name{color:var(--color-1);font-size:var(--font-size-base);font-weight:700;margin:0}.author-role{color:var(--text-muted);font-size:var(--font-size-sm);margin:0}.testimonial-modal-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-md);animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.testimonial-modal{background-color:var(--bg-white);border-radius:var(--border-radius-lg);padding:var(--spacing-xl);max-width:600px;width:100%;max-height:80vh;overflow-y:auto;position:relative;animation:slideUp .3s ease;border-top:4px solid var(--primary)}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-close{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);background:none;border:none;font-size:2rem;color:var(--text-muted);cursor:pointer;line-height:1;padding:.5rem;transition:var(--transition)}.modal-close:hover{color:var(--color-1)}.modal-avatar{font-size:4rem;text-align:center;margin-bottom:var(--spacing-md)}.modal-text{color:var(--text-dark);font-size:var(--font-size-base);line-height:1.8;font-style:italic;margin-bottom:var(--spacing-lg)}.modal-author{display:flex;flex-direction:column;gap:.25rem;border-top:2px solid var(--bg-light);padding-top:var(--spacing-md)}@media(max-width:768px){.testimonials-grid{grid-template-columns:1fr}.testimonial-modal{padding:var(--spacing-lg);max-height:90vh}.modal-avatar{font-size:3rem}}.cta{background:linear-gradient(135deg,var(--color-3) 0%,var(--color-4) 100%);color:var(--text-light)}.cta-content{max-width:800px;margin:0 auto;text-align:center}.cta-title{color:var(--text-light);font-size:var(--font-size-2xl);margin-bottom:var(--spacing-md)}.cta-subtitle{color:var(--text-light);font-size:var(--font-size-lg);line-height:1.7;margin-bottom:var(--spacing-lg);opacity:.95}.cta-buttons{margin-bottom:var(--spacing-lg)}.btn-large{padding:1.25rem 2.5rem;font-size:var(--font-size-lg);background-color:var(--color-1);box-shadow:var(--shadow-md)}.btn-large:hover{background-color:var(--color-2);transform:translateY(-4px);box-shadow:var(--shadow-lg)}.cta-links{display:flex;flex-direction:column;gap:var(--spacing-md);align-items:center;padding-top:var(--spacing-lg);border-top:2px solid rgba(255,255,255,.2)}.cta-links-text{color:var(--text-light);font-size:var(--font-size-base);margin:0;opacity:.9}.social-links{display:flex;gap:var(--spacing-md)}.social-link{display:flex;align-items:center;gap:var(--spacing-xs);padding:.75rem 1.5rem;background-color:#fff3;border-radius:var(--border-radius);color:var(--text-light);font-weight:600;transition:var(--transition);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.social-link:hover{background-color:#ffffff4d;transform:translateY(-2px)}.social-icon{font-size:1.25rem;transition:transform .2s ease}.social-link:hover .social-icon{transform:scale(1.3)}@media(max-width:768px){.cta-title{font-size:var(--font-size-xl)}.cta-subtitle{font-size:var(--font-size-base)}.btn-large{padding:1rem 2rem;font-size:var(--font-size-base);width:100%}.social-links{flex-direction:column;width:100%}.social-link{width:100%;justify-content:center}}.mini-projects-page{min-height:100vh;background-color:var(--bg-light)}.mini-projects-header{background-color:var(--bg-white);box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:100}.mini-projects-header-content{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) 0}.back-link{color:var(--primary);font-weight:600;font-size:var(--font-size-base);transition:var(--transition)}.back-link:hover{color:var(--color-1)}.mini-projects-main{padding:var(--spacing-lg) 0}.mini-projects-title{text-align:center;color:var(--color-1);margin-bottom:var(--spacing-sm)}.mini-projects-subtitle{text-align:center;color:var(--text-muted);max-width:700px;margin:0 auto var(--spacing-lg);line-height:1.7}.mini-projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--spacing-md)}.mini-project-card{background-color:var(--bg-white);border-radius:var(--border-radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:var(--transition);display:flex;flex-direction:column;border:2px solid transparent;text-decoration:none}.mini-project-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--primary)}.mini-project-card-image{width:100%;height:200px;overflow:hidden;background-color:var(--bg-light)}.mini-project-card-image img{width:100%;height:100%;object-fit:cover;transition:var(--transition)}.mini-project-card:hover .mini-project-card-image img{transform:scale(1.05)}.mini-project-card-content{flex:1;padding:var(--spacing-md);display:flex;flex-direction:column}.mini-project-title{color:var(--color-1);font-size:var(--font-size-xl);margin-bottom:var(--spacing-xs)}.mini-project-description{color:var(--text-muted);font-size:var(--font-size-sm);line-height:1.6;margin-bottom:var(--spacing-sm)}.mini-project-stack{display:flex;flex-wrap:wrap;gap:.5rem}.stack-badge{background-color:#7bb0a826;color:var(--primary);padding:.25rem .75rem;border-radius:var(--border-radius);font-size:var(--font-size-sm);font-weight:600}.mini-project-arrow{font-size:1.25rem;color:var(--primary);padding:0 var(--spacing-md) var(--spacing-md);transition:var(--transition);align-self:flex-end}.mini-project-card:hover .mini-project-arrow{transform:translate(4px)}@media(max-width:768px){.mini-projects-grid{grid-template-columns:1fr}.mini-project-card-image{height:180px}}.project-viewer-page{min-height:100vh;display:flex;flex-direction:column;background-color:var(--bg-light)}.project-viewer-header{background-color:var(--bg-white);box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:100}.project-viewer-header-content{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) 0;gap:var(--spacing-md)}.project-viewer-title{color:var(--color-1);font-size:var(--font-size-lg);margin:0;flex:1;text-align:center}.project-viewer-info{background-color:var(--bg-white);border-bottom:1px solid rgba(0,0,0,.1);padding:var(--spacing-sm) 0}.project-viewer-description{color:var(--text-muted);font-size:var(--font-size-sm);margin-bottom:var(--spacing-xs);text-align:center}.project-viewer-stack{display:flex;justify-content:center;flex-wrap:wrap;gap:.5rem}.project-viewer-note{color:var(--color-2);font-size:var(--font-size-sm);text-align:center;margin-top:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);background-color:#6352741a;border-radius:var(--border-radius)}.project-viewer-main{flex:1;display:flex;padding:var(--spacing-sm)}.project-iframe{flex:1;width:100%;border:none;border-radius:var(--border-radius);background-color:var(--bg-white);box-shadow:var(--shadow-md);min-height:600px}.project-viewer-error{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md);padding:var(--spacing-lg)}.project-viewer-error h2{color:var(--color-1)}@media(max-width:768px){.project-viewer-header-content{flex-wrap:wrap}.project-viewer-title{order:-1;width:100%;text-align:center;margin-bottom:var(--spacing-xs)}.project-iframe{min-height:500px}}
