@import"https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,300;0,14..32,400;0,14..32,500;0,14..32,600;0,14..32,700;0,14..32,800;0,14..32,900;1,14..32,400&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--bg-base: #F5F7FF;--bg-surface: #FFFFFF;--bg-elevated: #EEF2FF;--bg-muted: #F0F4FE;--bg-surface-glass: #ffffffc7;--bg-dropdown-start: rgba(255, 255, 255, .98);--bg-dropdown-end: rgba(245, 247, 255, .98);--bg-header: rgba(255, 255, 255, .97);--blob-color-1: #d4e0ff;--blob-color-2: #fef3c7;--blob-opacity-1: .35;--blob-opacity-2: .25;--brand: #1e3a8a;--brand-mid: #1d4ed8;--brand-light: #3b82f6;--brand-hover: #1e40af;--brand-muted: rgba(30, 58, 138, .07);--brand-border: rgba(30, 58, 138, .18);--brand-glow: rgba(30, 58, 138, .15);--accent: #F59E0B;--accent-dark: #D97706;--accent-light: #FCD34D;--accent-muted: rgba(245, 158, 11, .1);--accent-border: rgba(245, 158, 11, .3);--accent-glow: rgba(245, 158, 11, .2);--border: #E2E8F4;--border-subtle: #EDF1F9;--text-primary: #0F172A;--text-secondary: #475569;--text-muted: #94A3B8;--text-inverse: #FFFFFF;--success: #16a34a;--success-muted: rgba(22,163,74,.1);--error: #dc2626;--warning: #d97706;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--radius-xs: 4px;--radius-sm: 6px;--radius: 10px;--radius-md: 14px;--radius-lg: 20px;--radius-xl: 28px;--shadow-xs: 0 1px 2px rgba(15,23,42,.04);--shadow-sm: 0 1px 4px rgba(15,23,42,.06), 0 1px 2px rgba(15,23,42,.04);--shadow-md: 0 4px 16px rgba(15,23,42,.08), 0 2px 6px rgba(15,23,42,.04);--shadow-lg: 0 12px 40px rgba(15,23,42,.11), 0 4px 12px rgba(15,23,42,.06);--shadow-xl: 0 20px 60px rgba(15,23,42,.14), 0 8px 20px rgba(15,23,42,.08);--shadow-brand: 0 4px 20px rgba(30,58,138,.22), 0 2px 8px rgba(30,58,138,.1);--shadow-accent:0 4px 20px rgba(245,158,11,.25);--ease: cubic-bezier(.4, 0, .2, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--t-fast: .12s;--t: .22s;--t-slow: .38s;--t-slower: .6s}html.dark{--bg-base: #080C14;--bg-surface: #0F1626;--bg-elevated: #172033;--bg-muted: #121A2C;--bg-surface-glass: rgba(15, 22, 38, .78);--brand: #3b82f6;--brand-mid: #60a5fa;--brand-light: #93c5fd;--brand-hover: #2563eb;--brand-muted: rgba(59, 130, 246, .12);--brand-border: rgba(59, 130, 246, .28);--brand-glow: rgba(59, 130, 246, .22);--accent: #F59E0B;--accent-dark: #FBBF24;--accent-light: #FCD34D;--accent-muted: rgba(245, 158, 11, .15);--accent-border: rgba(245, 158, 11, .4);--accent-glow: rgba(245, 158, 11, .3);--border: #1E293B;--border-subtle: #162032;--text-primary: #F8FAFC;--text-secondary: #CBD5E1;--text-muted: #64748B;--text-inverse: #080C14;--shadow-xs: 0 1px 2px rgba(0,0,0,.3);--shadow-sm: 0 1px 4px rgba(0,0,0,.4), 0 1px 2px rgba(0,0,0,.3);--shadow-md: 0 4px 16px rgba(0,0,0,.45), 0 2px 6px rgba(0,0,0,.3);--shadow-lg: 0 12px 40px rgba(0,0,0,.55), 0 4px 12px rgba(0,0,0,.35);--shadow-xl: 0 20px 60px rgba(0,0,0,.65), 0 8px 20px rgba(0,0,0,.45);--shadow-brand: 0 4px 20px rgba(59, 130, 246, .3), 0 2px 8px rgba(59, 130, 246, .15);--shadow-accent:0 4px 20px rgba(245, 158, 11, .35);--bg-dropdown-start: rgba(15, 22, 38, .98);--bg-dropdown-end: rgba(8, 12, 20, .98);--bg-header: rgba(15, 22, 38, .95);--blob-color-1: rgba(30, 58, 138, .25);--blob-color-2: rgba(245, 158, 11, .1);--blob-opacity-1: .15;--blob-opacity-2: .1}html.dark body{background-image:radial-gradient(circle,rgba(59,130,246,.055) 1px,transparent 1px)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-sans);line-height:1.6;color:var(--text-primary);background-color:var(--bg-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;min-height:100vh;background-image:radial-gradient(circle,rgba(30,58,138,.055) 1px,transparent 1px);background-size:26px 26px}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);font-weight:700;color:var(--text-primary);line-height:1.18;letter-spacing:-.025em}a{color:var(--brand-mid);text-decoration:none;transition:color var(--t) var(--ease)}a:hover{color:var(--brand)}button{font-family:var(--font-sans);font-size:.9rem;font-weight:500;cursor:pointer;transition:all var(--t) var(--ease);border:1px solid transparent;border-radius:var(--radius);background:var(--bg-surface);color:var(--text-primary)}button:focus-visible{outline:2px solid var(--brand-mid);outline-offset:2px}input,textarea,select{font-family:var(--font-sans);font-size:.95rem;color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);transition:border-color var(--t),box-shadow var(--t)}input{border-radius:0}input:focus,textarea:focus{outline:none;border-color:var(--brand-mid)}img{max-width:100%;height:auto;display:block}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:99px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}*{scrollbar-width:thin;scrollbar-color:var(--border) transparent}::selection{background:#1e3a8a1f;color:var(--brand)}*:focus:not(:focus-visible){outline:none;box-shadow:none}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeDown{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.88)}to{opacity:1;transform:scale(1)}}@keyframes slideRight{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@keyframes underlineGrow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes pulseDot{0%,to{box-shadow:0 0 #22c55e8c}50%{box-shadow:0 0 0 6px #22c55e00}}@keyframes floatY{0%,to{transform:translateY(0)}50%{transform:translateY(-14px)}}@keyframes blobMorph{0%,to{border-radius:60% 40% 30% 70%/60% 30% 70% 40%}33%{border-radius:40% 60% 70% 30%/40% 50% 60%}66%{border-radius:30% 60% 40% 70%/60% 40%}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmerSlide{0%{background-position:-200% center}to{background-position:200% center}}@keyframes cardIn{0%{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes scaleXIn{0%{transform:scaleX(.4);opacity:0}to{transform:scaleX(1);opacity:1}}@keyframes eyebrowPop{0%{opacity:0;transform:translateY(-8px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}#root{width:100%;margin:80px auto 0;text-align:center}.grecaptcha-badge{visibility:hidden}.cardPresentation{float:right;position:absolute;top:190px;right:70px;width:250px;margin-top:20px;border-radius:12px;box-shadow:var(--shadow-md)}@media(max-width:1024px){.cardPresentation{display:none}}.container{display:flex;justify-content:center;align-items:center;height:100vh;margin:-80px 0 0;background-color:var(--bg-base);overflow:hidden}.loaderWrapper{position:relative;display:inline-block}.loader{font-family:Playfair Display,Garamond,Baskerville,Georgia,serif;font-size:3rem;font-weight:800;color:var(--brand);letter-spacing:-.04em;text-transform:lowercase;white-space:nowrap;opacity:1;transition:opacity .5s ease-in-out}.text-reveal-container{position:relative;overflow:hidden;width:fit-content;max-width:100%;min-width:120px;transition:opacity 1.5s ease-out,transform 1.5s ease-out}.text-reveal-container.fade-out{opacity:0;transform:scale(.85);background:none}.text-slider{display:inline-block;transform:translate(calc(-100% + .5em));transition:transform 1s cubic-bezier(.25,.46,.45,.94)}.text-reveal-container.slide-reveal .text-slider{transform:translate(0)}.loader.animating .char-a1,.loader.animating .char-v,.loader.animating .char-i,.loader.animating .char-o,.loader.animating .char-r,.loader.animating .char-a2,.loader.animating .char-l,.loader.animating .char-e,.loader.animating .char-s{width:0!important;opacity:0!important}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}.animated-bg{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity 1.5s ease-in-out;pointer-events:none;z-index:0}.animated-bg.active{opacity:1;background:linear-gradient(90deg,#1e3a8a00,#1e3a8a14,#1e3a8a00);background-size:200% 100%;animation:shimmer 2.8s ease-in-out infinite}.project{background:var(--bg-base);position:relative;z-index:1}.project-eyebrow-wrapper{display:flex;justify-content:center;width:100%;padding-top:2.5rem;margin-bottom:-.5rem}.project-eyebrow-wrapper .about-eyebrow{opacity:1;transform:scale(1);display:inline-block}.project-header{display:flex;justify-content:space-between;align-items:center;padding:20px 150px;position:relative;z-index:20}.project-header:after{content:"";position:absolute;bottom:0;left:5%;width:90%;height:1px;background:var(--border)}.projects-note{margin-top:.4rem;font-size:.8rem;color:var(--text-secondary);display:inline-flex;align-items:center;font-style:normal;font-weight:500}.reveal-block{opacity:0;transform:translateY(16px);transition:opacity .55s ease,transform .55s ease}.reveal-block.reveal-visible{opacity:1;transform:translateY(0)}.project-title-container{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem;text-align:right}.project-title-container .about-title{font-size:1.9rem;font-weight:800;color:var(--text-primary);margin:0;letter-spacing:-.04em;line-height:1.15}.project-header.reveal-visible .about-eyebrow{animation:eyebrowPop .4s cubic-bezier(.34,1.56,.64,1) .1s both}.project-header.reveal-visible .about-title .highlight:after{transform:scaleX(1);opacity:.45}.selection{display:flex;gap:.4rem;align-items:center;font-family:var(--font-sans);font-size:.9rem;position:relative;flex-wrap:wrap;z-index:21}.selected-tech{list-style:none;padding:0;padding-left:.5rem;display:flex;gap:.5rem;flex-wrap:wrap;white-space:nowrap;align-items:center}.remove-tech{background:var(--accent-muted);color:var(--accent-dark);border:1px solid var(--accent-border);padding:.25rem .75rem;border-radius:99px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all var(--t, .22s) var(--ease, ease);display:inline-flex;align-items:center;gap:.35rem;box-shadow:0 1px 2px #f59e0b0d}.remove-tech:hover{background:var(--accent);color:var(--text-inverse);border-color:var(--accent);transform:translateY(-1px) scale(1.02);box-shadow:var(--shadow-sm),0 4px 12px #f59e0b33}.remove-x{display:inline-flex;align-items:center;justify-content:center;font-size:.65rem;line-height:1;margin-left:.15rem;margin-top:2px;transition:transform .2s ease,opacity .2s ease}.remove-tech:hover .remove-x{transform:rotate(90deg);opacity:1;margin-top:0}.sele{padding:.35rem .85rem;border-radius:var(--radius);border:1px solid transparent;border-bottom:2px solid transparent;transition:all var(--transition);background:transparent;color:var(--text-secondary);font-weight:500;font-size:.95rem;cursor:pointer;display:inline-flex;align-items:center}.sele:hover,.sele.active{color:var(--brand);background:var(--brand-muted);border-color:var(--brand-border)}.selec{background:var(--accent-muted);border-color:var(--accent-border)}.sele.selected{border-bottom:2px solid var(--brand);color:var(--brand);background:var(--brand-muted)}.project .selection .tech-dropdown{position:relative;z-index:22}.project .selection .dropdown-menu{position:absolute;top:calc(100% + 8px);left:50%;min-width:320px;width:min(420px,calc(100vw - 2rem));background:linear-gradient(180deg,var(--bg-dropdown-start),var(--bg-dropdown-end));padding:.65rem;display:flex;flex-direction:column;gap:.55rem;box-shadow:var(--shadow-xl);border-radius:var(--radius-lg);border:1px solid var(--border);z-index:1000;opacity:0;visibility:hidden;transform:translate(-50%) translateY(-8px) scale(.98);transition:opacity .22s cubic-bezier(.4,0,.2,1),visibility .22s cubic-bezier(.4,0,.2,1),transform .22s cubic-bezier(.4,0,.2,1);transform-origin:top center;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.project .selection .dropdown-menu.open{opacity:1;visibility:visible;transform:translate(-50%) translateY(0) scale(1)}.dropdown-search{display:flex;align-items:center;gap:.5rem;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:.45rem .6rem;box-shadow:var(--shadow-xs)}.dropdown-search input{width:100%;border:none;outline:none!important;background:transparent;color:var(--text-primary);font-size:.88rem;padding:0;z-index:50}.dropdown-search input::placeholder{color:var(--text-muted)}.dropdown-count{flex-shrink:0;font-size:.72rem;color:var(--text-muted);font-family:var(--font-mono)}.dropdown-tech-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;max-height:320px;overflow-y:auto;padding-right:.15rem;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.dropdown-tech-list::-webkit-scrollbar{width:6px}.dropdown-tech-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:99px}.project .selection .dropdown-menu li{margin:0}.dropdown-tech-item{width:100%;padding:.7rem .8rem;color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);transition:transform var(--transition),background var(--transition),color var(--transition),border-color var(--transition),box-shadow var(--transition);font-size:.86rem;font-weight:600;background:var(--bg-surface);border:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:space-between;gap:.5rem;text-align:left}.dropdown-tech-item:hover{color:var(--brand);background:var(--brand-muted);border-color:var(--brand-border);transform:translateY(-1px);box-shadow:var(--shadow-xs)}.dropdown-tech-item.selec{background:linear-gradient(135deg,var(--accent-muted),var(--bg-surface));color:var(--text-primary);border-color:var(--accent-border);box-shadow:inset 0 0 0 1px #f59e0b14}.dropdown-tech-check{flex-shrink:0;min-width:1rem;text-align:center;color:var(--accent-dark);font-weight:800}.dropdown-empty{grid-column:1 / -1;padding:.9rem .75rem;color:var(--text-muted);font-size:.85rem;text-align:center;border:1px dashed var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated)}.project-content{display:flex;flex-direction:column;background:var(--bg-surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);margin:1rem;border-radius:var(--radius-md);padding:1.25rem;width:380px;max-width:380px;z-index:1;position:relative;cursor:pointer;transition:box-shadow .3s ease,border-color .3s ease}.project-content.reveal-block{opacity:0;filter:blur(10px);transform:translateY(24px);animation:none;transition:opacity .7s ease,filter .7s ease,transform .7s cubic-bezier(.1,.8,.2,1),box-shadow .3s ease,border-color .3s ease}.project-content.reveal-block.reveal-visible{opacity:1;filter:blur(0px);transform:translateY(0)}@keyframes cardIn{to{opacity:1;transform:translateY(0)}}.project-content:hover{box-shadow:var(--shadow-lg),0 10px 30px var(--brand-glow);border-color:var(--brand)}.ia-badge{background:var(--brand);color:var(--text-inverse);font-size:.68rem;font-weight:700;font-family:var(--font-mono);padding:.2rem .55rem;border-radius:99px;display:flex;align-items:center;gap:.3rem;letter-spacing:.04em;box-shadow:0 2px 8px #1e3a8a4d;border:1px solid var(--text-inverse)}.info-btn{background:none;border:none;cursor:pointer;color:var(--text-muted);transition:color var(--transition),transform var(--transition);padding:0 0 4px;align-self:flex-end;z-index:2}.info-btn:hover{color:var(--brand);transform:scale(1.15) rotate(15deg)}.project-media-wrapper{position:relative;overflow:hidden;border-radius:var(--radius);margin-bottom:.85rem;border:1px solid var(--border-subtle);transform:translateZ(0);isolation:isolate}.project-media{width:100%;height:185px;object-fit:cover;display:block;border-radius:inherit;transition:transform .45s ease;will-change:transform}.project-content:hover .project-media{transform:scale(1.05)}.project-media-overlay{position:absolute;inset:0;background:#1e3a8abf;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease;border-radius:var(--radius)}.project-media-overlay span{color:#fff;font-weight:600;font-size:.9rem;letter-spacing:.04em;transform:translateY(8px);transition:transform .3s ease}.project-content:hover .project-media-overlay{opacity:1}.project-content:hover .project-media-overlay span{transform:translateY(0)}.project-title{font-size:1.15rem;font-weight:700;margin:0 0 .3rem;color:var(--text-primary);text-align:left;letter-spacing:-.025em}.project-brief{color:var(--text-secondary);text-align:justify;margin-top:0;font-size:.875rem;line-height:1.6;flex:1}.project-brief p{margin:0;text-align:justify}.project-brief a{color:var(--brand);text-decoration:underline}.project-brief a:hover{color:var(--brand-hover)}.project-brief strong{color:var(--brand);font-weight:700}.project-tech{display:flex;gap:.4rem;flex-wrap:wrap;margin:.75rem 0 0}.tech-badge{background:var(--brand-muted);color:var(--brand);border:1px solid var(--brand-border);padding:.16rem .55rem;border-radius:99px;font-size:.72rem;font-weight:600;font-family:var(--font-mono);letter-spacing:.02em;transition:background var(--transition),color var(--transition)}.project-links{display:flex;gap:.6rem;justify-content:flex-end;align-items:center;padding-top:.85rem;margin-top:.75rem;border-top:1px solid var(--border-subtle)}.project-btn{display:inline-flex;align-items:center;gap:0;padding:.4rem .85rem;border-radius:var(--radius);text-decoration:none;font-weight:600;font-size:.82rem;transition:all var(--transition);white-space:nowrap}.project-btn--ghost{background:var(--bg-elevated);color:var(--brand);border:1px solid var(--brand-border)}.project-btn--ghost:hover{background:var(--brand-muted);border-color:var(--brand);color:var(--brand)}.project-btn--primary{background:var(--brand);color:var(--text-inverse);border:1px solid transparent}.project-btn--primary:hover{background:var(--brand-hover);color:var(--text-inverse);box-shadow:var(--shadow-brand);transform:translateY(-1px)}.desaparece{max-width:0;opacity:0;overflow:hidden;transition:all .45s ease;font-size:.8rem;white-space:nowrap}.project-btn:hover .desaparece{max-width:110px;opacity:1;padding-left:.5rem}.project-grid-wrapper{position:relative;overflow:hidden;transition:max-height .8s cubic-bezier(.1,.8,.2,1);z-index:1}.project-grid-wrapper.collapsed{max-height:675px}.project-grid-wrapper.expanded{max-height:6000px}.project-grid-fade{position:absolute;bottom:0;left:0;width:100%;height:180px;background:linear-gradient(to top,var(--bg-base) 15%,transparent 100%);pointer-events:none;z-index:5;transition:opacity .4s ease}.project-expand-action{display:flex;justify-content:center;position:relative;z-index:10;padding-bottom:3rem;margin-top:-1.5rem}.project-expand-btn{background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:99px;padding:.65rem 1.6rem;font-size:.95rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.5rem;box-shadow:var(--shadow-sm);transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.project-expand-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-md),0 8px 25px var(--brand-glow);border-color:var(--brand);color:var(--brand)}.project-grid{display:flex;flex-wrap:wrap;justify-content:center;margin:0;padding:.5rem 5px 1.5rem;min-height:280px;position:relative;z-index:1}@media(max-width:1130px){.project-header{padding-left:60px;padding-right:60px}}@media(max-width:855px){.project-header{flex-direction:column-reverse;padding:1.25rem 1rem;gap:.75rem}.project-title-container{align-items:center;text-align:center;margin-bottom:.5rem}.project-title-container .about-title{font-size:1.9rem}.selection{justify-content:center}.project .selection .tech-dropdown{position:static}.project .selection .dropdown-menu{position:fixed;left:50%;top:auto;transform:translate(-50%) translateY(-8px) scale(.98);width:min(92vw,400px);min-width:0;max-height:70vh;overflow-y:auto;z-index:9999}.project .selection .dropdown-menu.open{transform:translate(-50%) translateY(0) scale(1)}.dropdown-tech-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:240px}.dropdown-tech-item{padding:.55rem .65rem;font-size:.82rem}.tech-drop-btn{min-width:120px}}@media(max-width:520px){.selection{gap:.3rem;font-size:.82rem}.sele{padding:.28rem .6rem;font-size:.78rem}.tech-drop-btn{min-width:100px}.project .selection .dropdown-menu{width:min(96vw,340px);padding:.5rem;gap:.4rem}.dropdown-tech-list{grid-template-columns:1fr;max-height:220px;gap:.35rem}.dropdown-tech-item{padding:.5rem .6rem;font-size:.8rem}.dropdown-search{padding:.38rem .5rem}.dropdown-search input{font-size:.82rem}.selected-tech{flex-wrap:wrap;white-space:normal}.remove-tech{font-size:.74rem;padding:.18rem .5rem}}.project-info-container{display:flex;flex-direction:column;flex:1;text-align:left}@media(min-width:580px)and (max-width:823px){.project-content{flex-direction:row;width:calc(100% - 2rem);max-width:680px;align-items:stretch}.project-content .project-media-wrapper{flex:0 0 160px;width:160px;height:auto;margin-bottom:0;margin-right:1.25rem}.project-content .project-media{height:100%;width:100%;object-fit:cover}}@media(min-width:980px)and (max-width:1235px){.project-content{flex-direction:row;width:calc(50% - 2rem);max-width:560px;align-items:stretch}.project-content .project-media-wrapper{flex:0 0 150px;width:150px;height:auto;margin-bottom:0;margin-right:1.25rem}.project-content .project-media{height:100%;width:100%;object-fit:cover}}@media(min-width:1380px)and (max-width:1647px){.project-content{flex-direction:row;width:calc(33.333% - 2rem);max-width:480px;align-items:stretch}.project-content .project-media-wrapper{flex:0 0 140px;width:140px;height:auto;margin-bottom:0;margin-right:1.25rem}.project-content .project-media{height:100%;width:100%;object-fit:cover}}.popup-projects-overlay{position:fixed;inset:0;background:#0f172a8c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:2000;animation:popupFadeIn .22s ease-in-out}@keyframes popupFadeIn{0%{opacity:0}to{opacity:1}}.popup-projects-container{text-align:left;position:relative;background:var(--bg-surface);border-radius:var(--radius-lg);max-width:520px;width:88%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;border:1px solid var(--border);box-shadow:var(--shadow-lg);animation:popupSlideUp .26s ease-out}@keyframes popupSlideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.popup-projects-body{overflow-y:auto;overflow-x:hidden;flex-grow:1;padding:2rem;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.popup-projects-body::-webkit-scrollbar{width:6px}.popup-projects-body::-webkit-scrollbar-track{background:transparent}.popup-projects-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:99px}.popup-projects-body::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.popup-projects-close{position:absolute;top:1rem;right:1.25rem;background:var(--bg-surface);border:1px solid var(--border-subtle);font-size:1.5rem;cursor:pointer;color:var(--text-muted);width:36px;height:36px;display:flex;align-items:center;justify-content:center;padding:0;border-radius:var(--radius-sm);z-index:100;box-shadow:0 2px 8px #0000001a;transition:color var(--t) var(--ease),background var(--t) var(--ease),transform var(--t) var(--ease)}.popup-projects-close:hover{color:var(--text-primary);background:var(--bg-elevated);transform:scale(1.05)}.popup-projects-close:focus-visible{outline:2px solid var(--brand);outline-offset:2px}@media(max-width:768px){.popup-projects-container{width:92%}.popup-projects-body{padding:1.25rem}.popup-projects-title{font-size:1.25rem}.popup-projects-close{top:.75rem;right:.75rem}.popup-projects-links{bottom:-1.25rem;padding-bottom:1.25rem;margin-bottom:-1.25rem}}.popup-projects-desc-container{margin-top:1rem}.popup-projects-desc-text{margin-top:.5rem;line-height:1.65;color:var(--text-secondary);text-align:justify;padding-left:0;padding-bottom:.75rem;font-size:.925rem}.popup-projects-desc-text p{margin:0 0 .75rem;line-height:1.65}.popup-projects-desc-text p:last-child{margin-bottom:0}.popup-projects-desc-text ul,.popup-projects-desc-text ol{margin:0 0 .75rem 1.25rem;padding:0}.popup-projects-desc-text li{margin-bottom:.25rem}.popup-projects-desc-text a{color:var(--brand);text-decoration:underline}.popup-projects-desc-text a:hover{color:var(--brand-hover)}.popup-projects-title{margin-bottom:1.75rem;font-size:1.6rem;font-weight:800;color:var(--brand);letter-spacing:-.03em;text-decoration:none;margin-top:1rem;padding-right:2.5rem}.popup-projects-title span{border-bottom:3px solid var(--accent);padding-bottom:0rem}.popup-projects-container strong{color:var(--brand);font-weight:700}.video-wrapper{position:relative;width:100%;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:var(--radius);background:#000;margin-bottom:1rem;margin-top:1.5rem;border:1px solid var(--border-subtle)}.video-wrapper iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0;pointer-events:none}.video-blocker{position:absolute;inset:0;z-index:5;background:transparent;cursor:default}.video-wrapper img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}.popup-projects-btn{padding:.45rem 1rem;border-radius:var(--radius);text-decoration:none;font-weight:600;font-size:.875rem;display:flex;align-items:center;transition:all var(--t) var(--ease)}.popup-projects-btn--primary{background:var(--brand);color:var(--text-inverse)}.popup-projects-btn--primary:hover{background:var(--brand-hover);color:var(--text-inverse);box-shadow:var(--shadow-brand)}.popup-projects-btn--secondary{background:var(--bg-elevated);color:var(--brand);border:1px solid var(--brand-border)}.popup-projects-btn--secondary:hover{background:var(--brand-muted);border-color:var(--brand);color:var(--brand)}.popup-projects-links{display:flex;gap:1rem;justify-content:flex-end;align-items:center;padding-top:1rem;border-top:1px solid var(--border-subtle);margin-top:1rem;position:sticky;bottom:-2rem;margin-bottom:-2rem;padding-bottom:2rem;background:var(--bg-surface);z-index:10}.desaparece{max-width:0;opacity:0;overflow:hidden;transition:all .5s ease;font-size:.8rem;white-space:nowrap}.popup-projects-btn:hover .desaparece{max-width:120px;opacity:1;padding-left:.6rem}.header{position:fixed;top:0;left:0;width:100%;height:66px;background:var(--bg-header);backdrop-filter:blur(16px) saturate(200%);-webkit-backdrop-filter:blur(16px) saturate(200%);display:flex;align-items:center;justify-content:center;padding:0 2.5rem;border-bottom:1px solid transparent;transition:background var(--t-slow) var(--ease),border-color var(--t-slow) var(--ease),box-shadow var(--t-slow) var(--ease);z-index:1000}.header.scrolled{background:var(--bg-header);border-bottom-color:var(--border);box-shadow:var(--shadow-sm)}.header-content{width:100%;max-width:1200px;display:flex;align-items:center;justify-content:flex-end;gap:1.5rem;position:relative}.header-logo{position:absolute;left:50%;transform:translate(-50%);height:46px;display:flex;align-items:center;transition:left var(--t-slow) var(--ease-out),transform var(--t-slow) var(--ease-out);will-change:left,transform}.logo-full{font-family:Playfair Display,Garamond,Baskerville,Georgia,serif;font-size:1.7rem;font-weight:800;color:var(--brand);letter-spacing:-.04em;white-space:nowrap;text-transform:lowercase;position:relative}.logo-full:after{content:"";position:absolute;bottom:-2px;left:0;width:100%;height:2px;background:var(--accent);border-radius:99px;transform:scaleX(0);transform-origin:left;transition:transform var(--t-slow) var(--ease-spring)}.header-logo:hover .logo-full:after{transform:scaleX(1)}.header.scrolled .header-logo{left:0;transform:translate(0)}.header-actions{display:flex;align-items:center;gap:.25rem}.menu-toggle{display:none;background:transparent;border:none;font-size:1.2rem;cursor:pointer;color:var(--text-secondary);padding:.45rem .55rem;border-radius:var(--radius-sm);transition:color var(--t),background var(--t)}.menu-toggle:hover{color:var(--brand);background:var(--brand-muted)}.header-nav{display:flex;gap:0;opacity:0;visibility:hidden;transition:opacity var(--t),visibility var(--t);position:absolute;left:50%;transform:translate(-50%)}.header.scrolled .header-nav{opacity:1;visibility:visible}.header-nav a{color:var(--text-secondary);text-decoration:none;font-weight:500;font-size:.875rem;padding:.42rem .9rem;border-radius:var(--radius-sm);transition:color var(--t),background var(--t);white-space:nowrap;cursor:pointer;display:inline-flex;align-items:center;gap:.4rem;position:relative}.header-nav a:after{content:"";position:absolute;bottom:0;left:.9rem;right:.9rem;height:2px;background:var(--brand-mid);border-radius:99px;transform:scaleX(0);transition:transform var(--t) var(--ease-spring)}.header-nav a:hover{color:var(--brand);background:var(--brand-muted)}.header-nav a:hover:after{transform:scaleX(1)}.download-icon{transition:transform var(--t) var(--ease)}.header-nav a:hover .download-icon{transform:translateY(2px)}.lang-btn{padding:.38rem .9rem;background:var(--brand);color:var(--text-inverse);border:1px solid var(--brand);border-radius:var(--radius);font-weight:700;font-size:.78rem;text-transform:uppercase;cursor:pointer;transition:all var(--t) var(--ease);letter-spacing:.06em;min-width:52px;text-align:center}.lang-btn:hover{background:var(--brand-hover);border-color:var(--brand-hover);box-shadow:var(--shadow-brand);transform:translateY(-1px)}.lang-btn:active{transform:translateY(0);box-shadow:none}.theme-toggle-group{--btn-size: 30px;--gap-size: 2px;--padding-size: 3px;position:relative;display:inline-flex;align-items:center;background:var(--bg-muted);border:1px solid var(--border);border-radius:var(--radius-xl);padding:var(--padding-size);gap:var(--gap-size);margin-right:.5rem;user-select:none;-webkit-user-select:none;touch-action:none;cursor:grab}.theme-toggle-group.dragging{cursor:grabbing}.theme-toggle-btn{position:relative;z-index:2;background:transparent;border:none;color:var(--text-secondary);width:var(--btn-size);height:var(--btn-size);border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;cursor:inherit;transition:color var(--t) var(--ease);padding:0}.theme-toggle-btn:hover{color:var(--brand)}.theme-toggle-btn.active{color:var(--text-inverse);pointer-events:none}.theme-toggle-btn svg{transition:transform var(--t) var(--ease-spring)}.theme-toggle-btn:hover svg{transform:scale(1.1)}.theme-slider{position:absolute;top:var(--padding-size);left:var(--padding-size);width:var(--btn-size);height:var(--btn-size);background:var(--brand);border-radius:var(--radius-xl);z-index:1;transition:transform var(--t-slow) var(--ease-spring);box-shadow:var(--shadow-xs)}html.dark .theme-slider{box-shadow:0 0 10px var(--brand-glow)}.progress-bar{position:absolute;bottom:0;left:0;height:2px;width:100%;background:transparent}.progress-fill{height:100%;width:0%;background:var(--brand-mid);border-radius:0 99px 99px 0;transition:width .16s cubic-bezier(.1,.8,.2,1);box-shadow:0 0 6px #f59e0b66}.spinner{display:inline-block;border-radius:50%;animation:spin .8s linear infinite}@media(max-width:1075px){.header{padding:0 1.5rem;height:62px}.header.scrolled .header-logo{display:none}.header-nav{transform:translate(-60%)}.header-logo{height:40px}}@media(max-width:717px){.header-content{gap:.5rem}.header-logo{display:inline;left:50%!important;transform:translate(-50%)!important;align-content:center}.header.scrolled .header-logo{display:inline;left:50%!important;transform:translate(-50%)!important}.menu-toggle{display:flex;align-items:center;justify-content:center}.header-nav,.header.scrolled .header-nav{position:fixed;top:62px;right:1rem;width:216px;background:var(--bg-surface);flex-direction:column;padding:.5rem;gap:0;box-shadow:var(--shadow-lg);border-radius:var(--radius-md);border:1px solid var(--border);z-index:999;opacity:0;visibility:hidden;transform:translateY(-10px) scale(.96)!important;transition:all .25s cubic-bezier(.4,0,.2,1);transform-origin:top right;left:auto}.header-nav.open,.header.scrolled .header-nav.open{opacity:1;visibility:visible;transform:translateY(0) scale(1)!important;width:190px}.header-nav a,.header.scrolled .header-nav a{padding:.8rem 1rem;border-radius:var(--radius-sm);width:100%;justify-content:flex-start;font-size:.8rem}.header-nav a:after{display:none}}@media(max-width:615px){.header-logo{left:0!important;transform:translate(0)!important;align-content:center}.header.scrolled .header-logo{left:0!important;transform:translate(0)!important}}@media(max-width:405px){.logo-full{font-size:1.45rem}.lang-btn{min-width:46px;padding:.35rem .6rem;font-size:.72rem}.theme-toggle-group{--btn-size: 24px;--gap-size: 1.5px;--padding-size: 2px}}@media(max-width:360px){.logo-full{font-size:1.2rem;align-items:center}.lang-btn{min-width:46px;padding:.35rem .6rem;font-size:.72rem}}.contact-popup-overlay{position:fixed;inset:0;background:#0f172a8c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:2000;animation:fadeIn .25s ease-in-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.contact-popup{background:var(--bg-surface);border-radius:var(--radius-lg);padding:2rem;max-width:580px;width:90%;max-height:90vh;overflow-y:auto;position:relative;border:1px solid var(--border);box-shadow:var(--shadow-lg);animation:slideUp .28s ease-out}@keyframes slideUp{0%{transform:translateY(24px);opacity:0}to{transform:translateY(0);opacity:1}}.close-button-form{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.6rem;cursor:pointer;color:var(--text-muted);width:36px;height:36px;display:flex;align-items:center;justify-content:center;padding:0;border-radius:var(--radius-sm);transition:color var(--transition),background var(--transition);transform-origin:center}.close-button-form:hover{color:var(--text-primary);background:var(--bg-elevated)}.contact-popup h2{margin:0 0 1.5rem;color:var(--text-primary);font-size:1.5rem;font-weight:700;text-align:center;letter-spacing:-.03em}.contact-tabs{display:flex;gap:0;margin-bottom:1.75rem;border-bottom:1px solid var(--border)}.tab-button{flex:1;padding:.85rem 1rem;background:none;border:none;cursor:pointer;font-size:.9rem;font-weight:500;color:var(--text-muted);transition:all var(--transition);border-bottom:2px solid transparent;margin-bottom:-1px;display:flex;align-items:center;justify-content:center;gap:.5rem;border-radius:0}.tab-button:hover{color:var(--text-secondary);background:var(--bg-elevated)}.tab-button.active{color:var(--brand);font-weight:600;border-bottom-color:var(--brand);background:transparent}.contact-info{display:flex;flex-direction:column;gap:.75rem}.info-item{display:flex;align-items:center;gap:1rem;padding:.9rem 1rem;background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:var(--radius);transition:all var(--transition);text-decoration:none;color:inherit;cursor:pointer}.info-item:hover{background:var(--brand-muted);border-color:var(--brand-border);transform:translate(3px)}.info-icon{font-size:1.3rem;flex-shrink:0}.info-icon-img{width:1.3rem;height:1.3rem;object-fit:contain;flex-shrink:0}.info-content{flex:1;text-align:left}.info-content h3{margin:0 0 .2rem;font-size:.75rem;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.07em}.info-content a{color:var(--brand);text-decoration:none;font-size:.95rem;transition:color var(--transition)}.info-content a:hover{color:var(--brand-hover);text-decoration:underline}.info-content span,.info-content p{color:var(--text-secondary);font-size:.95rem;margin:0;-webkit-user-select:text;user-select:text}.form-group{margin-bottom:1.25rem}.form-group label{display:block;margin-bottom:.45rem;color:var(--text-primary);font-weight:500;font-size:.875rem;text-align:left}.required-asterisk{color:var(--error);margin-left:.2rem;font-weight:700}.contact-info-text{display:block;margin-top:.35rem;color:var(--text-muted);font-size:.8rem;font-style:italic}.form-group input,.form-group textarea{width:100%;padding:.7rem .9rem;border:1px solid var(--border);border-radius:var(--radius);font-size:.95rem;font-family:var(--font-sans);transition:border-color var(--transition),box-shadow var(--transition);box-sizing:border-box;background:var(--bg-base);color:var(--text-primary)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-muted);background:var(--bg-surface)}.form-group textarea{resize:vertical;min-height:100px}.submit-button{width:100%;padding:.85rem;background:var(--brand);color:var(--text-inverse);border:none;border-radius:var(--radius);font-size:.95rem;font-weight:600;font-family:var(--font-sans);cursor:pointer;transition:all var(--transition);letter-spacing:.01em}.submit-button:hover{background:var(--brand-hover);box-shadow:var(--shadow-brand);transform:translateY(-1px)}.submit-button:active{transform:translateY(0);box-shadow:none}.status-message{padding:.85rem 1rem;border-radius:var(--radius);margin-bottom:1rem;text-align:center;font-weight:500;font-size:.9rem}.status-message.success{background:var(--success-muted);color:var(--success);border:1px solid rgba(22,163,74,.25)}.status-message.error{background:var(--error-muted);color:var(--error);border:1px solid rgba(220,38,38,.2)}.status-message.sending{background:var(--brand-muted);color:var(--brand);border:1px solid var(--brand-border);display:flex;align-items:center;justify-content:center;gap:.75rem}.spinner{width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--brand);border-radius:50%;animation:spin .8s linear infinite;flex-shrink:0}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:768px){.contact-popup{padding:1.5rem;width:96%}.contact-popup h2{font-size:1.3rem}.tab-button{font-size:.82rem;padding:.7rem .5rem}.info-item{padding:.75rem}.info-icon{font-size:1.1rem}}.popup-confirm-overlay{position:fixed;inset:0;background:#0f172a8c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:2000;animation:confirmFadeIn .22s ease-in-out}@keyframes confirmFadeIn{0%{opacity:0}to{opacity:1}}.popup-confirm-container{position:relative;background:var(--bg-surface);border-radius:var(--radius-lg);padding:2rem;max-width:480px;width:88%;border:1px solid var(--border);box-shadow:var(--shadow-lg);animation:confirmSlideUp .26s ease-out}@keyframes confirmSlideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.popup-confirm-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-muted);width:36px;height:36px;display:flex;align-items:center;justify-content:center;padding:0;border-radius:var(--radius-sm);transition:color var(--t) var(--ease),background var(--t) var(--ease)}.popup-confirm-close:hover{color:var(--text-primary);background:var(--bg-elevated)}.popup-confirm-close:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.popup-confirm-container h3{margin:0 0 1.25rem;color:var(--text-primary);font-size:1.3rem;font-weight:700;text-align:center;letter-spacing:-.02em;padding-right:2rem}.confirmation-data{margin-bottom:1.5rem;background:var(--bg-base);border:1px solid var(--border-subtle);padding:1.25rem;border-radius:var(--radius)}.confirmation-item{display:flex;flex-direction:column;gap:.2rem;margin-bottom:.9rem;padding-bottom:.9rem;border-bottom:1px solid var(--border-subtle)}.confirmation-item:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.confirmation-item strong{color:var(--text-muted);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em}.confirmation-item span{color:var(--text-primary);font-size:.925rem;word-break:break-word}.confirmation-buttons{display:flex;gap:.75rem;justify-content:center}.popup-confirm-btn{padding:.7rem 1.5rem;border:1px solid transparent;border-radius:var(--radius);font-size:.9rem;font-weight:600;font-family:var(--font-sans);cursor:pointer;transition:all var(--t) var(--ease);background:var(--brand);color:var(--text-inverse)}.popup-confirm-btn:hover{background:var(--brand-hover);box-shadow:var(--shadow-brand);transform:translateY(-1px)}.popup-confirm-btn:active{transform:translateY(0);box-shadow:none}@media(max-width:768px){.popup-confirm-container{padding:1.5rem;width:92%}.popup-confirm-container h3{font-size:1.15rem}.confirmation-buttons{flex-direction:column}.popup-confirm-btn{width:100%}}.lanyard-wrapper{position:absolute;top:-25px;left:0;width:100%;max-width:100%;height:100vh;z-index:0;display:flex;justify-content:center;align-items:center;transform-origin:center;pointer-events:auto}.chatbot-button{position:fixed;bottom:32px;right:20px;width:56px;height:56px;background:var(--brand);color:var(--text-inverse);border:none;border-radius:50%;font-size:22px;cursor:pointer;box-shadow:var(--shadow-brand),var(--shadow-md);z-index:1000;display:flex;align-items:center;justify-content:center;transition:all var(--transition)}.chatbot-button:hover{background:var(--brand-hover);box-shadow:0 6px 24px #1e3a8a59,var(--shadow-md)}.chat-tooltip{position:fixed;bottom:44px;right:88px;background:var(--bg-surface);color:var(--text-primary);padding:7px 12px;border-radius:var(--radius);font-size:13px;font-weight:500;border:1px solid var(--border);box-shadow:var(--shadow-md);z-index:999;white-space:nowrap}.chatbot-popup{position:fixed;bottom:102px;right:20px;width:min(350px,calc(100vw - 40px));height:min(500px,calc(100vh - 250px));max-width:90vw;max-height:calc(100vh - 250px);background:var(--bg-surface);border-radius:var(--radius-md);border:1px solid var(--border);box-shadow:var(--shadow-lg);z-index:1000;display:flex;flex-direction:column;overflow:hidden}.chatbot-header{background:var(--brand);color:var(--text-inverse);padding:12px 14px;display:flex;flex-direction:row;align-items:center;gap:10px;border-radius:var(--radius-md) var(--radius-md) 0 0}.chatbot-header h3{margin:0;font-size:16px;font-weight:600;color:var(--text-inverse);letter-spacing:-.02em;display:flex}.chatbot-header span{font-size:12px;opacity:.85;font-weight:400;letter-spacing:.2px;color:var(--text-inverse)}.chatbot-messages{flex:1;padding:10px;overflow-y:auto;display:flex;flex-direction:column;gap:8px;background:var(--bg-base);scrollbar-width:thin;scrollbar-color:var(--border) transparent}.chatbot-messages::-webkit-scrollbar{width:4px}.chatbot-messages::-webkit-scrollbar-track{background:transparent}.chatbot-messages::-webkit-scrollbar-thumb{background:var(--border);border-radius:99px}.message{padding:8px 12px;max-width:82%;word-wrap:break-word;font-size:14.5px;line-height:1.45;border-radius:16px}.message.user{background:var(--brand);color:var(--text-inverse);align-self:flex-end;text-align:right;border-radius:16px 16px 4px}.message.bot{background:var(--bg-surface);color:var(--text-primary);align-self:flex-start;text-align:left;border-radius:16px 16px 16px 4px;border:1px solid var(--border-subtle)}.message.bot p{margin:.35em 0;font-size:14.5px}.message.bot p:first-child{margin-top:0}.message.bot p:last-child{margin-bottom:0}.message.bot code{background:var(--brand-muted);color:var(--brand);padding:1px 5px;border-radius:4px;font-family:var(--font-mono);font-size:13px}.message.bot pre{background:var(--bg-elevated);border:1px solid var(--border);padding:8px;border-radius:var(--radius);overflow-x:auto;margin:.4em 0;font-size:13px}.message.bot pre code{background:transparent;color:var(--text-primary);padding:0}.message.bot ul,.message.bot ol{margin:.35em 0;padding-left:1.2em;font-size:14.5px}.message.bot li{margin:.15em 0}.message.bot strong{font-weight:700}.message.bot em{font-style:italic}.message.bot a{color:var(--brand);text-decoration:underline}.message.bot a:hover{color:var(--brand-hover)}.message.bot blockquote{border-left:3px solid var(--accent);padding-left:8px;margin:.35em 0;color:var(--text-secondary);font-size:13.5px}.message.bot h1,.message.bot h2,.message.bot h3,.message.bot h4,.message.bot h5,.message.bot h6{margin:.35em 0;font-size:15px;font-weight:700;color:var(--text-primary)}.typing-indicator{display:flex;gap:4px;align-items:center}.typing-indicator span{width:7px;height:7px;background:var(--brand);border-radius:50%;animation:bounce 1.3s infinite ease-in-out both;opacity:.7}.typing-indicator span:nth-child(1){animation-delay:-.32s}.typing-indicator span:nth-child(2){animation-delay:-.16s}.typing-indicator span:nth-child(3){animation-delay:0s}@keyframes bounce{0%,80%,to{transform:scale(0);opacity:.4}40%{transform:scale(1);opacity:1}}.message.system{background:var(--warning-muted);color:var(--warning);align-self:center;text-align:center;border:1px solid rgba(217,119,6,.2);font-weight:600;font-size:13px;border-radius:var(--radius)}.chatbot-input{margin:8px;border:1px solid var(--border);border-radius:var(--radius);display:flex;align-items:flex-end;background:var(--bg-surface);transition:border-color var(--transition),box-shadow var(--transition)}.chatbot-input:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-muted)}.chatbot-input input,.chatbot-input textarea{flex:1;padding:8px 10px;border:none;border-radius:var(--radius);outline:none;word-wrap:break-word;font-size:15px;line-height:1.4;box-sizing:border-box;background:transparent;color:var(--text-primary);box-shadow:none}.chatbot-input textarea{font-family:var(--font-sans)}.chatbot-input button{padding:0;background:transparent;border:none;cursor:pointer;margin-bottom:5px;margin-right:8px;border-radius:0}.chatbot-input button:not(:disabled) .send-icon{stroke:var(--brand)}.chatbot-input button:disabled .send-icon{stroke:var(--text-muted);cursor:not-allowed}.chatbot-input button:not(:disabled) .mic-icon{stroke:var(--brand)}.chatbot-input button:disabled .mic-icon{stroke:var(--text-muted);cursor:not-allowed}.send-icon,.mic-icon{padding-right:2px;padding-top:1px}@media(max-width:1075px){.chat-tooltip{display:none}}@media(max-width:768px){.chatbot-popup{width:340px;max-width:calc(100vw - 40px);height:460px;max-height:calc(100vh - 240px);right:20px;bottom:102px}.chatbot-header h3{font-size:15px}.chatbot-header span{font-size:11px}.message{font-size:14px;max-width:87%}.message.bot p,.message.bot ul,.message.bot ol,.message.bot a,.message.bot strong,.message.bot em{font-size:14px}}@media(max-width:480px){.chatbot-button{width:50px;height:50px;font-size:20px;bottom:32px;right:14px}.chatbot-popup{width:320px;max-width:calc(100vw - 20px);height:430px;max-height:calc(100vh - 200px);right:10px;bottom:100px;border-radius:var(--radius)}.chatbot-header{padding:10px 12px}.chatbot-header h3{font-size:14px}.chatbot-header span{font-size:10px}.chatbot-messages{padding:8px;gap:6px}.message{font-size:13px;padding:7px 10px;max-width:90%}.message.bot p,.message.bot ul,.message.bot ol,.message.bot a,.message.bot strong,.message.bot em{font-size:13px}.message.bot h1,.message.bot h2,.message.bot h3,.message.bot h4,.message.bot h5,.message.bot h6{font-size:14px}.message.bot code,.message.bot pre{font-size:12px}}@media(max-width:360px){.chatbot-popup{width:calc(100vw - 10px);height:400px;right:5px}.chatbot-header h3{font-size:13px}.chatbot-header span{font-size:10px}.message,.message.bot p,.message.bot ul,.message.bot ol,.message.bot a,.message.bot strong,.message.bot em{font-size:12px}}@media(max-height:600px){.chatbot-popup{height:480px;max-height:calc(100vh - 140px)}}.transcribing{animation:transcription-pulse 1.5s infinite;color:var(--brand)}@keyframes transcription-pulse{0%,to{opacity:1}50%{opacity:.45}}.recording-btn{animation:recording-pulse 2s infinite}@keyframes recording-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}.permission-popup{position:absolute;bottom:60px;right:-20px;background:var(--error);color:var(--text-inverse);padding:9px 14px;border-radius:var(--radius);font-size:13px;font-weight:500;font-family:var(--font-sans);box-shadow:0 4px 16px #dc26264d;z-index:1000;max-width:200px;text-align:center;animation:fadeIn .25s ease-in-out}.permission-popup:after{content:"";position:absolute;bottom:-7px;right:32px;border-width:7px 7px 0;border-style:solid;border-color:var(--error) transparent transparent transparent}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}button.footer-back-top.scroll-up-btn{background:var(--bg-surface);color:var(--brand);border:1.5px solid var(--brand-border);box-shadow:var(--shadow-md);position:fixed;bottom:100px;right:29px;z-index:999;opacity:0;pointer-events:none;transform:translateY(10px);transition:opacity .3s ease,transform .3s ease,background .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease}button.footer-back-top.scroll-up-btn.visible{opacity:1;pointer-events:auto;transform:translateY(0)}button.footer-back-top.scroll-up-btn:hover{background:var(--brand);color:var(--text-inverse);border-color:var(--brand);transform:translateY(-3px);box-shadow:var(--shadow-brand)}@media(max-width:480px){button.footer-back-top.scroll-up-btn{bottom:94px;right:22px}}.footer{background:var(--bg-surface);border-top:1px solid var(--border);padding:3rem 0 2.5rem;margin-top:4rem;width:100%;opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}.footer.footer-visible{opacity:1;transform:translateY(0)}.footer-content{max-width:1200px;margin:0 auto;padding:0 3rem}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:2rem;margin-bottom:2rem;padding:0 1rem}.footer-brand{font-family:Playfair Display,Garamond,Baskerville,Georgia,serif;font-size:1.5rem;font-weight:800;color:var(--brand);letter-spacing:-.04em;text-transform:lowercase;display:block;margin-bottom:.4rem;transition:color var(--transition),transform var(--transition)}.footer-brand:hover{color:var(--brand-hover);transform:translate(2px)}.footer-tagline{color:var(--text-muted);font-size:.875rem;line-height:1.6;margin:0;font-weight:400}.footer-social{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap}.footer-social-link{color:var(--text-secondary);text-decoration:none;font-size:.875rem;font-weight:500;transition:all var(--transition);padding:.45rem .75rem;display:flex;align-items:center;gap:.4rem;border-radius:var(--radius);border:1px solid transparent}.footer-social-link:hover{color:var(--brand);background:var(--brand-muted);border-color:var(--brand-border);transform:translateY(-1px)}.footer-cta-link{background:var(--brand);color:var(--text-inverse)!important;border-color:var(--brand)!important;font-weight:600}.footer-cta-link:hover{background:var(--brand-hover)!important;border-color:var(--brand-hover)!important;color:var(--text-inverse)!important;box-shadow:var(--shadow-brand);transform:translateY(-2px)}.footer-social-icon{width:16px;height:16px;object-fit:contain;transition:transform var(--transition);opacity:.8}.footer-social-link:hover .footer-social-icon{transform:scale(1.15);opacity:1}.footer-social-divider{color:var(--border);font-size:1rem;-webkit-user-select:none;user-select:none}.footer-back-top{background:var(--bg-elevated);color:var(--text-secondary);border:1px solid var(--border);border-radius:50%;width:38px;height:38px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition);flex-shrink:0;padding:0}.footer-back-top:hover{background:var(--brand);color:var(--text-inverse);border-color:var(--brand);transform:translateY(-3px);box-shadow:var(--shadow-brand)}.footer-divider{height:1px;background:var(--border);margin:1.5rem 0 1.25rem}.footer-copyright{color:var(--text-muted);font-size:.82rem;margin:0;font-weight:400}.footer-recaptcha{color:var(--text-muted);font-size:.75rem;margin:.4rem 0 0;font-weight:400}.footer-recaptcha a{color:var(--brand);text-decoration:none;transition:color var(--transition)}.footer-recaptcha a:hover{color:var(--brand-hover);text-decoration:underline}@media(max-width:1075px){.footer{padding:2.5rem 0 5rem}.footer-content{padding:0 1.5rem}.footer-top{gap:1.25rem}.footer-social{gap:.3rem}.footer-social-link{font-size:.82rem}.footer-social-icon{width:14px;height:14px}}@media(max-width:768px){.footer{padding:2rem 0 5rem;margin-top:3rem}.footer-content{padding:0 1.25rem;text-align:center}.footer-top{flex-direction:column;align-items:center;gap:1.25rem}.footer-logo{width:100%;text-align:center}.footer-brand{font-size:1.3rem}.footer-tagline{font-size:.85rem;max-width:100%}.footer-social{flex-wrap:wrap;gap:.4rem;justify-content:center}.footer-copyright{font-size:.78rem;text-align:center}.footer-recaptcha{font-size:.7rem;text-align:center}.footer-back-top{width:34px;height:34px}}@media(max-width:480px){.footer{padding:1.5rem 0 4.5rem}.footer-content{padding:0 1rem}.footer-social{width:100%;flex-direction:column;align-items:center}.footer-social-link{justify-content:center}.footer-divider{margin:1.25rem 0 1rem}.footer-social-divider{display:none}}.inf-wrapper{width:100%;overflow:hidden;padding:0;-webkit-user-select:none;user-select:none;box-sizing:border-box;background:var(--bg-surface);height:96px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:center;position:relative;z-index:1}.inf-wrapper:before,.inf-wrapper:after{content:"";position:absolute;top:0;bottom:0;width:80px;z-index:2;pointer-events:none}.inf-wrapper:before{left:0;background:linear-gradient(to right,var(--bg-surface) 20%,transparent)}.inf-wrapper:after{right:0;background:linear-gradient(to left,var(--bg-surface) 20%,transparent)}.inf-track{display:flex;gap:4rem;height:96px;will-change:transform;align-items:center}.inf-item{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;width:auto;height:70px;box-sizing:border-box;flex-shrink:0;cursor:default}.inf-item img{height:38px;max-width:100%;object-fit:contain;display:block;filter:grayscale(40%) opacity(.85);transition:filter .4s ease,transform .4s ease,opacity .4s ease}.inf-item span{height:70px;position:absolute;inset:0;display:flex;justify-content:center;align-items:center;opacity:0;transition:opacity .35s ease,transform .35s ease;font-weight:700;color:var(--brand);white-space:wrap;font-size:.95rem;font-family:var(--font-sans);letter-spacing:-.02em;padding:0 .5rem;text-align:center;transform:translateY(6px)}.inf-item:hover img{filter:grayscale(100%) opacity(0);transform:scale(.8)}.inf-item:hover span{opacity:1;transform:translateY(0)}@media(max-width:1024px){.inf-wrapper{height:84px}.inf-track{gap:3rem;height:84px}.inf-item{height:60px}.inf-item img{height:34px}.inf-item span{height:60px;font-size:.88rem}}@media(max-width:768px){.inf-wrapper{height:74px}.inf-track{gap:2.25rem;height:74px}.inf-item{height:52px}.inf-item img{height:28px}.inf-item span{height:52px;font-size:.82rem}.inf-wrapper:before,.inf-wrapper:after{width:50px}}@media(max-width:480px){.inf-wrapper{height:64px}.inf-track{gap:1.75rem;height:64px}.inf-item{height:44px}.inf-item img{height:24px}.inf-item span{height:44px;font-size:.78rem}.inf-wrapper:before,.inf-wrapper:after{width:32px}}.inicio{margin:1.5rem auto;margin-top:86px;padding:3.25rem 3.5rem;max-width:1060px;width:calc(100% - 3rem);position:relative;font-family:var(--font-sans);background:var(--bg-surface-glass);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);overflow:hidden;opacity:0;transform:translateY(28px);transition:opacity .75s var(--ease-out),transform .75s var(--ease-out),box-shadow var(--t-slow) var(--ease);z-index:1}.inicio:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;border-radius:var(--radius-xl) var(--radius-xl) 0 0}.inicio.hero-visible{opacity:1;transform:translateY(0)}.inicio:hover{box-shadow:var(--shadow-lg)}.hero-eyebrow{display:inline-flex;align-items:center;gap:.55rem;background:var(--brand-muted);border:1px solid var(--brand-border);border-radius:99px;padding:.46rem 1rem;margin-bottom:1.4rem;font-size:.75rem;font-weight:600;color:var(--brand);letter-spacing:.05em;font-family:var(--font-mono);line-height:1;animation:eyebrowPop .55s var(--ease-spring) .2s both}.hero-eyebrow-dot{width:7px;height:7px;background:var(--success);border-radius:50%;animation:pulseDot 2.4s ease infinite;flex-shrink:0;position:relative;top:.5px}.hero-eyebrow-text{display:inline-block;line-height:1;transform:translateY(1px)}.hero-title{font-size:clamp(2.2rem,5vw,3.8rem);line-height:1.06;margin-bottom:0;font-weight:900;color:var(--text-primary);letter-spacing:-3px;animation:fadeUp .7s var(--ease-out) .35s both}.highlight-text{color:var(--brand-mid);display:inline;font-size:2rem}.highlight-text .text-type{display:inline;max-width:100%}.highlight-text .text-type__content{text-decoration-line:underline;text-decoration-color:var(--accent);text-decoration-thickness:.22em;text-underline-offset:.06em;text-decoration-skip-ink:none}.hero-description{margin-top:2rem;max-width:540px;padding-left:1.2rem;border-left:3px solid var(--accent);animation:fadeUp .7s var(--ease-out) .5s both}.hero-description p{font-size:clamp(.8rem,1.6vw,1rem);line-height:1.6;color:var(--text-secondary);margin-bottom:.6rem;word-break:break-word;text-align:justify;text-justify:inter-word;-webkit-text-size-adjust:100%;text-align-last:justify}.hero-description p:last-child{margin-bottom:0}.highlight-desc-text{color:var(--brand-mid);font-weight:800;text-decoration-line:underline;text-decoration-color:var(--accent);text-decoration-thickness:.22em;text-underline-offset:.06em;text-decoration-skip-ink:none}.hero-cta{display:flex;gap:.8rem;margin-top:2.25rem;flex-wrap:wrap;animation:fadeUp .7s var(--ease-out) .65s both}.hero-btn-primary{display:inline-flex;align-items:center;gap:.5rem;padding:.72rem 1.5rem;background:var(--brand);color:var(--text-inverse);border:none;border-radius:var(--radius);font-weight:700;font-size:.9rem;font-family:var(--font-sans);cursor:pointer;transition:all var(--t) var(--ease);position:relative;overflow:hidden}.hero-btn-primary:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 25%,rgba(255,255,255,.18) 50%,transparent 75%);transform:translate(-100%);transition:transform .55s ease}.hero-btn-primary:hover:after{transform:translate(100%)}.hero-btn-primary:hover{background:var(--brand-hover);box-shadow:var(--shadow-brand);transform:translateY(-2px)}.hero-btn-primary:active{transform:translateY(0);box-shadow:none}.hero-btn-arrow{display:inline-block;transition:transform var(--t) var(--ease)}.hero-btn-primary:hover .hero-btn-arrow{transform:translateY(3px)}.hero-btn-secondary{display:inline-flex;align-items:center;gap:.5rem;padding:.72rem 1.5rem;background:transparent;color:var(--brand);border:1.5px solid var(--brand-border);border-radius:var(--radius);font-weight:600;font-size:.9rem;font-family:var(--font-sans);cursor:pointer;transition:all var(--t) var(--ease)}.hero-btn-secondary:hover{background:var(--brand-muted);border-color:var(--brand-mid);transform:translateY(-1px)}.hero-visual{position:absolute;right:24px;top:50%;transform:translateY(-50%);z-index:-1;pointer-events:none;animation:fadeIn 1s var(--ease-out) .6s both}.blob-shape{bottom:-80px;right:-60px;width:340px;height:340px;background:linear-gradient(135deg,var(--bg-elevated) 0%,var(--blob-color-1) 50%,var(--blob-color-2) 100%);border-radius:60% 40% 30% 70%/60% 30% 70% 40%;animation:blobMorph 10s ease-in-out infinite,floatY 7s ease-in-out infinite;position:relative}.blob-shape:before{content:"";position:absolute;top:12%;right:12%;width:90px;height:90px;background:var(--accent);border-radius:50%;opacity:var(--blob-opacity-1);filter:blur(38px)}.blob-shape:after{content:"";position:absolute;bottom:12%;left:12%;width:65px;height:65px;background:var(--brand-mid);border-radius:50%;opacity:var(--blob-opacity-2);filter:blur(28px)}@media(min-width:1025px){.inicio{margin-left:5.5rem;margin-right:auto;width:calc(100% - 3rem - 450px);padding:3.25rem 2.25rem}.hero-title{font-size:clamp(2rem,4.2vw,3.3rem);min-height:139px!important;letter-spacing:-2px}.hero-visual{position:absolute;right:24px;top:50%;transform:translateY(-50%);z-index:-1;pointer-events:none;animation:fadeIn 1s var(--ease-out) .6s both}}@media(max-width:1024px){.inicio{padding:2.5rem;max-width:unset;width:calc(100% - 2rem)}.hero-title{min-height:15px!important;letter-spacing:-2px}}@media(max-width:768px){.inicio{margin-top:78px;padding:2rem 1.5rem}.hero-title{min-height:115px!important;letter-spacing:-2px}.hero-description{max-width:100%}}@media(max-width:480px){.inicio{margin:.5rem;margin-top:72px;padding:1.6rem 1.2rem;border-radius:var(--radius-lg)}.hero-eyebrow{font-size:.6rem}.hero-cta{flex-direction:column}.hero-btn-primary,.hero-btn-secondary{font-size:.8rem;width:100%;justify-content:center}}.text-type{display:inline-block;white-space:pre-wrap}.text-type__cursor{margin-left:.15rem;display:inline-block;opacity:1;font-weight:500;animation:textTypeCursorBlink .8s ease-in-out infinite alternate}.text-type__cursor--hidden{display:none}@keyframes textTypeCursorBlink{0%{opacity:1}to{opacity:0}}.about-timeline-container{padding:2.5rem 1.5rem 0;background-color:transparent;display:flex;justify-content:center;font-family:var(--font-sans);width:100%;opacity:0;transform:translateY(24px);transition:opacity .65s ease,transform .65s ease}.about-timeline-container.about-visible{opacity:1;transform:translateY(0)}.about-content{margin:1.5rem auto;padding:3.25rem 3.5rem;max-width:1060px;width:calc(100% - 3rem);position:relative;font-family:var(--font-sans);background:var(--bg-surface-glass);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);display:flex;flex-direction:column;align-items:center;gap:1.25rem;overflow:hidden;transition:box-shadow var(--t-slow) var(--ease);text-align:center}.about-content:hover{box-shadow:var(--shadow-lg)}.about-eyebrow{font-family:var(--font-mono);font-size:.72rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--brand);background:var(--brand-muted);padding:.28rem .8rem;border-radius:99px;border:1px solid var(--brand-border);transition:background var(--transition),box-shadow var(--transition);opacity:0;transform:scale(.85)}.about-timeline-container.about-visible .about-eyebrow{animation:eyebrowPop .4s cubic-bezier(.34,1.56,.64,1) .1s both}@keyframes eyebrowPop{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.about-title{font-size:1.9rem;font-weight:800;color:var(--text-primary);margin:0;letter-spacing:-.04em}.about-title .highlight{color:var(--brand-mid);position:relative;display:inline-block}.about-title .highlight:after{content:"";position:absolute;width:100%;height:4px;bottom:1px;left:0;background:var(--accent);opacity:0;z-index:-1;border-radius:2px;transform:scaleX(0);transform-origin:left;transition:transform .5s ease .4s,opacity .5s ease .4s}.about-timeline-container.about-visible .about-title .highlight:after{transform:scaleX(1);opacity:1}.about-description{font-size:1rem;line-height:1.75;color:var(--text-secondary);margin:0;max-width:620px}.about-profile-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:3.5rem;width:100%;text-align:left;margin-bottom:2.2rem;margin-top:.5rem;border-bottom:1px solid var(--border-subtle);padding-bottom:2.2rem}.about-bio-column{display:flex;flex-direction:column;gap:1.2rem}.about-bio-text{font-size:.95rem;line-height:1.75;color:var(--text-secondary);margin:0;text-align:justify;text-justify:inter-word}.about-bio-text .bio-strong,.pillar-desc .bio-strong{color:var(--text-primary);font-weight:600}.about-pillars-column{display:flex;flex-direction:column;gap:1.2rem}.pillars-section-title{font-family:var(--font-mono);font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--brand);margin:0 0 .1rem}.pillars-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:1.35rem}.pillar-list-item{position:relative;padding-left:1.15rem}.pillar-list-item:before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:2px;background:var(--border);transition:background var(--t)}.pillar-list-item:nth-child(1):before{background:var(--brand-mid)}.pillar-list-item:nth-child(2):before{background:var(--accent)}.pillar-list-item:nth-child(3):before{background:var(--brand)}.pillar-label{display:block;font-size:.95rem;font-weight:700;color:var(--text-primary);margin-bottom:.2rem}.pillar-desc{font-size:.84rem;line-height:1.5;color:var(--text-secondary);margin:0;text-align:justify;text-justify:inter-word}@media(max-width:1024px){.about-content{padding:2.5rem;max-width:unset;width:calc(100% - 2rem)}}@media(max-width:800px){.about-profile-grid{grid-template-columns:1fr;gap:2.2rem;margin-top:1.8rem;padding-top:1.8rem}.about-title{font-size:1.7rem}.about-description{font-size:.9rem}}@media(max-width:768px){.about-content{padding:2rem 1.5rem}.about-timeline-container{padding:2rem 1rem 0}}@media(max-width:480px){.about-content{margin:.5rem auto;padding:1.6rem 1.2rem;border-radius:var(--radius-lg);width:calc(100% - 1rem)}.about-bio-text{font-size:.9rem;line-height:1.7}.pillar-label{font-size:.9rem}.pillar-desc{font-size:.8rem}}.about-easter-egg-bug{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;font-size:.9rem;cursor:pointer;-webkit-user-select:none;user-select:none;opacity:.25;transition:opacity .25s ease,transform .2s cubic-bezier(.34,1.56,.64,1),filter .2s ease;filter:drop-shadow(1px 1px 0 #ffffff) drop-shadow(-1px 1px 0 #ffffff) drop-shadow(1px -1px 0 #ffffff) drop-shadow(-1px -1px 0 #ffffff) drop-shadow(0 0 3px rgba(59,130,246,.5))}.about-easter-egg-bug:hover{opacity:1;transform:scale(1.3) rotate(-12deg);filter:drop-shadow(1px 1px 0 #ffffff) drop-shadow(-1px 1px 0 #ffffff) drop-shadow(1px -1px 0 #ffffff) drop-shadow(-1px -1px 0 #ffffff) drop-shadow(0 0 8px rgba(245,158,11,.9))}.timeline-container{display:grid;grid-template-columns:160px 1fr;background:var(--bg-surface);border-radius:var(--radius-lg);padding:2rem;font-family:var(--font-sans);overflow:hidden;position:relative;border:1px solid var(--border);max-width:1280px;box-shadow:var(--shadow-md);transition:box-shadow var(--t-slow) var(--ease),opacity .65s var(--ease),transform .65s var(--ease);opacity:0;transform:translateY(28px)}.timeline-container.reveal-visible{opacity:1;transform:translateY(0)}.timeline-container:hover{box-shadow:var(--shadow-lg)}.timeline-sidebar{display:flex;flex-direction:column;padding-top:50px;z-index:2;background:var(--bg-surface);border-right:1px solid var(--border)}.timeline-category{height:68px;display:flex;align-items:center;padding-right:16px;font-weight:600;color:var(--text-primary);font-size:.875rem;letter-spacing:-.01em;text-transform:capitalize;padding-left:8px;border-radius:var(--radius-sm) 0 0 var(--radius-sm);transition:background var(--transition),color var(--transition)}.timeline-category:nth-child(2n){background:var(--bg-base)}.timeline-content{position:relative;min-width:0;overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.timeline-content::-webkit-scrollbar{height:5px}.timeline-content::-webkit-scrollbar-track{background:transparent}.timeline-content::-webkit-scrollbar-thumb{background:var(--border);border-radius:99px}.timeline-content::-webkit-scrollbar-thumb:hover{background:#94a3b8}.timeline-header{height:50px;position:relative;border-bottom:1px solid var(--border);min-width:1800px}.timeline-year-marker{position:absolute;top:50px;bottom:-9999px;border-left:1px dashed var(--border);pointer-events:none;z-index:1}.timeline-year-label{position:absolute;top:-30px;left:0;transform:translate(-50%);font-weight:600;color:var(--text-muted);font-size:.75rem;font-family:var(--font-mono);background:var(--bg-surface);padding:2px 6px;border-radius:var(--radius-sm);letter-spacing:.04em}.timeline-year-marker:first-child .timeline-year-label{transform:translate(0)}.timeline-rows-container{display:flex;flex-direction:column;min-width:1800px;position:relative}.timeline-row-guide{height:68px;width:100%;position:relative;transition:background var(--transition)}.timeline-row-guide:nth-child(2n){background:var(--bg-base)}.timeline-item{box-sizing:border-box;position:absolute;height:40px;top:14px;border-radius:var(--radius);padding:0 14px;display:flex;flex-direction:column;justify-content:center;font-size:.83rem;overflow:hidden;white-space:nowrap;cursor:pointer;z-index:10;border:1px solid transparent;opacity:0;transform:scaleX(.4);transform-origin:left center;transition:filter .2s ease,box-shadow .2s ease,transform .2s ease}.timeline-container.reveal-visible .timeline-item{animation:scaleXIn .55s cubic-bezier(.34,1.56,.64,1) both}@keyframes scaleXIn{0%{opacity:0;transform:scaleX(.4)}to{opacity:1;transform:scaleX(1)}}.timeline-item.item-variant-0,.timeline-item.item-variant-2{background:var(--brand);color:var(--text-inverse);border-color:var(--brand-hover)}.timeline-item.item-variant-1,.timeline-item.item-variant-3{background:var(--accent);color:var(--text-primary);border-color:var(--accent-dark)}.timeline-item:hover{filter:brightness(1.1);box-shadow:0 4px 14px #0000002e;transform:translateY(-2px) scale(1.01);z-index:20}.timeline-item.item-variant-1:hover,.timeline-item.item-variant-3:hover{filter:brightness(1.06);box-shadow:0 4px 14px #eab3084d}.timeline-item-title{font-weight:600;letter-spacing:.01em;text-overflow:ellipsis;overflow:hidden}.timeline-item-sub{font-size:.68rem;opacity:.82}@media(max-width:768px){.timeline-container{grid-template-columns:90px 1fr;padding:1.25rem;width:96%}.timeline-category{font-size:.72rem;padding-right:8px}.timeline-item{font-size:.75rem;padding:0 10px}}@media(max-width:480px){.timeline-container{grid-template-columns:75px 1fr;padding:1rem;width:98%}.timeline-category{font-size:.65rem;padding-right:6px}.timeline-item{font-size:.65rem;padding:0 6px}}.popup-timeline-overlay{position:fixed;inset:0;background:#0f172a8c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:2000;animation:timelineFadeIn .22s ease-in-out}@keyframes timelineFadeIn{0%{opacity:0}to{opacity:1}}.popup-timeline-container{text-align:left;position:relative;background:var(--bg-surface);border-radius:var(--radius-lg);max-width:500px;width:88%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;border:1px solid var(--border);box-shadow:var(--shadow-lg);animation:timelineSlideUp .26s ease-out}@keyframes timelineSlideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.popup-timeline-body{overflow-y:auto;overflow-x:hidden;flex-grow:1;padding:2rem;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.popup-timeline-body::-webkit-scrollbar{width:6px}.popup-timeline-body::-webkit-scrollbar-track{background:transparent}.popup-timeline-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:99px}.popup-timeline-body::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.popup-timeline-close{position:absolute;top:1rem;right:1.25rem;background:var(--bg-surface);border:1px solid var(--border-subtle);font-size:1.5rem;cursor:pointer;color:var(--text-muted);width:36px;height:36px;display:flex;align-items:center;justify-content:center;padding:0;border-radius:var(--radius-sm);z-index:100;box-shadow:0 2px 8px #0000001a;transition:color var(--t) var(--ease),background var(--t) var(--ease),transform var(--t) var(--ease)}.popup-timeline-close:hover{color:var(--text-primary);background:var(--bg-elevated);transform:scale(1.05)}.popup-timeline-close:focus-visible{outline:2px solid var(--brand);outline-offset:2px}@media(max-width:768px){.popup-timeline-container{width:92%}.popup-timeline-body{padding:1.25rem}.popup-timeline-title{font-size:1.2rem}.popup-timeline-close{top:.75rem;right:.75rem}}.popup-timeline-desc-container{margin-top:1rem}.popup-timeline-desc-text{margin-top:.5rem;line-height:1.65;color:var(--text-secondary);text-align:justify;padding-bottom:.75rem;font-size:.92rem}.popup-timeline-desc-text p{margin:0 0 .75rem;line-height:1.65}.popup-timeline-desc-text p:last-child{margin-bottom:0}.popup-timeline-desc-text ul,.popup-timeline-desc-text ol{margin:0 0 .75rem 1.25rem;padding:0}.popup-timeline-desc-text li{margin-bottom:.25rem}.popup-timeline-desc-text a{color:var(--brand);text-decoration:underline}.popup-timeline-desc-text a:hover{color:var(--brand-hover)}.popup-timeline-title{margin-bottom:2.75rem;font-size:1.6rem;font-weight:800;color:var(--text-primary);letter-spacing:-.03em;text-align:left;padding-right:2.5rem;text-decoration:none}.popup-timeline-title span{border-bottom:3px solid var(--accent);padding-bottom:0rem}.popup-timeline-info{margin:.5rem 0;font-size:.92rem;color:var(--text-secondary)}.popup-timeline-container strong{color:var(--brand);font-weight:700}.custom-cursor-container{position:fixed;left:0;top:0;pointer-events:none;z-index:999999;transform:translate3d(var(--x, -100px),var(--y, -100px),0);will-change:transform;display:block}.custom-cursor-wrapper{position:relative;width:24px;height:24px;display:block;transition:transform .1s cubic-bezier(.25,1,.5,1),scale .15s cubic-bezier(.34,1.56,.64,1)}.custom-cursor-wrapper svg{display:block;filter:drop-shadow(0 2px 4px rgba(30,58,138,.25)) drop-shadow(0 4px 12px rgba(15,23,42,.15))}.custom-cursor-container.type-default .custom-cursor-wrapper{transform:translate3d(-3px,-3px,0) rotate(-4deg)}.custom-cursor-container.type-pointer .custom-cursor-wrapper{transform:translate3d(-8px,-2px,0);scale:1.05}.custom-cursor-container.type-grab .custom-cursor-wrapper{transform:translate3d(-12px,-12px,0);scale:1.1}.custom-cursor-container.type-grabbing .custom-cursor-wrapper{transform:translate3d(-12px,-12px,0);scale:.95}@media(pointer:fine){.custom-cursor-active,.custom-cursor-active *{cursor:none!important}}.juego1-overlay{position:fixed;inset:0;z-index:9000;pointer-events:none}.juego1-urgency-overlay{position:fixed;inset:0;pointer-events:none;z-index:9005;box-shadow:inset 0 0 50px #ef444480;animation:juego1UrgencyPulse .5s infinite alternate ease-in-out;border:4px solid rgba(239,68,68,.3)}.juego1-modal-overlay .juego1-urgency-overlay{z-index:0}.juego1-urgency-overlay--static{animation:none!important;box-shadow:inset 0 0 70px #ef4444b3!important;background-color:#ef44440f!important;border-color:#ef444466!important}@keyframes juego1UrgencyPulse{0%{box-shadow:inset 0 0 30px #ef44444d;background-color:#ef444403;border-color:#ef444426}to{box-shadow:inset 0 0 70px #ef4444b3;background-color:#ef44440f;border-color:#ef444466}}.juego1-hud{position:fixed;top:0;left:0;right:0;z-index:9100;pointer-events:none;display:flex;justify-content:center;padding:.8rem .75rem 0}.juego1-hud-inner{position:relative;overflow:hidden;display:flex;align-items:center;flex-wrap:wrap;gap:.5rem 1.25rem;background:var(--bg-surface-glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:var(--radius-xl);padding:.6rem 1.5rem .9rem;box-shadow:0 10px 30px -10px #0000004d;animation:fadeDown .35s var(--ease-out) both;max-width:95vw;width:max-content}.juego1-hud-item{display:flex;align-items:center;gap:.45rem;font-size:.9rem;font-weight:600;color:var(--text-primary);font-family:var(--font-mono)}.juego1-hud-icon{font-size:1rem}.juego1-hud-label{color:var(--text-muted);font-size:.75rem;font-weight:500;font-family:var(--font-sans)}.juego1-hud-value{color:var(--brand);min-width:2ch;text-align:right}.juego1-hud-value--urgent{color:var(--error);animation:urgentPulse .5s ease infinite}.juego1-hud-divider{width:1px;height:1.5rem;background:var(--border)}.juego1-hud-title{font-size:.75rem;font-weight:700;color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-family:var(--font-sans)}.juego1-hud-close-btn{pointer-events:all;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-secondary);font-size:.8rem;font-weight:600;padding:.3rem .7rem;cursor:pointer;transition:all var(--t) var(--ease);font-family:var(--font-sans);display:inline-flex;align-items:center;gap:.25rem}.juego1-hud-close-btn:hover{color:var(--accent);background:var(--accent-muted);border-color:var(--accent-border);box-shadow:0 0 8px var(--accent-glow);transform:translateY(-1px)}.juego1-hud-close-btn:active{transform:translateY(0) scale(.97)}.juego1-bug{position:fixed;pointer-events:all;cursor:pointer;-webkit-user-select:none;user-select:none;z-index:9050;display:flex;align-items:center;justify-content:center;width:3.5rem;height:3.5rem;padding:0;background:transparent;border:none;font-size:2.5rem;line-height:1;transition:transform .1s var(--ease),filter .15s var(--ease);will-change:transform,filter;filter:drop-shadow(2px 2px 0 #ffffff) drop-shadow(-2px 2px 0 #ffffff) drop-shadow(2px -2px 0 #ffffff) drop-shadow(-2px -2px 0 #ffffff) drop-shadow(0 0 6px rgba(59,130,246,.7)) drop-shadow(0 3px 6px rgba(0,0,0,.4));animation:bugAppear .18s var(--ease-spring) both}.dark .juego1-bug{filter:drop-shadow(2px 2px 0 #ffffff) drop-shadow(-2px 2px 0 #ffffff) drop-shadow(2px -2px 0 #ffffff) drop-shadow(-2px -2px 0 #ffffff) drop-shadow(0 0 8px rgba(245,158,11,.9)) drop-shadow(0 3px 6px rgba(0,0,0,.5))}.juego1-bug:hover{transform:scale(1.25) rotate(-6deg);filter:drop-shadow(2px 2px 0 #ffffff) drop-shadow(-2px 2px 0 #ffffff) drop-shadow(2px -2px 0 #ffffff) drop-shadow(-2px -2px 0 #ffffff) drop-shadow(0 0 10px rgba(59,130,246,.95)) drop-shadow(0 5px 10px rgba(0,0,0,.45))}.dark .juego1-bug:hover{transform:scale(1.25) rotate(-6deg);filter:drop-shadow(2px 2px 0 #ffffff) drop-shadow(-2px 2px 0 #ffffff) drop-shadow(2px -2px 0 #ffffff) drop-shadow(-2px -2px 0 #ffffff) drop-shadow(0 0 12px rgba(245,158,11,1)) drop-shadow(0 5px 10px rgba(0,0,0,.55))}.juego1-bug:active{transform:scale(.9)}.juego1-bug--dying{animation:bugDie .25s var(--ease-in) forwards;pointer-events:none}.juego1-bug--escaping{animation:bugEscape .35s var(--ease-in) forwards;pointer-events:none}.juego1-particle{position:fixed;pointer-events:none;z-index:9060;font-size:1.1rem;animation:particleFloat .6s var(--ease-out) forwards}.juego1-score-popup{position:fixed;pointer-events:none;z-index:9060;font-size:1rem;font-weight:800;color:var(--accent);font-family:var(--font-mono);text-shadow:0 2px 8px rgba(245,158,11,.5);animation:scoreFloat .8s var(--ease-out) forwards}.juego1-intro-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);padding:2.5rem 2rem;max-width:420px;width:90%;text-align:center;position:relative;animation:popupSlideUp .35s var(--ease-spring) both}.juego1-intro-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.juego1-intro-emoji{font-size:3.5rem;display:block;margin-bottom:.75rem;animation:emojiPop .5s var(--ease-spring) .1s both}.juego1-intro-title{font-size:1.75rem;font-weight:900;color:var(--brand);letter-spacing:-.03em;margin-bottom:.3rem}.juego1-intro-lead{font-size:.85rem;color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;font-weight:600;margin-bottom:1.75rem}.juego1-intro-rules{list-style:none;padding:0;margin:0 0 2rem;display:flex;flex-direction:column;gap:.75rem;text-align:left}.juego1-intro-rules li{display:flex;align-items:center;gap:.75rem;font-size:.9rem;color:var(--text-secondary);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius);padding:.6rem .9rem}.juego1-intro-rules li strong{color:var(--text-primary);font-weight:700}.juego1-intro-rule-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.juego1-intro-rule-icon svg{margin-top:2px}.juego1-intro-buttons{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}@media(max-width:480px){.juego1-intro-card{padding:2rem 1.25rem}.juego1-intro-title{font-size:1.4rem}.juego1-intro-rules li{font-size:.82rem}}.juego1-countdown{position:fixed;inset:0;z-index:9200;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#0f172ab3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:fadeIn .3s var(--ease-out) both}.juego1-countdown-number{font-size:8rem;font-weight:900;color:var(--brand);font-family:var(--font-mono);text-shadow:0 0 40px var(--brand-glow);animation:countdownPop .4s var(--ease-spring) both;line-height:1}.juego1-countdown-text{font-size:1.2rem;color:var(--text-muted);margin-top:1rem;font-family:var(--font-sans);letter-spacing:.05em}.juego1-countdown-subtitle{font-size:.95rem;color:var(--text-muted);margin-top:.5rem;font-family:var(--font-sans);opacity:.7}.juego1-modal-overlay{position:fixed;inset:0;z-index:9500;background:#0f172a99;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:1rem;animation:fadeIn .25s var(--ease-out) both}.juego1-confetti-canvas{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}.juego1-modal{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);padding:2.5rem 2rem;max-width:460px;width:100%;text-align:center;position:relative;z-index:1;animation:popupSlideUp .3s var(--ease-spring) both}.juego1-modal-emoji{font-size:4rem;margin-bottom:.25rem;display:block;animation:emojiPop .5s var(--ease-spring) .15s both}.juego1-trophy-img{width:10rem;height:10rem;object-fit:contain;display:inline-block;margin:0;filter:drop-shadow(0 4px 16px rgba(245,158,11,.45))}.juego1-modal-title{font-size:1.5rem;font-weight:800;color:var(--brand);margin-bottom:1rem;letter-spacing:-.02em;line-height:1.25}.juego1-modal-title--win{color:var(--brand)}.juego1-modal-title--lose{color:var(--text-primary)}.juego1-modal-body{font-size:.95rem;color:var(--text-secondary);line-height:1.7;margin-bottom:1.75rem}.juego1-modal-stats{display:flex;justify-content:center;gap:1.5rem;margin-bottom:1.5rem;padding:.875rem 1rem;background:var(--bg-elevated);border-radius:var(--radius);border:1px solid var(--border-subtle)}.juego1-stat-item{display:flex;flex-direction:column;align-items:center;gap:.15rem}.juego1-stat-value{font-size:1.5rem;font-weight:800;color:var(--brand);font-family:var(--font-mono)}.juego1-stat-label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.juego1-modal-buttons{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}.juego1-btn{padding:.65rem 1.5rem;border-radius:var(--radius);font-weight:700;font-size:.9rem;cursor:pointer;transition:all var(--t) var(--ease);border:1px solid transparent;font-family:var(--font-sans);pointer-events:all;display:inline-flex;align-items:center;justify-content:center}.juego1-btn--primary{background:var(--brand);color:var(--text-inverse);box-shadow:var(--shadow-brand)}.juego1-btn--primary:hover{background:var(--brand-hover);box-shadow:0 6px 24px #1e3a8a4d;transform:translateY(-1px)}.juego1-btn--secondary{background:var(--bg-elevated);color:var(--text-secondary);border-color:var(--border)}.juego1-btn--secondary:hover{background:var(--bg-muted);color:var(--text-primary);border-color:var(--border)}.juego1-modal--win:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.juego1-modal--lose:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.juego1-timer-bar-container{position:absolute;bottom:0;left:0;right:0;width:100%;height:4px;background:var(--border-subtle);border-radius:0 0 var(--radius-xl) var(--radius-xl);overflow:hidden}.juego1-timer-bar{height:100%;background:var(--brand);transition:width .3s linear,background .3s var(--ease)}.juego1-timer-bar--warn{background:var(--accent)}.juego1-timer-bar--danger{background:var(--error);animation:barDangerPulse .5s ease infinite alternate}@keyframes barDangerPulse{0%{opacity:.6}to{opacity:1}}.juego1-progress-dots{display:flex;gap:4px;align-items:center}.juego1-dot{width:7px;height:7px;border-radius:50%;background:var(--border);transition:background .2s var(--ease),transform .2s var(--ease-spring)}.juego1-dot--caught{background:var(--brand);transform:scale(1.1)}@keyframes bugAppear{0%{opacity:0;transform:scale(.2) rotate(-20deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes bugDie{0%{opacity:1;transform:scale(1) rotate(0)}50%{opacity:.8;transform:scale(1.5) rotate(30deg)}to{opacity:0;transform:scale(0) rotate(60deg)}}@keyframes bugEscape{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.1) translateY(30px)}}@keyframes particleFloat{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(var(--dx, 20px),var(--dy, -40px)) scale(.5)}}@keyframes scoreFloat{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-50px) scale(.8)}}@keyframes countdownPop{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}@keyframes urgentPulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes emojiPop{0%{opacity:0;transform:scale(0) rotate(-20deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes popupSlideUp{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:800px){.juego1-hud-title,.juego1-hud-divider{display:none!important}.juego1-hud-inner{gap:.5rem 1rem;padding:.6rem 1.25rem .9rem}}@media(max-width:600px){.juego1-hud{padding:.5rem .5rem 0}.juego1-hud-inner{width:calc(100vw - 1rem);justify-content:space-between;gap:.5rem .75rem;padding:.6rem 1rem .9rem;border-radius:var(--radius-lg)}.juego1-hud-title,.juego1-hud-divider{display:none}.juego1-hud-item{gap:.3rem;font-size:.82rem}.juego1-hud-label{font-size:.68rem}.juego1-timer-bar-container{border-radius:0 0 var(--radius-lg) var(--radius-lg)}.juego1-modal{padding:2rem 1.25rem}.juego1-modal-title{font-size:1.25rem}.juego1-bug{width:3rem;height:3rem;font-size:2rem}.juego1-countdown-number{font-size:5rem}.juego1-progress-dots{display:none}}
