﻿@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@400;500;600;700&display=swap";.navbar-header{position:fixed;top:0;left:0;right:0;z-index:1000;background-color:var(--color-white);transition:all var(--transition-normal);padding:2px 0;box-shadow:var(--shadow-sm)}.navbar-header.scrolled{padding:2px 0;box-shadow:var(--shadow-md);background-color:#fffffffa;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.nav-container{display:flex;justify-content:space-between;align-items:center}.nav-logo{display:flex;align-items:center}.header-logo-img{height:auto;width:140px;max-height:80px;object-fit:contain;transition:all var(--transition-fast);margin:-10px 0;position:relative;z-index:10}@media(min-width:992px){.header-logo-img{width:245px;max-height:95px;margin:-10px 0}}.logo-text{font-family:var(--font-heading);font-size:1.5rem;font-weight:700;color:var(--color-primary);letter-spacing:-.5px}.desktop-only{display:none}@media(min-width:992px){.desktop-only{display:flex}}.nav-menu{display:flex;align-items:center;gap:var(--spacing-lg)}.nav-link{color:var(--color-gray-800);font-weight:500;font-size:1rem;display:flex;align-items:center;gap:var(--spacing-xs);position:relative}.nav-link:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:2px;background-color:var(--color-secondary);transition:width var(--transition-fast)}.nav-link:hover:after,.nav-link.active:after{width:100%}.nav-link.active{color:var(--color-secondary)}.nav-dropdown{position:relative;padding:var(--spacing-sm) 0}.dropdown-menu{position:absolute;top:100%;left:-20px;background-color:var(--color-white);min-width:200px;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:var(--spacing-sm) 0;display:flex;flex-direction:column;animation:fadeIn .2s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.dropdown-item{padding:var(--spacing-sm) var(--spacing-lg);color:var(--color-gray-800);transition:background-color var(--transition-fast)}.dropdown-item:hover{background-color:var(--color-gray-50);color:var(--color-primary)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;border-radius:var(--radius-md);font-weight:600;transition:all var(--transition-fast);cursor:pointer;border:none;font-family:var(--font-primary)}.btn-primary{background-color:var(--color-primary);color:var(--color-white)}.btn-primary:hover{background-color:var(--color-primary-light);color:var(--color-white);transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-block{width:100%}.mobile-menu-btn{display:block;background:none;border:none;color:var(--color-primary);cursor:pointer}@media(min-width:992px){.mobile-menu-btn{display:none}}.mobile-menu{position:absolute;top:100%;left:0;width:100%;background-color:var(--color-white);border-top:1px solid var(--color-gray-100);padding:var(--spacing-md);box-shadow:var(--shadow-md);max-height:calc(100vh - 70px);overflow-y:auto}.mobile-nav-links{display:flex;flex-direction:column;gap:var(--spacing-sm)}.mobile-nav-links>a,.mobile-dropdown-header{padding:var(--spacing-sm) 0;font-size:1.125rem;font-weight:500;color:var(--color-gray-800);border-bottom:1px solid var(--color-gray-100)}.mobile-dropdown-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer}.mobile-dropdown-header .rotate{transform:rotate(180deg)}.mobile-dropdown-items{display:flex;flex-direction:column;padding-left:var(--spacing-md);background-color:var(--color-gray-50);border-radius:var(--radius-sm);margin-top:var(--spacing-sm)}.mobile-dropdown-items a{padding:var(--spacing-xs) 0;color:var(--color-gray-500)}.mobile-nav-actions{margin-top:var(--spacing-lg);padding-top:var(--spacing-md);border-top:1px solid var(--color-gray-100)}.site-footer{background-color:var(--color-primary);color:var(--color-white);padding-top:var(--spacing-section)}.footer-top{display:grid;grid-template-columns:1fr;gap:var(--spacing-xl);padding-bottom:var(--spacing-3xl);border-bottom:1px solid rgba(255,255,255,.1)}@media(min-width:768px){.footer-top{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.footer-top.grid-4{grid-template-columns:2fr 1fr 1fr 1.5fr}}.brand-widget .footer-brand{color:var(--color-white);margin-bottom:var(--spacing-xs);font-family:var(--font-heading)}.footer-logo-link{display:inline-block;margin-bottom:var(--spacing-md)}.footer-logo-img{width:280px;height:auto;max-width:100%;object-fit:contain;background-color:#fffffffa;padding:var(--spacing-lg) var(--spacing-xl);border-radius:var(--radius-lg);box-shadow:0 8px 20px #00000026}.brand-widget .tagline{color:var(--color-accent);font-weight:500;margin-bottom:var(--spacing-md);font-size:.875rem}.brand-widget .about-text{color:var(--color-gray-300);font-size:.9rem;margin-bottom:var(--spacing-lg);max-width:300px}.social-links{display:flex;gap:var(--spacing-md)}.social-links a{color:var(--color-white);width:40px;height:40px;background-color:#ffffff1a;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.social-links a:hover{background-color:var(--color-secondary);color:var(--color-white);transform:translateY(-2px)}.widget-title{color:var(--color-white);font-size:1.25rem;margin-bottom:var(--spacing-lg);position:relative;padding-bottom:var(--spacing-sm)}.widget-title:after{content:"";position:absolute;left:0;bottom:0;width:40px;height:2px;background-color:var(--color-accent)}.links-widget ul{display:flex;flex-direction:column;gap:var(--spacing-sm)}.links-widget a{color:var(--color-gray-300);transition:color var(--transition-fast);display:inline-block}.links-widget a:hover{color:var(--color-accent);transform:translate(5px)}.contact-widget .contact-item{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);color:var(--color-gray-300)}.contact-widget .contact-item.align-start{align-items:flex-start}.contact-widget .contact-item a{color:var(--color-gray-300)}.contact-widget .contact-item a:hover{color:var(--color-accent)}.contact-widget .mt-1{margin-top:4px}.footer-bottom{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg) 0;color:var(--color-gray-500);font-size:.875rem;text-align:center}@media(min-width:768px){.footer-bottom{flex-direction:row;justify-content:space-between;text-align:left}}.legal-links{display:flex;gap:var(--spacing-lg)}.legal-links a{color:var(--color-gray-500);transition:color var(--transition-fast)}.legal-links a:hover{color:var(--color-accent)}.floating-whatsapp{position:fixed;bottom:30px;right:30px;z-index:999;display:flex;align-items:center;justify-content:center;transition:transform var(--transition-fast)}.floating-whatsapp:hover{transform:scale(1.1)}.whatsapp-icon-bg{width:60px;height:60px;background-color:var(--color-whatsapp);color:var(--color-white);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-lg);position:relative;animation:pulse-ws 2s infinite}@keyframes pulse-ws{0%{box-shadow:0 0 #25d366b3}70%{box-shadow:0 0 0 15px #25d36600}to{box-shadow:0 0 #25d36600}}@media(max-width:768px){.floating-whatsapp{bottom:20px;right:20px}.whatsapp-icon-bg{width:50px;height:50px}}.lead-form{background-color:var(--color-white);padding:var(--spacing-xl);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);width:100%}.form-header{text-align:center;margin-bottom:var(--spacing-xl)}.form-header h3{color:var(--color-primary);margin-bottom:var(--spacing-xs)}.form-header p{color:var(--color-gray-500);font-size:.95rem}.form-group{margin-bottom:var(--spacing-md);display:flex;flex-direction:column}.form-row{display:flex;flex-direction:column;gap:var(--spacing-md)}@media(min-width:640px){.form-row{flex-direction:row}.form-group.half{flex:1;margin-bottom:var(--spacing-md)}}.form-group label{font-weight:500;font-size:.9rem;color:var(--color-gray-800);margin-bottom:var(--spacing-xs)}.form-group input[type=text],.form-group input[type=email],.form-group input[type=tel],.form-group select,.form-group textarea{width:100%;padding:.875rem 1rem;border:1px solid var(--color-gray-300);border-radius:var(--radius-md);font-family:inherit;font-size:1rem;transition:all var(--transition-fast);background-color:var(--color-gray-50)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary);background-color:var(--color-white);box-shadow:0 0 0 3px #0a25401a}.form-group textarea{resize:vertical;min-height:100px}.checkbox-group{flex-direction:row;align-items:flex-start;gap:var(--spacing-sm);margin-top:var(--spacing-md);margin-bottom:var(--spacing-lg)}.checkbox-group input[type=checkbox]{margin-top:4px;width:16px;height:16px;accent-color:var(--color-primary)}.consent-label{font-size:.85rem!important;font-weight:400!important;color:var(--color-gray-500)!important;line-height:1.4;margin-bottom:0!important}.consent-label a{text-decoration:underline}.form-error{background-color:#ef44441a;color:var(--color-error);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-size:.9rem;margin-bottom:var(--spacing-lg);border-left:3px solid var(--color-error)}.form-success-message{text-align:center;padding:var(--spacing-3xl) var(--spacing-xl);background-color:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.success-icon{width:64px;height:64px;background-color:#10b9811a;color:var(--color-success);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;margin:0 auto var(--spacing-lg)}.form-success-message h3{color:var(--color-primary);margin-bottom:var(--spacing-sm)}.form-success-message p{color:var(--color-gray-500);margin-bottom:var(--spacing-xl)}.btn.loading{opacity:.8;cursor:not-allowed;position:relative}.callback-tab{position:fixed;top:50%;right:0;transform:translateY(-50%) translate(calc(100% - 44px));z-index:998;background-color:var(--color-primary);color:var(--color-white);border:none;padding:var(--spacing-sm) var(--spacing-md);border-radius:8px 0 0 8px;cursor:pointer;box-shadow:-4px 0 15px #00000026;transition:transform .3s cubic-bezier(.175,.885,.32,1.275);display:flex;align-items:center}.callback-tab:hover{transform:translateY(-50%) translate(0);background-color:var(--color-primary-light)}.callback-tab.hidden{transform:translateY(-50%) translate(100%)}.tab-content{display:flex;align-items:center;gap:var(--spacing-sm);font-weight:600;font-size:.95rem;white-space:nowrap}.tab-icon{color:var(--color-accent)}.callback-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0a254099;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;opacity:0;visibility:hidden;transition:all .4s ease}.callback-overlay.visible{opacity:1;visibility:visible}.callback-panel{position:fixed;top:0;right:0;width:100%;max-width:450px;height:100vh;background-color:var(--color-white);z-index:1001;box-shadow:-10px 0 30px #0003;transform:translate(100%);transition:transform .5s cubic-bezier(.165,.84,.44,1);display:flex;flex-direction:column;overflow-y:auto}.callback-panel.open{transform:translate(0)}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg) var(--spacing-xl);background-color:var(--color-gray-50);border-bottom:1px solid var(--color-gray-200);position:sticky;top:0;z-index:10}.panel-header h3{margin:0;font-size:1.5rem;color:var(--color-primary)}.close-btn{background:none;border:none;color:var(--color-gray-500);cursor:pointer;padding:8px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.close-btn:hover{background-color:var(--color-gray-200);color:var(--color-error);transform:rotate(90deg)}.panel-body{padding:var(--spacing-xl);flex-grow:1}.panel-description{color:var(--color-gray-600);margin-bottom:var(--spacing-lg);font-size:.95rem;line-height:1.5}.callback-panel .lead-form{box-shadow:none;padding:0;background:transparent;border-radius:0;max-width:100%}@media(max-width:480px){.callback-panel{width:100%;max-width:100vw}.callback-tab{transform:translateY(-50%) translate(calc(100% - 40px));padding:var(--spacing-sm) 12px}}.reviews-section{position:relative;padding:var(--spacing-3xl) 0}.google-rating-summary{display:flex;flex-direction:column;align-items:center;justify-content:center;margin-top:var(--spacing-md)}.google-g-logo{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;background-color:transparent;border-radius:50%;font-weight:800;font-family:Product Sans,Arial,sans-serif;background:conic-gradient(from -45deg,#ea4335 110deg,#4285f4 90deg 180deg,#34a853 180deg 270deg,#fbbc05 270deg) 73% 55%/150% 150% no-repeat;-webkit-background-clip:text;background-clip:text;color:transparent;font-size:1.2rem}.google-g-icon-small{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;font-weight:800;font-family:Product Sans,Arial,sans-serif;background:conic-gradient(from -45deg,#ea4335 110deg,#4285f4 90deg 180deg,#34a853 180deg 270deg,#fbbc05 270deg) 73% 55%/150% 150% no-repeat;-webkit-background-clip:text;background-clip:text;color:transparent;font-size:1rem;position:absolute;top:24px;right:24px}.reviews-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--spacing-lg);max-width:1200px;margin:0 auto}.review-card{background:var(--color-white);border:1px solid var(--color-gray-100);border-radius:var(--radius-lg);padding:var(--spacing-xl);box-shadow:0 4px 12px #0000000d;transition:transform .3s ease,box-shadow .3s ease;position:relative;display:flex;flex-direction:column}.review-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #0000001a}.review-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.reviewer-avatar{width:48px;height:48px;border-radius:50%;background-color:var(--color-primary);color:var(--color-white);display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:600}.reviewer-info{display:flex;flex-direction:column}.reviewer-name{font-weight:600;font-size:1.1rem;color:var(--color-text-dark);margin:0}.review-time{font-size:.85rem;color:var(--color-text-light)}.review-stars{display:flex;gap:2px;margin-bottom:var(--spacing-md)}.review-body p{color:var(--color-text-primary);line-height:1.6;font-size:.95rem;margin:0;font-style:italic}@media(max-width:768px){.reviews-grid{grid-template-columns:1fr}}.hero-section{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;color:var(--color-white);overflow:hidden}.hero-video{position:absolute;top:50%;left:50%;width:100vw;height:100vh;object-fit:cover;transform:translate(-50%,-50%);z-index:0}.hero-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,#00000080,#000000d9);z-index:1}.hero-particles{position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.1) 1px,transparent 1px);background-size:30px 30px;z-index:2;opacity:.5}.hero-container{position:relative;z-index:10;text-align:center;display:flex;flex-direction:column;align-items:center;width:100%;padding-top:210px}.hero-brand-name{display:block;font-size:1.2rem;font-weight:700;letter-spacing:.2em;color:var(--color-accent);margin-bottom:var(--spacing-xs);text-transform:uppercase;text-shadow:0 2px 4px rgba(0,0,0,.5);animation:fadeUp 1s ease-out forwards}.hero-tagline{font-size:1.1rem;font-weight:700;color:var(--color-white);letter-spacing:.15em;margin-bottom:var(--spacing-md);text-shadow:0 2px 4px rgba(0,0,0,.5);opacity:1;text-transform:uppercase;animation:fadeUp 1s ease-out .1s forwards;opacity:0}.hero-headline{color:#fff;font-size:clamp(2.5rem,5vw,4rem);font-weight:800;line-height:1.15;letter-spacing:-.02em;margin-bottom:var(--spacing-md);text-shadow:0 4px 15px rgba(0,0,0,.6)}.hero-subtitle{color:#fff;font-size:clamp(1.1rem,2vw,1.3rem);max-width:600px;margin:0 auto;margin-bottom:var(--spacing-xl);text-shadow:0 2px 8px rgba(0,0,0,.4)}.hero-section.premium-hero{min-height:95vh}.premium-overlay{background:linear-gradient(to bottom,#04122966,#041229d9)}.hero-slide{position:absolute;top:0;left:0;width:100%;height:100%;background-size:cover;background-position:center;background-attachment:fixed;opacity:0;transition:opacity 1.5s ease-in-out,transform 8s linear;z-index:0}.hero-slide.active{opacity:1;transform:scale(1.08)}.hero-content-card{max-width:900px;margin:0 auto;padding:var(--spacing-3xl) var(--spacing-xl);transform:translateY(20px);animation:fadeUp 1s ease-out forwards}@keyframes fadeUp{to{transform:translateY(0);opacity:1}}.premium-title{font-size:clamp(2.5rem,5vw,4rem);font-weight:800;line-height:1.15;letter-spacing:-.02em;margin-bottom:var(--spacing-lg);color:var(--color-white);text-shadow:0 4px 15px rgba(0,0,0,.6)}.hero-text-wrapper{position:relative;height:180px;margin-bottom:var(--spacing-xl);display:flex;align-items:center;justify-content:center;width:100%}.hero-text-item{position:absolute;top:50%;left:0;right:0;transform:translateY(-50%) translateY(20px);opacity:0;transition:all .8s cubic-bezier(.4,0,.2,1);pointer-events:none;display:flex;flex-direction:column;align-items:center}.hero-text-item.active{opacity:1;transform:translateY(-50%) translateY(0);pointer-events:auto}.subtitle-wrapper{position:relative;height:80px;margin-bottom:var(--spacing-xl)}.premium-subtitle{position:absolute;top:0;left:0;right:0;font-size:clamp(1.1rem,2vw,1.4rem);font-weight:400;color:#ffffffe6;opacity:0;transform:translateY(10px);transition:all .5s ease-in-out;pointer-events:none}.premium-subtitle.active{opacity:1;transform:translateY(0);pointer-events:auto}.hero-actions{display:flex;justify-content:center;gap:var(--spacing-md);flex-wrap:wrap;position:relative;z-index:5}.btn-premium{background:var(--color-accent);color:var(--color-primary);border:none;font-weight:700;padding:var(--spacing-md) var(--spacing-xl);border-radius:4px;transition:all .3s cubic-bezier(.25,.8,.25,1)}.btn-premium:hover{transform:translateY(-3px);box-shadow:0 10px 25px #0000004d;background:var(--color-white);color:var(--color-primary)}.btn-premium-outline{background:#ffffff0d;color:var(--color-white);border:1px solid rgba(255,255,255,.3);border-radius:50px;padding:var(--spacing-md) var(--spacing-xl);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.btn-premium-outline:hover{background:#ffffff26;border-color:var(--color-white);transform:translateY(-3px)}.hero-destinations-selector{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-2xl);flex-wrap:wrap;justify-content:center;position:relative;z-index:10}.hero-dest-card{background:#ffffff1a;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-lg);padding:6px;padding-right:var(--spacing-md);display:flex;align-items:center;gap:var(--spacing-sm);color:var(--color-white);cursor:pointer;transition:all .3s ease;min-width:140px}.hero-dest-card:hover{background:#fff3;transform:translateY(-3px);border-color:#fff6}.hero-dest-card.active{background:var(--color-white);color:var(--color-primary);box-shadow:0 10px 20px #0003;border-color:var(--color-white)}.dest-thumbnail{width:36px;height:36px;border-radius:50%;background-size:cover;background-position:center;flex-shrink:0;border:2px solid rgba(255,255,255,.5);transition:border-color .3s ease}.hero-dest-card.active .dest-thumbnail{border-color:var(--color-primary)}.dest-title{font-weight:600;font-size:.9rem;white-space:nowrap}.premium-scroll{bottom:40px}@media(max-width:768px){.hero-content-card{padding:var(--spacing-xl) var(--spacing-md);border-radius:16px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.premium-tabs{flex-wrap:wrap;border-radius:16px;padding:var(--spacing-sm);gap:var(--spacing-xs)}.premium-tab-btn{width:100%;padding:var(--spacing-sm);text-align:center}.subtitle-wrapper{height:100px}}.scroll-indicator{position:absolute;bottom:30px;left:50%;transform:translate(-50%);z-index:10;color:var(--color-white);opacity:.7;animation:bounce 2s infinite}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0) translate(-50%)}40%{transform:translateY(-15px) translate(-50%)}60%{transform:translateY(-7px) translate(-50%)}}@media(max-width:768px){.hero-slide{transition:opacity 1s ease-in-out;transform:none}.hero-slide.active{transform:none}}.stats-section{background-color:var(--color-white);padding:var(--spacing-xl) 0;margin-top:-80px;position:relative;z-index:10}.premium-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md);background:var(--color-white);padding:var(--spacing-xl);border-radius:var(--radius-lg);box-shadow:0 10px 40px #00000014}@media(min-width:768px){.premium-stats{grid-template-columns:repeat(4,1fr);gap:var(--spacing-xl);padding:var(--spacing-2xl)}}.premium-stat-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--spacing-md);transition:transform .3s ease}.premium-stat-card:hover{transform:translateY(-5px)}.premium-stat-card .stat-icon{color:var(--color-accent);width:48px;height:48px;margin-bottom:var(--spacing-md)}.premium-stat-card h3{font-size:clamp(2rem,3vw,2.5rem);font-weight:800;color:var(--color-primary);margin-bottom:var(--spacing-xs);line-height:1}.premium-stat-card p{color:var(--color-gray-600);font-weight:500;font-size:.95rem;letter-spacing:.02em}.premium-heading-dark{font-size:clamp(2.2rem,4vw,3rem);font-weight:700;color:var(--color-primary);margin-bottom:var(--spacing-md);letter-spacing:-.01em}.premium-subheading{color:var(--color-gray-500);font-size:1.1rem;max-width:600px;margin:0 auto}.premium-pre-title{display:block;color:var(--color-accent);font-weight:700;font-size:.9rem;text-transform:uppercase;letter-spacing:.2em;margin-bottom:var(--spacing-sm)}.premium-destinations{display:grid;grid-template-columns:1fr;gap:var(--spacing-xl);padding-top:var(--spacing-lg)}@media(min-width:768px){.premium-destinations{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.premium-destinations{grid-template-columns:repeat(3,1fr)}}.premium-destination-card{border-radius:var(--radius-lg);overflow:hidden;position:relative;box-shadow:0 10px 30px #0000000f;transition:all .4s cubic-bezier(.165,.84,.44,1);height:400px;display:block}.premium-destination-card:hover{transform:translateY(-8px);box-shadow:0 20px 40px #0000001f}.card-image-wrapper{position:relative;width:100%;height:100%;overflow:hidden}.card-image-wrapper img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}.premium-destination-card:hover .card-image-wrapper img{transform:scale(1.08)}.premium-card-overlay{position:absolute;inset:0;background:linear-gradient(to top,#0a192ff2,#0a192f80,#0a192f1a);display:flex;flex-direction:column;justify-content:flex-end;padding:var(--spacing-xl);transition:all .4s ease}.premium-card-overlay h3{color:var(--color-white);font-size:1.8rem;font-weight:700;margin-bottom:var(--spacing-xs);transition:transform .4s ease}.premium-card-overlay p{color:#fffc;font-size:.95rem;line-height:1.5;margin-bottom:var(--spacing-md);transition:all .4s ease;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.btn-explore{display:inline-flex;align-items:center;gap:var(--spacing-xs);color:var(--color-accent);font-weight:600;font-size:.9rem;text-transform:uppercase;letter-spacing:.05em;transition:all .4s ease .1s}.btn-explore svg{transition:transform .3s ease}.premium-destination-card:hover .btn-explore svg{transform:translate(4px)}.split-layout{display:grid;grid-template-columns:1fr;gap:var(--spacing-2xl)}@media(min-width:992px){.split-layout{grid-template-columns:1fr 1fr}.split-layout.align-center{align-items:center}}.partner-section{padding:var(--spacing-xl) 0;background:var(--color-white);border-top:1px solid var(--color-gray-100)}.marquee-container{width:100%;overflow:hidden;position:relative;display:flex;white-space:nowrap}.marquee-container:before,.marquee-container:after{content:"";position:absolute;top:0;width:100px;height:100%;z-index:2}.marquee-container:before{left:0;background:linear-gradient(to right,var(--color-white),transparent)}.marquee-container:after{right:0;background:linear-gradient(to left,var(--color-white),transparent)}.marquee-content{display:flex;animation:marquee 35s linear infinite;gap:var(--spacing-3xl);align-items:center}.marquee-container:hover .marquee-content{animation-play-state:paused}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.premium-marquee{gap:var(--spacing-xl);padding:var(--spacing-md) 0}.partner-logo-item{display:flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-xl);filter:none;opacity:1;transition:all .4s cubic-bezier(.165,.84,.44,1);cursor:default;transform:translateY(0)}.partner-logo-item:hover{transform:translateY(-6px) scale(1.05);filter:none;opacity:1}.partner-logo-content{display:flex;align-items:center;gap:var(--spacing-sm);color:var(--color-gray-500);transition:color .4s ease}.partner-logo-item:hover .partner-logo-content{color:var(--hover-color, var(--color-primary))}.partner-name{font-size:1.35rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-family:var(--font-heading);white-space:nowrap}.why-us-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-xl)}@media(min-width:768px){.why-us-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.why-us-grid{grid-template-columns:repeat(4,1fr)}}.why-card{background:var(--color-white);padding:var(--spacing-2xl) var(--spacing-xl);border-radius:var(--radius-lg);box-shadow:0 5px 20px #0000000a;text-align:center;transition:transform .4s ease;border-top:3px solid transparent}.why-card:hover{transform:translateY(-8px);border-top-color:var(--color-accent);box-shadow:0 15px 35px #00000014}.why-icon-wrapper{width:64px;height:64px;border-radius:50%;background:rgba(var(--color-secondary-rgb),.1);color:var(--color-secondary);display:flex;align-items:center;justify-content:center;margin:0 auto var(--spacing-lg);transition:all .3s ease}.why-card:hover .why-icon-wrapper{background:var(--color-secondary);color:var(--color-white);transform:scale(1.1)}.why-card h3{font-size:1.3rem;color:var(--color-primary);margin-bottom:var(--spacing-sm)}.why-card p{color:var(--color-gray-500);font-size:.95rem;line-height:1.6}.premium-services-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-xl)}@media(min-width:768px){.premium-services-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.premium-services-grid{grid-template-columns:repeat(3,1fr)}}.premium-service-card{background:var(--color-white);border-radius:var(--radius-lg);padding:var(--spacing-2xl) var(--spacing-xl);box-shadow:0 4px 20px #00000008;border:1px solid rgba(0,0,0,.05);transition:all .4s cubic-bezier(.165,.84,.44,1);display:flex;flex-direction:column;position:relative;overflow:hidden;text-decoration:none;color:inherit}.premium-service-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:var(--color-accent);transform:scaleX(0);transform-origin:left;transition:transform .4s ease}.premium-service-card:hover{transform:translateY(-8px);box-shadow:0 15px 35px #00000014}.premium-service-card:hover:before{transform:scaleX(1)}.service-icon-wrapper{width:64px;height:64px;background:rgba(var(--color-primary-rgb),.05);border-radius:16px;display:flex;align-items:center;justify-content:center;color:var(--color-primary);margin-bottom:var(--spacing-lg);transition:all .4s ease}.premium-service-card:hover .service-icon-wrapper{background:var(--color-primary);color:var(--color-white);transform:rotate(5deg) scale(1.1)}.service-content h3{font-size:1.4rem;font-weight:700;color:var(--color-primary);margin-bottom:var(--spacing-md);transition:color .3s ease}.service-content p{color:var(--color-gray-600);font-size:.95rem;line-height:1.6;margin-bottom:var(--spacing-lg)}.service-hover-action{margin-top:auto;display:flex;align-items:center;color:var(--color-accent);opacity:0;transform:translate(-10px);transition:all .4s ease}.premium-service-card:hover .service-hover-action{opacity:1;transform:translate(0)}.btn-premium-outline.border-primary{border-color:var(--color-primary);color:var(--color-primary)}.btn-premium-outline.border-primary:hover{background:var(--color-primary);color:var(--color-white)}.testimonial-slider-container{position:relative;max-width:900px;margin:0 auto;padding:0 var(--spacing-xl)}.testimonial-track-wrapper{overflow:hidden;border-radius:var(--radius-lg);box-shadow:0 15px 40px #0000000d}.testimonial-track{display:flex;transition:transform .6s cubic-bezier(.25,1,.5,1)}.testimonial-slide{min-width:100%;box-sizing:border-box}.premium-testimonial-card{background:var(--color-white);padding:var(--spacing-3xl);text-align:center;position:relative;display:flex;flex-direction:column;align-items:center}.quote-icon{color:rgba(var(--color-primary-rgb),.06);position:absolute;top:var(--spacing-xl);left:50%;transform:translate(-50%);z-index:0}.testimonial-text{font-size:clamp(1.1rem,2vw,1.4rem);line-height:1.6;color:var(--color-gray-800);font-style:italic;margin-bottom:var(--spacing-2xl);position:relative;z-index:1}.testimonial-author-premium{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);z-index:1}.testimonial-author-premium img{width:80px;height:80px;border-radius:50%;object-fit:cover;border:3px solid var(--color-white);box-shadow:0 5px 15px #0000001a;margin-bottom:var(--spacing-xs)}.author-info h4{margin:0;font-size:1.2rem;color:var(--color-primary);font-weight:700}.author-info span{font-size:.9rem;color:var(--color-accent);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.slider-nav-btn{position:absolute;top:50%;transform:translateY(-50%);width:50px;height:50px;border-radius:50%;background:var(--color-white);border:1px solid var(--color-gray-200);color:var(--color-primary);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;box-shadow:0 4px 10px #0000000d;transition:all .3s ease}.slider-nav-btn:hover{background:var(--color-primary);color:var(--color-white);border-color:var(--color-primary)}.slider-nav-btn.prev{left:-25px}.slider-nav-btn.next{right:-25px}@media(max-width:768px){.testimonial-slider-container{padding:0}.slider-nav-btn.prev{left:10px}.slider-nav-btn.next{right:10px}}.slider-dots{display:flex;justify-content:center;gap:var(--spacing-sm);margin-top:var(--spacing-xl)}.slider-dot{width:10px;height:10px;border-radius:50%;background:var(--color-gray-300);border:none;cursor:pointer;transition:all .3s ease;padding:0}.slider-dot.active{background:var(--color-accent);transform:scale(1.3)}.process-section{background-color:var(--color-white);overflow:hidden}.process-timeline{display:flex;flex-direction:column;gap:var(--spacing-2xl);position:relative;padding-top:var(--spacing-md)}@media(min-width:992px){.process-timeline{flex-direction:row;justify-content:space-between;gap:0}}.process-step{flex:1;text-align:center;position:relative;padding:0 var(--spacing-xs);display:flex;flex-direction:column;align-items:center;z-index:2}.step-number{font-size:4rem;font-weight:900;color:#0a25400a;position:absolute;top:-30px;left:50%;transform:translate(-50%);z-index:-1;font-family:var(--font-heading);letter-spacing:-.05em}.step-icon-wrapper{width:80px;height:80px;background:var(--color-white);border:2px solid var(--color-gray-100);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--color-primary);margin-bottom:var(--spacing-lg);position:relative;z-index:5;transition:all .4s cubic-bezier(.165,.84,.44,1);box-shadow:0 10px 25px #0000000a}.process-step:hover .step-icon-wrapper{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-primary);transform:translateY(-8px) scale(1.05);box-shadow:0 15px 35px #d4af3733}.step-title{font-size:1.1rem;font-weight:700;color:var(--color-primary);margin-bottom:var(--spacing-sm);transition:color .3s ease}.process-step:hover .step-title{color:var(--color-accent)}.step-description{font-size:.9rem;color:var(--color-gray-500);line-height:1.5;max-width:200px}.step-connector{display:none}@media(min-width:992px){.step-connector{display:block;position:absolute;top:40px;left:50%;width:100%;height:2px;background:linear-gradient(90deg,var(--color-gray-200) 0%,var(--color-gray-200) 100%);z-index:1;transition:all .5s ease}.step-connector:after{content:"";position:absolute;top:0;left:0;height:100%;width:0%;background:var(--color-accent);z-index:2}.animate-timeline .process-step{opacity:0;transform:translateY(40px);animation:fadeInUpStep .6s cubic-bezier(.165,.84,.44,1) forwards}.animate-timeline .process-step:nth-child(1){animation-delay:.1s}.animate-timeline .process-step:nth-child(2){animation-delay:.5s}.animate-timeline .process-step:nth-child(3){animation-delay:.9s}.animate-timeline .process-step:nth-child(4){animation-delay:1.3s}.animate-timeline .process-step:nth-child(5){animation-delay:1.7s}.animate-timeline .process-step:nth-child(6){animation-delay:2.1s}.animate-timeline .process-step:nth-child(1) .step-connector:after{animation:drawLine .4s ease .3s forwards}.animate-timeline .process-step:nth-child(2) .step-connector:after{animation:drawLine .4s ease .7s forwards}.animate-timeline .process-step:nth-child(3) .step-connector:after{animation:drawLine .4s ease 1.1s forwards}.animate-timeline .process-step:nth-child(4) .step-connector:after{animation:drawLine .4s ease 1.5s forwards}.animate-timeline .process-step:nth-child(5) .step-connector:after{animation:drawLine .4s ease 1.9s forwards}}@keyframes fadeInUpStep{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes drawLine{0%{width:0%}to{width:100%}}.process-timeline:not(.animate-timeline) .process-step{opacity:0}.cta-buttons-container{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-xl)}.flex{display:flex}.items-center{align-items:center}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.premium-dark-panel{background:linear-gradient(to bottom,#020c1b,#0a192f);border-radius:var(--radius-xl);padding:var(--spacing-3xl) 0;box-shadow:0 20px 40px #0000004d;border:1px solid rgba(255,255,255,.05);color:var(--color-white);overflow:hidden;position:relative}.network-container{position:relative;width:100%;max-width:1200px;margin:0 auto;aspect-ratio:16/9}.world-map-image{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;opacity:.6;z-index:0}.network-overlay-gradient{position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at center,transparent 30%,#030a16 100%);z-index:1;pointer-events:none}@media(max-width:768px){.network-container{aspect-ratio:4/3}.world-map-image{object-fit:contain}}.network-svg{position:absolute;top:0;left:0;width:100%;height:100%;z-index:2}.network-line{fill:none;stroke:var(--color-accent);stroke-width:.2;stroke-dasharray:1 3;transition:all .5s ease;filter:drop-shadow(0 0 1px rgba(212,175,55,.8));opacity:.5}.network-line.active{stroke:var(--color-accent);stroke-width:.5;stroke-dasharray:2 1;filter:drop-shadow(0 0 3px rgba(212,175,55,1));opacity:1}.data-packet{filter:drop-shadow(0 0 2px rgba(212,175,55,1))}.network-node{cursor:pointer}.node-core{fill:var(--color-accent);transition:all .3s ease}.node-ring{fill:none;stroke:var(--color-accent);stroke-width:.4;opacity:.8;transition:all .3s ease}.network-node:hover .node-core,.network-node.active .node-core{fill:var(--color-accent);filter:drop-shadow(0 0 5px var(--color-accent))}.network-node.hq .node-core{fill:var(--color-accent)}.network-node:hover .node-ring,.network-node.active .node-ring{transform:scale(1.5);stroke-width:.4;opacity:1;stroke:var(--color-white)}.network-tooltip{position:absolute;z-index:10;width:260px;pointer-events:none;opacity:0;transform:translateY(10px);transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.network-tooltip.visible{opacity:1;transform:translateY(0)}.tooltip-content{background:#0a192ff2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(220,180,80,.3);padding:var(--spacing-md);border-radius:var(--radius-lg);box-shadow:0 10px 30px #00000080,0 0 20px #dcb4501a;position:relative;border-bottom:3px solid var(--color-accent)}.tooltip-content.align-left{transform:translate(-100%,-50%);margin-left:-20px}.tooltip-content.align-right{transform:translateY(-50%);margin-left:20px}.tooltip-content:after{content:"";position:absolute;bottom:-6px;left:50%;transform:translate(-50%) rotate(45deg);width:12px;height:12px;background:var(--color-white);border-bottom:3px solid var(--color-accent);border-right:3px solid var(--color-accent)}.region-label{fill:var(--color-accent);font-size:1.8px;font-weight:700;letter-spacing:.1px;text-transform:uppercase;opacity:.85;filter:drop-shadow(0px 1px 2px rgba(0,0,0,.9));pointer-events:none;-webkit-user-select:none;user-select:none;font-family:inherit}.premium-about-hero{background:linear-gradient(135deg,var(--color-primary) 0%,#06182e 100%);padding:140px 0 80px;position:relative;overflow:hidden}.editorial-layout{display:grid;grid-template-columns:1fr;gap:var(--spacing-3xl);align-items:center}@media(min-width:1024px){.editorial-layout{grid-template-columns:1fr 1fr}}.founder-quote{margin-top:var(--spacing-2xl);padding-left:var(--spacing-xl);border-left:4px solid var(--color-accent)}.founder-quote blockquote{font-size:1.5rem;font-weight:500;color:var(--color-primary);line-height:1.4;margin-bottom:var(--spacing-md);font-style:italic}.founder-quote cite{font-size:1rem;color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.05em;font-weight:700}.editorial-images{position:relative;padding:var(--spacing-xl) 0 0 var(--spacing-xl)}.img-main{width:100%;height:auto;object-fit:cover;aspect-ratio:4/3;display:block}.img-accent-box{position:absolute;bottom:-30px;left:0;padding:var(--spacing-lg) var(--spacing-xl);border-radius:var(--radius-md);box-shadow:0 10px 30px #d4af374d;color:var(--color-white);display:flex;flex-direction:column;align-items:flex-start}.img-accent-box .stat-number{font-size:3rem;font-weight:800;line-height:1;color:var(--color-primary)}.img-accent-box .stat-label{font-size:1rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-primary)}.impact-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-xl);padding:var(--spacing-2xl) 0;border-top:1px solid var(--color-gray-200);border-bottom:1px solid var(--color-gray-200)}@media(min-width:768px){.impact-grid{grid-template-columns:repeat(3,1fr)}}.impact-item{text-align:center;display:flex;flex-direction:column;align-items:center}.premium-mv-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-2xl)}@media(min-width:992px){.premium-mv-grid{grid-template-columns:repeat(3,1fr)}}.premium-mv-card{background:var(--color-white);padding:var(--spacing-2xl);border-radius:var(--radius-lg);box-shadow:0 5px 20px #00000008;border:1px solid var(--color-gray-100);transition:all .4s ease;text-align:left}.hover-lift:hover{transform:translateY(-8px);box-shadow:0 15px 35px #00000014;border-color:var(--color-accent)}.mv-icon-top{width:80px;height:80px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;margin-bottom:var(--spacing-xl)}.premium-destinations-hero{background:linear-gradient(135deg,var(--color-primary) 0%,#06182e 100%);padding:140px 0 80px;position:relative;overflow:hidden}.premium-destinations-hero:before{content:"";position:absolute;inset:0;background:url(https://images.unsplash.com/photo-1451187580459-43490279c0fa?auto=format&fit=crop&q=80) center/cover;opacity:.1;z-index:0}.premium-destinations-hero .container{position:relative;z-index:1}.bg-light-gray{background-color:var(--color-gray-50)}.premium-destinations-layout{display:grid;grid-template-columns:1fr;gap:var(--spacing-2xl)}@media(min-width:768px){.premium-destinations-layout{grid-template-columns:repeat(2,1fr)}}.premium-destinations-layout .premium-destination-card{height:450px;width:100%}.premium-cta-section{background-color:var(--color-white);padding:var(--spacing-3xl) 0}.cta-container{max-width:800px}.mx-auto{margin-left:auto;margin-right:auto}.pulse-effect{animation:pulse-soft 2s infinite}@keyframes pulse-soft{0%{box-shadow:0 0 #d4af3766}70%{box-shadow:0 0 0 15px #d4af3700}to{box-shadow:0 0 #d4af3700}}.premium-country-hero{position:relative;height:70vh;min-height:500px;background-size:cover;background-position:center;background-attachment:fixed;display:flex;align-items:center;justify-content:center;padding-top:100px}.premium-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,#0a254066,#0a2540f2)}.max-w-2xl{max-width:42rem}.grid-layout-lg{display:grid;grid-template-columns:1fr;align-items:flex-start}@media(min-width:1024px){.grid-layout-lg{grid-template-columns:2fr 1fr}}.premium-content-area{width:100%}.content-card{background:var(--color-white);padding:var(--spacing-2xl);border-radius:var(--radius-lg);box-shadow:0 5px 20px #00000008;border:1px solid var(--color-gray-100)}.premium-benefits-list{display:grid;grid-template-columns:1fr;gap:var(--spacing-lg)}@media(min-width:640px){.premium-benefits-list{grid-template-columns:repeat(2,1fr)}}.premium-benefits-list li{display:flex;align-items:flex-start;gap:var(--spacing-md);background:var(--color-white);padding:var(--spacing-md);border-radius:var(--radius-md);border:1px solid var(--color-gray-100);transition:all .3s ease}.premium-benefits-list li:hover{border-color:var(--color-accent);transform:translateY(-2px);box-shadow:0 10px 20px #0000000a}.benefit-icon{flex-shrink:0}.benefit-text{color:var(--color-gray-700);line-height:1.5;font-weight:500}.premium-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-md)}.premium-tag{background:var(--color-white);color:var(--color-primary);padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-full);font-size:.95rem;font-weight:600;border:1px solid var(--color-gray-200);transition:all .3s ease;cursor:default}.premium-tag:hover{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-white)}.premium-info-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-md)}@media(min-width:640px){.premium-info-grid{grid-template-columns:repeat(2,1fr)}}.premium-info-card{background:var(--color-white);padding:var(--spacing-xl);border-radius:var(--radius-lg);border:1px solid var(--color-gray-100);display:flex;align-items:center;gap:var(--spacing-lg);transition:all .3s ease}.premium-info-card:hover{border-color:var(--color-accent);box-shadow:0 10px 25px #0000000d;background:#fafafa}.info-icon-large{width:64px;height:64px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.bg-primary-light{background:#0a25400d}.bg-accent-light{background:#d4af371a}.text-accent-dark{color:#b59223}.bg-secondary-light{background:#0096d61a}.bg-gray-light{background:var(--color-gray-100)}.info-label{font-size:.95rem;color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px}.info-value{color:var(--color-primary);font-size:1.15rem;font-weight:700;margin:0}.premium-avanza-box{background:linear-gradient(135deg,var(--color-primary) 0%,#06182e 100%);padding:var(--spacing-3xl);border-radius:var(--radius-lg);color:var(--color-white);position:relative;overflow:hidden}.premium-avanza-box:after{content:"";position:absolute;top:-50%;right:-20%;width:300px;height:300px;background:radial-gradient(circle,rgba(212,175,55,.15) 0%,transparent 70%);border-radius:50%}.premium-avanza-box h3{color:var(--color-accent) !important;font-family:'Outfit',sans-serif !important;font-weight:700 !important;font-size:1.8rem !important;position:relative;z-index:1}.premium-avanza-box p{color:#ffffff !important;opacity:0.95 !important;line-height:1.6 !important;font-size:1.05rem !important;position:relative;z-index:1}.premium-avanza-box .btn{background-color:var(--color-accent) !important;color:var(--color-primary) !important;font-weight:700 !important;padding:12px 28px !important;border-radius:8px !important;text-decoration:none !important;display:inline-flex !important;align-items:center !important;justify-content:center !important;transition:all .3s ease !important;font-size:0.95rem !important}.premium-avanza-box .btn:hover{background-color:#ffffff !important;color:var(--color-primary) !important;box-shadow:0 8px 24px rgba(212,175,55,.3) !important;transform:translateY(-2px) !important}.premium-sidebar{top:100px;border-radius:var(--radius-lg)}.premium-form-card{background-color:var(--color-white);padding:var(--spacing-2xl);border-radius:var(--radius-lg);box-shadow:0 15px 40px #00000014;border-top:4px solid var(--color-accent)}.profile-comparison-widget{padding:var(--spacing-2xl) 0}.comparison-container{position:relative;width:100%;max-width:900px;margin:0 auto;border-radius:var(--radius-lg);background:var(--color-white);box-shadow:0 10px 40px #00000014;-webkit-user-select:none;user-select:none;touch-action:pan-y;overflow:hidden;min-height:650px}@media(max-width:768px){.comparison-container{min-height:850px}}.profile-card{position:absolute;top:0;left:0;width:100%;height:100%}.generic-profile{z-index:1}.avanza-profile{z-index:2;box-shadow:4px 0 15px #0000001a}.card-header{height:90px;display:flex;align-items:center;padding:var(--spacing-md) var(--spacing-xl)}.standard-header{justify-content:flex-end}.avanza-header{justify-content:flex-start}.header-content-stack{display:flex;flex-direction:column;width:100%;gap:4px}.stack-right{align-items:flex-end}.stack-left{align-items:flex-start}.flex-row-center{display:flex;align-items:center;gap:8px}.profile-traits{list-style:none;padding:0;margin:0}.trait-row{display:flex;align-items:center;border-bottom:1px solid rgba(0,0,0,.05);height:75px;padding-left:var(--spacing-xl);position:relative;width:100%}.trait-row:last-child{border-bottom:none}@media(max-width:768px){.trait-row{height:100px;flex-direction:column;align-items:flex-start;justify-content:center;padding-left:var(--spacing-lg)}}.avanza-profile .trait-row:before{content:"✓";position:absolute;left:var(--spacing-sm);color:var(--color-accent);font-weight:900}.generic-profile .trait-row:before{content:"✗";position:absolute;left:var(--spacing-sm);color:var(--color-gray-400);font-weight:900}.trait-label{flex:0 0 180px;font-size:.95rem;font-weight:700}.trait-desc{flex:1;font-size:.95rem;padding-right:var(--spacing-md);line-height:1.4;white-space:normal}.slider-handle{position:absolute;top:0;bottom:0;width:4px;background:var(--color-white);z-index:10;cursor:ew-resize;transform:translate(-50%);box-shadow:0 0 10px #0000004d}.handle-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:48px;height:48px;background:var(--color-white);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 15px #0003;border:2px solid var(--color-accent);transition:transform .2s ease}.slider-handle:hover .handle-icon,.slider-handle:active .handle-icon{transform:translate(-50%,-50%) scale(1.1);box-shadow:0 6px 20px #0000004d}.handle-line{width:100%;height:100%;background:var(--color-accent)}.drag-prompt{position:absolute;top:calc(50% - 80px);left:50%;transform:translate(-50%);background:var(--color-accent);color:var(--color-primary);padding:8px 24px;border-radius:30px;font-size:1rem;font-weight:800;white-space:nowrap;pointer-events:none;border:2px solid var(--color-white);box-shadow:0 4px 15px #0003;z-index:20}.drag-prompt:after{content:"";position:absolute;bottom:-6px;left:50%;transform:translate(-50%) rotate(45deg);width:12px;height:12px;background:var(--color-accent);border-right:2px solid var(--color-white);border-bottom:2px solid var(--color-white)}.anim-bounce-blink{animation:bounce-blink-horiz 2s infinite ease-in-out}@keyframes bounce-blink-horiz{0%,to{transform:translate(-50%);opacity:.8;box-shadow:0 0 5px var(--color-accent)}50%{transform:translate(-30%);opacity:1;box-shadow:0 0 25px var(--color-accent),0 0 40px var(--color-white);background:#ffea00}}.premium-services-hero{background:linear-gradient(135deg,var(--color-primary) 0%,#06182e 100%);padding:140px 0 80px}.premium-services-container{display:flex;flex-direction:column;gap:var(--spacing-2xl);max-width:1200px;margin:0 auto}@media(min-width:992px){.premium-services-container{flex-direction:row;align-items:flex-start}}.services-sidebar{width:100%;background:var(--color-white);padding:var(--spacing-xl);border-radius:var(--radius-lg);box-shadow:0 5px 20px #00000008;border:1px solid var(--color-gray-100)}@media(min-width:992px){.services-sidebar{width:350px;flex-shrink:0;position:sticky;top:100px}}.sidebar-title{color:var(--color-primary);font-size:1.5rem;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:2px solid var(--color-gray-100)}.services-nav-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.service-nav-btn{width:100%;display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:transparent;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;text-align:left;transition:all .3s ease}.service-nav-btn:hover{background:var(--color-gray-50)}.service-nav-btn.active{background:var(--color-primary);border-color:var(--color-primary)}.btn-icon{font-size:1.25rem;color:var(--color-primary);transition:color .3s ease}.service-nav-btn.active .btn-icon{color:var(--color-accent)}.btn-text{font-size:1rem;font-weight:500;color:var(--color-gray-700);transition:color .3s ease}.service-nav-btn.active .btn-text{color:var(--color-white)}.services-content-area{flex:1;min-width:0}.active-service-card{background:var(--color-white);padding:var(--spacing-3xl);border-radius:var(--radius-lg);box-shadow:0 10px 40px #0000000d;border:1px solid var(--color-gray-100);border-top:4px solid var(--color-accent)}.service-card-image-wrapper{position:relative;width:calc(100% + var(--spacing-3xl) * 2);margin:calc(var(--spacing-3xl) * -1) calc(var(--spacing-3xl) * -1) 0;height:300px;border-radius:var(--radius-lg) var(--radius-lg) 0 0;overflow:hidden;margin-bottom:var(--spacing-2xl)}@media(max-width:768px){.service-card-image-wrapper{width:calc(100% + var(--spacing-xl) * 2);margin:calc(var(--spacing-xl) * -1) calc(var(--spacing-xl) * -1) 0;height:200px;margin-bottom:var(--spacing-xl)}}.service-card-hero-image{width:100%;height:100%;background-size:cover;background-position:center;background-attachment:scroll;transition:transform .6s ease}.active-service-card:hover .service-card-hero-image{transform:scale(1.05)}.service-card-hero-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,#0a192f1a,#0a192fcc)}.service-icon-floating{position:absolute;bottom:-30px;left:var(--spacing-3xl);width:70px;height:70px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:2rem;z-index:10;border:3px solid var(--color-white)}@media(max-width:768px){.service-icon-floating{left:var(--spacing-xl)}}.custom-bullet-list{list-style:none;padding:0}.custom-bullet-list li{position:relative;padding-left:30px;margin-bottom:var(--spacing-sm);color:var(--color-gray-600)}.custom-bullet-list li:before{content:"→";position:absolute;left:0;color:var(--color-accent);font-weight:700}.fade-in{animation:fadeInSlideUp .4s ease-out forwards}@keyframes fadeInSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.premium-cta-dark{background-color:var(--color-primary)}.bg-gradient{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-light) 100%)}.page-loans .benefits-list li{font-size:1.1rem}.features-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-lg);margin-top:var(--spacing-2xl);padding-top:var(--spacing-2xl);border-top:1px solid var(--color-gray-100)}@media(min-width:768px){.features-grid{grid-template-columns:repeat(3,1fr)}}.feature-item{text-align:center;padding:var(--spacing-md)}.feature-item h4{margin-bottom:var(--spacing-xs);color:var(--color-primary)}.feature-item p{color:var(--color-gray-500);font-size:.95rem}.sticky-form{position:sticky;top:100px}.lender-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md)}@media(min-width:640px){.lender-grid{grid-template-columns:repeat(3,1fr)}}@media(min-width:768px){.lender-grid{grid-template-columns:repeat(4,1fr);gap:var(--spacing-lg)}}@media(min-width:1024px){.lender-grid{grid-template-columns:repeat(5,1fr)}}@media(min-width:1200px){.lender-grid{grid-template-columns:repeat(6,1fr)}}.lender-card{background:var(--color-white);border:1px solid var(--color-gray-100);border-radius:var(--radius-md);padding:var(--spacing-md);display:flex;align-items:center;justify-content:center;text-align:center;height:80px;transition:all .3s cubic-bezier(.165,.84,.44,1);box-shadow:0 4px 10px #00000005;cursor:default}.lender-card:hover{transform:translateY(-4px);box-shadow:0 10px 20px #0000000f;border-color:var(--color-accent)}.lender-name{font-weight:600;color:var(--color-gray-600);font-size:.9rem;transition:color .3s ease}.lender-card:hover .lender-name{color:var(--color-primary)}.lender-logo{max-width:100%;max-height:50px;object-fit:contain;filter:none;opacity:1;transition:all .3s ease}.lender-card:hover .lender-logo{transform:scale(1.05);filter:none;opacity:1}.reasons-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-xl)}@media(min-width:768px){.reasons-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.reasons-grid{grid-template-columns:repeat(3,1fr)}}.reason-card{background-color:var(--color-white);padding:var(--spacing-xl);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--color-gray-100);transition:all var(--transition-normal);text-align:center}.reason-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);border-color:var(--color-secondary)}.reason-icon{color:var(--color-primary);margin-bottom:var(--spacing-md);display:flex;justify-content:center}.reason-card h3{margin-bottom:var(--spacing-sm);color:var(--color-primary)}.reason-card p{color:var(--color-gray-500);margin:0}.section-bg-primary{background-color:var(--color-primary);color:var(--color-white)}.section-bg-primary h2{color:var(--color-white)}.premium-contact-hero{background:linear-gradient(135deg,var(--color-primary) 0%,#06182e 100%);padding:140px 0 80px}.premium-contact-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-3xl);align-items:flex-start}@media(min-width:1024px){.premium-contact-grid{grid-template-columns:4fr 5fr}}.premium-form-column{position:sticky;top:100px}.dark-form-box{background:linear-gradient(145deg,var(--color-primary) 0%,#0a1f3a 100%);padding:var(--spacing-2xl);border-radius:var(--radius-xl);box-shadow:0 20px 50px #00000026;border:1px solid rgba(255,255,255,.05);position:relative;overflow:hidden}.dark-form-box:before{content:"";position:absolute;top:0;right:0;width:200px;height:200px;background:radial-gradient(circle,rgba(212,175,55,.1) 0%,transparent 70%);border-radius:50%;transform:translate(30%,-30%)}.form-wrapper-override{position:relative;z-index:1}.form-wrapper-override .lead-form-container{background:#ffffff08;border:1px solid rgba(255,255,255,.1)}.form-wrapper-override .form-group label{color:var(--color-gray-200)}.form-wrapper-override .form-control{background-color:#ffffff0d;border-color:#ffffff1a;color:var(--color-white)}.form-wrapper-override .form-control:focus{background-color:#ffffff1a;border-color:var(--color-accent)}.form-wrapper-override .form-control::placeholder{color:var(--color-gray-500)}.form-wrapper-override .consent-text{color:var(--color-gray-400)}.contact-methods-flex{display:flex;flex-direction:column;gap:var(--spacing-md)}@media(min-width:640px){.contact-methods-flex{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}}@media(min-width:1024px){.contact-methods-flex{grid-template-columns:repeat(3,1fr)}}.contact-method-card{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:var(--spacing-sm);background:var(--color-white);padding:var(--spacing-lg);border-radius:var(--radius-lg);border:1px solid var(--color-gray-100);text-decoration:none;transition:all .3s ease;box-shadow:0 4px 15px #00000005}.contact-method-card:hover{transform:translateY(-3px);box-shadow:0 10px 25px #0000000d;border-color:var(--color-accent)}.method-icon{width:48px;height:48px;background:var(--color-gray-50);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--color-primary);flex-shrink:0;transition:all .3s ease}.contact-method-card:hover .method-icon{background:var(--color-primary);color:var(--color-white)}.contact-method-card:hover .method-icon.text-accent{background:var(--color-accent);color:var(--color-white)}.method-details{display:flex;flex-direction:column;align-items:center;gap:4px}.method-label{font-size:.85rem;color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.method-value{font-size:1.05rem;color:var(--color-primary);font-weight:700}.premium-offices-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-xl)}@media(min-width:768px){.premium-offices-grid{grid-template-columns:repeat(2,1fr)}}.premium-office-card{background:var(--color-white);padding:var(--spacing-xl);border-radius:var(--radius-lg);border:1px solid var(--color-gray-100);box-shadow:0 5px 20px #00000008;transition:all .3s ease;display:flex;flex-direction:column;height:100%}.premium-office-card:hover{border-color:var(--color-gray-200);box-shadow:0 10px 30px #0000000f}.premium-office-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-gray-100)}.office-pin{background:#0a25400d;padding:6px;border-radius:50%;width:32px;height:32px}.office-address{font-size:.95rem;line-height:1.6;flex-grow:1}.premium-map-embed{margin-top:auto;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--color-gray-200);background-color:var(--color-gray-100)}.faq-container{max-width:800px;margin:0 auto}.faq-item{background-color:var(--color-white);border:1px solid var(--color-gray-100);border-radius:var(--radius-md);margin-bottom:var(--spacing-md);box-shadow:var(--shadow-sm);overflow:hidden}.faq-question{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);cursor:pointer;background-color:var(--color-white);transition:background-color var(--transition-fast)}.faq-question:hover{background-color:var(--color-gray-50)}.faq-question h3{margin:0;font-size:1.1rem;color:var(--color-primary)}.faq-icon{color:var(--color-secondary);transition:transform .3s ease;flex-shrink:0;margin-left:var(--spacing-md)}.faq-icon.rotate{transform:rotate(180deg)}.faq-answer{max-height:0;overflow:hidden;transition:max-height .3s ease-out;background-color:var(--color-gray-50)}.faq-item.active .faq-answer{max-height:500px}.faq-answer-inner{padding:0 var(--spacing-lg) var(--spacing-lg);border-top:1px solid var(--color-gray-100);padding-top:var(--spacing-md)}.faq-answer p{color:var(--color-gray-500);margin:0;line-height:1.6}.page-legal{background-color:var(--color-gray-50);min-height:80vh;padding-top:80px}.document-container{max-width:800px;background-color:var(--color-white);padding:var(--spacing-3xl);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-top:var(--spacing-xl);margin-bottom:var(--spacing-2xl)}.document-container h1{color:var(--color-primary);margin-bottom:var(--spacing-xs);border-bottom:2px solid var(--color-gray-100);padding-bottom:var(--spacing-md)}.last-updated{color:var(--color-gray-500);font-size:.9rem;margin-bottom:var(--spacing-xl)}.document-content h2{color:var(--color-primary);font-size:1.5rem;margin-top:var(--spacing-2xl);margin-bottom:var(--spacing-md)}.document-content p,.document-content li{color:var(--color-gray-800);line-height:1.8;margin-bottom:var(--spacing-md)}.document-content ul{list-style-type:disc;padding-left:var(--spacing-xl);margin-bottom:var(--spacing-lg)}.document-content a{text-decoration:underline}:root{--color-primary: #0A2540;--color-primary-light: #183e66;--color-secondary: #008080;--color-accent: #D4AF37;--color-white: #FFFFFF;--color-gray-50: #F8FAFC;--color-gray-100: #F1F5F9;--color-gray-300: #CBD5E1;--color-gray-500: #64748B;--color-gray-800: #1E293B;--color-black: #0F172A;--color-success: #10B981;--color-error: #EF4444;--color-whatsapp: #25D366;--font-primary: "Inter", sans-serif;--font-heading: "Outfit", sans-serif;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--spacing-section: 5rem;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: 1rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-hover: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--transition-fast: .15s ease-in-out;--transition-normal: .3s ease-in-out}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-primary);color:var(--color-gray-800);background-color:var(--color-white);line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--color-primary);line-height:1.2;margin-bottom:var(--spacing-md)}h1{font-size:clamp(2.5rem,5vw,4rem);font-weight:700}h2{font-size:clamp(2rem,4vw,3rem);font-weight:600}h3{font-size:clamp(1.5rem,3vw,2rem);font-weight:600}h4{font-size:clamp(1.25rem,2vw,1.5rem);font-weight:600}a{text-decoration:none;color:var(--color-secondary);transition:color var(--transition-fast)}a:hover{color:var(--color-primary-light)}ul,ol{list-style:none}img{max-width:100%;height:auto;display:block}.container{width:100%;max-width:1280px;margin:0 auto;padding:0 var(--spacing-xl)}.section{padding:var(--spacing-section) 0}.section-bg-light{background-color:var(--color-gray-50)}.section-bg-dark{background-color:var(--color-primary);color:var(--color-white)}.section-bg-dark h1,.section-bg-dark h2,.section-bg-dark h3{color:var(--color-white)}.text-center{text-align:center}.text-primary{color:var(--color-primary)}.text-secondary{color:var(--color-secondary)}.text-accent{color:var(--color-accent)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}@media(max-width:768px){:root{--spacing-section: 3rem}.container{padding:0 var(--spacing-md)}}.page-header h1,.page-header h2{color:var(--color-white)!important;text-shadow:0 2px 4px rgba(0,0,0,.4)}.page-header p{color:var(--color-white)!important;text-shadow:0 1px 4px rgba(0,0,0,.7)}.anim-float{animation:float 4s ease-in-out infinite}.anim-spin-slow{animation:spin 8s linear infinite}.anim-pulse-slow{animation:pulse-slow 3s cubic-bezier(.4,0,.6,1) infinite}.anim-wiggle{animation:wiggle 2s linear infinite}.anim-bounce{animation:custom-bounce 2s ease-in-out infinite}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-8px)}to{transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse-slow{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.05)}}@keyframes custom-bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}@keyframes wiggle{0%,7%{transform:rotate(0)}15%{transform:rotate(-10deg)}20%{transform:rotate(8deg)}25%{transform:rotate(-8deg)}30%{transform:rotate(6deg)}35%{transform:rotate(-4deg)}40%,to{transform:rotate(0)}}

/* Form Validation & Error Highlighting Styles */
.form-group.has-error input, 
.form-group.has-error select, 
.form-group.has-error textarea {
  border-color: #EF4444 !important;
  background-color: #FEF2F2 !important;
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.15) !important;
}
.error-message-text {
  color: #EF4444;
  font-size: 0.8rem;
  margin-top: 4px;
  display: block;
  font-weight: 500;
  text-align: left;
}
.form-success-message.text-center {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: var(--spacing-xl);
}
.form-success-message.text-center .success-icon {
  font-size: 3rem;
  color: #10B981;
  background: #E6F4EA;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: var(--spacing-md);
}
/* Success Screen Voluntary WhatsApp CTA Styles */
.whatsapp-help-text {
  font-size: 0.88rem;
  color: #64748B;
  margin-top: 1.5rem;
  margin-bottom: 0.75rem;
  max-width: 90%;
  line-height: 1.5;
  text-align: center;
}
.btn-whatsapp-success {
  background-color: #25D366 !important;
  color: #FFFFFF !important;
  border: none !important;
  padding: 10px 20px !important;
  font-size: 0.95rem !important;
  border-radius: 8px !important;
  font-weight: 600 !true;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  box-shadow: 0 4px 10px rgba(37, 211, 102, 0.2) !important;
  transition: all 0.3s ease !important;
  text-decoration: none !important;
}
.btn-whatsapp-success:hover {
  background-color: #20ba5a !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 15px rgba(37, 211, 102, 0.3) !important;
  color: #FFFFFF !important;
}
.btn-whatsapp-success i {
  font-size: 1.15rem;
}
/* --- PREMIUM MOBILE OPTIMIZATIONS AND REFINEMENTS --- */

/* Header & Navigation Spacing on Mobile */
@media (max-width: 991px) {
  .navbar-header {
    padding: var(--spacing-sm) 0 !important;
  }
  .navbar-header .logo {
    max-height: 42px !important; /* Scale logo down slightly for mobile */
  }
  .hero-container {
    padding-top: 85px !important; /* Pushes brand title below smaller mobile fixed header */
  }
  .hero-brand-name {
    font-size: 1.05rem !important; /* Elegant brand name scaling */
    letter-spacing: 0.15em !important;
  }
  .hero-tagline {
    font-size: 0.95rem !important; /* Tagline scales down beautifully */
    letter-spacing: 0.05em !important;
  }
}

/* Butter-Smooth Mobile Menu Dropdown Animation */
.mobile-menu {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  background: rgba(255, 255, 255, 0.98) !important;
  backdrop-filter: blur(15px) !important;
  -webkit-backdrop-filter: blur(15px) !important;
  border-top: 1px solid var(--color-gray-100) !important;
  padding: var(--spacing-lg) !important;
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.15) !important;
  max-height: calc(100vh - 65px) !important;
  overflow-y: auto !important;
  animation: slideDownMobileMenu 0.4s cubic-bezier(0.16, 1, 0.3, 1) forwards !important;
  transform-origin: top;
  z-index: 999;
}

@keyframes slideDownMobileMenu {
  from {
    opacity: 0;
    transform: scaleY(0.95) translateY(-8px);
  }
  to {
    opacity: 1;
    transform: scaleY(1) translateY(0);
  }
}

/* Horizontal Swipable Swipe-Carousel for Country Tabs on Mobile */
@media (max-width: 640px) {
  .hero-destinations-selector {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    padding: var(--spacing-sm) var(--spacing-md) var(--spacing-lg) !important;
    margin-left: calc(-1 * var(--spacing-md)) !important;
    margin-right: calc(-1 * var(--spacing-md)) !important;
    width: calc(100% + 2 * var(--spacing-md)) !important;
    scrollbar-width: none !important; /* Hide scrollbar for Firefox */
  }
  .hero-destinations-selector::-webkit-scrollbar {
    display: none !important; /* Hide scrollbar for Chrome/Safari */
  }
  .hero-dest-card {
    flex: 0 0 auto !important; /* Lock cards size, preventing shrink */
    min-width: 140px !important;
    margin-right: var(--spacing-xs) !important;
  }
  /* Stacking Hero CTA Buttons on small screens */
  .hero-actions {
    display: flex !important;
    flex-direction: column !important;
    gap: var(--spacing-sm) !important;
    width: 100% !important;
    max-width: 320px !important;
    margin: 0 auto !important;
  }
  .hero-actions .btn {
    width: 100% !important;
    text-align: center !important;
  }
}

/* Additional Padding Tuning for General Content Elements */
@media (max-width: 768px) {
  .section {
    padding: var(--spacing-xl) 0 !important; /* Symmetrical spacing */
  }
  .section-header {
    margin-bottom: var(--spacing-xl) !important;
  }
  .split-layout {
    flex-direction: column !important;
    gap: var(--spacing-xl) !important;
  }
  .split-content {
    max-width: 100% !important;
    text-align: center !important;
  }
  /* Center align buttons when stacked */
  .btn-group, .flex-row-responsive {
    justify-content: center !important;
  }
}

/* ==========================================================================
   ADVANCED MOBILE-FIRST UI/UX REFINEMENT AND POLISHING OVERRIDES
   Ensures pristine layouts, touch targets, and spacing on mobile screen widths 
   (360px, 375px, 390px, 414px, 430px, 768px) while keeping desktop 100% intact.
   ========================================================================== */

/* 1. Header & Fixed Mobile Navigation Casing */
@media (max-width: 991px) {
  .navbar-header {
    padding: 10px 0 !important; /* Shrunk padding */
    background: rgba(255, 255, 255, 0.95) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    height: 60px !important;
    display: flex !important;
    align-items: center !important;
  }
  
  .header-logo-img {
    height: 52px !important; /* Premium scaled logo size */
    width: auto !important;
    max-height: 52px !important;
    margin: -6px 0 !important;
    object-fit: contain !important;
  }
  
  /* Touch target safety for mobile menu toggle */
  .mobile-menu-btn {
    width: 44px !important;
    height: 44px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-right: -10px !important;
    padding: 0 !important;
    cursor: pointer !important;
  }
  
  /* Mobile Menu Container Glassmorphism and Butter-Smooth cubic-bezier Slide */
  .mobile-menu {
    position: absolute !important;
    top: 60px !important; /* Align exactly below the fixed navbar */
    left: 0 !important;
    width: 100% !important;
    background: rgba(255, 255, 255, 0.98) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border-top: 1px solid var(--color-gray-100) !important;
    padding: var(--spacing-md) var(--spacing-lg) !important;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.12) !important;
    max-height: calc(100vh - 60px) !important;
    overflow-y: auto !important;
    transform-origin: top !important;
    animation: slideDownMobileMenuPremium 0.4s cubic-bezier(0.16, 1, 0.3, 1) forwards !important;
    z-index: 1000 !important;
  }
  
  /* Enhanced Tappable Target Spacing for Dropdown Links */
  .mobile-nav-links > a,
  .mobile-dropdown-header {
    min-height: 48px !important; /* Safe touch target */
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 8px 0 !important;
    font-size: 1.05rem !important;
    border-bottom: 1px solid var(--color-gray-50) !important;
  }
  
  .mobile-dropdown-items a {
    min-height: 44px !important; /* Safe sub-link touch target */
    display: flex !important;
    align-items: center !important;
    padding: 8px 12px !important;
    font-size: 0.95rem !important;
  }
}

@keyframes slideDownMobileMenuPremium {
  0% {
    opacity: 0;
    transform: scaleY(0.96) translateY(-10px);
  }
  100% {
    opacity: 1;
    transform: scaleY(1) translateY(0);
  }
}

/* 2. Hero Section & Country Swipe Carousel */
@media (max-width: 991px) {
  .hero-container {
    padding-top: 80px !important; /* Aligned nicely below header */
    padding-left: var(--spacing-md) !important;
    padding-right: var(--spacing-md) !important;
  }
  
  .premium-title,
  .hero-headline {
    font-size: 2.1rem !important; /* Scaled header to fit iPhone SE/360px without wrap distortion */
    line-height: 1.2 !important;
    font-weight: 800 !important;
  }
  
  .hero-text-wrapper {
    height: 180px !important; /* Spacious container height to prevent text wrap cuts */
    margin-bottom: var(--spacing-lg) !important;
    position: relative !important;
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  
  .hero-text-item {
    padding: 12px 24px !important;
    box-sizing: border-box !important;
  }
  
  .hero-text-item p {
    font-size: 0.95rem !important;
    line-height: 1.5 !important;
    max-width: 90% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    white-space: normal !important;
  }
  
  .hero-slide {
    background-attachment: scroll !important;
    background-size: cover !important;
    background-position: center !important;
  }
  
  .premium-country-hero {
    background-attachment: scroll !important;
  }
  
  /* Hide desktop menu row on mobile viewports */
  .nav-menu {
    display: none !important;
  }
}

@media (max-width: 768px) {
  /* Swipeable Country Selector Carousel for Touch Interfaces */
  .hero-destinations-selector {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    padding: var(--spacing-sm) var(--spacing-md) !important;
    margin-left: calc(-1 * var(--spacing-md)) !important;
    margin-right: calc(-1 * var(--spacing-md)) !important;
    width: calc(100% + 2 * var(--spacing-md)) !important;
    scrollbar-width: none !important; /* Hide scrollbar for Firefox */
    touch-action: pan-x !important;
    user-select: none !important;
  }
  
  .hero-destinations-selector::-webkit-scrollbar {
    display: none !important; /* Hide scrollbar for Chrome/Safari */
  }
  
  .hero-dest-card {
    flex: 0 0 auto !important;
    min-width: 145px !important;
    margin-right: 12px !important;
    padding: 8px 12px !important;
    border-radius: 30px !important; /* Pillow shaped modern tabs */
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15) !important;
  }
  
  /* Stacking CTA Buttons Vertically on small devices */
  .hero-actions {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 290px !important;
    margin: 0 auto !important;
  }
  
  .hero-actions .btn {
    width: 100% !important;
    min-height: 46px !important;
    justify-content: center !important;
  }
}

/* 3. Responsive Grids, Content Padding, Alignment and Symmetry */
@media (max-width: 768px) {
  /* Stacked Grid Layouts */
  .premium-stats,
  .why-us-grid,
  .premium-services-grid,
  .premium-destinations,
  .reviews-grid,
  .premium-offices-grid,
  .premium-mv-grid,
  .impact-grid,
  .split-layout {
    grid-template-columns: 1fr !important;
    display: grid !important;
    gap: 20px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  
  .premium-stats {
    margin-top: -40px !important;
    padding: var(--spacing-lg) !important;
  }
  
  /* Prevent horizontal content touching edges */
  .section, .container {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  
  /* Clean center alignments on mobile stacking */
  .section-header, 
  .premium-heading-dark, 
  .premium-subheading,
  .text-center-mobile {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  
  /* Profile Comparison Widget Fixes for Mobile Column Layout */
  .comparison-container {
    min-height: auto !important;
    height: auto !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 28px !important; /* Elegant spacing between stacked cards */
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
    overflow: visible !important;
  }
  
  .profile-card {
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    clip-path: none !important;
    -webkit-clip-path: none !important;
    clip: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 20px !important;
    overflow: hidden !important;
    transition: all 0.3s ease !important;
  }
  
  /* Standard representation card */
  .generic-profile {
    background: #FFFFFF !important;
    border: 1px solid #E2E8F0 !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04) !important;
    z-index: 1 !important;
  }
  
  .generic-profile .card-header {
    background: #F8FAFC !important;
    border-bottom: 1px solid #E2E8F0 !important;
    padding: 18px 20px !important;
  }
  
  .generic-profile .card-body {
    background: #FFFFFF !important;
    padding: 8px 0 !important;
  }
  
  .generic-profile .header-content-stack {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
  }
  
  .generic-profile .flex-row-center {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
  }
  
  .generic-profile h4 {
    color: #475569 !important;
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    margin: 0 !important;
    font-family: 'Outfit', sans-serif !important;
  }
  
  .generic-profile svg {
    color: #94A3B8 !important;
    width: 18px !important;
    height: 18px !important;
  }
  
  .generic-profile .badge-gray,
  .generic-profile .badge {
    background: #F1F5F9 !important;
    color: #64748B !important;
    font-weight: 600 !important;
    font-size: 0.75rem !important;
    padding: 4px 10px !important;
    border-radius: 30px !important;
    border: 1px solid #E2E8F0 !important;
  }
  
  /* Premium Avanza Optimized card */
  .avanza-profile {
    background: #0A2540 !important;
    border: 2px solid #D4AF37 !important;
    box-shadow: 0 12px 30px rgba(10, 37, 64, 0.18) !important;
    z-index: 1 !important;
  }
  
  .avanza-profile .card-header {
    background: #061d33 !important;
    border-bottom: 1px solid rgba(212, 175, 55, 0.2) !important;
    padding: 18px 20px !important;
  }
  
  .avanza-profile .card-body {
    background: #0A2540 !important;
    padding: 8px 0 !important;
  }
  
  .avanza-profile .header-content-stack {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
  }
  
  .avanza-profile .flex-row-center {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
  }
  
  .avanza-profile h4 {
    color: #FFFFFF !important;
    font-size: 1.15rem !important;
    font-weight: 700 !important;
    margin: 0 !important;
    font-family: 'Outfit', sans-serif !important;
  }
  
  .avanza-profile svg {
    color: #D4AF37 !important;
    width: 20px !important;
    height: 20px !important;
  }
  
  .avanza-profile .badge {
    background: #D4AF37 !important;
    color: #0A2540 !important;
    font-weight: 700 !important;
    font-size: 0.75rem !important;
    padding: 4px 10px !important;
    border-radius: 30px !important;
    box-shadow: 0 2px 8px rgba(212, 175, 55, 0.2) !important;
    border: none !important;
  }
  
  /* Trait rows details and layout */
  .trait-row {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    height: auto !important;
    min-height: auto !important;
    gap: 6px !important;
    position: relative !important;
    transition: background-color 0.2s ease !important;
  }
  
  .generic-profile .trait-row {
    padding: 14px 20px !important;
    border-bottom: 1px solid #F1F5F9 !important;
  }
  .generic-profile .trait-row:last-child {
    border-bottom: none !important;
  }
  
  .avanza-profile .trait-row {
    padding: 14px 20px 14px 44px !important; /* Space for absolute checkmark */
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  }
  .avanza-profile .trait-row:last-child {
    border-bottom: none !important;
  }
  
  /* Gold checkmarks for Avanza Optimized features */
  .avanza-profile .trait-row::before {
    content: "✓" !important;
    position: absolute !important;
    left: 20px !important;
    top: 14px !important;
    color: #D4AF37 !important;
    font-weight: 700 !important;
    font-size: 1.15rem !important;
    display: block !important;
  }
  
  .trait-label {
    flex: 0 0 auto !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    font-family: 'Outfit', sans-serif !important;
    letter-spacing: 0.01em !important;
  }
  
  .generic-profile .trait-label {
    color: #64748B !important;
  }
  
  .avanza-profile .trait-label {
    color: #D4AF37 !important;
  }
  
  .trait-desc {
    flex: 0 0 auto !important;
    width: 100% !important;
    height: auto !important;
    font-size: 0.92rem !important;
    line-height: 1.55 !important;
    font-weight: 500 !important;
    padding: 0 !important;
  }
  
  .generic-profile .trait-desc {
    color: #1E293B !important;
  }
  
  .avanza-profile .trait-desc {
    color: #FFFFFF !important;
  }
  
  /* Hide the slider handle on stacked mobile view since both cards display vertically */
  .slider-handle, .drag-prompt {
    display: none !important;
  }
}

/* 4. Standardizing Touch Targets & Form Behaviors */
@media (max-width: 991px) {
  /* Safe touch target size for interactive items */
  .btn,
  .btn-premium,
  .btn-premium-outline,
  .service-nav-btn,
  .slider-nav-btn,
  .slider-dot {
    min-height: 45px !important;
    min-width: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  
  /* Input fields padding and scaling to prevent iOS viewport auto-zoom */
  .form-group input[type="text"],
  .form-group input[type="email"],
  .form-group input[type="tel"],
  .form-group select,
  .form-group textarea {
    font-size: 16px !important; /* iOS safe */
    padding: 12px 16px !important;
    min-height: 48px !important; /* Tap safe */
    background-color: #f8fafc !important;
  }
  
  /* Checkbox and consent rows premium alignment & target styling */
  .checkbox-group {
    display: flex !important;
    align-items: flex-start !important;
    gap: 12px !important;
    padding: 8px 0 !important;
    cursor: pointer !important;
  }
  
  .checkbox-group input[type="checkbox"] {
    width: 22px !important;
    height: 22px !important;
    margin: 0 !important;
    flex-shrink: 0 !important;
    cursor: pointer !important;
  }
  
  .consent-label {
    font-size: 0.88rem !important;
    line-height: 1.4 !important;
    color: var(--color-gray-500) !important;
    cursor: pointer !important;
    user-select: none !important;
    margin: 0 !important;
  }
}

/* 5. Drawers, Panels and Floating Widgets */
@media (max-width: 768px) {
  /* Callback panel full viewport slide layouts */
  .callback-panel {
    width: 100% !important;
    max-width: 100vw !important;
    height: 100vh !important;
  }
  
  .panel-header {
    padding: 16px !important;
  }
  
  .panel-body {
    padding: 16px !important;
  }
  
  /* WhatsApp Floating widget placement adjustment */
  .floating-whatsapp {
    bottom: 20px !important;
    right: 20px !important;
    z-index: 990 !important; /* Ensure it stays behind modal overlay but above content */
  }
  
  /* Avoid overlap with callback tab on mobile */
  .callback-tab {
    z-index: 985 !important;
  }
}

/* ==========================================================================
   MOBILE-FIRST UX AUDIT & ACCESSABILITY REFINEMENTS (APPROVED PLAN)
   Resolves testimonial overlap, card height mismatches, text contrasts, and tap sizes.
   ========================================================================== */

/* A11y Text Contrast Enhancement (Darken Gray to #475569) */
@media (max-width: 991px) {
  .brand-widget .tagline,
  .consent-label,
  .about-text,
  .section-header p,
  .form-header p {
    color: #475569 !important; /* Darkened gray-600 */
  }
}

/* Standardize Social Tap Targets to WCAG 44px x 44px */
@media (max-width: 991px) {
  .social-links a {
    width: 44px !important;
    height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
}

/* Symmetrical Card Height Stretching in Grids */
@media (max-width: 991px) {
  .why-card, .premium-service-card, .review-card, .premium-office-card {
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
  }
}

/* Testimonial Arrow Overlap Resolution */
@media (max-width: 480px) {
  .slider-nav-btn {
    display: none !important; /* Hide arrows on small viewports */
  }
  .testimonial-slider-container {
    padding: 0 16px !important; /* Balanced container spacing */
  }
}

/* ==========================================================================
   GOOGLE STITCH-INSPIRED PREMIUM MOBILE UI/UX REDESIGN OVERRIDES
   Transforms layout structure, spacing, timeline, cards, forms, and bottom nav.
   ========================================================================== */

/* 1. Mobile Fixed Bottom Navigation Bar */
.mobile-bottom-nav {
  display: none !important;
}

@media (max-width: 768px) {
  .mobile-bottom-nav {
    display: flex !important;
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 64px !important;
    background: rgba(255, 255, 255, 0.98) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border-top: 1px solid rgba(226, 232, 240, 0.8) !important;
    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.04) !important;
    z-index: 9999 !important;
    justify-content: space-around !important;
    align-items: center !important;
    padding-bottom: env(safe-area-inset-bottom) !important;
  }

  .mobile-nav-item {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    color: #64748b !important;
    text-decoration: none !important;
    width: 25% !important;
    height: 100% !important;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
    gap: 4px !important;
  }

  .mobile-nav-item.active {
    color: #0A2540 !important; /* Premium dark navy primary */
  }

  .mobile-nav-item.active .nav-icon {
    transform: translateY(-2px) !important;
    stroke: #D4AF37 !important; /* Gold accent color */
  }

  .nav-icon {
    width: 20px !important;
    height: 20px !important;
    stroke: currentColor !important;
    transition: all 0.25s ease !important;
  }

  .nav-label {
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    font-family: "Outfit", sans-serif !important;
    letter-spacing: 0.01em !important;
    transition: all 0.25s ease !important;
  }
  
  /* Prevent content truncation by bottom nav bar */
  body {
    padding-bottom: 74px !important;
  }
  
  /* WhatsApp button floating shift to prevent bottom nav collision */
  .floating-whatsapp {
    bottom: 80px !important; /* Push above bottom nav */
  }
}

/* 2. Services Grid Highlight First Card Expanded (Stitch Panel 1 & 3) */
@media (max-width: 768px) {
  .premium-services-grid .premium-service-card:first-child {
    background: #0A2540 !important;
    color: #FFFFFF !important;
    border: none !important;
    box-shadow: 0 10px 30px rgba(10, 37, 64, 0.2) !important;
    position: relative !important;
    padding-bottom: 72px !important; /* Spacing for right arrow button */
  }
  
  .premium-services-grid .premium-service-card:first-child .service-icon-wrapper {
    background: rgba(255, 255, 255, 0.1) !important;
    color: #D4AF37 !important;
  }
  
  .premium-services-grid .premium-service-card:first-child h3 {
    color: #FFFFFF !important;
  }
  
  .premium-services-grid .premium-service-card:first-child p {
    color: rgba(255, 255, 255, 0.8) !important;
  }
  
  /* White rounded arrow button floating on bottom right */
  .premium-services-grid .premium-service-card:first-child::after {
    content: "→" !important;
    position: absolute !important;
    bottom: 24px !important;
    right: 24px !important;
    background: #FFFFFF !important;
    color: #0A2540 !important;
    width: 38px !important;
    height: 38px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-weight: 700 !important;
    font-size: 1.25rem !important;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1) !important;
  }
}

/* 3. Pillow-Tabs Country selector badges (Stitch Panel 1) */
@media (max-width: 768px) {
  .hero-destinations-selector {
    padding-bottom: 16px !important;
  }
  .hero-dest-card {
    background: #FFFFFF !important;
    color: #0A2540 !important;
    border: 1px solid #E2E8F0 !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03) !important;
    border-radius: 30px !important; /* Pillow pill shaped tabs */
  }
  .hero-dest-card.active {
    background: #0A2540 !important;
    color: #FFFFFF !important;
    border-color: #0A2540 !important;
    box-shadow: 0 4px 12px rgba(10, 37, 64, 0.15) !important;
  }
}

/* 4. Process Timeline Vertical Flow (Stitch Panel 3) */
@media (max-width: 768px) {
  .process-timeline {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    padding-left: 20px !important;
    position: relative !important;
    gap: 32px !important;
  }
  
  /* Vertical path connector line behind step badges */
  .process-timeline::before {
    content: "" !important;
    position: absolute !important;
    left: 40px !important;
    top: 10px !important;
    bottom: 10px !important;
    width: 2px !important;
    background: #E2E8F0 !important;
    z-index: 1 !important;
  }
  
  .process-step {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    text-align: left !important;
    z-index: 2 !important;
    gap: 16px !important;
    width: 100% !important;
    opacity: 1 !important;
    transform: none !important;
    animation: none !important; /* Prevent layout shifts */
  }
  
  .step-connector {
    display: none !important; /* Hide horizontal connector */
  }
  
  .step-icon-wrapper {
    width: 42px !important;
    height: 42px !important;
    border-radius: 50% !important;
    background: #FFECA1 !important;
    border: 2px solid #D4AF37 !important;
    color: #0A2540 !important;
    font-weight: 700 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    box-shadow: none !important;
    margin: 0 !important;
  }
  
  .step-title {
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    margin-bottom: 4px !important;
  }
  
  .step-description {
    max-width: 100% !important;
    font-size: 0.88rem !important;
    line-height: 1.5 !important;
  }
  
  .step-number {
    display: none !important; /* Hide bulky absolute background numbers */
  }
}

/* 5. Consultation & Booking Form Layout Redesign (Stitch Panel 4) */
@media (max-width: 768px) {
  /* High-end clean form fields overrides */
  .form-group input[type="text"],
  .form-group input[type="email"],
  .form-group input[type="tel"],
  .form-group select,
  .form-group textarea {
    background-color: #FFFFFF !important;
    border: 1px solid #D1D5DB !important;
    border-radius: 8px !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02) !important;
    font-weight: 500 !important;
    transition: all 0.2s ease-in-out !important;
  }
  
  .form-group input:focus,
  .form-group select:focus,
  .form-group textarea:focus {
    border-color: #D4AF37 !important; /* Accent gold focus */
    box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.15) !important;
  }
  
  .form-group label {
    font-size: 0.88rem !important;
    font-weight: 600 !important;
    color: #0A2540 !important;
    margin-bottom: 6px !important;
    letter-spacing: 0.01em !important;
  }
  
  /* Symmetrical stats layout to match bottom list of Stitch Panel 1 */
  .premium-stats {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 16px !important;
    background: #F8FAFC !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 24px 16px !important;
    border-top: 1px solid #E2E8F0 !important;
    border-bottom: 1px solid #E2E8F0 !important;
    margin-top: -30px !important;
  }
  
  .premium-stat-card {
    padding: 8px !important;
    align-items: center !important;
    text-align: center !important;
  }
  
  .premium-stat-card h3 {
    font-size: 1.8rem !important;
    color: #0A2540 !important;
    font-weight: 800 !important;
  }
  
  .premium-stat-card p {
    font-size: 0.8rem !important;
    color: #64748B !important;
    font-weight: 600 !important;
  }
}

/* ==========================================
   HIGH-FIDELITY MOBILE UI/UX OPTIMIZATION PASS
   ========================================== */

/* Unified Scroll Offset for Sticky Header */
html {
  scroll-padding-top: 80px !important;
}

@media (max-width: 991px) {
  html {
    scroll-padding-top: 60px !important;
  }
  
  /* Compact Sticky Header & Brand Presentation */
  .navbar-header {
    padding: 8px 0 !important;
    height: 60px !important;
    box-sizing: border-box !important;
  }
  
  .header-logo-img {
    height: 52px !important;
    width: auto !important;
    object-fit: contain !important;
  }
}

@media (max-width: 768px) {
  /* 1. Body and Content Bottom Nav Offset */
  body {
    padding-bottom: calc(72px + env(safe-area-inset-bottom)) !important;
  }
  
  /* Compact Mobile Bottom Navigation */
  .mobile-bottom-nav {
    height: calc(56px + env(safe-area-inset-bottom)) !important;
    padding-bottom: env(safe-area-inset-bottom) !important;
    box-sizing: border-box !important;
    background: rgba(255, 255, 255, 0.97) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border-top: 1px solid rgba(226, 232, 240, 0.8) !important;
    box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.05) !important;
  }
  
  .mobile-nav-item {
    height: 100% !important;
    padding: 6px 0 !important;
    gap: 2px !important;
  }
  
  .mobile-nav-item .nav-icon {
    width: 18px !important;
    height: 18px !important;
  }
  
  .mobile-nav-item .nav-label {
    font-size: 0.7rem !important;
  }

  /* 2. Repositioned WhatsApp Floating Button */
  .floating-whatsapp {
    bottom: calc(72px + env(safe-area-inset-bottom)) !important;
    right: 16px !important;
    z-index: 9999 !important;
  }
  
  .whatsapp-icon-bg {
    width: 48px !important;
    height: 48px !important;
  }
  
  .whatsapp-icon-bg svg {
    width: 24px !important;
    height: 24px !important;
  }

  /* 3. Left-Side Callback Tab Repositioning */
  .callback-tab {
    left: 0 !important;
    right: auto !important;
    transform: translateY(-50%) !important;
    border-radius: 0 8px 8px 0 !important;
    padding: 10px 12px !important;
    box-shadow: 4px 0 15px rgba(0, 0, 0, 0.12) !important;
    z-index: 9998 !important;
  }
  
  .callback-tab .tab-content span {
    display: none !important; /* Hide text, only show icon */
  }
  
  .callback-tab .tab-content {
    gap: 0 !important;
  }

  /* 4. Mobile Hero Layout Spacing & Overlay */
  .hero-overlay {
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.65) 0%, rgba(0, 0, 0, 0.92) 100%) !important;
  }
  
  .premium-overlay {
    background: linear-gradient(to bottom, rgba(4, 18, 41, 0.7) 0%, rgba(4, 18, 41, 0.95) 100%) !important;
  }
  
  .hero-container {
    padding-top: 100px !important;
    padding-bottom: 40px !important;
  }
  
  .hero-actions {
    flex-direction: column !important;
    align-items: center !important;
    width: 100% !important;
    gap: 12px !important;
    padding: 0 20px !important;
    box-sizing: border-box !important;
  }
  
  .hero-actions .btn {
    width: 100% !important;
    max-width: 320px !important;
    height: 48px !important;
    border-radius: 12px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
  }
  
  /* Destination chips wrapping to make all countries fully visible */
  .hero-destinations-selector {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 10px 14px !important;
    overflow-x: visible !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    padding: 10px 0 !important;
    touch-action: auto !important;
  }
  
  .hero-dest-card {
    background: rgba(255, 255, 255, 0.12) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    color: #FFFFFF !important;
    border-radius: 30px !important;
    padding: 8px 16px !important;
    min-height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex-shrink: 0 !important;
  }
  
  .hero-dest-card.active {
    background: #FFFFFF !important;
    color: #0A2540 !important;
    border-color: #FFFFFF !important;
    box-shadow: 0 4px 15px rgba(255, 255, 255, 0.35) !important;
  }

  /* Fix stuck text layers in iOS Safari by hiding inactive slides */
  .hero-text-item {
    opacity: 0 !important;
    visibility: hidden !important;
    transition: opacity 0.8s ease, visibility 0.8s ease !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 12px 24px !important;
    box-sizing: border-box !important;
  }
  
  .hero-text-item.active {
    opacity: 1 !important;
    visibility: visible !important;
  }
  
  .hero-text-item p {
    font-size: 0.95rem !important;
    line-height: 1.5 !important;
    max-width: 100% !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    white-space: normal !important;
    text-align: center !important;
  }
  
  /* Fix stuck background slides in Safari */
  .hero-slide {
    opacity: 0 !important;
    visibility: hidden !important;
    transition: opacity 1.5s ease-in-out, visibility 1.5s ease-in-out !important;
    background-attachment: scroll !important;
    background-size: cover !important;
    background-position: center !important;
  }
  
  .hero-slide.active {
    opacity: 1 !important;
    visibility: visible !important;
  }

  /* 5. Destination Cards Clean Typography & Padding */
  .premium-destination-card {
    height: 360px !important;
    border-radius: 18px !important;
  }
  
  .premium-card-overlay {
    background: linear-gradient(to top, rgba(10, 25, 64, 0.98) 0%, rgba(10, 25, 64, 0.65) 60%, rgba(10, 25, 64, 0.2) 100%) !important;
    padding: 20px !important;
  }
  
  .premium-card-overlay h3 {
    font-size: 1.5rem !important;
    margin-bottom: 8px !important;
  }
  
  .premium-card-overlay p {
    font-size: 0.88rem !important;
    line-height: 1.45 !important;
    margin-bottom: 12px !important;
    -webkit-line-clamp: 2 !important; /* Ultra-clean text limits */
  }
  
  /* Hide the crowded intakes/psw info flex list on mobile */
  .premium-card-overlay .flex.gap-md.mb-md.text-sm {
    display: none !important;
  }
  
  .btn-explore {
    background: var(--color-accent) !important;
    color: #0A2540 !important;
    padding: 8px 16px !important;
    border-radius: 20px !important;
    font-size: 0.8rem !important;
    font-weight: 700 !important;
    text-shadow: none !important;
    box-shadow: 0 4px 10px rgba(212, 175, 55, 0.25) !important;
    margin-top: 8px !important;
    width: fit-content !important;
  }

  /* 6. Standardized Section Spacing & Boundaries */
  .section {
    padding: 48px 0 !important;
  }
  
  .container {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  /* 7. Beautiful Single Column Form Tuning */
  .lead-form {
    padding: 24px 20px !important;
    border-radius: 16px !important;
    margin-bottom: 24px !important;
  }
  
  .form-row {
    flex-direction: column !important;
    gap: 0 !important;
  }
  
  .form-group {
    margin-bottom: 16px !important;
  }
  
  .form-group label {
    font-size: 0.88rem !important;
    font-weight: 600 !important;
    margin-bottom: 6px !important;
  }
  
  .form-group input[type="text"],
  .form-group input[type="email"],
  .form-group input[type="tel"],
  .form-group select,
  .form-group textarea {
    min-height: 48px !important;
    border-radius: 10px !important;
    font-size: 16px !important;
    padding: 12px 16px !important;
  }
  
  .lead-form .btn {
    width: 100% !important;
    height: 48px !important;
    border-radius: 12px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    margin-top: 8px !important;
  }
  
  /* 9. Site Footer Mobile Cleanliness */
  .site-footer {
    padding-top: 40px !important;
    padding-bottom: calc(40px + 74px + env(safe-area-inset-bottom)) !important; /* Safe area padding above bottom nav */
  }
  
  .footer-top {
    gap: 32px !important;
  }
  
  .links-widget ul {
    gap: 12px !important;
  }
  
  .links-widget a,
  .contact-widget .contact-item {
    font-size: 1rem !important;
    line-height: 1.6 !important;
    padding: 6px 0 !important;
  }

  /* 10. Harmonized Mobile Cards System */
  .why-card,
  .premium-service-card,
  .review-card,
  .premium-office-card {
    border-radius: 18px !important;
    padding: 20px !important;
    margin-bottom: 16px !important;
    box-shadow: 0 8px 24 rgba(0, 0, 0, 0.05) !important;
    border: 1px solid rgba(0, 0, 0, 0.04) !important;
  }

  /* 11. Premium Mobile Services Page Polish & Alignments */
  .premium-services-container {
    display: flex !important;
    flex-direction: column !important;
    gap: 24px !important;
  }
  
  .services-sidebar {
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
    padding: 0 !important;
    margin-bottom: 8px !important;
    width: 100% !important;
  }
  
  .sidebar-title {
    display: none !important; /* Save vertical space on mobile header */
  }
  
  /* Horizontal swipeable tab bar for services navigation list */
  .services-nav-list {
    flex-direction: row !important;
    overflow-x: auto !important;
    flex-wrap: nowrap !important;
    -webkit-overflow-scrolling: touch !important;
    gap: 10px !important;
    padding: 8px 20px !important;
    margin-left: -20px !important;
    margin-right: -20px !important;
    width: calc(100% + 40px) !important;
    scrollbar-width: none !important;
    touch-action: pan-x !important;
  }
  
  .services-nav-list::-webkit-scrollbar {
    display: none !important;
  }
  
  .service-nav-btn {
    width: auto !important;
    white-space: nowrap !important;
    padding: 10px 18px !important;
    border-radius: 30px !important;
    border: 1px solid rgba(10, 37, 64, 0.15) !important;
    background: #FFFFFF !important;
    color: #0A2540 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 0.88rem !important;
    font-weight: 600 !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03) !important;
    flex-shrink: 0 !important;
    transition: all 0.25s ease !important;
  }
  
  .service-nav-btn.active {
    background: #0A2540 !important;
    color: #FFFFFF !important;
    border-color: #0A2540 !important;
    box-shadow: 0 4px 12px rgba(10, 37, 64, 0.15) !important;
  }
  
  .service-nav-btn .btn-icon {
    font-size: 1.1rem !important;
    color: currentColor !important;
  }
  
  .service-nav-btn.active .btn-icon {
    color: #D4AF37 !important;
  }
  
  .service-nav-btn .btn-text {
    color: currentColor !important;
    font-size: 0.88rem !important;
    font-weight: 600 !important;
  }
  
  /* Active Service Detail Card mobile alignment */
  .active-service-card {
    padding: 24px 20px !important;
    border-radius: 18px !important;
    background: #FFFFFF !important;
    border: 1px solid rgba(0, 0, 0, 0.05) !important;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.05) !important;
    margin-bottom: 24px !important;
  }
  
  .service-card-image-wrapper {
    width: calc(100% + 40px) !important;
    margin: -24px -20px 24px -20px !important;
    height: 180px !important;
    border-radius: 18px 18px 0 0 !important;
    overflow: hidden !important;
  }
  
  .service-icon-floating {
    bottom: -24px !important;
    left: 20px !important;
    width: 56px !important;
    height: 56px !important;
    border-radius: 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #FFFFFF !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1) !important;
  }
  
  .service-icon-floating svg {
    width: 26px !important;
    height: 26px !important;
  }
  
  .active-service-card .premium-heading-dark {
    font-size: 1.6rem !important;
    line-height: 1.25 !important;
    margin-bottom: 8px !important;
  }
  
  .active-service-card .badge {
    padding: 6px 12px !important;
    font-size: 0.75rem !important;
    border-radius: 6px !important;
    display: inline-block !important;
    width: fit-content !important;
  }
  
  .active-service-card .flex.justify-between.items-center {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 10px !important;
  }
  
  .service-description {
    font-size: 0.95rem !important;
    line-height: 1.55 !important;
    color: #475569 !important;
    margin-bottom: 24px !important;
  }
  
  .custom-bullet-list li {
    font-size: 0.92rem !important;
    line-height: 1.5 !important;
    color: #475569 !important;
    padding-left: 26px !important;
    margin-bottom: 12px !important;
  }
  
  .custom-bullet-list li:before {
    content: "✓" !important;
    font-family: inherit !important;
    font-weight: 700 !important;
    color: var(--color-secondary) !important;
  }
  
  .service-card-footer {
    margin-top: 24px !important;
  }
  
  .service-card-footer .btn {
    width: 100% !important;
    height: 48px !important;
    border-radius: 12px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
}

/* 13. Brand Gold Accent Styling for Form Sidebar Links */
.split-content .cta-buttons-container a {
  color: var(--color-accent) !important;
  transition: all 0.3s ease !important;
}

.split-content .cta-buttons-container a svg {
  color: var(--color-accent) !important;
  transition: all 0.3s ease !important;
}

.split-content .cta-buttons-container a:hover {
  color: #FFFFFF !important;
  opacity: 0.9 !important;
  transform: translateY(-1px) !important;
}

.split-content .cta-buttons-container a:hover svg {
  color: #FFFFFF !important;
}

/* 14. Inner Page Headers Global Styles & White Text Contrast Fix */
.page-header {
  background: linear-gradient(135deg, var(--color-primary) 0%, #06182e 100%) !important;
  padding-top: 140px !important;
  padding-bottom: 90px !important;
  position: relative !important;
  overflow: hidden !important;
}

/* For Consultation/Bookings Page Header specifically, keep the 200px bottom padding to offset card overlap */
.page-consultation .page-header {
  padding-bottom: 200px !important;
}

/* Symmetrical Mobile Adjustments for Inner Page Headers */
@media (max-width: 768px) {
  .page-header {
    padding-top: 110px !important; /* Save vertical space below sticky mobile header */
    padding-bottom: 60px !important;
  }
  
  .page-consultation .page-header {
    padding-bottom: 140px !important; /* Shrunk padding offset on mobile */
  }
  
  .page-consultation .split-layout {
    margin-top: -100px !important; /* Safe card overlap shift on mobile viewports */
  }
  
  .page-header h1 {
    font-size: clamp(1.8rem, 6vw, 2.4rem) !important;
    line-height: 1.25 !important;
    padding: 0 12px !important;
  }
  
  .page-header p {
    font-size: 0.92rem !important;
    line-height: 1.5 !important;
    padding: 0 16px !important;
  }
}

/* 15. Site Footer Founder Text Color Fix for Dark Background */
.site-footer .about-text {
  color: #FFFFFF !important; /* Pure white color for high contrast */
}

/* ==========================================================================
   Contact Us Page – Complete Premium Redesign (cxp-*)
   ========================================================================== */

/* ------------------------------------------------------------------
   1. HERO
   ------------------------------------------------------------------ */
.cxp-hero {
  background: linear-gradient(135deg, #0A2540 0%, #0d3060 60%, #122d52 100%);
  padding: 100px 0 60px;
  position: relative;
  overflow: hidden;
}

.cxp-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 70% 50%, rgba(212,175,55,0.06) 0%, transparent 70%);
  pointer-events: none;
}

.cxp-hero__inner {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 48px;
}

@media (max-width: 768px) {
  .cxp-hero { padding: 90px 0 48px; }
  .cxp-hero__inner { grid-template-columns: 1fr; gap: 32px; }
}

.cxp-hero__eyebrow {
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  color: var(--color-accent) !important;
  text-transform: uppercase;
  margin: 0 0 12px !important;
}

.cxp-hero__title {
  font-family: 'Outfit', sans-serif !important;
  font-size: clamp(2rem, 5vw, 3rem) !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  line-height: 1.2 !important;
  margin: 0 0 16px !important;
  letter-spacing: -0.02em;
}

.cxp-hero__sub {
  font-size: 1.1rem !important;
  color: rgba(255,255,255,0.75) !important;
  line-height: 1.7 !important;
  margin: 0 0 32px !important;
  max-width: 560px;
}

.cxp-hero__ctas {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.cxp-btn-primary {
  background: var(--color-accent) !important;
  color: var(--color-primary) !important;
  font-weight: 700 !important;
  border: 2px solid var(--color-accent) !important;
  padding: 14px 28px !important;
  border-radius: 8px !important;
  transition: all 0.3s ease !important;
  font-size: 0.95rem !important;
  min-height: 48px !important;
  display: inline-flex;
  align-items: center;
}

.cxp-btn-primary:hover {
  background: #b8972e !important;
  border-color: #b8972e !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 8px 24px rgba(212,175,55,0.3) !important;
}

.cxp-btn-ghost {
  background: transparent !important;
  color: #ffffff !important;
  font-weight: 600 !important;
  border: 2px solid rgba(255,255,255,0.35) !important;
  padding: 14px 28px !important;
  border-radius: 8px !important;
  transition: all 0.3s ease !important;
  font-size: 0.95rem !important;
  min-height: 48px !important;
  display: inline-flex;
  align-items: center;
}

.cxp-btn-ghost:hover {
  border-color: rgba(255,255,255,0.8) !important;
  background: rgba(255,255,255,0.08) !important;
}

/* Stats bar */
.cxp-hero__stats {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  min-width: 220px;
}

@media (max-width: 768px) {
  .cxp-hero__stats { grid-template-columns: repeat(4, 1fr); min-width: unset; }
}

@media (max-width: 480px) {
  .cxp-hero__stats { grid-template-columns: repeat(2, 1fr); }
}

.cxp-stat {
  background: rgba(255,255,255,0.07);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 12px;
  padding: 16px 12px;
  text-align: center;
}

.cxp-stat__num {
  display: block;
  font-size: 1.5rem !important;
  font-weight: 800 !important;
  color: var(--color-accent) !important;
  line-height: 1;
  margin-bottom: 4px;
}

.cxp-stat__label {
  display: block;
  font-size: 0.72rem !important;
  color: rgba(255,255,255,0.6) !important;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* ------------------------------------------------------------------
   2. CONTACT METHOD CARDS
   ------------------------------------------------------------------ */
.cxp-methods {
  background: #f8fafc;
  padding: 56px 0;
  border-bottom: 1px solid #e2e8f0;
}

.cxp-methods__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

@media (max-width: 991px) {
  .cxp-methods__grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 480px) {
  .cxp-methods__grid { grid-template-columns: 1fr; gap: 12px; }
}

.cxp-method-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  padding: 24px 20px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  transition: all 0.3s cubic-bezier(0.165,0.84,0.44,1);
  text-decoration: none !important;
  color: inherit !important;
  min-height: 44px;
  cursor: pointer;
}

.cxp-method-card:hover {
  border-color: var(--color-primary);
  box-shadow: 0 12px 30px rgba(10,37,64,0.07);
  transform: translateY(-3px);
}

.cxp-method-card--wa:hover { border-color: #25D366; box-shadow: 0 12px 30px rgba(37,211,102,0.1); }

.cxp-method__icon {
  width: 44px;
  height: 44px;
  border-radius: 10px;
  background: #f1f5f9;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 8px;
  color: var(--color-primary);
  transition: all 0.3s ease;
}

.cxp-method-card--wa .cxp-method__icon { background: #e8fef0; color: #25D366; }
.cxp-method-card:hover .cxp-method__icon { background: var(--color-primary); color: #fff; }
.cxp-method-card--wa:hover .cxp-method__icon { background: #25D366; color: #fff; }

.cxp-method__label {
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  color: var(--color-gray-500) !important;
  margin: 0 !important;
}

.cxp-method__value {
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  color: var(--color-primary) !important;
  margin: 0 !important;
  line-height: 1.3;
}

.cxp-method__cta {
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  color: var(--color-accent) !important;
  margin-top: auto;
  padding-top: 8px;
  letter-spacing: 0.02em;
}

/* ------------------------------------------------------------------
   3. FORM SECTION
   ------------------------------------------------------------------ */
.cxp-form-section {
  background: #ffffff;
  padding: 80px 0;
}

.cxp-form-layout {
  display: grid;
  grid-template-columns: 1fr 400px;
  gap: 60px;
  align-items: start;
}

@media (max-width: 991px) {
  .cxp-form-layout { grid-template-columns: 1fr; gap: 40px; }
}

.cxp-form-box {
  background: var(--color-primary);
  border-radius: 20px;
  padding: 44px 40px;
}

@media (max-width: 768px) {
  .cxp-form-box { padding: 28px 20px; border-radius: 16px; }
}

.cxp-form__eyebrow {
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  color: var(--color-accent) !important;
  text-transform: uppercase;
  margin: 0 0 10px !important;
}

.cxp-form__title {
  font-family: 'Outfit', sans-serif !important;
  font-size: clamp(1.6rem, 4vw, 2.2rem) !important;
  font-weight: 700 !important;
  color: var(--color-accent) !important;
  margin: 0 0 10px !important;
  line-height: 1.2;
}

.cxp-form__sub {
  font-size: 0.95rem !important;
  color: rgba(255,255,255,0.7) !important;
  margin: 0 0 28px !important;
  line-height: 1.6;
}

.cxp-form-wrapper { width: 100%; }

/* Aside panel */
.cxp-form-aside {
  display: flex;
  flex-direction: column;
  gap: 28px;
  padding-top: 8px;
}

.cxp-aside__label {
  font-size: 0.68rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.12em !important;
  color: var(--color-gray-500) !important;
  text-transform: uppercase;
  margin: 0 0 12px !important;
}

.cxp-aside__list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.cxp-aside__list li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 0.97rem !important;
  color: var(--color-gray-700) !important;
  line-height: 1.5;
}

.cxp-check {
  color: #10B981 !important;
  font-weight: 900 !important;
  font-size: 0.9rem;
  margin-top: 2px;
  flex-shrink: 0;
}

.cxp-aside__response {
  display: flex;
  align-items: center;
  gap: 14px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 16px 20px;
}

.cxp-response__icon {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  background: rgba(10,37,64,0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: var(--color-primary);
}

.cxp-aside__response strong {
  display: block;
  font-size: 0.88rem !important;
  color: var(--color-primary) !important;
  margin-bottom: 2px;
}

.cxp-aside__response p {
  font-size: 0.83rem !important;
  color: var(--color-gray-500) !important;
  margin: 0 !important;
}

/* ------------------------------------------------------------------
   4. GLOBAL OFFICES
   ------------------------------------------------------------------ */
.cxp-offices-section {
  background: #f5f7fa;
  padding: 80px 0;
}

.cxp-offices-inner {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.cxp-offices-header {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
}

.cxp-offices__title {
  font-family: 'Outfit', sans-serif !important;
  font-size: clamp(1.8rem, 4vw, 2.5rem) !important;
  font-weight: 700 !important;
  color: var(--color-primary) !important;
  margin: 0 !important;
  letter-spacing: -0.02em;
}

.cxp-offices__sub {
  font-size: 1.05rem !important;
  color: var(--color-gray-600) !important;
  margin: 0 !important;
  max-width: 600px;
  line-height: 1.6;
}

/* Trust chips */
.cxp-trust-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 4px;
}

.cxp-trust-chip {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 100px;
  padding: 6px 14px;
  font-size: 0.77rem !important;
  font-weight: 600 !important;
  color: var(--color-primary) !important;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.cxp-trust-check {
  color: #10B981 !important;
  font-weight: 900;
  font-size: 0.85rem;
}

/* Office cards grid */
.cxp-offices-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

@media (max-width: 768px) {
  .cxp-offices-grid { grid-template-columns: 1fr; }
}

.cxp-office-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  padding: 32px 28px;
  display: flex;
  flex-direction: column;
  gap: 0;
  cursor: pointer;
  transition: all 0.35s cubic-bezier(0.165,0.84,0.44,1);
  user-select: none;
  position: relative;
}

.cxp-office-card:hover {
  border-color: rgba(10,37,64,0.25);
  box-shadow: 0 12px 36px rgba(10,37,64,0.06);
  transform: translateY(-2px);
}

.cxp-oc__country {
  font-family: 'Outfit', sans-serif !important;
  font-size: 1.75rem !important;
  font-weight: 700 !important;
  color: var(--color-primary) !important;
  margin: 0 0 16px !important;
  letter-spacing: -0.015em;
}

/* City rows (individual locations) */
.cxp-oc__cities {
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex: 1;
}

.cxp-oc__loc-row {
  border-radius: 8px;
  overflow: hidden;
  transition: background 0.2s ease;
}

.cxp-oc__city {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  font-size: 1rem !important;
  font-weight: 500 !important;
  color: var(--color-gray-700) !important;
  cursor: pointer;
  border-radius: 8px;
  transition: all 0.2s ease;
  min-height: 44px;
}

.cxp-oc__city::before {
  content: "";
  width: 5px;
  height: 5px;
  background: var(--color-accent);
  border-radius: 50%;
  flex-shrink: 0;
}

.cxp-oc__loc-row:hover .cxp-oc__city,
.cxp-oc__loc-row--open .cxp-oc__city {
  background: #f8fafc;
  color: var(--color-primary) !important;
}

/* Address panel slide */
.cxp-oc__addr-panel {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition: max-height 0.4s cubic-bezier(0.165,0.84,0.44,1), opacity 0.3s ease;
}

.cxp-oc__addr-text {
  font-size: 0.9rem !important;
  color: var(--color-gray-600) !important;
  line-height: 1.6 !important;
  margin: 0 !important;
  padding: 4px 12px 12px 25px !important;
}

/* Desktop: reveal on card hover */
@media (min-width: 769px) {
  .cxp-office-card:hover .cxp-oc__addr-panel,
  .cxp-oc__loc-row:hover .cxp-oc__addr-panel {
    max-height: 160px;
    opacity: 1;
  }
}

/* Mobile / click-expanded: reveal via class toggle */
.cxp-oc--open .cxp-oc__addr-panel,
.cxp-oc__loc-row--open .cxp-oc__addr-panel {
  max-height: 160px !important;
  opacity: 1 !important;
}

/* Divider and action link */
.cxp-oc__divider {
  border: 0;
  border-top: 1px solid #e2e8f0;
  margin: 20px 0 16px;
}

.cxp-oc__action {
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  color: var(--color-primary) !important;
  display: flex;
  align-items: center;
  gap: 4px;
  transition: color 0.3s ease;
}

.cxp-office-card:hover .cxp-oc__action,
.cxp-oc--open .cxp-oc__action { color: var(--color-accent) !important; }

/* ------------------------------------------------------------------
   5. BOTTOM BANNER
   ------------------------------------------------------------------ */
.cxp-response-banner {
  background: var(--color-primary);
  padding: 56px 0;
}

.cxp-banner__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  flex-wrap: wrap;
}

.cxp-banner__text h3 {
  font-family: 'Outfit', sans-serif !important;
  font-size: clamp(1.3rem, 3vw, 1.8rem) !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  margin: 0 0 6px !important;
}

.cxp-banner__text p {
  font-size: 0.97rem !important;
  color: rgba(255,255,255,0.65) !important;
  margin: 0 !important;
}

.cxp-banner__ctas {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  flex-shrink: 0;
}
.cxp-banner__ctas .btn {
  color: var(--color-accent) !important;
  border: 1.5px solid var(--color-accent) !important;
  background: transparent !important;
  font-weight: 600 !important;
  transition: all 0.3s ease !important;
}
.cxp-banner__ctas .btn:hover {
  background: var(--color-accent) !important;
  color: var(--color-primary) !important;
}

@media (max-width: 768px) {
  .cxp-banner__inner { flex-direction: column; align-items: flex-start; }
  .cxp-banner__ctas { width: 100%; }
  .cxp-banner__ctas .btn { flex: 1; text-align: center; justify-content: center; }
}

/* ------------------------------------------------------------------
   6. MOBILE GLOBAL OVERRIDES
   ------------------------------------------------------------------ */
@media (max-width: 768px) {
  .cxp-hero__ctas { flex-direction: column; }
  .cxp-hero__ctas .btn { width: 100%; justify-content: center; text-align: center; }
  .cxp-form-section { padding: 48px 0; }
  .cxp-offices-section { padding: 56px 0; }
  .cxp-office-card { padding: 24px 20px; }
  .cxp-oc__country { font-size: 1.4rem !important; }
}

/* ==========================================================================
   About Page â€“ Consistent Premium Logo & Business Tagline Card Styles
   ========================================================================== */
.premium-about-logo-wrapper {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: var(--radius-lg) !important;
  padding: 48px 32px !important;
  box-shadow: 0 10px 30px rgba(0,0,0,0.04) !important;
  text-align: center !important;
  min-height: 380px !important;
}

.about-logo-img {
  max-width: 280px !important;
  height: auto !important;
  margin-bottom: 24px !important;
  transition: transform 0.4s ease !important;
}

.about-logo-img:hover {
  transform: scale(1.04) !important;
}

.about-tagline-text {
  font-family: 'Outfit', sans-serif !important;
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  color: var(--color-primary) !important;
  text-transform: uppercase !important;
  margin: 0 !important;
  border-top: 2px solid var(--color-accent) !important;
  padding-top: 16px !important;
  display: inline-block !important;
}
/* ==========================================================================
   Global Footprint Map - Premium High-Contrast Visual Overrides
   ========================================================================== */
.world-map-image {
  opacity: 0.9 !important;
  filter: brightness(0.85) contrast(1.15) !important;
  transition: all 0.5s ease;
}

.network-line {
  stroke-width: 0.25 !important;
  stroke-dasharray: 1.5 2 !important;
  filter: drop-shadow(0 0 1.5px rgba(212,175,55,0.6)) !important;
  opacity: 0.65 !important;
}

.network-line.active {
  stroke-width: 0.55 !important;
  stroke-dasharray: 2 1 !important;
  filter: drop-shadow(0 0 4px rgba(212,175,55,1)) !important;
  opacity: 1 !important;
}

.region-label {
  fill: #ffffff !important;
  font-size: 2px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  opacity: 0.95 !important;
  filter: drop-shadow(0px 1px 2px rgba(0,0,0,0.9)) !important;
  font-family: 'Outfit', sans-serif !important;
}

.network-node .node-core {
  fill: var(--color-accent) !important;
  transition: all 0.3s ease;
}

.network-node:hover .node-core,
.network-node.active .node-core {
  fill: #ffffff !important;
  filter: drop-shadow(0 0 6px var(--color-accent)) !important;
}

.network-node .node-ring {
  stroke: var(--color-accent) !important;
  transition: all 0.3s ease;
}

.network-node:hover .node-ring,
.network-node.active .node-ring {
  stroke: #ffffff !important;
  stroke-width: 0.6px !important;
}
/* --- GLOBAL BUTTON ACCENT AND OUTLINE STYLES FOR HIGH CONTRAST --- */
.btn-accent {
  color: var(--color-accent) !important;
  border: 1.5px solid var(--color-accent) !important;
  background: transparent !important;
  font-weight: 600 !important;
  transition: all 0.3s ease !important;
}
.btn-accent:hover {
  background-color: var(--color-accent) !important;
  color: var(--color-primary) !important;
  box-shadow: 0 4px 15px rgba(212, 175, 55, 0.4) !important;
}

.btn-outline-white {
  color: var(--color-white) !important;
  border: 1.5px solid var(--color-white) !important;
  background: transparent !important;
  font-weight: 600 !important;
  transition: all 0.3s ease !important;
}
.btn-outline-white:hover {
  background-color: var(--color-white) !important;
  color: var(--color-primary) !important;
  box-shadow: 0 4px 15px rgba(255, 255, 255, 0.2) !important;
}