@import url(https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300..900;1,9..144,300..900&family=Instrument+Sans:ital,wght@0,400..700;1,400..700&family=JetBrains+Mono:wght@400;500&display=swap);:root{--nudo-bg:#1b1410;--nudo-surface:#271d17;--nudo-border:#3a2b22;--nudo-text:#fbf6ef;--nudo-muted:#b3a290;--nudo-accent:#e2542d;--nudo-accent-2:#2f6f5e;--nudo-success:#2f6f5e;--nudo-warning:#e0a526;--nudo-error:#c23b2e;--nudo-info:#3b6ea5;--font-display:"Fraunces",serif;--font-body:"Instrument Sans",sans-serif;--font-mono:"JetBrains Mono",monospace}*{box-sizing:border-box;font-family:Instrument Sans,sans-serif;font-family:var(--font-body);margin:0;padding:0}h1,h2,h3{font-family:Fraunces,serif;font-family:var(--font-display);font-weight:600}html{scroll-behavior:smooth}body{background-color:#1b1410;background-color:var(--nudo-bg);color:#fbf6ef;color:var(--nudo-text)}#contacto,#inicio,#proyectos,#sobre-mi{scroll-margin-top:90px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}a{color:inherit;text-decoration:none}ul{list-style-type:none}.btn{background:#e2542d;background:var(--nudo-accent);border:none;border-radius:8px}.btn,.btn-light{color:#fbf6ef;color:var(--nudo-text);cursor:pointer;font-size:1rem;font-weight:600;letter-spacing:.04em;padding:12px 32px;text-transform:uppercase}.btn-light{background:#0000;border:1.5px solid #3a2b22;border:1.5px solid var(--nudo-border);border-radius:8px}.btn:hover{background:#c94420;transition:.3s}.btn-light:hover{background:#fbf6ef14;border-color:#e2542d;border-color:var(--nudo-accent);transition:.3s}.intro-statement{padding:22vh 1.5rem}@media screen and (max-width:640px){.intro-statement{padding:14vh 1.25rem}}.header{align-items:center;background-color:initial;display:flex;height:90px;justify-content:space-between;padding:1rem;position:fixed;transition:background-color .5s ease;width:100%;z-index:10}.header-bg{background-color:#1b1410e6;transition:.5s}.nav-menu{display:flex}.nav-menu li{padding:0 1rem}.nav-menu li a{font-size:1.2rem;font-weight:500}.hamburger{display:none}.logo{align-items:center;color:var(--nudo-text);cursor:pointer;display:inline-flex;font-family:var(--font-display);font-size:1.5rem;font-weight:600;gap:.6rem;letter-spacing:0;transition:opacity .3s ease,transform .3s ease;-webkit-user-select:none;user-select:none}.logo-mark{height:2.1rem;width:auto}.logo:hover{opacity:.85;transform:scale(1.03)}@media screen and (max-width:1040px){.nav-menu{align-items:center;background:#1b1410f7;flex-direction:column;height:100vh;justify-content:center;left:-100%;position:absolute;top:0;transition:.3s;width:100%;z-index:-3}.nav-menu.active{left:0}.nav-menu li{padding:1rem 0}.nav-menu li a{font-size:2rem}.hamburger{display:inline;display:initial}}.hero{align-items:center;display:flex;flex-direction:column;min-height:100vh;overflow:hidden;padding:6.5rem 1.5rem 3rem;position:relative}.hero .eyebrow{color:var(--nudo-accent);font-size:.95rem;font-weight:600;letter-spacing:.12em;margin-bottom:1.5rem;position:relative;text-align:center;text-transform:uppercase;z-index:1}.hero-photo{flex-shrink:0;position:relative;width:min(380px,66%);z-index:0}.hero-photo img{display:block;filter:grayscale(1) brightness(1.02);height:auto;transition:filter .5s cubic-bezier(.32,.72,0,1);width:100%}.hero-photo:hover img{filter:grayscale(0) brightness(1)}.hero-copy{margin-top:-13vh;max-width:900px;position:relative;text-align:center;z-index:1}.hero-title{font-size:clamp(3rem,10vw,7.5rem);font-weight:600;letter-spacing:-.02em;line-height:.94}.hero-title .line{display:block}.hero-title .accent-line{display:inline-block;position:relative}.hero-title .accent-line:before{background:var(--nudo-accent);border-radius:6px;bottom:8%;content:"";left:-3%;position:absolute;right:-3%;top:32%;z-index:-1}.hero-title .accent-line em{color:var(--nudo-text);font-style:italic}.hero-copy .lede{color:var(--nudo-muted);font-size:1.4rem;margin:1.6rem 0}.hero-copy .btns .btn{margin:1rem .5rem}@media screen and (max-width:640px){.hero-photo{width:min(280px,62%)}.hero-copy{margin-top:-9vh}.hero-copy .lede{font-size:1.15rem}}.scroll-reveal-text{font-family:var(--font-display);font-size:clamp(1.6rem,4vw,2.6rem);font-weight:600;line-height:1.35;margin:0 auto;max-width:820px;text-align:center}.scroll-reveal-text span{color:var(--nudo-text);opacity:clamp(.16,calc(0 - var(--i)/var(--total)*9),1);opacity:clamp(.16,calc((var(--progress, 0) - (var(--i)/var(--total)))*9),1)}@media (prefers-reduced-motion:reduce){.scroll-reveal-text span{opacity:1}}.section-heading{margin:0 auto;max-width:700px;padding:5rem 1.5rem 1rem;text-align:center}.section-eyebrow{color:var(--nudo-accent);font-size:.85rem;font-weight:600;letter-spacing:.12em;margin-bottom:.6rem;text-transform:uppercase}.section-heading h2{font-size:2.2rem;font-weight:600}.section-heading .section-text{color:var(--nudo-muted);font-size:1.15rem;margin-top:.8rem}@media screen and (max-width:640px){.section-heading{padding:3.5rem 1.25rem .5rem}.section-heading h2{font-size:1.8rem}}.reveal{opacity:0;transform:translateY(14px) scale(.98);transition:opacity .45s cubic-bezier(.32,.72,0,1),transform .45s cubic-bezier(.32,.72,0,1)}.reveal-visible{opacity:1;transform:translateY(0) scale(1)}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}.about{align-items:center;flex-wrap:wrap;height:100%;margin:2.3rem 0}.about,.tech-carousel-wrapper{display:flex;justify-content:center;width:100%}.tech-carousel-wrapper{padding-top:2.3rem}.about .left{margin:auto;max-width:560px;padding:0;text-align:center}.about .left p{color:var(--nudo-muted);font-size:1.1rem;margin:1.2rem 0}.about .tech-carousel-container{clear:both;margin-top:0;max-width:1000px;width:100%}@media screen and (max-width:1100px){.about .tech-carousel-container{padding:0 1rem}}@media screen and (max-width:768px){.about{flex-direction:column}.about .left{margin:1rem auto;width:100%}.about .tech-carousel-container{margin-top:1rem}}.tech-carousel-container{margin:2rem auto 0;max-width:1200px;overflow:hidden;padding:1rem 0;width:100%}.tech-carousel{overflow:hidden;position:relative;width:100%}.tech-slider{transition:transform .5s ease}.tech-item,.tech-slider{align-items:center;display:flex;justify-content:center}.tech-item{height:4rem;padding:0 1.5rem}.tech-icon{filter:grayscale(30%);height:3.5rem;transition:transform .3s ease,filter .3s ease;width:auto}.tech-icon:hover{filter:grayscale(0);transform:scale(1.1)}.auto-rotate-toggle{align-items:center;display:flex;justify-content:center;margin-top:1rem;opacity:.6}.auto-rotate-toggle:hover{opacity:1}.auto-rotate-toggle input{margin-right:.5rem}@keyframes slide{0%{transform:translateX(0)}to{transform:translateX(-100%)}}@media screen and (max-width:768px){.tech-carousel-container{padding:1rem 1}.tech-item{padding:0 1rem}.tech-icon{height:2.5rem}}@media screen and (max-width:480px){.tech-item{padding:0 .7rem}.tech-icon{height:2rem}}.stack-projects{margin:0 auto;max-width:900px;padding:2rem 1.5rem 4rem;position:relative}.stack-card-wrap{padding-top:calc(var(--i)*16px);position:sticky;top:calc(90px + var(--i)*16px);z-index:var(--i)}.stack-card{background:var(--nudo-surface);border:1px solid var(--nudo-border);border-radius:24px;box-shadow:0 24px 48px #00000059;display:flex;flex-direction:column;min-height:58vh;overflow:hidden}.stack-card-image{aspect-ratio:16/9;background:var(--nudo-bg);overflow:hidden;width:100%}.stack-card-image img{display:block;height:100%;object-fit:cover;object-position:top;width:100%}.stack-card-body{display:flex;flex:1 1;flex-direction:column;padding:2rem 2.5rem 2.5rem}.stack-card-header{align-items:center;display:flex;gap:1.5rem;justify-content:space-between}.stack-card-header h3{font-size:clamp(1.5rem,3vw,2.1rem)}.stack-card-link{align-items:center;border:1px solid var(--nudo-border);border-radius:50%;color:var(--nudo-text);display:flex;font-size:1.2rem;height:44px;justify-content:center;min-width:44px;transition:background .3s ease,transform .3s cubic-bezier(.32,.72,0,1),border-color .3s ease;width:44px}.stack-card-link:hover{background:var(--nudo-accent);border-color:var(--nudo-accent);transform:scale(1.08) rotate(45deg)}.stack-card-badge{border:1px solid var(--nudo-border);border-radius:999px;color:var(--nudo-muted);font-size:.75rem;padding:.4rem .9rem;white-space:nowrap}.stack-card-desc{color:var(--nudo-muted);font-size:1.05rem;margin-top:1rem;max-width:60ch}.stack-card-tech{color:var(--nudo-accent);font-family:var(--font-mono);font-size:.8rem;letter-spacing:.05em;margin-top:1.5rem;text-transform:uppercase}@media screen and (max-width:640px){.stack-card{min-height:auto}.stack-card-body{padding:1.5rem 1.5rem 1.75rem}.stack-card-header h3{font-size:1.4rem}}label{color:var(--nudo-muted);margin-bottom:.5rem}form{margin:auto;max-width:600px;padding:4rem 1rem;position:relative}.field-group,form{display:flex;flex-direction:column}form input,form textarea{background:var(--nudo-surface);border:1px solid var(--nudo-border);border-radius:8px;color:var(--nudo-text);font-size:1.2rem;margin-bottom:1rem;padding:10px 18px}form input:focus,form textarea:focus{border-color:var(--nudo-accent);outline:none}.alert-message{background-color:var(--nudo-success);border-radius:8px;box-shadow:0 3px 10px #00000040;color:var(--nudo-text);font-size:1rem;font-weight:600;left:50%;opacity:0;padding:.8rem 1.5rem;pointer-events:none;position:absolute;top:-15px;transform:translateX(-50%);transition:opacity .3s ease;white-space:nowrap;z-index:100}.alert-message.show{opacity:1;pointer-events:auto}.alert-message.error{background-color:var(--nudo-error);color:var(--nudo-text)}.footer{background-color:var(--nudo-surface);border-top:1px solid var(--nudo-border);padding:4rem 0;width:100%}.footer-container{grid-gap:40px;display:grid;grid-template-columns:repeat(2,1fr);margin:auto;max-width:1200px;padding:0 2rem}.left{display:flex;flex-direction:column;height:100%;max-width:100%;padding:1rem}.location{display:flex;margin-bottom:.8rem}.location p{line-height:35px}.right{display:flex;flex-direction:column;height:100%;max-width:100%;padding:1rem}.social{margin-top:1rem}.footer h4{font-family:var(--font-display);font-size:1.1rem;font-weight:600;padding-bottom:.7rem}.footer p{color:var(--nudo-muted);font-size:1.1rem}@media screen and (max-width:640px){.footer-container{grid-template-columns:1fr}}
/*# sourceMappingURL=main.37d6ce78.css.map*/