:root{--color-primary: #2C5F4B;--color-primary-dark: #1E4235;--color-primary-light: #3D7A62;--color-secondary: #D4A574;--color-secondary-dark: #B8895A;--color-secondary-light: #E5C9A8;--color-accent: #7BA3A8;--color-accent-dark: #5D8589;--color-white: #FFFFFF;--color-off-white: #F8F6F3;--color-cream: #F5F1EB;--color-gray-100: #F5F5F5;--color-gray-200: #E8E8E8;--color-gray-300: #D1D1D1;--color-gray-400: #9E9E9E;--color-gray-500: #757575;--color-gray-600: #666666;--color-gray-700: #424242;--color-gray-800: #2D2D2D;--color-black: #1A1A1A;--text-primary: var(--color-black);--text-secondary: var(--color-gray-600);--text-muted: var(--color-gray-500);--text-light: var(--color-white);--font-primary: "Nunito", sans-serif;--font-display: "Playfair Display", "Times New Roman", Georgia, serif;--font-body: "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--text-xs: clamp(.75rem, .7rem + .25vw, .875rem);--text-sm: clamp(.875rem, .8rem + .35vw, 1rem);--text-base: clamp(1rem, .9rem + .45vw, 1.125rem);--text-lg: clamp(1.125rem, 1rem + .55vw, 1.25rem);--text-xl: clamp(1.25rem, 1.1rem + .7vw, 1.5rem);--text-2xl: clamp(1.5rem, 1.3rem + 1vw, 2rem);--text-3xl: clamp(1.875rem, 1.5rem + 1.5vw, 2.5rem);--text-4xl: clamp(2.25rem, 1.8rem + 2vw, 3.5rem);--text-5xl: clamp(3rem, 2.2rem + 3vw, 4.5rem);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 24px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--shadow-card: 0 4px 20px rgba(0, 0, 0, .08);--shadow-elevated: 0 12px 40px rgba(0, 0, 0, .12);--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .35s ease;--transition-slower: .5s ease;--z-dropdown: 100;--z-sticky: 200;--z-fixed: 500;--z-modal-backdrop: 900;--z-modal: 1000;--z-tooltip: 1100;--max-width: 1200px;--max-width-narrow: 800px;--max-width-wide: 1400px;--navbar-height: 140px;--navbar-height-mobile: 120px;--color-whatsapp: #25D366;--color-whatsapp-dark: #1DA851;--gradient-instagram: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-body);font-size:var(--text-base);line-height:1.6;color:var(--text-primary);background-color:var(--color-off-white);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:hidden}html,body,#root{width:100%;min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:600;line-height:1.2;color:var(--text-primary)}h1{font-size:var(--text-4xl)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}h5{font-size:var(--text-lg)}h6{font-size:var(--text-base)}p{margin-bottom:var(--space-4);color:var(--text-secondary)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-dark)}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 var(--space-4)}.container-narrow{max-width:var(--max-width-narrow)}.container-wide{max-width:var(--max-width-wide)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-display{font-family:var(--font-display)}.font-body{font-family:var(--font-body)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}button:focus-visible,a:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}::selection{background-color:var(--color-primary);color:var(--color-white)}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--color-gray-100)}::-webkit-scrollbar-thumb{background:var(--color-gray-400);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-gray-500)}img{max-width:100%;height:auto;display:block}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;text-transform:uppercase;letter-spacing:1px;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base)}.btn-primary{background-color:var(--color-primary);color:var(--color-white)}.btn-primary:hover{background-color:var(--color-primary-dark);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-secondary{background-color:var(--color-secondary);color:var(--color-white)}.btn-secondary:hover{background-color:var(--color-secondary-dark)}.btn-outline{background-color:transparent;border:2px solid var(--color-primary);color:var(--color-primary)}.btn-outline:hover{background-color:var(--color-primary);color:var(--color-white)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-fadeIn{animation:fadeIn var(--transition-slow) ease-out}.animate-fadeInUp{animation:fadeInUp var(--transition-slow) ease-out}html,body,#root{margin:0;padding:0;width:100%;min-height:100vh;overflow-x:hidden}.page-loader{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background:var(--color-off-white);gap:var(--space-4)}.loader-spinner{width:48px;height:48px;border:4px solid var(--color-gray-200);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.page-loader p{font-family:var(--font-body);font-size:var(--text-base);color:var(--text-secondary);margin:0}
