.navbar{position:sticky;top:0;z-index:1000;padding:var(--spacing-md) 0;background:#4f494c99;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border);transition:all .3s ease}.navbar.scrolled{padding:var(--spacing-sm) 0;background:#4f494cf2;box-shadow:0 4px 20px #4f494c4d}.navbar-container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-lg);display:flex;justify-content:space-between;align-items:center}.navbar-logo{display:flex;align-items:center;gap:var(--spacing-md);text-decoration:none;transition:opacity .3s ease}.navbar-logo:hover{opacity:.8}.logo-img{height:40px;width:auto;transition:transform .3s ease}.logo-img:hover{transform:scale(1.1) rotate(5deg)}.company-name{font-size:1.25rem;font-weight:700;color:var(--text-dark)}.navbar-menu{display:flex;list-style:none;gap:var(--spacing-xl)}.navbar-menu li a{font-weight:500;color:var(--text-dark);transition:all .25s ease;cursor:pointer;position:relative;padding:8px 12px;border-radius:var(--radius-full);text-decoration:none;display:block}.navbar-menu li a:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:0;height:2px;background:linear-gradient(90deg,var(--primary-color),var(--color-khaki));transition:width .25s ease}.navbar-menu li a:hover{color:var(--color-khaki);background:#f4ecdc14;transform:translateY(-2px)}.navbar-menu li a.active{color:var(--color-khaki);background:#bd866a3d;border:1px solid rgba(189,134,106,.42)}.navbar-menu li a.active:after{width:calc(100% - 24px)}.navbar-menu li a:hover:after{width:100%}.navbar-overlay,.hamburger{display:none}@media (max-width: 768px){.hamburger{display:inline-flex}.navbar-container{position:relative}.hamburger{position:absolute;right:var(--spacing-lg);top:50%;transform:translateY(-50%);flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;background:#89685f1a;border:1px solid rgba(137,104,95,.3);border-radius:8px;cursor:pointer;transition:all .3s ease}.hamburger:hover{background:#89685f33;border-color:var(--primary-color)}.hamburger .bar{display:block;width:24px;height:2.5px;background:var(--text-dark);margin:0 auto;border-radius:2px;transition:all .3s cubic-bezier(.68,-.55,.265,1.55)}.hamburger .bar.open:nth-child(1){transform:translateY(7.5px) rotate(45deg);background:var(--primary-color)}.hamburger .bar.open:nth-child(2){opacity:0;transform:scale(0)}.hamburger .bar.open:nth-child(3){transform:translateY(-7.5px) rotate(-45deg);background:var(--primary-color)}.navbar-menu{position:fixed;top:76px;left:0;right:0;flex-direction:column;gap:0;width:100%;background:#4f494cfa;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:var(--spacing-lg) 0;border-bottom:1px solid var(--border);box-shadow:0 10px 30px #4f494c80;opacity:0;transform:translateY(-20px);pointer-events:none;transition:all .3s cubic-bezier(.68,-.55,.265,1.55)}.navbar-menu.open{opacity:1;transform:translateY(0);pointer-events:all}.navbar-menu li{border-bottom:1px solid rgba(244,236,220,.05)}.navbar-menu li:last-child{border-bottom:none}.navbar-menu li a{padding:var(--spacing-md) var(--spacing-xl);font-size:1.1rem;text-align:center;display:block}.navbar-menu li a:after{display:none}.navbar-menu li a:hover{background:#89685f1a;transform:scale(1.02)}.navbar-overlay{display:block;position:fixed;top:76px;left:0;right:0;bottom:0;background:#4f494c99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:-1;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}}.scroll-progress{position:fixed;top:0;left:0;width:100%;height:3px;background:transparent;z-index:1200}.scroll-progress__bar{height:100%;background:linear-gradient(90deg,var(--primary-color),rgba(189,134,106,.9),#bd866a);box-shadow:0 0 14px #89685f8c;transition:width .18s cubic-bezier(.2,.9,.2,1);transform-origin:left;animation:progressPulse 2.4s ease-in-out infinite}@keyframes progressPulse{0%,to{filter:brightness(1)}50%{filter:brightness(1.12)}}@media (prefers-reduced-motion: reduce){.scroll-progress__bar{animation:none;transition:none}}.footer{background-color:var(--dark-bg);color:var(--text-dark);padding:var(--spacing-2xl) var(--spacing-lg);border-top:1px solid var(--border)}.footer-container{max-width:1200px;margin:0 auto}.footer-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-xl);margin-bottom:var(--spacing-xl)}.footer-section{display:flex;flex-direction:column;gap:var(--spacing-sm)}.footer-brand{font-size:1.4rem;font-weight:700;color:var(--primary-color);text-decoration:none;transition:color var(--transition-base);display:inline-block;width:fit-content}.footer-brand:hover{color:var(--color-khaki)}.footer-section h4{font-size:1rem;margin-bottom:.5rem;color:var(--text-dark);font-weight:600}.footer-section p{color:var(--text-light);font-size:.95rem;line-height:1.5}.footer-tagline{color:var(--text-light);font-size:.95rem;line-height:1.6;margin-top:var(--spacing-sm)}.footer-link{color:var(--text-on-dark);transition:color var(--transition-base),transform var(--transition-base),background-color var(--transition-base),border-color var(--transition-base);text-decoration:none;font-size:.95rem;cursor:pointer;width:fit-content;border-radius:var(--radius-sm)}.footer-section a.footer-link{background:transparent}.footer-section button.footer-link{border:1px solid rgba(189,134,106,.35);background:#89685f33;color:var(--text-on-dark);padding:.45rem .75rem;line-height:1.2}.footer-link:hover{color:var(--color-khaki);transform:translate(4px)}.footer-section button.footer-link:hover{background:#bd866a47;border-color:#bd866a99}.footer-bottom{border-top:1px solid var(--border);padding-top:var(--spacing-lg);text-align:center}.footer-bottom p{color:var(--text-light);font-size:.9rem;margin:0}@media (max-width: 768px){.footer-content{grid-template-columns:1fr;text-align:left;gap:2rem}.footer-section p{margin:0}}.backtotop{position:fixed;right:20px;bottom:20px;width:44px;height:44px;border-radius:50%;background:var(--primary-color);color:var(--color-khaki);font-size:22px;line-height:44px;text-align:center;box-shadow:0 10px 25px #89685f4d;opacity:0;pointer-events:none;transform:translateY(10px);transition:all .3s ease;z-index:1001}.backtotop.show{opacity:1;pointer-events:auto;transform:translateY(0)}.backtotop:hover{background:var(--secondary-color);transform:translateY(-3px)}.floating-cta{position:fixed;right:20px;bottom:80px;padding:.9rem 1.4rem;border-radius:999px;background:var(--primary-color);color:var(--color-khaki);font-weight:600;box-shadow:0 12px 32px #89685f59;z-index:1100;transition:transform .25s ease,box-shadow .25s ease}.floating-cta:hover{transform:translateY(-3px);box-shadow:0 16px 40px #89685f73}@media (max-width: 768px){.floating-cta{right:16px;bottom:70px}}.floating-cta-group{display:contents}.whatsapp-cta{position:fixed!important;right:20px;bottom:140px;background:var(--color-cognac)!important;z-index:1100}.whatsapp-cta:hover{background:var(--color-gunmetal)!important}@media (max-width: 768px){.whatsapp-cta{right:16px;bottom:130px}}.spinner-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl);min-height:400px;color:var(--text-light)}.spinner{width:48px;height:48px;border:4px solid var(--border);border-top-color:var(--primary-color);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:var(--spacing-md)}@keyframes spin{to{transform:rotate(360deg)}}.spinner-container p{font-size:.95rem;margin:0}.interaction-layer{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:15000}.cursor-glow{position:fixed;left:var(--pointer-x, -1000px);top:var(--pointer-y, -1000px);width:340px;height:340px;transform:translate(-50%,-50%);background:radial-gradient(circle at 30% 30%,rgba(137,104,95,.18),transparent 60%);filter:blur(14px);opacity:.9;mix-blend-mode:screen;transition:opacity .25s ease}.click-spark{position:fixed;width:22px;height:22px;transform:translate(-50%,-50%);border-radius:999px;z-index:20000;pointer-events:none;background:radial-gradient(circle,#f4ecdcf2,#89685f8c,#89685f00 70%);box-shadow:0 0 18px #89685f8c;animation:spark .65s cubic-bezier(.2,.9,.2,1) forwards}.click-spark:after{content:"";position:absolute;top:-16px;right:-16px;bottom:-16px;left:-16px;border-radius:999px;border:1px solid rgba(137,104,95,.35);animation:sparkRing .65s cubic-bezier(.2,.9,.2,1) forwards}@keyframes spark{0%{opacity:0;transform:translate(-50%,-50%) scale(.2)}20%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(1.5)}}@keyframes sparkRing{0%{opacity:0;transform:scale(.4)}30%{opacity:1}to{opacity:0;transform:scale(1.25)}}@media (max-width: 900px){.cursor-glow{width:240px;height:240px}}@media (prefers-reduced-motion: reduce){.cursor-glow,.click-spark{display:none}}.page-transition{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:18000;background:transparent}.page-transition:before{content:"";position:absolute;top:-30%;right:-30%;bottom:-30%;left:-30%;background:radial-gradient(1200px 600px at 30% 40%,rgba(137,104,95,.35),transparent 60%),radial-gradient(900px 500px at 70% 40%,rgba(189,134,106,.22),transparent 60%),linear-gradient(90deg,#4f494c00,#4f494c99,#4f494c00 70%);transform:translate(-120%) skew(-14deg);filter:blur(2px);opacity:0;animation:pageSweep .72s cubic-bezier(.2,.9,.2,1) both}.page-transition:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#4f494c26;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;animation:pageFade .72s cubic-bezier(.2,.9,.2,1) both}@keyframes pageSweep{0%{opacity:0;transform:translate(-120%) skew(-14deg)}20%{opacity:1}55%{opacity:1;transform:translate(0) skew(-14deg)}to{opacity:0;transform:translate(120%) skew(-14deg)}}@keyframes pageFade{0%{opacity:0}25%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion: reduce){.page-transition:before,.page-transition:after{animation:none;display:none}}.App{background-color:var(--dark-bg);color:var(--text-dark);min-height:100vh;animation:fadeInScale .7s cubic-bezier(.2,.9,.2,1) forwards}html{scroll-behavior:smooth}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}.route-shell{animation:routeIn .52s cubic-bezier(.2,.9,.2,1)}@keyframes routeIn{0%{opacity:0;transform:translateY(12px) scale(.99);filter:blur(6px)}to{opacity:1;transform:translateY(0) scale(1);filter:none}}@media (prefers-reduced-motion: reduce){.route-shell{animation:none}}button,a{-webkit-tap-highlight-color:transparent}button:active,a:active{transform:translateY(1px)}a:focus-visible,button:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px;border-radius:4px}*{margin:0;padding:0;box-sizing:border-box}:root{--color-khaki: #f4ecdc;--color-tan: #bd866a;--color-cognac: #89685f;--color-gunmetal: #4f494c;--primary-color: var(--color-cognac);--primary-hover: var(--color-gunmetal);--secondary-color: var(--color-gunmetal);--accent: var(--color-tan);--dark-bg: var(--color-gunmetal);--light-bg: var(--color-khaki);--text-on-dark: var(--color-khaki);--text-on-light: var(--color-gunmetal);--text-dark: var(--text-on-dark);--text-light: var(--text-on-dark);--text-on-khaki: var(--color-gunmetal);--text-on-khaki-alt: var(--color-cognac);--text-on-cognac: var(--color-khaki);--text-on-gunmetal: var(--color-khaki);--border: rgba(189, 134, 106, .3);--border-strong: rgba(137, 104, 95, .45);--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 1.5rem;--spacing-lg: 2.25rem;--spacing-xl: 3.25rem;--spacing-2xl: 5rem;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 20px;--radius-full: 999px;--shadow-soft: 0 8px 24px rgba(79, 73, 76, .12);--shadow-lift: 0 14px 36px rgba(79, 73, 76, .16);--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .5s ease;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--dark-bg);color:var(--text-on-dark);line-height:1.75}body:before{content:"";position:fixed;top:-40vh;right:-40vw;bottom:-40vh;left:-40vw;z-index:-1;background:radial-gradient(700px 500px at 20% 10%,rgba(189,134,106,.15),transparent 60%),radial-gradient(700px 500px at 85% 15%,rgba(137,104,95,.12),transparent 60%),radial-gradient(700px 500px at 50% 85%,rgba(244,236,220,.08),transparent 60%);filter:blur(6px);animation:ambientDrift 14s ease-in-out infinite;pointer-events:none}@keyframes ambientDrift{0%,to{transform:translateZ(0)}50%{transform:translate3d(0,-12px,0)}}.App{min-height:100vh}h1{font-size:clamp(2.15rem,4.2vw,3.35rem);line-height:1.15;font-weight:var(--font-weight-extrabold)}h2{font-size:clamp(1.75rem,3vw,2.55rem);line-height:1.2;font-weight:var(--font-weight-bold)}h3{font-size:clamp(1.35rem,2.3vw,1.95rem);line-height:1.25;font-weight:var(--font-weight-bold)}h4{font-size:clamp(1.15rem,1.6vw,1.45rem);line-height:1.3;font-weight:var(--font-weight-semibold)}h5{font-size:1.05rem;line-height:1.35;font-weight:var(--font-weight-semibold)}h6{font-size:.95rem;line-height:1.4;font-weight:var(--font-weight-semibold)}h1,h2,h3,h4,h5,h6{color:inherit;text-shadow:0 1px 2px rgba(79,73,76,.08);letter-spacing:-.01em}p,li,span,label,.text{color:inherit}.contact-content,.faq-item,.pricing-card,.pricing-modal,.pricing-modal-content,.comparison-table,.project-card,.service-card,.location-service-card,.location-info-card,.location-trends,.location-pricing,.location-hero,.comparison-cta,.table-header,.table-row,.step-content,.about-mission,.contact-note-section,.payment-note,.modal-footer,.customer-summary,.payment-section{color:var(--text-on-light);--text-dark: var(--text-on-light);--text-light: var(--text-on-light)}.contact-content h1,.contact-content h2,.contact-content h3,.contact-content h4,.faq-item h1,.faq-item h2,.faq-item h3,.faq-item h4,.pricing-card h1,.pricing-card h2,.pricing-card h3,.pricing-modal-content h1,.pricing-modal-content h2,.pricing-modal-content h3,.project-card h1,.project-card h2,.project-card h3,.service-card h1,.service-card h2,.service-card h3,.location-service-card h3,.location-info-card h3{color:var(--text-on-khaki)}a{text-decoration:none;color:inherit;cursor:pointer}:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px;border-radius:var(--radius-sm)}button{cursor:pointer;border:none;outline:none;font-family:inherit;font-weight:var(--font-weight-semibold)}img,svg,video{max-width:100%;height:auto}section{padding:var(--spacing-2xl) var(--spacing-xl)}.container{max-width:1160px;margin:0 auto}.reveal{opacity:0;transform:translateY(18px) scale(.985);filter:blur(8px);transition:opacity .65s cubic-bezier(.2,.9,.2,1),transform .65s cubic-bezier(.2,.9,.2,1),filter .65s cubic-bezier(.2,.9,.2,1);transition-delay:var(--reveal-delay, 0ms);will-change:opacity,transform,filter}.reveal.reveal-in{opacity:1;transform:none;filter:none}.slide-in-up{animation:slideInUp .6s cubic-bezier(.2,.9,.2,1) forwards}.slide-in-down{animation:slideInDown .6s cubic-bezier(.2,.9,.2,1) forwards}.slide-in-left{animation:slideInLeft .6s cubic-bezier(.2,.9,.2,1) forwards}.slide-in-right{animation:slideInRight .6s cubic-bezier(.2,.9,.2,1) forwards}.fade-in-scale{animation:fadeInScale .7s cubic-bezier(.2,.9,.2,1) forwards}.stagger-delay-1{animation-delay:.1s}.stagger-delay-2{animation-delay:.2s}.stagger-delay-3{animation-delay:.3s}.stagger-delay-4{animation-delay:.4s}.stagger-delay-5{animation-delay:.5s}@keyframes slideInUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-40px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion: reduce){body:before{animation:none}.reveal{transition:none;transform:none;opacity:1;filter:none}}@media (max-width: 768px){section{padding:var(--spacing-xl) var(--spacing-md)}.navbar-menu li a,.footer-link,.btn-primary,.btn-secondary,.btn-ghost,.contact-button{padding:var(--spacing-xs) 0}}.btn-primary,.btn-secondary,.btn-ghost{padding:.9rem 1.6rem;border-radius:var(--radius-full);font-weight:var(--font-weight-semibold);transition:transform var(--transition-base),box-shadow var(--transition-base),background var(--transition-base),color var(--transition-base);-webkit-tap-highlight-color:transparent}.btn-primary{background:var(--primary-color);color:var(--color-khaki);box-shadow:var(--shadow-soft)}.btn-primary:hover{transform:translateY(-2px);background:var(--primary-hover);box-shadow:var(--shadow-lift)}.btn-primary:active{transform:translateY(-1px);box-shadow:0 8px 20px #89685f33}.btn-primary:focus-visible{outline:2px solid var(--color-khaki);outline-offset:2px}.btn-secondary{background:var(--secondary-color);color:var(--color-khaki);box-shadow:var(--shadow-soft)}.btn-secondary:hover{transform:translateY(-2px);box-shadow:var(--shadow-lift)}.btn-secondary:active{transform:translateY(-1px);box-shadow:0 8px 20px #bd866a33}.btn-ghost{background:transparent;color:var(--text-dark);border:1px solid var(--border)}.btn-ghost:hover{background:#f4ecdc0f;transform:translateY(-3px)}.btn-ghost:active{background:#f4ecdc08;transform:translateY(-1px)}
