@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;600;800&display=swap";:root{--background:#fff;--foreground:#030712;--primary:#030712;--secondary:#64748b;--accent:#1e40af;--card:#f8fafc;--radius:2rem;--font-main:"Outfit", sans-serif;--transition:all .3s ease}[data-theme=dark]{--background:#030712;--foreground:#fff;--primary:#fff;--secondary:#94a3b8;--accent:#3b82f6;--card:#111827}body{background-color:var(--background);color:var(--foreground);transition:background-color .5s,color .5s}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--background);color:var(--foreground);font-family:var(--font-main);line-height:1.6;overflow-x:hidden}h1,h2,h3{letter-spacing:-.02em;font-weight:800;line-height:1.1}.container{max-width:1200px;margin:0 auto;padding:0 2rem}header{z-index:1000;pointer-events:none;background:0 0;justify-content:space-between;align-items:center;width:100%;height:60px;display:flex;position:fixed;top:0;left:0}.theme-toggle{pointer-events:auto;background:var(--card);z-index:1001;border:1px solid #64748b1a;position:absolute;top:1.5rem;left:2rem;box-shadow:0 4px 12px #0000001a}.logo{letter-spacing:2px;font-size:1.5rem;font-weight:800}.theme-toggle{cursor:pointer;color:var(--foreground);transition:var(--transition);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:.5rem;display:flex}.theme-toggle:hover{background:#64748b1a}.theme-toggle .moon,[data-theme=dark] .theme-toggle .sun{display:none}[data-theme=dark] .theme-toggle .moon{display:block}.btn{background:var(--primary);color:var(--background);border-radius:9999px;align-items:center;gap:.5rem;padding:.8rem 1.5rem;font-weight:600;text-decoration:none;transition:transform .2s,opacity .2s;display:inline-flex}.btn:hover{opacity:.9;transform:scale(1.05)}.hero{grid-template-columns:1.2fr .8fr;align-items:center;gap:4rem;padding:2rem 0 4rem;display:grid}.hero-content h1{margin-bottom:2rem;font-size:4rem}.hero-description{color:var(--secondary);max-width:600px;font-size:1.25rem}.hero-photo{aspect-ratio:1;border-radius:var(--radius);width:100%;overflow:hidden;box-shadow:0 25px 50px -12px #0000001a}.hero-photo img{object-fit:cover;width:100%;height:100%}.projects{background:var(--card);padding:6rem 0}.section-title{text-align:center;margin-bottom:3rem;font-size:2.5rem}.swiper{width:100%;padding-bottom:3rem}.project-card{background:var(--card);border-radius:var(--radius);border:1px solid #64748b1a;grid-template-columns:1fr 1fr;align-items:center;gap:3rem;min-height:500px;padding:2rem;transition:transform .3s,box-shadow .3s;display:grid;overflow:hidden}.project-card:hover{transform:translateY(-5px);box-shadow:0 20px 40px #0000001a}.project-info h3{margin-bottom:1.5rem;font-size:2.5rem}.project-description{color:var(--secondary);margin-bottom:2rem;font-size:1.1rem}.project-media{border-radius:calc(var(--radius) / 1.5);background:var(--background);justify-content:center;align-items:center;height:500px;display:flex;overflow:hidden;box-shadow:0 10px 15px -3px #0000000d}.project-media img{object-fit:contain;max-width:100%;max-height:100%;display:block}.project-media-crossfade{position:relative}.project-media-crossfade img{opacity:0;width:100%;height:100%;animation-duration:12s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.project-media-crossfade img:first-child{animation-name:crossfade-1}.project-media-crossfade img:nth-child(2){animation-name:crossfade-2}@keyframes crossfade-1{0%,45%,to{opacity:1}55%,95%{opacity:0}}@keyframes crossfade-2{0%,45%,to{opacity:0}55%,95%{opacity:1}}.project-media-crossfade-4{position:relative}.project-media-crossfade-4 img{opacity:0;width:100%;height:100%;animation-duration:16s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.project-media-crossfade-4 img:first-child{animation-name:cross-4-1}.project-media-crossfade-4 img:nth-child(2){animation-name:cross-4-2}.project-media-crossfade-4 img:nth-child(3){animation-name:cross-4-3}.project-media-crossfade-4 img:nth-child(4){animation-name:cross-4-4}@keyframes cross-4-1{0%,20%,to{opacity:1}25%,95%{opacity:0}}@keyframes cross-4-2{0%,20%,50%,to{opacity:0}25%,45%{opacity:1}}@keyframes cross-4-3{0%,45%,75%,to{opacity:0}50%,70%{opacity:1}}@keyframes cross-4-4{0%,70%,to{opacity:0}75%,95%{opacity:1}}.contact{text-align:center;padding:8rem 0 4rem}.contact h2{max-width:800px;margin-bottom:1.5rem;margin-left:auto;margin-right:auto;font-size:3.5rem}.contact p{color:var(--secondary);margin-bottom:3rem;font-size:1.2rem}.btn-whatsapp{background:var(--primary);padding:1.5rem 3rem;font-size:1.25rem}footer{text-align:center;color:var(--secondary);border-top:1px solid #64748b1a;padding:2rem 0;font-size:.9rem}.social-links{flex-wrap:nowrap;justify-content:center;gap:1.5rem;margin-bottom:1.5rem;display:flex}.social-links a{color:var(--foreground);transition:var(--transition);white-space:nowrap;opacity:.7;align-items:center;gap:.5rem;font-size:.95rem;font-weight:600;text-decoration:none;display:flex}.social-links a:hover{opacity:1;color:var(--accent);transform:translateY(-3px)}.social-links svg{width:20px;height:20px}.swiper-button-next,.swiper-button-prev{color:var(--primary);background:var(--card);width:50px;height:50px;transition:var(--transition);border-radius:50%;box-shadow:0 4px 12px #0000001a}.swiper-button-next:after,.swiper-button-prev:after{font-size:1.2rem;font-weight:700}.swiper-button-next:hover,.swiper-button-prev:hover{background:var(--primary);color:var(--background);transform:scale(1.1)}.swiper-pagination-bullet{background:var(--secondary);opacity:.5}.swiper-pagination-bullet-active{background:var(--primary);opacity:1}.reveal{opacity:0;transition:all 1s cubic-bezier(.16,1,.3,1);transform:translateY(40px)}.reveal.revealed{opacity:1;transform:translateY(0)}html{scroll-behavior:smooth}#contact-name{background:var(--card);color:var(--foreground)}@media (width<=1024px){.hero{text-align:center;grid-template-columns:1fr}.hero-content h1{font-size:3rem}.hero-description{margin:0 auto 2rem}.project-card{text-align:center;grid-template-columns:1fr;min-height:auto}.project-media{height:400px}}@media (width<=640px){.hero-content h1,.contact h2{font-size:2.5rem}.project-media{height:300px}}
