@import"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&family=Playfair+Display:ital,wght@0,400..900;1,400..900&family=Plus+Jakarta+Sans:ital,wght@0,200..800;1,200..800&display=swap";@import"https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400..900;1,400..900&display=swap";:root{--primary: #a28331;--primary-dark: #76632f;--primary-light: #c6af71;--primary-rgb: 162,131,49;--secondary: #F97316;--accent: #FCD34D;--text-dark: #1B144F;--text-gray: #6B7280;--text-light: #9CA3AF;--bg-light: #F9FAFB;--bg-white: #FFFFFF;--bg-overlay: rgba(0, 0, 0, .5);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 25px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 40px rgba(0, 0, 0, .1);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--transition-base: .3s ease;--transition-slow: .5s ease;--transition-fast: .15s ease;--border-radius: .75rem;--border-radius-lg: 1.5rem;--border-radius-xl: 2rem;--z-dropdown: 10;--z-sticky: 20;--z-overlay: 40;--z-modal: 50;--z-toast: 60}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:DM Sans,system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.6;color:var(--text-dark);background-color:var(--bg-white);overflow-x:hidden}h3,h4,h5,h6{font-family:Playfair Display,serif;font-style:italic;font-weight:400;line-height:1.2;color:var(--text-dark);margin-bottom:1rem}h1{font-size:clamp(2rem,5vw,3rem)}h2{font-size:clamp(1.75rem,4vw,2.5rem)}h3{font-size:clamp(1.5rem,3vw,2rem)}h4{font-size:1.25rem}p{font-size:1.125rem;line-height:1.7;color:var(--text-gray);margin-bottom:1rem}a{text-decoration:none;color:inherit;transition:color var(--transition-base)}.navbar-blur{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#ffffffd9;box-shadow:0 4px 30px #0000000d;border:1px solid rgba(255,255,255,.3);transition:all var(--transition-base)}.nav-link{position:relative;color:var(--text-gray);font-weight:600;padding:.5rem 0;transition:color var(--transition-base)}.nav-link:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%) scaleX(0);width:100%;height:3px;background:var(--primary);border-radius:2px;transition:transform var(--transition-base)}.nav-link:hover,.nav-link.active{color:var(--primary)}.nav-link:hover:after,.nav-link.active:after{transform:translate(-50%) scaleX(1)}.btn-primary{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;font-weight:600;padding:.75rem 1.5rem;border-radius:var(--border-radius);display:inline-block;position:relative;overflow:hidden;transition:all var(--transition-base);cursor:pointer;border:none}.btn-primary:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left var(--transition-slow)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(var(--primary-rgb),.3)}.btn-primary:hover:before{left:100%}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--bg-white);color:var(--primary);border:2px solid var(--primary);font-weight:600;padding:.75rem 1.5rem;border-radius:var(--border-radius);display:inline-block;transition:all var(--transition-base);cursor:pointer}.btn-secondary:hover{background:var(--primary);color:#fff;transform:translateY(-2px);box-shadow:0 10px 25px rgba(var(--primary-rgb),.2)}.hero{background-image:linear-gradient(135deg,rgba(var(--primary-rgb),.1),#3a34670d),url(/madrid.jpg);background-size:cover;background-position:center;background-attachment:fixed;position:relative;border-radius:0 0 30px 30px;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,transparent 60%,rgba(255,255,255,.1) 100%);pointer-events:none}.card-modern{background:var(--bg-white);padding:2rem;border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);border:1px solid rgba(0,0,0,.05);position:relative;overflow:hidden;transition:all var(--transition-base)}.card-modern:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary) 0%,var(--primary-light) 100%);transform:scaleX(0);transform-origin:left;transition:transform var(--transition-base)}.card-modern:hover{transform:translateY(-8px);box-shadow:var(--shadow-2xl)}.card-modern:hover:before{transform:scaleX(1)}.input-modern{width:100%;padding:1rem 1.5rem;background-color:rgba(var(--primary-rgb),.05);color:var(--text-dark);font-weight:500;border-radius:var(--border-radius);border:2px solid transparent;transition:all var(--transition-base);font-size:1rem}.input-modern:focus{outline:none;border-color:var(--primary);background:var(--bg-white);box-shadow:0 0 0 4px rgba(var(--primary-rgb),.1)}.input-modern::placeholder{color:var(--text-light);font-weight:400}.testimonial-carousel{display:flex;overflow-x:hidden;position:relative}.testimonial-slide{flex:0 0 100%;opacity:0;transform:translate(100px);transition:all var(--transition-slow);display:none}.testimonial-slide.active{opacity:1;transform:translate(0);display:block}.dot{width:8px;height:8px;border-radius:50%;background:#d1d5db;transition:all var(--transition-base);cursor:pointer;border:none;padding:0;margin:0 4px}.dot:hover{background:#9ca3af}.dot.active{width:24px;border-radius:4px;background:var(--primary)}.icon-container{position:relative;width:80px;height:80px;margin:0 auto}.icon-bg{position:absolute;inset:0;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%);border-radius:20px;opacity:.1;transition:all var(--transition-base)}.icon-main{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40px;height:40px;fill:var(--primary);transition:all var(--transition-base)}.group:hover .icon-bg{transform:rotate(45deg) scale(1.1);opacity:.15}.group:hover .icon-main{transform:translate(-50%,-50%) scale(1.1)}.cta-section{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);position:relative;overflow:hidden}.cta-section:before{content:"";position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(var(--primary-rgb),.05) 0%,transparent 70%);animation:pulse 4s ease-in-out infinite}nav .logo img{height:55px}@media (max-width: 767px){.menu-icon{width:24px;height:24px;position:relative;cursor:pointer}.menu-line{position:absolute;left:0;width:100%;height:2px;background-color:var(--text-gray);border-radius:2px;transition:all var(--transition-base)}.menu-line.top{top:4px}.menu-line.middle{top:50%;transform:translateY(-50%)}.menu-line.bottom{bottom:4px}.menu-active .menu-line.top{transform:rotate(45deg);top:50%}.menu-active .menu-line.middle{opacity:0}.menu-active .menu-line.bottom{transform:rotate(-45deg);bottom:50%}.mobile-menu-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--bg-overlay);opacity:0;visibility:hidden;transition:all var(--transition-base);z-index:var(--z-overlay)}.mobile-menu-overlay.active{opacity:1;visibility:visible}.mobile-menu{position:fixed;top:0;right:-100%;width:85%;max-width:320px;height:100vh;background:var(--bg-white);box-shadow:-10px 0 30px #0000001a;transition:right var(--transition-base);z-index:var(--z-modal);overflow-y:auto}.mobile-menu.active{right:0}.mobile-menu-content{padding:80px 24px 24px;min-height:100vh;display:flex;flex-direction:column}.mobile-nav{list-style:none;padding:0 0 2rem;margin:0 0 2rem;border-bottom:1px solid #e5e7eb}.mobile-nav li{margin-bottom:.5rem}.mobile-nav-link{display:block;padding:.75rem 1rem;color:var(--text-gray);font-size:1.125rem;font-weight:500;border-radius:var(--border-radius);transition:all var(--transition-fast);position:relative}.mobile-nav-link:hover,.mobile-nav-link.active{background:rgba(var(--primary-rgb),.1);color:var(--primary)}.mobile-nav-link.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:24px;background:var(--primary);border-radius:2px}body.menu-open{overflow:hidden}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-fadeInUp{animation:fadeInUp .8s ease-out}.animate-slideInRight{animation:slideInRight .8s ease-out}.animate-pulse{animation:pulse 1s ease-in-out}.loading{animation:shimmer 2s infinite;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:1000px 100%}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--primary);outline-offset:2px}@media (min-width: 768px) and (max-width: 1024px){.container{padding:0 2rem}h1{font-size:2.5rem}h2{font-size:2rem}}@media (max-width: 767px){nav{top:0!important;border-radius:0 0 20px 20px!important;max-width:100%!important}nav svg text{font-size:18px}.hero{height:100vh;border-radius:0 0 20px 20px}.card-modern{padding:1.5rem}.icon-container{width:60px;height:60px}.icon-main{width:30px;height:30px}p{font-size:1rem}.btn-primary,.btn-secondary{width:100%;text-align:center}}@media (min-width: 1441px){.container{max-width:1440px;margin:0 auto}}@media print{.navbar-blur,.mobile-menu,.mobile-menu-overlay,.btn-primary,.btn-secondary,footer{display:none!important}body{font-size:12pt;line-height:1.5;color:#000;background:#fff}a{color:#000;text-decoration:underline}}.language-dropdown{animation:dropdownSlide .2s ease-out}.language-dropdown-mobile{max-height:0;overflow:hidden;transition:max-height .3s ease-out}.language-dropdown-mobile.active{max-height:200px}@keyframes dropdownSlide{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.arrow-rotate{transform:rotate(180deg)}.lang-option img,.lang-option-mobile img{transition:transform .2s ease}.lang-option:hover img,.lang-option-mobile:hover img{transform:scale(1.1)}.language-dropdown{box-shadow:0 10px 40px #0000001f}.lang-check-es,.lang-check-pt,.lang-check-mobile-es,.lang-check-mobile-pt{transition:opacity .2s ease}@keyframes flagPulse{0%,to{opacity:1}50%{opacity:.7}}.flag-loading{animation:flagPulse .5s ease}.rotate-180{transform:rotate(180deg)}.flag-loading{animation:pulse .5s ease-in-out}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}html[lang=pt] h1[data-translate=hero_title]{letter-spacing:-.02em;word-spacing:-.1em}
