:root{--ease-out: cubic-bezier(.16, 1, .3, 1)}body{margin:0;font-family:Inter,sans-serif;scroll-behavior:smooth;overflow-x:hidden}h1,h2{font-family:Playfair Display,serif}.navbar-custom{position:fixed;top:0;left:0;width:100%;z-index:1000;transition:background-color .25s ease,box-shadow .25s ease,padding .25s ease;padding:22px 0;background:transparent}.navbar-custom .nav-link,.navbar-custom .navbar-brand{color:#fff!important;transition:color .25s ease;letter-spacing:1px;text-transform:uppercase;font-weight:500;font-size:.9rem}.navbar-custom .nav-link:hover{opacity:.75}.navbar-custom.scrolled{background:#ffffffeb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 10px 30px #00000014;padding:12px 0}.navbar-custom.scrolled .nav-link,.navbar-custom.scrolled .navbar-brand{color:#111!important}.navbar-custom .navbar-toggler{border-color:#ffffff59}.navbar-custom:not(.scrolled) .navbar-toggler-icon{filter:invert(1)}.hero{height:100vh;background-image:url(/img/fondo.png);background-size:cover;background-position:center;position:relative;display:flex;align-items:center;isolation:isolate}.hero:before{content:"";position:absolute;inset:0;background:#00000075;z-index:-1}.hero:after{content:"";position:absolute;inset:0;background:radial-gradient(60% 60% at 25% 40%,#ffffff1f,#fff0 60%);pointer-events:none;z-index:-1}.hero-content{color:#fff;max-width:680px}.btn-outline-light:hover{background-color:#fff;color:#000}section{padding:110px 0}footer{padding:40px 0}.hero [data-anim]{opacity:0;will-change:transform,opacity;filter:blur(6px)}.hero.loaded [data-anim=photo]{animation:photoIn .9s var(--ease-out) forwards;animation-delay:.1s}.hero.loaded [data-anim=title]{animation:slideDownIn .9s var(--ease-out) forwards;animation-delay:.52s}.hero.loaded [data-anim=lead]{animation:slideUpIn .9s var(--ease-out) forwards;animation-delay:.9s}.hero.loaded [data-anim=cta]{animation:fadeUpIn .9s var(--ease-out) forwards;animation-delay:1.15s}@keyframes photoIn{0%{opacity:0;transform:scale(.92);filter:blur(10px)}60%{opacity:1;transform:scale(1.01);filter:blur(0px)}to{opacity:1;transform:scale(1);filter:blur(0px)}}@keyframes slideDownIn{0%{opacity:0;transform:translateY(-28px);filter:blur(10px)}to{opacity:1;transform:translateY(0);filter:blur(0px)}}@keyframes slideUpIn{0%{opacity:0;transform:translateY(28px);filter:blur(10px)}to{opacity:1;transform:translateY(0);filter:blur(0px)}}@keyframes fadeUpIn{0%{opacity:0;transform:translateY(14px);filter:blur(8px)}to{opacity:1;transform:translateY(0);filter:blur(0px)}}.reveal{opacity:0;transform:translateY(18px);filter:blur(10px);transition:opacity .9s var(--ease-out),transform .9s var(--ease-out),filter .9s var(--ease-out);will-change:transform,opacity}.reveal.is-visible{opacity:1;transform:translateY(0);filter:blur(0)}.stagger>*{opacity:0;transform:translateY(16px);filter:blur(10px);transition:opacity .9s var(--ease-out),transform .9s var(--ease-out),filter .9s var(--ease-out)}.stagger.is-visible>*{opacity:1;transform:translateY(0);filter:blur(0)}.stagger.is-visible>*:nth-child(1){transition-delay:0ms}.stagger.is-visible>*:nth-child(2){transition-delay:.12s}.stagger.is-visible>*:nth-child(3){transition-delay:.24s}@media(prefers-reduced-motion:reduce){body{scroll-behavior:auto}.hero [data-anim],.reveal,.stagger>*{animation:none!important;transition:none!important;opacity:1!important;transform:none!important;filter:none!important}}.projects-section{background-color:#f7f7f2;position:relative;overflow:hidden}.projects-section:before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(0,0,0,.08) 1.2px,transparent 1.2px);background-size:28px 28px;opacity:.45;pointer-events:none}.projects-section .container{position:relative;z-index:1}.projects-header{margin-bottom:3rem}.projects-header h2{font-family:Playfair Display,serif;font-size:clamp(2rem,4vw,3rem);color:#161616;text-transform:uppercase;letter-spacing:1px}.projects-showcase{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;align-items:end}.project-shape{background:#fff;border:2px solid #111;height:420px;position:relative;overflow:hidden;border-radius:10%}.project-shape:nth-child(1){margin-top:50px;border-radius:100% 100% 0% 0%/75% 75% 100% 100%}.project-shape:nth-child(2){margin-top:15px;border-radius:100% 100% 0% 0%/75% 75% 100% 100%}.project-shape:nth-child(3){margin-top:55px;border-radius:100% 100% 0% 0%/75% 75% 100% 100%}.project-shape:nth-child(4){margin-top:20px;border-radius:100% 100% 0% 0%/75% 75% 100% 100%}.project-shape:hover{transform:translateY(-8px);box-shadow:0 18px 36px #0000001a}.project-inner img{width:100%;height:260px;object-fit:cover;border-radius:2rem 2rem 1rem 1rem;margin-bottom:1rem}.project-inner h5{font-family:Playfair Display,serif;font-size:1.25rem;margin-bottom:.45rem;color:#111}.project-inner p{margin:0;color:#5b5b5b;font-size:.95rem;line-height:1.5}@media(max-width:991.98px){.projects-showcase{grid-template-columns:repeat(2,1fr)}}@media(max-width:575.98px){.projects-showcase{grid-template-columns:1fr}.project-shape,.project-shape:nth-child(1),.project-shape:nth-child(2),.project-shape:nth-child(3),.project-shape:nth-child(4){margin-top:0}}.project-detail{padding:120px 0}.project-title{font-family:Playfair Display,serif;font-size:2.5rem}.project-main-image img{border-radius:12px;object-fit:cover}.project-section h3,.project-section h4{font-family:Playfair Display,serif;margin-bottom:1rem}.material-box img{border:2px solid #111;border-radius:12px}.project-shape{cursor:pointer;transition:transform .4s ease,opacity .4s ease}.project-shape.active{z-index:10;transform:scale(1.05)}.projects-showcase.fade-out .project-shape:not(.active){opacity:0;transform:scale(.9)}.projects-showcase{transition:all .4s ease}::view-transition-old(root),::view-transition-new(root){animation-duration:.5s;animation-timing-function:ease}::view-transition-old(root){opacity:1}::view-transition-new(root){opacity:1}.project-image{view-transition-name:project-image}.project-shape{position:relative;overflow:hidden}.project-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;transition:transform .5s ease,filter .5s ease}.project-shape:after{content:"";position:absolute;inset:0;z-index:1}.project-inner{position:relative;z-index:2;color:#fff;height:90%;margin-left:1rem;display:flex;flex-direction:column;justify-content:flex-end}.project-shape:hover .project-bg{transform:scale(1.05);filter:brightness(.9)}.about-section{background:#f7f7f2;padding:120px 0}.about-section h2{font-family:Playfair Display,serif;font-size:2.5rem}.cv-preview{border-radius:16px;overflow:hidden;box-shadow:0 20px 50px #00000026;transform:rotate(-1.5deg);transition:transform .4s ease;width:90%}.cv-preview img{width:90%;height:auto;display:block}.cv-preview:hover{transform:rotate(0) scale(1.02)}
