:root{--bg-color:#fcfbf4;--text-color:#2c2c2c;--primary-accent:#ffc72c;--secondary-accent:#2e8b57;--nav-bg:#fcfbf4b3;--card-bg:#2e8b570d;--success-color:#10b981;--error-color:#ef4444}[data-theme=dark]{--bg-color:#1a1a1a;--text-color:#f0ead6;--primary-accent:#d72323;--secondary-accent:#d4af37;--nav-bg:#1a1a1acc;--card-bg:#d4af3712;--success-color:#10b981;--error-color:#f87171}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:#fcfbf4;background-color:var(--bg-color);color:#2c2c2c;color:var(--text-color);font-family:Inter,sans-serif;overflow-x:hidden;transition:background-color .5s ease,color .5s ease}a,body,button{cursor:none}.custom-cursor{background-color:#ffc72c;background-color:var(--primary-accent);border-radius:50%;height:12px;left:0;pointer-events:none;position:fixed;top:0;transform:translate3d(-50%,-50%,0);transition:width .3s ease,height .3s ease;width:12px;will-change:transform;z-index:99999}body:has(a:hover) .custom-cursor,body:has(button:hover) .custom-cursor{background-color:initial;border:2px solid #ffc72c;border:2px solid var(--primary-accent);height:40px;width:40px}.weaver-nav{-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0);background-color:initial;left:0;padding:1rem 0;position:fixed;top:0;transition:background-color .4s ease,-webkit-backdrop-filter .4s ease;transition:background-color .4s ease,backdrop-filter .4s ease;transition:background-color .4s ease,backdrop-filter .4s ease,-webkit-backdrop-filter .4s ease;width:100%;z-index:1000}.weaver-nav:hover{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background-color:#fcfbf4b3;background-color:var(--nav-bg)}.nav-container{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 5%}.nav-brand{color:#ffc72c;color:var(--primary-accent);font-family:Georgia,serif;font-size:1.8rem;font-weight:700}.nav-links-desktop{background:#2e8b570d;background:var(--card-bg);border-radius:50px;display:flex;gap:.5rem;padding:.5rem;position:relative}.nav-links-desktop button{background:none;border:none;border-radius:50px;color:#2c2c2c;color:var(--text-color);font-size:1rem;font-weight:500;padding:.7rem 1.5rem;position:relative;transition:color .4s ease;z-index:2}.nav-links-desktop button.active{color:#1a1a1a}[data-theme=dark] .nav-links-desktop button.active{color:#fcfbf4;color:var(--bg-color)}.nav-shuttle{background-color:#ffc72c;background-color:var(--primary-accent);border-radius:50px;height:calc(100% - 1rem);position:absolute;top:.5rem;transition:left .6s cubic-bezier(.25,1,.5,1),width .6s cubic-bezier(.25,1,.5,1);z-index:1}.nav-actions{gap:1rem}.nav-actions,.theme-toggle{align-items:center;display:flex}.theme-toggle{background:none;border:none;height:40px;justify-content:center;width:40px}.theme-toggle svg{fill:#2c2c2c;fill:var(--text-color);height:24px;width:24px}.menu-toggle-mobile{display:none}.mobile-menu-overlay{align-items:center;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background-color:#000c;display:flex;flex-direction:column;inset:0;justify-content:center;opacity:0;pointer-events:none;position:fixed;transition:opacity .4s ease;z-index:9999}.mobile-menu-overlay.is-open{opacity:1;pointer-events:all}.menu-close-btn{background:none;border:none;color:#fff;font-size:3rem;font-weight:200;line-height:1;position:absolute;right:5%;top:2rem}.mobile-nav-links{align-items:center;display:flex;flex-direction:column;gap:2rem}.mobile-nav-links button{animation:mobileLinkFadeIn .5s ease forwards;background:none;border:none;color:#fff;font-size:2.5rem;font-weight:300;opacity:0;transform:translateY(20px)}@keyframes mobileLinkFadeIn{to{opacity:1;transform:translateY(0)}}.app-container{opacity:0;transition:opacity .5s ease}.app-container.loaded{opacity:1}section{display:flex;flex-direction:column;justify-content:center;margin:0 auto;max-width:1200px;min-height:100vh;padding:8rem 5%;position:relative;z-index:2}.section-header{margin-bottom:4rem;opacity:0;text-align:center;transform:translateY(50px);transition:opacity .6s,transform .6s}.section-header.visible{opacity:1;transform:translateY(0)}.section-header h2{display:inline-block;font-family:Lora,serif;font-size:clamp(2rem,5vw,3rem);font-weight:400;padding-bottom:.5rem;position:relative}.section-header h2:after{background:#2e8b57;background:var(--secondary-accent);border-radius:2px;bottom:0;content:"";height:3px;left:50%;position:absolute;transform:translateX(-50%);width:60px}.hero-section{height:100vh;height:100svh;justify-content:center;min-height:100vh;min-height:100svh;overflow:hidden;padding:0 5%;text-align:center}.hero-background{inset:0;position:absolute;transform:scale(1.1);z-index:1}.hero-background img{animation:kenBurnsHero 25s ease-in-out infinite;filter:blur(5px) brightness(.7);height:100%;object-fit:cover;width:100%}@keyframes kenBurnsHero{0%{transform:scale(1.1) translate(0)}50%{transform:scale(1.2) translate(-2%,2%)}to{transform:scale(1.1) translate(0)}}.hero-overlay{background:radial-gradient(circle,#0000,#fcfbf4 75%);background:radial-gradient(circle,#0000,var(--bg-color) 75%);inset:0;position:absolute;z-index:2}.hero-content{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;padding:2rem 0;position:relative;z-index:3}.hero-name{font-family:Lora,serif;font-size:clamp(2.5rem,8vw,7rem);font-weight:700;line-height:1.1;margin-bottom:1rem}.hero-tagline{color:#2e8b57;color:var(--secondary-accent);font-size:clamp(1rem,3vw,1.5rem);font-weight:300;line-height:1.4;margin:0 auto;max-width:600px}.scroll-indicator{background:#2c2c2c;background:var(--text-color);bottom:2rem;height:50px;left:50%;opacity:.5;position:absolute;transform:translateX(-50%);width:2px;z-index:3}.scroll-line{animation:scrollAnim 2s ease-in-out infinite;background:#fcfbf4;background:var(--bg-color);height:100%;transform-origin:top;width:100%}@keyframes scrollAnim{0%,to{transform:scaleY(0)}50%{transform:scaleY(1)}}.portfolio-grid.desktop-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(3,1fr);perspective:1000px}.portfolio-column{display:flex;flex-direction:column;gap:2rem;will-change:transform}.portfolio-column:nth-child(2){margin-top:5rem}.portfolio-item{border-radius:12px;box-shadow:0 10px 30px #0000001a;opacity:0;overflow:hidden;position:relative;transform:translateY(50px);transition:opacity .6s,transform .6s}.portfolio-item.visible{opacity:1;transform:translateY(0)}.portfolio-image{display:block;height:100%;object-fit:cover;transition:transform .4s ease-out;width:100%}.portfolio-item:hover .portfolio-image{transform:scale(1.05)}.portfolio-overlay{background:linear-gradient(0deg,#000c 0,#0000);bottom:0;color:#fff;left:0;padding:2rem 1.5rem 1.5rem;position:absolute;right:0;transform:translateY(100%);transition:transform .4s ease-out}.portfolio-item:hover .portfolio-overlay{transform:translateY(0)}.portfolio-overlay h3{font-family:Lora,serif;font-size:1.5rem;font-weight:500}.portfolio-mobile{overflow-x:auto;padding:2rem 0;width:100%}.portfolio-carousel{-webkit-overflow-scrolling:touch;display:flex;gap:1.5rem;padding:0 2rem;scroll-snap-type:x mandatory}.portfolio-card-mobile{animation:cardSlideIn .8s cubic-bezier(.25,.46,.45,.94) forwards;flex:none;height:400px;opacity:0;perspective:1000px;scroll-snap-align:center;transform:translateY(30px) rotateX(15deg);width:280px}.portfolio-card-mobile.visible{animation-play-state:running}@keyframes cardSlideIn{to{opacity:1;transform:translateY(0) rotateX(0)}}.card-inner{background:linear-gradient(145deg,#2e8b570d,#0000);background:linear-gradient(145deg,var(--card-bg),#0000);border-radius:20px;box-shadow:0 20px 40px #0000001a,0 0 0 1px #ffffff1a;height:100%;overflow:hidden;position:relative;transition:all .4s cubic-bezier(.25,.46,.45,.94);width:100%}.card-inner:hover{box-shadow:0 30px 60px #0003,0 0 0 1px #fff3;transform:translateY(-10px) scale(1.03)}.card-front{height:100%;overflow:hidden;position:relative;width:100%}.card-front img{height:100%;object-fit:cover;transition:transform .6s ease;width:100%}.card-inner:hover .card-front img{transform:scale(1.08)}.card-gradient{background:linear-gradient(180deg,#0000,#0000004d 60%,#000c);inset:0;opacity:.9;position:absolute}.card-title{bottom:0;color:#fff;left:0;padding:2rem 1.5rem 1.5rem;position:absolute;right:0;z-index:2}.card-title h3{font-family:Lora,serif;font-size:1.4rem;font-weight:600;margin:0;text-shadow:0 2px 10px #00000080;transform:translateY(10px);transition:transform .4s ease}.card-inner:hover .card-title h3{transform:translateY(0)}.about-container{grid-gap:4rem;align-items:center;display:grid;gap:4rem;grid-template-columns:1fr 1.5fr;opacity:0;transition:opacity 1s ease}.about-container.visible{opacity:1}.about-photo-wrapper{align-items:center;display:flex;justify-content:center;position:relative}.abstract-background{height:120%;left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);width:120%;z-index:1}.abstract-shape{animation:float 6s ease-in-out infinite;border-radius:50% 30% 70% 40%;filter:blur(1px);opacity:.6;position:absolute}.shape-1{animation-delay:0s;background:linear-gradient(45deg,#ffc72c,#2e8b57);background:linear-gradient(45deg,var(--primary-accent),var(--secondary-accent));height:150px;left:-20%;top:-20%;width:150px}.shape-2{animation-delay:2s;background:linear-gradient(135deg,#2e8b57,#0000);background:linear-gradient(135deg,var(--secondary-accent),#0000);height:100px;right:-15%;top:60%;width:100px}.shape-3{animation-delay:4s;background:linear-gradient(225deg,#ffc72c,#0000);background:linear-gradient(225deg,var(--primary-accent),#0000);height:80px;right:30%;top:-10%;width:80px}.shape-4{animation-delay:1s;background:linear-gradient(315deg,#2e8b57,#ffc72c);background:linear-gradient(315deg,var(--secondary-accent),var(--primary-accent));bottom:-15%;height:120px;left:20%;width:120px}@keyframes float{0%,to{border-radius:50% 30% 70% 40%;transform:translateY(0) rotate(0deg)}33%{border-radius:30% 50% 40% 70%;transform:translateY(-15px) rotate(120deg)}66%{border-radius:70% 40% 50% 30%;transform:translateY(10px) rotate(240deg)}}.about-photo{border-radius:12px;box-shadow:0 20px 40px #0000001a,0 0 0 1px #ffffff1a;overflow:hidden;position:relative;transition:transform .3s ease;z-index:2}.about-photo:hover{transform:translateY(-5px)}.about-photo img{display:block;width:100%}.about-title{font-family:Lora,serif;font-size:2.5rem;margin-bottom:1rem}.about-philosophy{color:#2e8b57;color:var(--secondary-accent);font-family:Lora,serif;font-size:1.2rem;font-style:italic;margin-bottom:1.5rem}.contact-link-button{background-color:#ffc72c;background-color:var(--primary-accent);border-radius:5px;color:#1a1a1a;display:inline-block;font-weight:600;margin-top:1.5rem;padding:.8rem 2rem;text-decoration:none;transition:transform .3s,box-shadow .3s}.contact-link-button:hover{box-shadow:0 4px 15px #0003;transform:translateY(-3px)}.contact-container{grid-gap:4rem;align-items:flex-start;display:grid;gap:4rem;grid-template-columns:1.5fr 1fr;opacity:0;transition:opacity 1s ease}.contact-container.visible{opacity:1}.form-group{margin-bottom:2.5rem;position:relative}.form-group input,.form-group textarea{background:#0000;border:none;border-bottom:2px solid #2c2c2c;border-bottom:2px solid var(--text-color);color:#2c2c2c;color:var(--text-color);font-size:1rem;outline:none;padding:.5rem 0;transition:border-color .3s,opacity .3s;width:100%}.form-group input:disabled,.form-group textarea:disabled{cursor:not-allowed;opacity:.6}.form-group input:focus,.form-group textarea:focus{border-color:#ffc72c;border-color:var(--primary-accent)}.form-group label{color:var(--text-secondary);left:0;pointer-events:none;position:absolute;top:.5rem;transition:all .3s ease}.form-group input:focus+label,.form-group input:not(:placeholder-shown)+label,.form-group textarea:focus+label,.form-group textarea:not(:placeholder-shown)+label{color:#ffc72c;color:var(--primary-accent);font-size:.8rem;top:-1.2rem}.submit-btn{background-color:#ffc72c;background-color:var(--primary-accent);border:none;border-radius:5px;color:#1a1a1a;cursor:pointer;font-size:1rem;font-weight:600;padding:.8rem 2rem;transition:opacity .3s,transform .2s}.submit-btn:hover:not(:disabled){opacity:.8;transform:translateY(-2px)}.submit-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.form-message{border-left:4px solid;border-radius:8px;font-weight:500;margin-top:1.5rem;opacity:0;padding:1rem;text-align:center;transform:translateY(-10px);transition:all .4s ease}.form-message.visible{opacity:1;transform:translateY(0)}.form-message.success{background-color:#10b9811a;border-left-color:#10b981;border-left-color:var(--success-color);color:#10b981;color:var(--success-color)}.form-message.error{background-color:#ef44441a;border-left-color:#ef4444;border-left-color:var(--error-color);color:#ef4444;color:var(--error-color)}[data-theme=dark] .form-message.success{background-color:#10b98126}[data-theme=dark] .form-message.error{background-color:#f8717126}.contact-info{gap:2rem}.contact-details,.contact-info{display:flex;flex-direction:column}.contact-details{gap:1.5rem;margin-bottom:2rem}.phone-contact,.whatsapp-contact{align-items:center;background:#2e8b570d;background:var(--card-bg);border:1px solid #ffffff1a;border-radius:12px;display:flex;gap:1rem;padding:1rem;transition:transform .3s ease,box-shadow .3s ease}.phone-contact:hover,.whatsapp-contact:hover{box-shadow:0 8px 25px #0000001a;transform:translateY(-3px)}.phone-contact svg,.whatsapp-contact svg{fill:#ffc72c;fill:var(--primary-accent);flex-shrink:0;height:24px;width:24px}.contact-text{display:flex;flex-direction:column;gap:.2rem}.contact-label{font-size:.85rem;font-weight:500;opacity:.7}.contact-label,.contact-value{color:#2c2c2c;color:var(--text-color)}.contact-value{font-size:1rem;font-weight:600;text-decoration:none;transition:color .3s ease}.contact-value:hover{color:#ffc72c;color:var(--primary-accent)}.social-links{display:flex;flex-direction:column;gap:1rem}.social-links a{align-items:center;border-radius:8px;color:#2c2c2c;color:var(--text-color);display:flex;font-weight:500;gap:.5rem;padding:.5rem;text-decoration:none;transition:color .3s}.social-links a:hover{background:#2e8b570d;background:var(--card-bg);color:#ffc72c;color:var(--primary-accent)}.social-links svg{fill:currentColor;height:24px;width:24px}.footer-section{background-color:#2e8b570d;background-color:var(--card-bg);padding:4rem 5%;position:relative;text-align:center;z-index:2}.footer-content{margin:0 auto;max-width:1200px}.footer-socials{display:flex;gap:2rem;justify-content:center;margin-bottom:1.5rem}.footer-socials a{color:#2c2c2c;color:var(--text-color);transition:color .3s ease,transform .3s ease}.footer-socials a:hover{color:#ffc72c;color:var(--primary-accent);transform:translateY(-3px)}.footer-socials svg{fill:currentColor;height:28px;width:28px}.footer-copyright{font-weight:500;margin-bottom:.5rem;opacity:.8}.footer-credit{font-size:.9rem;opacity:.6}.footer-credit a{color:var(--text-secondary);text-decoration:underline;text-underline-offset:4px}.back-to-top-btn{align-items:center;background-color:#ffc72c;background-color:var(--primary-accent);border:none;border-radius:50%;bottom:20px;box-shadow:0 4px 15px #0003;color:#1a1a1a;display:flex;height:50px;justify-content:center;opacity:0;pointer-events:none;position:fixed;right:20px;transform:translateY(20px);transition:opacity .4s ease,transform .4s ease;width:50px;z-index:999}.back-to-top-btn.visible{opacity:1;pointer-events:all;transform:translateY(0)}.back-to-top-btn:hover{opacity:.8}.back-to-top-btn svg{height:24px;width:24px}@media (max-width:1024px){.portfolio-grid.desktop-grid{grid-template-columns:repeat(2,1fr)}.portfolio-column:nth-child(2){margin-top:0}.about-photo-wrapper{justify-content:flex-start}.abstract-background{height:100%;width:100%}.abstract-shape{opacity:.4}.shape-1{height:120px;width:120px}.shape-2{height:80px;width:80px}.shape-3{height:60px;width:60px}.shape-4{height:100px;width:100px}}@media (max-width:768px){body{cursor:auto}a,button{cursor:pointer}.custom-cursor,.nav-links-desktop{display:none}.menu-toggle-mobile{background:#2e8b570d;background:var(--card-bg);border:none;border-radius:50px;color:#2c2c2c;color:var(--text-color);display:block;font-size:1rem;font-weight:500;padding:.7rem 1.5rem}.hero-section{height:100vh;height:100svh;min-height:100vh;min-height:100svh;padding:0 8%}.hero-content{padding:4rem 0 2rem}.hero-name{font-size:clamp(2.2rem,12vw,5rem);margin-bottom:1.5rem}.hero-tagline{font-size:clamp(.9rem,4vw,1.3rem);margin-top:1rem}.scroll-indicator{bottom:3rem;height:40px}.portfolio-grid.desktop-grid{display:none}.portfolio-mobile{display:block}.portfolio-carousel{gap:1rem;padding:0 1rem}.portfolio-card-mobile{height:350px;width:250px}.card-title h3{font-size:1.2rem}.card-title{padding:1.5rem 1rem 1rem}.about-container,.contact-container{gap:2rem;grid-template-columns:1fr}.about-photo-wrapper{margin-bottom:2rem;order:1}.about-text{order:2}.abstract-background{height:90%;width:90%}.abstract-shape{opacity:.3}.shape-1{height:80px;left:-10%;top:-10%;width:80px}.shape-2{height:60px;right:-5%;top:70%;width:60px}.shape-3{height:40px;right:20%;top:5%;width:40px}.shape-4{bottom:-5%;height:70px;left:15%;width:70px}.contact-details{gap:1rem}.phone-contact,.whatsapp-contact{padding:.8rem}.contact-value,.form-message{font-size:.9rem}.form-message{padding:.8rem}section{min-height:auto;padding:6rem 5%}.hero-section{padding:0 8%!important}}@media (max-width:480px){.hero-section{min-height:100vh;min-height:100svh;padding:0 6%}.hero-content{padding:3rem 0 2rem}.hero-name{font-size:clamp(2rem,14vw,4rem);line-height:1;margin-bottom:1rem}.hero-tagline{font-size:clamp(.85rem,4.5vw,1.2rem);line-height:1.3;margin-top:.8rem}.scroll-indicator{bottom:2.5rem;height:35px}.portfolio-card-mobile{height:320px;width:220px}.card-title h3{font-size:1.1rem}.nav-brand{font-size:1.5rem}.about-title{font-size:2rem}.about-philosophy{font-size:1.1rem}.contact-details{margin-bottom:1.5rem}.phone-contact,.whatsapp-contact{flex-direction:column;gap:.5rem;text-align:center}.contact-text{align-items:center}}@media (max-width:768px) and (orientation:landscape){.hero-section{height:100vh;min-height:100vh;padding:0 5%}.hero-content{padding:2rem 0 1rem}.hero-name{font-size:clamp(2rem,8vw,3.5rem);margin-bottom:.5rem}.hero-tagline{font-size:clamp(.8rem,3vw,1.1rem);margin-top:.5rem}.scroll-indicator{bottom:1.5rem;height:30px}}@media (max-width:360px){.hero-section{padding:0 4%}.hero-name{font-size:clamp(1.8rem,16vw,3.5rem)}.hero-tagline{font-size:clamp(.8rem,5vw,1.1rem)}.nav-brand{font-size:1.3rem}}@media (min-width:769px){.portfolio-mobile{display:none}.portfolio-grid.desktop-grid{display:grid}.hero-section{height:100vh;min-height:100vh}.hero-name{font-size:clamp(3.5rem,8vw,7rem)}.hero-tagline{font-size:clamp(1.2rem,2.5vw,1.5rem)}}@media (min-width:1400px){.footer-content,.nav-container,section{max-width:1400px}.portfolio-card-mobile{height:450px;width:320px}.card-title h3{font-size:1.6rem}.hero-name{font-size:clamp(4rem,6vw,7rem)}.hero-tagline{font-size:clamp(1.3rem,2vw,1.6rem)}}[data-theme=dark] .about-photo{box-shadow:0 20px 40px #0000004d,0 0 0 1px #ffffff1a}[data-theme=dark] .card-inner{box-shadow:0 20px 40px #0000004d,0 0 0 1px #ffffff0d}[data-theme=dark] .card-inner:hover{box-shadow:0 30px 60px #0006,0 0 0 1px #ffffff1a}[data-theme=dark] .phone-contact,[data-theme=dark] .whatsapp-contact{background:#d4af370d;border:1px solid #ffffff0d}[data-theme=dark] .phone-contact:hover,[data-theme=dark] .whatsapp-contact:hover{box-shadow:0 8px 25px #0000004d}.back-to-top-btn:focus-visible,.contact-link-button:focus-visible,.menu-toggle-mobile:focus-visible,.nav-links-desktop button:focus-visible,.submit-btn:focus-visible,.theme-toggle:focus-visible{outline:2px solid #ffc72c;outline:2px solid var(--primary-accent);outline-offset:2px}.form-group input:focus-visible,.form-group textarea:focus-visible{border-color:#ffc72c;border-color:var(--primary-accent);box-shadow:0 2px 0 #ffc72c;box-shadow:0 2px 0 var(--primary-accent);outline:none}.contact-value:focus-visible,.footer-socials a:focus-visible,.social-links a:focus-visible{border-radius:4px;outline:2px solid #ffc72c;outline:2px solid var(--primary-accent);outline-offset:2px}@media print{.back-to-top-btn,.custom-cursor,.hero-background,.mobile-menu-overlay,.scroll-indicator,.weaver-nav{display:none}section{padding:2rem 0;page-break-inside:avoid}.portfolio-grid.desktop-grid{gap:1rem;grid-template-columns:repeat(2,1fr)}.portfolio-mobile{display:none}}
/*# sourceMappingURL=main.65853777.css.map*/