*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--sky-light: #c8e8f5;--sky-mid: #8ec8e2;--sky-deep: #5aa8cc;--sky-night: #2a3f5a;--night-deep: #1a2d42;--sun-gold: #f5b942;--sun-orange: #e89030;--moon-cream: #fefadf;--moon-yellow: #f5edaa;--cloud-white: #f4f2fb;--cloud-lav: #c4b8e0;--cloud-rose: #f2d5cc;--cloud-gray: #8fa3b8;--bg: #daeef8;--bg2: #cce4f2;--surface: rgba(255,255,255,.65);--surface2: rgba(255,255,255,.45);--border: rgba(140,180,220,.25);--border2: rgba(140,180,220,.5);--accent: #f5b942;--accent2: #c4b8e0;--accent3: #f2d5cc;--text: #2a3f5a;--text2: #4a6580;--muted: #7a9ab8;--font-display: "Nunito", sans-serif;--font-mono: "DM Mono", monospace;--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--shadow-soft: 0 8px 32px rgba(90,168,204,.18), 0 2px 8px rgba(90,168,204,.1);--shadow-card: 0 16px 48px rgba(42,63,90,.12), 0 4px 16px rgba(42,63,90,.06);--shadow-float: 0 24px 64px rgba(42,63,90,.15), 0 8px 24px rgba(42,63,90,.08)}html{scroll-behavior:smooth;font-size:16px}body{background:transparent;color:var(--text);font-family:var(--font-display);font-weight:400;line-height:1.7;overflow-x:hidden;cursor:none;min-height:100vh}.cursor{position:fixed;width:14px;height:14px;background:var(--sun-gold);border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);box-shadow:0 0 0 3px #f5b9424d;transition:width .2s,height .2s}.cursor-follower{position:fixed;width:40px;height:40px;border:2px solid rgba(196,184,224,.5);border-radius:50%;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:all .15s var(--ease-out-expo);background:#c4b8e014;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}::selection{background:#f5b9424d;color:var(--night-deep)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--cloud-lav);border-radius:3px}.nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:1.25rem 3rem;transition:background .4s,box-shadow .4s}.nav.scrolled{background:#daeef8d1;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 1px 0 var(--border),var(--shadow-soft)}.nav-logo{font-family:var(--font-display);font-weight:800;font-size:1.1rem;color:var(--text);text-decoration:none;letter-spacing:-.02em}.nav-logo span{color:var(--sun-gold)}.nav-links{display:flex;gap:2.5rem;list-style:none}.nav-links a{font-size:.82rem;font-weight:600;color:var(--text2);text-decoration:none;letter-spacing:.02em;transition:color .2s;position:relative}.nav-links a:after{content:"";position:absolute;bottom:-3px;left:0;width:0;height:2px;background:var(--sun-gold);border-radius:1px;transition:width .3s var(--ease-out-expo)}.nav-links a:hover{color:var(--text)}.nav-links a:hover:after{width:100%}.nav-social{display:flex;gap:.75rem;align-items:center;margin-left:1rem}.nav-social a{color:var(--muted);transition:color .2s,transform .2s;display:flex;align-items:center}.nav-social a:hover{color:var(--text);transform:translateY(-2px)}.hero{min-height:100vh;display:flex;flex-direction:column;justify-content:flex-end;padding:0 3rem 5rem;position:relative;overflow:hidden}.hero-tag{font-size:.72rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--sky-deep);margin-bottom:1.5rem;display:flex;align-items:center;gap:.75rem;opacity:0;animation:fadeUp .8s var(--ease-out-expo) .3s forwards}.hero-tag:before{content:"";display:block;width:2rem;height:2px;background:var(--sun-gold);border-radius:1px}.hero-title{font-family:var(--font-display);font-weight:800;font-size:clamp(3.5rem,10vw,9rem);line-height:.92;letter-spacing:-.04em;margin-bottom:2rem;color:var(--night-deep)}.hero-title .line{display:block;overflow:hidden}.hero-title .line-inner{display:block;transform:translateY(110%);animation:slideUp .9s var(--ease-out-expo) forwards}.hero-title .line:nth-child(1) .line-inner{animation-delay:.1s}.hero-title .line:nth-child(2) .line-inner{animation-delay:.22s}.hero-title .line:nth-child(3) .line-inner{animation-delay:.34s}.hero-title .accent,.hero-title .accent>span{background:linear-gradient(135deg,var(--sun-gold) 0%,var(--sun-orange) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-title .outline{-webkit-text-stroke:2px var(--sky-deep);color:transparent}@keyframes slideUp{to{transform:translateY(0)}}@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{to{opacity:1}}.intro-active .hero-title .line-inner{animation-play-state:paused}.intro-active .hero-tag,.intro-active .hero-bottom,.intro-active .hero-stats{animation-play-state:paused;opacity:0}.hero-bottom{display:flex;justify-content:space-between;align-items:flex-end;margin-top:2.5rem;gap:2rem}.hero-desc{max-width:440px;font-size:1rem;font-weight:500;color:var(--text2);line-height:1.85;opacity:0;transform:translateY(20px);animation:fadeUp .9s var(--ease-out-expo) .7s forwards}.hero-scroll{display:flex;flex-direction:column;align-items:center;gap:.6rem;opacity:0;animation:fadeIn 1s ease 1.3s forwards}.hero-scroll span{font-size:.65rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);writing-mode:vertical-rl}.scroll-line{width:2px;height:56px;background:linear-gradient(to bottom,var(--sun-gold),transparent);border-radius:1px;animation:scrollPulse 2s ease-in-out 1.8s infinite}@keyframes scrollPulse{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}50.1%{transform-origin:bottom}to{transform:scaleY(0);transform-origin:bottom;opacity:.3}}.hero-stats{position:absolute;right:3rem;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:2rem;opacity:0;animation:fadeIn 1s ease .9s forwards}.stat-item{text-align:right}.stat-num{font-family:var(--font-display);font-size:2.8rem;font-weight:800;line-height:1;background:linear-gradient(135deg,var(--sun-gold),var(--sun-orange));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stat-label{font-size:.65rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.section{padding:7rem 3rem;position:relative}.section-label{font-size:.68rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--sky-deep);margin-bottom:.75rem;display:flex;align-items:center;gap:.75rem}.section-label:before{content:attr(data-num);font-size:.6rem;color:var(--muted);font-family:var(--font-mono)}.section-label:after{content:"";flex:1;max-width:3rem;height:2px;background:var(--sun-gold);border-radius:1px}.section-title{font-family:var(--font-display);font-weight:800;font-size:clamp(2.2rem,4.5vw,4rem);letter-spacing:-.035em;line-height:1.05;margin-bottom:3.5rem;color:var(--night-deep)}.about-section{background:transparent}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:start}.about-text{font-size:1.02rem;line-height:1.95;color:var(--text2)}.about-text strong{color:var(--text);font-weight:700}.about-text .highlight{background:linear-gradient(135deg,var(--sun-gold),var(--sun-orange));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:700}.identity-cards{display:flex;flex-direction:column;gap:1rem}.identity-card{padding:1.5rem 1.75rem;border-radius:20px;position:relative;overflow:hidden;cursor:default;transition:transform .4s var(--ease-out-expo),box-shadow .4s}.identity-card.rrhh{background:linear-gradient(135deg,#f5edaa99,#f5b94233);border:1px solid rgba(245,185,66,.35);box-shadow:0 8px 32px #f5b94226}.identity-card.dev{background:linear-gradient(135deg,#c4b8e080,#a894d233);border:1px solid rgba(196,184,224,.45);box-shadow:0 8px 32px #c4b8e033}.identity-card.both{background:linear-gradient(135deg,#f2d5cc80,#c8b4dc33);border:1px solid rgba(242,213,204,.5);box-shadow:0 8px 32px #f2d5cc33}.identity-card:hover{transform:translateY(-4px) scale(1.01);box-shadow:var(--shadow-float)}.identity-card:before{content:"";position:absolute;top:0;left:0;right:0;height:40%;background:linear-gradient(180deg,rgba(255,255,255,.4) 0%,transparent 100%);border-radius:inherit;pointer-events:none}.identity-card-tag{font-size:.62rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;margin-bottom:.4rem;color:var(--text2)}.identity-card-title{font-size:1.1rem;font-weight:800;color:var(--night-deep);margin-bottom:.5rem;letter-spacing:-.02em}.identity-card-body{font-size:.8rem;color:var(--text2);line-height:1.65}.skills-section{background:transparent}.skills-layout{display:grid;grid-template-columns:1fr 2fr;gap:3.5rem;align-items:start}.skills-terminal{border-radius:20px;overflow:hidden;border:1px solid rgba(255,255,255,.7);box-shadow:var(--shadow-card);background:#1a2d42e6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.terminal-bar{background:#2a3f5af2;border-bottom:1px solid rgba(255,255,255,.08);padding:.75rem 1rem;display:flex;align-items:center;gap:.5rem}.dot{width:10px;height:10px;border-radius:50%}.dot.red{background:#ff6b6b}.dot.yellow{background:#ffd93d}.dot.green{background:#6bcb77}.terminal-title{margin-left:.5rem;font-family:var(--font-mono);font-size:.68rem;color:#ffffff4d}.terminal-body{padding:1.25rem 1.5rem;font-family:var(--font-mono);font-size:.78rem;line-height:2.1;color:#ffffffa6}.t-prompt{color:#6bcb77}.t-cmd{color:#fff}.t-out{color:#ffffff73;padding-left:1rem;display:block}.t-out.highlight{color:#ffd93d}.t-comment{color:#fff3;font-style:italic;display:block}.t-line{display:block}.skills-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.skill-category{padding:1.25rem 1.5rem;border-radius:16px;background:var(--surface);border:1px solid rgba(255,255,255,.7);box-shadow:var(--shadow-soft);transition:transform .3s var(--ease-out-expo),box-shadow .3s;position:relative}.skill-category:hover{transform:translateY(-3px);box-shadow:var(--shadow-float)}.skill-category:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(255,255,255,.4) 0%,transparent 50%);border-radius:inherit;pointer-events:none}.skill-cat-title{font-size:.62rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:var(--sky-deep);margin-bottom:.85rem}.skill-tags{display:flex;flex-wrap:wrap;gap:.4rem}.skill-tag{font-family:var(--font-mono);font-size:.68rem;padding:.22rem .55rem;background:#5aa8cc1a;border:1px solid rgba(90,168,204,.25);border-radius:30px;color:var(--text2);font-weight:500;transition:all .2s}.skill-tag:hover{background:#f5b94226;border-color:#f5b94266;color:var(--sun-orange);transform:translateY(-1px)}.experience-section{background:transparent}.timeline{position:relative;padding-left:2rem}.timeline:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,var(--sun-gold),var(--cloud-lav),transparent);border-radius:1px}.timeline-item{position:relative;padding:0 0 3.5rem 2.5rem}.timeline-dot{position:absolute;left:-2.25rem;top:.3rem;width:12px;height:12px;border-radius:50%;background:var(--cloud-lav);border:2px solid #fff;box-shadow:0 2px 8px #c4b8e080;transition:background .3s,transform .3s}.timeline-item:hover .timeline-dot{background:var(--sun-gold);transform:scale(1.3)}.timeline-period{font-family:var(--font-mono);font-size:.65rem;font-weight:500;letter-spacing:.12em;color:var(--sky-deep);margin-bottom:.35rem}.timeline-org{font-size:.72rem;font-weight:600;color:var(--muted);margin-bottom:.2rem;text-transform:uppercase;letter-spacing:.06em}.timeline-role{font-size:1.25rem;font-weight:800;letter-spacing:-.025em;color:var(--night-deep);margin-bottom:1rem;line-height:1.2}.timeline-tasks{list-style:none;display:flex;flex-direction:column;gap:.35rem}.timeline-tasks li{font-size:.83rem;color:var(--text2);line-height:1.65;padding-left:1.1rem;position:relative}.timeline-tasks li:before{content:"→";position:absolute;left:0;color:var(--sun-gold);font-size:.75rem}.timeline-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.85rem}.timeline-tag{font-size:.62rem;font-weight:600;padding:.18rem .55rem;background:#fff9;border:1px solid rgba(196,184,224,.4);border-radius:20px;color:var(--text2)}.projects-section{background:transparent}.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.project-card{background:var(--surface);border:1px solid rgba(255,255,255,.75);border-radius:20px;padding:1.75rem;position:relative;overflow:hidden;transition:transform .4s var(--ease-out-expo),box-shadow .4s;box-shadow:var(--shadow-soft);cursor:pointer}.project-card:before{content:"";position:absolute;top:0;left:0;right:0;height:35%;background:linear-gradient(180deg,rgba(255,255,255,.45) 0%,transparent 100%);border-radius:inherit;pointer-events:none}.project-card:hover{transform:translateY(-6px) scale(1.01);box-shadow:var(--shadow-float)}.project-card:nth-child(1){background:linear-gradient(135deg,#f5edaa80,#fff9 60%)}.project-card:nth-child(2){background:linear-gradient(135deg,#c4b8e066,#fff9 60%)}.project-card:nth-child(3){background:linear-gradient(135deg,#8fc8e259,#fff9 60%)}.project-card:nth-child(4){background:linear-gradient(135deg,#f2d5cc80,#fff9 60%)}.project-card:nth-child(5){background:linear-gradient(135deg,#b4dcf573,#fff9 60%)}.project-card:nth-child(6){background:linear-gradient(135deg,#c8ebb473,#fff9 60%)}.project-num{font-family:var(--font-mono);font-size:.62rem;color:var(--muted);margin-bottom:1.25rem}.project-type{font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--sky-deep);margin-bottom:.4rem}.project-title{font-size:1.1rem;font-weight:800;letter-spacing:-.02em;color:var(--night-deep);margin-bottom:.65rem;line-height:1.25}.project-desc{font-size:.78rem;color:var(--text2);line-height:1.7;margin-bottom:1.25rem}.project-stack{display:flex;flex-wrap:wrap;gap:.35rem}.project-stack-tag{font-size:.62rem;font-weight:600;padding:.18rem .5rem;background:#fff9;border:1px solid rgba(90,168,204,.25);border-radius:20px;color:var(--text2);font-family:var(--font-mono)}.project-arrow{position:absolute;bottom:1.25rem;right:1.25rem;width:32px;height:32px;border-radius:50%;background:#ffffffb3;border:1px solid rgba(90,168,204,.2);display:flex;align-items:center;justify-content:center;font-size:.9rem;color:var(--text2);transition:all .3s var(--ease-out-expo)}.project-card:hover .project-arrow{background:var(--sun-gold);border-color:var(--sun-gold);color:#fff;transform:translate(2px,-2px)}.contact-section{background:transparent;min-height:60vh;display:flex;flex-direction:column;justify-content:center}.contact-big{font-family:var(--font-display);font-weight:800;font-size:clamp(2.8rem,7vw,6.5rem);letter-spacing:-.04em;line-height:1;margin-bottom:2.5rem;color:var(--night-deep)}.contact-big .outline{-webkit-text-stroke:2px rgba(42,63,90,.3);color:transparent}.contact-big .accent-grad{background:linear-gradient(135deg,var(--sun-gold),var(--sun-orange));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.contact-links{display:flex;gap:1.25rem;flex-wrap:wrap}.contact-link{display:flex;align-items:center;gap:.65rem;font-size:.82rem;font-weight:600;color:var(--text2);text-decoration:none;padding:.65rem 1.1rem;background:var(--surface);border:1px solid rgba(255,255,255,.75);border-radius:50px;box-shadow:var(--shadow-soft);transition:all .3s var(--ease-out-expo);cursor:none}.contact-link:hover{transform:translateY(-3px);box-shadow:var(--shadow-float);background:#ffffffd9;color:var(--text)}.contact-link-icon{width:22px;height:22px;border-radius:50%;background:#5aa8cc26;display:flex;align-items:center;justify-content:center;font-size:.62rem;font-weight:700;color:var(--sky-deep)}.footer{padding:1.75rem 3rem;background:#a8ccdf80;border-top:1px solid rgba(255,255,255,.5);display:flex;justify-content:space-between;align-items:center;font-size:.72rem;color:var(--muted);font-weight:600}.footer-right{display:flex;align-items:center;gap:.5rem}.footer-dot{width:7px;height:7px;border-radius:50%;background:var(--sun-gold);box-shadow:0 0 6px #f5b94280;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.85)}}.reveal,.reveal.visible{opacity:1;transform:none}.project-thumb{margin:-1.75rem -1.75rem 1.5rem;border-radius:20px 20px 0 0;overflow:hidden;aspect-ratio:16 / 10;position:relative;background:linear-gradient(135deg,#f5b94226,#c4b8e026)}.project-thumb:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 60%,rgba(0,0,0,.15) 100%);pointer-events:none}.project-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.8,.2,1)}.project-card.featured:hover .project-thumb img{transform:scale(1.06)}.project-card.featured{grid-column:1 / -1;max-width:820px;margin-left:auto;margin-right:auto;width:100%}.project-card.featured .project-thumb{margin:-1.75rem -1.75rem 1.75rem;aspect-ratio:16 / 9}@media (max-width: 900px){.project-card.featured{grid-column:span 1}}.gallery-section{position:relative;background:transparent;padding:6rem 0 3rem;overflow:hidden}.gallery-section .section-label,.gallery-section .section-title,.gallery-subtitle{padding-left:max(3rem,6vw);padding-right:max(3rem,6vw)}.gallery-subtitle{max-width:480px;color:var(--text2);font-size:.95rem;line-height:1.7;margin-bottom:3rem}.gallery-wrap{overflow:hidden;width:100%}.gallery-track{display:flex;gap:2rem;padding:0 max(3rem,6vw) 2rem;will-change:transform}.gallery-card{flex:0 0 auto;width:min(440px,70vw);position:relative;border-radius:24px;overflow:hidden;text-decoration:none;color:inherit;cursor:none;background:#ffffff80;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.8);box-shadow:var(--shadow-card);transform-style:preserve-3d;will-change:transform}.gallery-card-num{position:absolute;top:1.25rem;left:1.5rem;z-index:3;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.15em;color:var(--accent);background:#1a2d42b8;padding:.35rem .65rem;border-radius:100px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.gallery-card-inner{aspect-ratio:4 / 5;overflow:hidden;position:relative}.gallery-card-inner img{width:100%;height:100%;object-fit:cover;display:block;will-change:transform}.gallery-card-meta{padding:1.25rem 1.5rem 1.5rem;display:flex;flex-direction:column;gap:.25rem}.gallery-card-title{font-family:var(--font-display);font-weight:800;font-size:1.35rem;color:var(--text);letter-spacing:-.02em}.gallery-card-cat{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.gallery-card-cta{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f5b94240,#c4b8e033);border:2px dashed rgba(245,185,66,.6);width:320px;aspect-ratio:auto;min-height:560px}.gallery-cta-inner{display:flex;flex-direction:column;align-items:center;gap:1rem;color:var(--text);font-family:var(--font-display);font-weight:800;font-size:1.5rem;line-height:1.1;text-align:center}.gallery-cta-arrow{font-size:4rem;color:var(--accent)}.gallery-cta-text{letter-spacing:-.02em}.marquee{display:flex;gap:3rem;overflow:hidden;white-space:nowrap;padding:2.5rem 0;mask-image:linear-gradient(90deg,transparent 0%,#000 10%,#000 90%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 10%,#000 90%,transparent 100%);border-top:1px solid var(--border);border-bottom:1px solid var(--border);font-family:var(--font-display);font-weight:800;font-size:clamp(2rem,5vw,4rem);letter-spacing:-.03em;color:var(--text)}.marquee-track{display:flex;gap:3rem;flex-shrink:0;will-change:transform}.marquee-item{display:inline-flex;align-items:center;gap:3rem}.marquee-dot{width:14px;height:14px;border-radius:50%;background:var(--accent);display:inline-block}.spotify-section{padding-bottom:4rem}.spotify-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem;max-width:900px}.spotify-embed{border-radius:12px;overflow:hidden;box-shadow:var(--shadow-card)}.spotify-label{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin-bottom:.5rem}.whatsapp-btn{position:fixed;bottom:2rem;right:2rem;z-index:9500;width:58px;height:58px;border-radius:50%;background:linear-gradient(135deg,#25d366,#128c7e);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 30px #25d36673,0 4px 12px #00000026;cursor:none;text-decoration:none;transition:transform .25s ease}.whatsapp-btn:hover{transform:translateY(-4px) scale(1.06)}.wa-pulse{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:2px solid #25d366;pointer-events:none}@media (max-width: 600px){.whatsapp-btn{bottom:1.2rem;right:1.2rem;width:52px;height:52px}}.contact-form{display:flex;flex-direction:column;gap:1.2rem;padding:1.75rem;border-radius:20px;background:#ffffff8c;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.8);box-shadow:var(--shadow-card)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media (max-width: 600px){.form-row{grid-template-columns:1fr}}.form-field{display:flex;flex-direction:column;gap:.35rem}.form-field>span{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}.form-field input,.form-field textarea{background:#ffffffb3;border:1px solid var(--border);border-radius:12px;padding:.75rem .95rem;font-family:inherit;font-size:.9rem;color:var(--text);transition:border-color .25s,background .25s,box-shadow .25s;cursor:none;resize:vertical}.form-field input:focus,.form-field textarea:focus{outline:none;border-color:var(--accent);background:#ffffffe6;box-shadow:0 0 0 3px #f5b94226}.form-submit{align-self:flex-start;background:linear-gradient(135deg,var(--sun-gold),var(--sun-orange));color:#1a1a20;border:none;padding:.85rem 1.8rem;border-radius:100px;font-weight:700;font-size:.88rem;cursor:none;box-shadow:0 8px 24px #f5b9424d;transition:transform .25s,box-shadow .25s;font-family:inherit}.form-submit:hover{transform:translateY(-2px);box-shadow:0 12px 32px #f5b94273}.nav-links a{position:relative;transition:color .25s}.nav-links a:after{content:"";position:absolute;bottom:-6px;left:50%;transform:translate(-50%) scaleX(0);transform-origin:center;width:24px;height:2px;background:var(--accent);border-radius:2px;transition:transform .35s cubic-bezier(.2,.8,.2,1)}.nav-links a.active:after,.nav-links a:hover:after{transform:translate(-50%) scaleX(1)}.nav-links a.active{color:var(--text)}.project-card.featured{justify-self:stretch}.projects-grid{align-items:start}.project-thumb{display:flex;align-items:center;justify-content:center}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;background:#0a14238c;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:none;align-items:center;justify-content:center;padding:2rem}.modal-panel{position:relative;width:100%;max-width:560px;background:#fefadf;border:1px solid rgba(20,30,50,.08);border-radius:24px;padding:2.5rem 2.25rem 2rem;box-shadow:0 30px 80px #0a142359,0 10px 30px #0a142333;--text: #1a2842;--text2: #3a4d6a;--muted: #6b7f96;color:#1a2842}.modal-panel .modal-title{color:#1a2842}.modal-panel .modal-sub{color:#3a4d6a}.modal-panel .form-field>span{color:#6b7f96}.modal-panel .form-field input,.modal-panel .form-field textarea{color:#1a2842}.modal-panel .form-field input::placeholder,.modal-panel .form-field textarea::placeholder{color:#8a9cb0}.modal-panel .contact-form{background:transparent;border:none;padding:0;border-radius:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.modal-panel .form-field input,.modal-panel .form-field textarea{background:#fff;border:1px solid rgba(20,30,50,.15)}.modal-panel .form-field input:focus,.modal-panel .form-field textarea:focus{background:#fff;border-color:var(--accent)}.modal-close{position:absolute;top:1rem;right:1rem;width:36px;height:36px;border-radius:50%;border:1px solid rgba(20,30,50,.12);background:#141e320a;color:var(--text);font-size:1.4rem;line-height:1;cursor:none;display:flex;align-items:center;justify-content:center;transition:background .25s,transform .25s,color .25s}.modal-close:hover{background:var(--accent);transform:rotate(90deg)}.modal-header{margin-bottom:1.5rem}.modal-label{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:.6rem}.modal-title{font-family:var(--font-display);font-weight:800;font-size:1.8rem;letter-spacing:-.02em;line-height:1.1;color:var(--text);margin:0 0 .65rem}.modal-sub{font-size:.9rem;color:var(--text2);line-height:1.6;margin:0}.open-modal-btn{display:inline-flex;align-items:center;gap:1rem;background:linear-gradient(135deg,var(--sun-gold),var(--sun-orange));color:#1a1a20;border:none;padding:1rem 2rem;border-radius:100px;font-weight:700;font-size:.95rem;font-family:inherit;cursor:none;box-shadow:0 12px 32px #f5b94259;transition:transform .3s,box-shadow .3s}.open-modal-btn:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 18px 40px #f5b94280}.open-modal-arrow{font-size:1.1rem}.intro-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99999;background:radial-gradient(ellipse at 50% 40%,#e8f4fc,#cce4f2,#a8ccdf);display:flex;align-items:center;justify-content:center;overflow:hidden;will-change:transform,opacity}.intro-scene{position:relative;width:100%;max-width:900px;height:100%;display:flex;align-items:center;justify-content:center}.intro-sun{position:absolute;width:480px;height:480px;background-image:url(/scenes/sun.jpeg);background-size:130%;background-position:38% 35%;-webkit-mask-image:radial-gradient(circle at 50% 50%,#000 38%,transparent 62%);mask-image:radial-gradient(circle at 50% 50%,#000 38%,transparent 62%);filter:drop-shadow(0 0 100px rgba(255,207,71,.6)) drop-shadow(0 0 200px rgba(255,178,58,.4));will-change:transform,opacity}.intro-cloud{position:absolute;width:220px;height:220px;background-image:url(/scenes/sun.jpeg);background-size:200%;background-position:75% 80%;-webkit-mask-image:radial-gradient(ellipse 60% 50% at 50% 50%,#000 50%,transparent 75%);mask-image:radial-gradient(ellipse 60% 50% at 50% 50%,#000 50%,transparent 75%);filter:drop-shadow(0 8px 24px rgba(120,150,180,.3));will-change:transform,opacity}.intro-cloud-a{left:0;top:30%}.intro-cloud-b{right:0;top:60%;transform:scaleX(-1)}.intro-text{position:relative;z-index:5;text-align:center;max-width:720px;pointer-events:none}.intro-title{font-family:var(--font-display);font-weight:800;font-size:clamp(2.5rem,7vw,5.5rem);letter-spacing:-.04em;line-height:1;color:var(--text);margin:0 0 1rem;will-change:transform,opacity}.intro-subtitle{font-family:var(--font-mono);font-size:clamp(.75rem,1.2vw,.95rem);letter-spacing:.25em;text-transform:uppercase;color:var(--accent);margin:0;will-change:transform,opacity}.intro-skip{position:absolute;bottom:2rem;right:2rem;background:#ffffffa6;border:1px solid var(--border2);color:var(--text);font-family:var(--font-mono);font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;padding:.65rem 1.1rem;border-radius:100px;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10}@media (max-width: 1024px){.about-grid,.skills-layout{grid-template-columns:1fr}.projects-grid{grid-template-columns:1fr 1fr}.hero-stats{display:none}}@media (max-width: 768px){.nav{padding:1rem 1.5rem}.nav-links{display:none}.section{padding:4.5rem 1.5rem}.hero{padding:0 1.5rem 3.5rem}.projects-grid{grid-template-columns:1fr}.contact-links{flex-direction:column}}html{background:#bfe3f0}.parallax-sky{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;overflow:hidden}main,nav,.footer{position:relative;z-index:2}nav.nav{z-index:100}.whatsapp-btn{z-index:50}.sky-gradient{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;will-change:opacity}.sky-gradient--from{opacity:1}.sky-gradient--to{opacity:0}.sky-layer{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;will-change:transform,opacity}.sky-layer__item{position:absolute;pointer-events:none;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 8px 24px rgba(0,0,0,.08))}.sky-layer--mountains .sky-layer__item{left:0!important;top:auto!important;bottom:0;width:100%!important;max-width:none;filter:drop-shadow(0 -8px 24px rgba(0,0,0,.12))}.sky-layer--stars .sky-layer__item{filter:drop-shadow(0 0 8px rgba(255,255,200,.6))}.sky-layer--birds .sky-layer__item{filter:drop-shadow(0 4px 12px rgba(0,0,0,.15))}.sky-astro{position:absolute;top:0;left:0;width:clamp(180px,22vw,360px);aspect-ratio:1;will-change:transform,opacity}.sky-astro img{width:100%;height:100%;object-fit:contain;display:block}.sky-astro--sun img{filter:drop-shadow(0 0 60px rgba(255,200,80,.55)) drop-shadow(0 0 140px rgba(255,160,60,.35))}.sky-astro--moon img{filter:drop-shadow(0 0 60px rgba(220,230,255,.5)) drop-shadow(0 0 140px rgba(180,200,255,.3))}main{background:transparent}@media (prefers-reduced-motion: reduce){.sky-layer,.sky-astro,.sky-gradient{transition:none!important;will-change:auto}}html[data-sky-phase]{transition:color .6s ease}html[data-sky-phase=dawn],html[data-sky-phase=morning],html[data-sky-phase=noon],html[data-sky-phase=afternoon]{--text: #1a2842;--text2: #3a4d6a;--night-deep: #0a1830}html[data-sky-phase=golden]{--text: #2a1a3a;--text2: #4a2f5a;--night-deep: #1a0820}html[data-sky-phase=sunset]{--text: #f5e8e0;--text2: #d4c0d8;--night-deep: #ffffff;--border: rgba(255,255,255,.18);--border2: rgba(255,255,255,.12)}html[data-sky-phase=night]{--text: #eaf0fa;--text2: #b8c2d8;--night-deep: #ffffff;--border: rgba(255,255,255,.18);--border2: rgba(255,255,255,.12);--surface: rgba(20,30,55,.5)}.hero-title,.section-title,.contact-big,.about-headline{text-shadow:0 2px 16px rgba(255,255,255,.4)}html[data-sky-phase=sunset] .hero-title,html[data-sky-phase=sunset] .section-title,html[data-sky-phase=sunset] .contact-big,html[data-sky-phase=night] .hero-title,html[data-sky-phase=night] .section-title,html[data-sky-phase=night] .contact-big,html[data-sky-phase=night] .about-headline{text-shadow:0 2px 24px rgba(0,0,0,.6)}.nav.scrolled{background:#ffffff2e!important}html[data-sky-phase=sunset] .nav.scrolled,html[data-sky-phase=night] .nav.scrolled{background:#0f193280!important}.footer{background:transparent!important}@keyframes sky-drift-x{0%{transform:translate(0)}50%{transform:translate(40px)}to{transform:translate(0)}}@keyframes sky-float-y{0%{transform:translateY(0)}50%{transform:translateY(-12px)}to{transform:translateY(0)}}@keyframes sky-bird-flap{0%,to{transform:translate(0) scale(1)}25%{transform:translate(8px,-6px) scale(1.02)}50%{transform:translate(16px,-2px) scale(1)}75%{transform:translate(8px,-8px) scale(1.02)}}@keyframes sky-twinkle{0%,to{opacity:.3;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}.sky-layer__img{display:block;width:100%;height:auto}.sky-layer--clouds .sky-layer__img{animation:sky-drift-x 14s ease-in-out infinite,sky-float-y 9s ease-in-out infinite}.sky-layer--clouds .sky-layer__item:nth-child(2n) .sky-layer__img{animation-duration:18s,11s;animation-delay:-3s,-2s}.sky-layer--clouds .sky-layer__item:nth-child(3n) .sky-layer__img{animation-duration:22s,13s;animation-delay:-7s,-5s}.sky-layer--clouds .sky-layer__item:nth-child(4n) .sky-layer__img{animation-duration:16s,10s;animation-delay:-11s,-8s}.sky-layer--birds .sky-layer__img{animation:sky-bird-flap 6s ease-in-out infinite}.sky-layer--birds .sky-layer__item:nth-child(2n) .sky-layer__img{animation-delay:-2s}.sky-layer--stars .sky-layer__img{animation:sky-twinkle 3s ease-in-out infinite}.sky-layer--stars .sky-layer__item:nth-child(2n) .sky-layer__img{animation-delay:-1s;animation-duration:4s}.sky-layer--stars .sky-layer__item:nth-child(3n) .sky-layer__img{animation-delay:-2s;animation-duration:5s}.sky-astro__float{width:100%;height:100%;animation:sky-float-y 8s ease-in-out infinite}.sky-astro__float img{width:100%;height:100%;object-fit:contain;display:block}@media (prefers-reduced-motion: reduce){.sky-layer__img,.sky-astro__float{animation:none!important}}@media (max-width: 768px){.sky-astro{width:clamp(120px,35vw,200px)}}.identity-card,.skill-category,.skills-terminal,.timeline-item,.project-card,.gallery-card,.contact-form,.stat-item{backdrop-filter:blur(14px) saturate(1.1);-webkit-backdrop-filter:blur(14px) saturate(1.1)}html[data-sky-phase=sunset] .identity-card,html[data-sky-phase=sunset] .skill-category,html[data-sky-phase=sunset] .skills-terminal,html[data-sky-phase=sunset] .timeline-item,html[data-sky-phase=sunset] .project-card,html[data-sky-phase=sunset] .gallery-card,html[data-sky-phase=sunset] .contact-form,html[data-sky-phase=night] .identity-card,html[data-sky-phase=night] .skill-category,html[data-sky-phase=night] .skills-terminal,html[data-sky-phase=night] .timeline-item,html[data-sky-phase=night] .project-card,html[data-sky-phase=night] .gallery-card,html[data-sky-phase=night] .contact-form{background:#19264459!important;border-color:#ffffff2e!important}html[data-sky-phase] .modal-panel .contact-form{background:transparent!important;border:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.nav-mute{background:none;border:1px solid var(--border);color:var(--muted);cursor:pointer;padding:.35rem;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:color .2s,border-color .2s;margin-left:.5rem}.nav-mute:hover{color:var(--fg);border-color:var(--fg)}
