
 
 
 
:root{
 
 --activo-blue:#0D3D85;
 --activo-blue-50:#E8F2FC;
 --activo-blue-100:#C5DEF7;
 --activo-blue-200:#9EC8F1;
 --activo-blue-300:#77B1EB;
 --activo-blue-400:#509AE5;
 --activo-blue-500:#0D3D85;
 --activo-blue-600:#0B3471;
 --activo-blue-700:#092B5D;
 --activo-blue-800:#042D52;
 --activo-blue-900:#041228;
 --activo-blue-rgb:10,95,173;
 
 
 --activo-orange:#D89D4D;
 --activo-orange-50:#FFF5E6;
 --activo-orange-100:#FEE8C7;
 --activo-orange-200:#FDD9A3;
 --activo-orange-300:#FCCA7F;
 --activo-orange-400:#FBBB5B;
 --activo-orange-500:#D89D4D;
 --activo-orange-600:#E99A30;
 --activo-orange-700:#D88920;
 --activo-orange-800:#B87010;
 --activo-orange-900:#8A5408;
 --activo-orange-rgb:251,173,72;
 
 
 --activo-gray:#939598;
 --activo-gray-50:#F5F5F6;
 --activo-gray-100:#E8E9EA;
 --activo-gray-200:#D4D5D7;
 --activo-gray-300:#B0B3B5;
 --activo-gray-400:#939598;
 --activo-gray-500:#6B6D70;
 --activo-gray-600:#565759;
 --activo-gray-700:#414243;
 --activo-gray-800:#2D2D2E;
 --activo-gray-900:#1A1A1B;
 --activo-gray-rgb:147,149,152;
}
 
 
 
:root{
 
 --success:#2E7D32;
 --success-50:#E8F5E9;
 --success-100:#C8E6C9;
 --success-200:#A5D6A7;
 --success-300:#81C784;
 --success-400:#66BB6A;
 --success-500:#4CAF50;
 --success-600:#43A047;
 --success-700:#388E3C;
 --success-800:#2E7D32;
 --success-900:#1B5E20;
 --success-rgb:46,125,50;
 
 
 --warning:#F9A825;
 --warning-50:#FFFDE7;
 --warning-100:#FFF9C4;
 --warning-200:#FFF59D;
 --warning-300:#FFF176;
 --warning-400:#FFEE58;
 --warning-500:#FFEB3B;
 --warning-600:#FDD835;
 --warning-700:#FBC02D;
 --warning-800:#F9A825;
 --warning-900:#F57F17;
 --warning-rgb:249,168,37;
 
 
 --error:#C62828;
 --error-50:#FFEBEE;
 --error-100:#FFCDD2;
 --error-200:#EF9A9A;
 --error-300:#E57373;
 --error-400:#EF5350;
 --error-500:#F44336;
 --error-600:#E53935;
 --error-700:#D32F2F;
 --error-800:#C62828;
 --error-900:#B71C1C;
 --error-rgb:198,40,40;
 
 
 --info:#0288D1;
 --info-50:#E1F5FE;
 --info-100:#B3E5FC;
 --info-200:#81D4FA;
 --info-300:#4FC3F7;
 --info-400:#29B6F6;
 --info-500:#03A9F4;
 --info-600:#039BE5;
 --info-700:#0288D1;
 --info-800:#0277BD;
 --info-900:#01579B;
 --info-rgb:2,136,209;
}
 
 
 
:root{
 
 --font-primary:'Segoe UI',-apple-system,BlinkMacSystemFont,'Inter','Roboto','Helvetica Neue',Arial,sans-serif;
 --font-mono:'Cascadia Code','Fira Code','Consolas','Monaco','Liberation Mono',monospace;
 
 
 --text-xs:0.6875rem;
 --text-sm:0.75rem;
 --text-base:0.875rem;
 --text-md:1rem;
 --text-lg:1.125rem;
 --text-xl:1.25rem;
 --text-2xl:1.5rem;
 --text-3xl:2rem;
 --text-4xl:2.5rem;
 
 
 --text-5xl:3rem;
 --text-6xl:3.75rem;
 --text-7xl:4.5rem;
 --text-8xl:6rem;
 
 
 --font-light:300;
 --font-normal:400;
 --font-medium:500;
 --font-semibold:600;
 --font-bold:700;
 --font-extrabold:800;
 
 
 --leading-none:1;
 --leading-tight:1.2;
 --leading-snug:1.3;
 --leading-normal:1.5;
 --leading-relaxed:1.625;
 --leading-loose:2;
 
 
 --tracking-tighter:-0.05em;
 --tracking-tight:-0.025em;
 --tracking-normal:0;
 --tracking-wide:0.025em;
 --tracking-wider:0.05em;
 
 
 --text-xs-fluid:clamp(0.625rem,0.6rem + 0.125vw,0.75rem);
 --text-sm-fluid:clamp(0.75rem,0.7rem + 0.25vw,0.875rem);
 --text-base-fluid:clamp(0.875rem,0.8rem + 0.375vw,1rem);
 --text-md-fluid:clamp(1rem,0.9rem + 0.5vw,1.125rem);
 --text-lg-fluid:clamp(1.125rem,1rem + 0.625vw,1.25rem);
 --text-xl-fluid:clamp(1.25rem,1.1rem + 0.75vw,1.5rem);
 --text-2xl-fluid:clamp(1.5rem,1.3rem + 1vw,1.875rem);
 --text-3xl-fluid:clamp(1.875rem,1.6rem + 1.375vw,2.25rem);
 --text-4xl-fluid:clamp(2.25rem,1.9rem + 1.75vw,2.75rem);
 --text-5xl-fluid:clamp(2.5rem,2rem + 2.5vw,3.5rem);
 --text-6xl-fluid:clamp(3rem,2.5rem + 2.5vw,4rem);
 --text-7xl-fluid:clamp(3.5rem,2.5rem + 5vw,5rem);
 
 
 --icon-xs:clamp(1rem,0.9rem + 0.5vw,1.25rem);
 --icon-sm:clamp(1.5rem,1.3rem + 1vw,2rem);
 --icon-md:clamp(2rem,1.7rem + 1.5vw,2.5rem);
 --icon-lg:clamp(3rem,2.5rem + 2.5vw,4rem);
 --icon-xl:clamp(4rem,3rem + 5vw,6rem);
 --icon-2xl:clamp(5rem,3.5rem + 7.5vw,8rem);
 --icon-feature:clamp(5rem,4rem + 5vw,8.75rem);
}
 
 
 
:root{
 
 --space-0:0;
 --space-px:1px;
 --space-0-5:0.125rem;
 --space-1:0.25rem;
 --space-1-5:0.375rem;
 --space-2:0.5rem;
 --space-2-5:0.625rem;
 --space-3:0.75rem;
 --space-3-5:0.875rem;
 --space-4:1rem;
 --space-5:1.25rem;
 --space-6:1.5rem;
 --space-7:1.75rem;
 --space-8:2rem;
 --space-9:2.25rem;
 --space-10:2.5rem;
 --space-11:2.75rem;
 --space-12:3rem;
 --space-14:3.5rem;
 --space-16:4rem;
 --space-20:5rem;
 --space-24:6rem;
 --space-32:8rem;
 
 
 --space-40:10rem;
 --space-48:12rem;
 --space-64:16rem;
}
 
 
 
:root{
 
 --header-height:64px;
 --header-height-mobile:56px;
 
 
 --content-width-sm:640px;
 --content-width-md:960px;
 --content-width-lg:1280px;
 --content-width-xl:1440px;
 --content-width-full:1920px;
 
 
 --section-padding-y:var(--space-20);
 --section-padding-y-mobile:var(--space-12);
 --section-gap:var(--space-16);
 
 
 --card-padding:var(--space-6);
 --card-padding-lg:var(--space-8);
 --card-gap:var(--space-4);
 --form-gap:var(--space-3);
 
 
 --hero-min-height:600px;
 --hero-min-height-mobile:500px;
 
 
 --z-base:0;
 --z-raised:10;
 --z-dropdown:100;
 --z-sticky:500;
 --z-fixed:1000;
 --z-modal-backdrop:9000;
 --z-modal:10000;
 --z-popover:15000;
 --z-tooltip:20000;
 --z-toast:100000;
}
 
 
 
:root{
 
 --border-0:0;
 --border-1:1px;
 --border-2:2px;
 --border-4:4px;
 --border-8:8px;
 
 
 --radius-none:0;
 --radius-sm:2px;
 --radius-md:4px;
 --radius-lg:8px;
 --radius-xl:12px;
 --radius-2xl:16px;
 --radius-3xl:24px;
 --radius-full:9999px;
}
 
 
 
:root{
 
 --shadow-none:none;
 --shadow-xs:0 1px 2px 0 rgba(0,0,0,0.03);
 --shadow-sm:0 1px 2px 0 rgba(0,0,0,0.05);
 --shadow-md:0 2px 4px -1px rgba(0,0,0,0.06),0 1px 2px -1px rgba(0,0,0,0.06);
 --shadow-lg:0 4px 6px -1px rgba(0,0,0,0.08),0 2px 4px -1px rgba(0,0,0,0.06);
 --shadow-xl:0 10px 15px -3px rgba(0,0,0,0.08),0 4px 6px -2px rgba(0,0,0,0.05);
 --shadow-2xl:0 20px 25px -5px rgba(0,0,0,0.08),0 10px 10px -5px rgba(0,0,0,0.04);
 --shadow-inner:inset 0 2px 4px 0 rgba(0,0,0,0.05);
 
 
 --shadow-focus:0 0 0 3px rgba(10,95,173,0.3);
 --shadow-focus-error:0 0 0 3px rgba(198,40,40,0.3);
 --shadow-focus-success:0 0 0 3px rgba(46,125,50,0.3);
}
 
 
 
:root{
 
 --duration-instant:0ms;
 --duration-fast:100ms;
 --duration-normal:150ms;
 --duration-moderate:200ms;
 --duration-slow:300ms;
 --duration-slower:400ms;
 --duration-slowest:500ms;
 
 
 --ease-linear:linear;
 --ease-default:cubic-bezier(0.4,0,0.2,1);
 --ease-in:cubic-bezier(0.4,0,1,1);
 --ease-out:cubic-bezier(0,0,0.2,1);
 --ease-in-out:cubic-bezier(0.4,0,0.2,1);
 --ease-bounce:cubic-bezier(0.34,1.56,0.64,1);
 --ease-elastic:cubic-bezier(0.68,-0.55,0.265,1.55);
 
 
 --transition-colors:color var(--duration-fast) var(--ease-default),
 background-color var(--duration-fast) var(--ease-default),
 border-color var(--duration-fast) var(--ease-default);
 --transition-opacity:opacity var(--duration-normal) var(--ease-default);
 --transition-shadow:box-shadow var(--duration-normal) var(--ease-default);
 --transition-transform:transform var(--duration-normal) var(--ease-out);
 --transition-all:all var(--duration-normal) var(--ease-default);
}
 
 
 
:root{
 
 --breakpoint-xs:0px;
 --breakpoint-sm:576px;
 --breakpoint-md:768px;
 --breakpoint-lg:992px;
 --breakpoint-xl:1200px;
 --breakpoint-xxl:1400px;
}
 
 
 
:root{
 
 --btn-height-sm:32px;
 --btn-height-md:44px;
 --btn-height-lg:52px;
 --btn-height-xl:60px;
 
 
 --btn-padding-x-sm:var(--space-4);
 --btn-padding-x-md:var(--space-6);
 --btn-padding-x-lg:var(--space-8);
 --btn-padding-x-xl:var(--space-10);
 
 
 --input-height-sm:36px;
 --input-height-md:44px;
 --input-height-lg:52px;
 
 
 --icon-xs:12px;
 --icon-sm:16px;
 --icon-md:20px;
 --icon-lg:24px;
 --icon-xl:32px;
 --icon-2xl:48px;
 --icon-3xl:64px;
 
 
 --touch-target-min:44px;
}
 
 
 
:root,
 [data-theme="light"]{
 
 --theme-mode:light;
 
 
 --color-primary:var(--activo-blue);
 --color-primary-hover:var(--activo-blue-600);
 --color-primary-active:var(--activo-blue-700);
 --color-primary-light:var(--activo-blue-50);
 --color-primary-rgb:var(--activo-blue-rgb);
 
 
 --color-accent:var(--activo-orange);
 --color-accent-hover:var(--activo-orange-600);
 --color-accent-active:var(--activo-orange-700);
 --color-accent-light:var(--activo-orange-50);
 --color-accent-rgb:var(--activo-orange-rgb);
 
 
 --bg-primary:#FFFFFF;
 --bg-secondary:#F5F5F5;
 --bg-tertiary:#FAFAFA;
 --bg-elevated:#FFFFFF;
 --bg-inverse:#1F1F1F;
 
 
 --surface-card:#FFFFFF;
 --surface-hover:rgba(0,0,0,0.04);
 --surface-active:rgba(0,0,0,0.08);
 --surface-selected:var(--activo-blue-50);
 
 
 --text-primary:#323130;
 --text-secondary:#605E5C;
 --text-tertiary:#8A8886;
 --text-disabled:#A19F9D;
 --text-inverse:#FFFFFF;
 --text-link:var(--activo-blue);
 --text-link-hover:var(--activo-blue-600);
 
 
 --border-color:#E1E1E1;
 --border-light:#F0F0F0;
 --border-dark:#C8C8C8;
 --border-focus:var(--activo-blue);
 --border-error:var(--error);
 
 
 --success-bg:var(--success-50);
 --warning-bg:var(--warning-50);
 --error-bg:var(--error-50);
 --info-bg:var(--info-50);
 
 
 --success-text:var(--success-800);
 --warning-text:var(--warning-900);
 --error-text:var(--error-800);
 --info-text:var(--info-800);
 
 
 --divider-color:#E1E1E1;
 
 
 --overlay-color:rgba(0,0,0,0.5);
}
 
 
 
 @media (prefers-reduced-motion:reduce){
:root{
 --duration-instant:0ms;
 --duration-fast:0ms;
 --duration-normal:0ms;
 --duration-moderate:0ms;
 --duration-slow:0ms;
 --duration-slower:0ms;
 --duration-slowest:0ms;
}
 
 *,
 *::before,
 *::after{
 animation-duration:0.01ms !important;
 animation-iteration-count:1 !important;
 transition-duration:0.01ms !important;
 scroll-behavior:auto !important;
}
}
 
 
 
 @media (prefers-contrast:high){
:root,
 [data-theme="light"]{
 --border-color:#000000;
 --text-primary:#000000;
 --text-secondary:#333333;
}
}
 
 
 
 @media print{
:root{
 --color-primary:#000000;
 --bg-primary:#FFFFFF;
 --text-primary:#000000;
 --shadow-none:none;
 --shadow-xs:none;
 --shadow-sm:none;
 --shadow-md:none;
 --shadow-lg:none;
 --shadow-xl:none;
 --shadow-2xl:none;
}
}
 
 
 
:root{
 
 --gradient-hero:linear-gradient(135deg,var(--activo-blue) 0%,var(--activo-blue-700) 100%);
 --gradient-hero-overlay:linear-gradient(135deg,rgba(10,95,173,0.95) 0%,rgba(6,61,110,0.95) 100%);
 
 
 --gradient-accent:linear-gradient(135deg,var(--activo-orange) 0%,var(--activo-orange-700) 100%);
 
 
 --gradient-subtle:linear-gradient(180deg,#FFFFFF 0%,#F5F5F5 100%);
 --gradient-subtle-dark:linear-gradient(180deg,#1A1A1B 0%,#2D2D2E 100%);
 
 
 --gradient-mesh:radial-gradient(at 0% 0%,rgba(10,95,173,0.1) 0px,transparent 50%),
 radial-gradient(at 100% 0%,rgba(251,173,72,0.1) 0px,transparent 50%),
 radial-gradient(at 100% 100%,rgba(10,95,173,0.1) 0px,transparent 50%),
 radial-gradient(at 0% 100%,rgba(251,173,72,0.1) 0px,transparent 50%);
}
 
 
 
 [data-theme="dark"]{
 
 --theme-mode:dark;
 
 
 --color-primary:#4A9FE5;
 --color-primary-hover:#77B1EB;
 --color-primary-active:#9EC8F1;
 --color-primary-light:rgba(10,95,173,0.15);
 --color-primary-rgb:74,159,229;
 
 
 --color-accent:#FCCA7F;
 --color-accent-hover:#FDD9A3;
 --color-accent-active:#FEE8C7;
 --color-accent-light:rgba(251,173,72,0.15);
 --color-accent-rgb:252,202,127;
 
 
 --bg-primary:#1A1A1B;
 --bg-secondary:#2D2D2E;
 --bg-tertiary:#414243;
 --bg-elevated:#2D2D2E;
 --bg-inverse:#FFFFFF;
 
 
 --surface-card:#2D2D2E;
 --surface-hover:rgba(255,255,255,0.05);
 --surface-active:rgba(255,255,255,0.10);
 --surface-selected:rgba(74,159,229,0.15);
 
 
 --text-primary:#FFFFFF;
 --text-secondary:#D4D5D7;
 --text-tertiary:#B0B3B5;
 --text-disabled:#6B6D70;
 --text-inverse:#1A1A1B;
 --text-link:#77B1EB;
 --text-link-hover:#9EC8F1;
 
 
 --border-color:#414243;
 --border-light:#565759;
 --border-dark:#2D2D2E;
 --border-focus:#4A9FE5;
 --border-error:#EF5350;
 
 
 --success-bg:rgba(46,125,50,0.15);
 --warning-bg:rgba(249,168,37,0.15);
 --error-bg:rgba(198,40,40,0.15);
 --info-bg:rgba(74,159,229,0.15);
 
 
 --success-text:#81C784;
 --warning-text:#FFEE58;
 --error-text:#EF5350;
 --info-text:#4FC3F7;
 
 
 --divider-color:#414243;
 
 
 --overlay-color:rgba(0,0,0,0.7);
 
 
 --shadow-xs:0 1px 2px 0 rgba(0,0,0,0.4);
 --shadow-sm:0 1px 2px 0 rgba(0,0,0,0.5);
 --shadow-md:0 2px 4px -1px rgba(0,0,0,0.6),0 1px 2px -1px rgba(0,0,0,0.6);
 --shadow-lg:0 4px 6px -1px rgba(0,0,0,0.7),0 2px 4px -1px rgba(0,0,0,0.6);
 --shadow-xl:0 10px 15px -3px rgba(0,0,0,0.8),0 4px 6px -2px rgba(0,0,0,0.7);
 --shadow-2xl:0 20px 25px -5px rgba(0,0,0,0.8),0 10px 10px -5px rgba(0,0,0,0.7);
 
 
 --gradient-hero:linear-gradient(135deg,#0B3471 0%,#041228 100%);
 --gradient-subtle:linear-gradient(180deg,#1A1A1B 0%,#2D2D2E 100%);
}
 
 
 
:root{
 
 --curve-wave:path("M0,96L48,112C96,128,192,160,288,165.3C384,171,480,149,576,144C672,139,768,149,864,165.3C960,181,1056,203,1152,197.3C1248,192,1344,160,1392,144L1440,128L1440,320L1392,320C1344,320,1248,320,1152,320C1056,320,960,320,864,320C768,320,672,320,576,320C480,320,384,320,288,320C192,320,96,320,48,320L0,320Z");
 
 
 --blob-radius-1:60% 40% 30% 70% / 60% 30% 70% 40%;
 --blob-radius-2:40% 60% 70% 30% / 40% 70% 30% 60%;
 --blob-radius-3:30% 70% 70% 30% / 60% 40% 60% 40%;
 
 
 --radius-organic-sm:20px 25px 20px 25px / 25px 20px 25px 20px;
 --radius-organic-md:30px 40px 30px 40px / 40px 30px 40px 30px;
 --radius-organic-lg:40px 50px 40px 50px / 50px 40px 50px 40px;
}
 
 
 
:root{
 
 --glass-bg:rgba(255,255,255,0.1);
 --glass-border:rgba(255,255,255,0.2);
 --glass-blur:blur(10px);
 --glass-blur-heavy:blur(20px);
 
 
 --glass-bg-dark:rgba(0,0,0,0.2);
 --glass-border-dark:rgba(255,255,255,0.1);
}
 
 [data-theme="dark"]{
 --glass-bg:var(--glass-bg-dark);
 --glass-border:var(--glass-border-dark);
}
 
 
 
:root{
 
 --hover-lift:translateY(-2px);
 --hover-lift-lg:translateY(-4px);
 --hover-scale:scale(1.02);
 --hover-scale-sm:scale(1.01);
 
 
 --active-press:scale(0.98);
 
 
 --bounce-scale:scale(1.05);
 
 
 --glow-primary:0 0 20px rgba(10,95,173,0.4);
 --glow-accent:0 0 20px rgba(251,173,72,0.4);
}
 
 
 
:root{
 
 --text-reveal-duration:0.6s;
 --text-reveal-delay:0.1s;
 --text-reveal-ease:cubic-bezier(0.25,0.46,0.45,0.94);
 
 
 --text-hover-shift:2px;
 --text-gradient-animate:200%;
}
 
 
 
 .skip-to-content{
 position:absolute;
 top:-40px;
 left:50%;
 transform:translateX(-50%);
 background:var(--activo-blue,#0D3D85);
 color:#FFFFFF;
 padding:0.75rem 1.5rem;
 border-radius:0 0 0.5rem 0.5rem;
 text-decoration:none;
 font-weight:600;
 font-size:0.875rem;
 z-index:10000;
 transition:top 0.3s ease;
 box-shadow:0 2px 8px rgba(0,0,0,0.2);
}
 
 .skip-to-content:focus{
 top:0;
 outline:2px solid var(--activo-orange,#D89D4D);
 outline-offset:2px;
}
 
 .skip-to-content:hover{
 background:var(--activo-blue-600,#0B3471);
 color:#FFFFFF;
 text-decoration:none;
}
 
 
 *:focus-visible{
 outline:2px solid var(--activo-orange,#D89D4D);
 outline-offset:2px;
}
 
 
 *:focus:not(:focus-visible){
 outline:none;
}
 
 
 
 
:root{
 
 --bs-primary:var(--activo-blue);
 --bs-primary-rgb:var(--activo-blue-rgb);
 --bs-primary-bg-subtle:var(--activo-blue-50);
 --bs-primary-border-subtle:var(--activo-blue-200);
 --bs-primary-text-emphasis:var(--activo-blue-700);
 
 
 --bs-secondary:var(--activo-gray);
 --bs-secondary-rgb:var(--activo-gray-rgb);
 --bs-secondary-bg-subtle:var(--activo-gray-50);
 --bs-secondary-border-subtle:var(--activo-gray-200);
 --bs-secondary-text-emphasis:var(--activo-gray-700);
 
 
 --bs-success:var(--success);
 --bs-success-rgb:var(--success-rgb);
 --bs-success-bg-subtle:var(--success-50);
 --bs-success-border-subtle:var(--success-200);
 --bs-success-text-emphasis:var(--success-800);
 
 
 --bs-info:var(--info);
 --bs-info-rgb:var(--info-rgb);
 --bs-info-bg-subtle:var(--info-50);
 --bs-info-border-subtle:var(--info-200);
 --bs-info-text-emphasis:var(--info-800);
 
 
 --bs-warning:var(--warning);
 --bs-warning-rgb:var(--warning-rgb);
 --bs-warning-bg-subtle:var(--warning-50);
 --bs-warning-border-subtle:var(--warning-200);
 --bs-warning-text-emphasis:var(--warning-900);
 
 
 --bs-danger:var(--error);
 --bs-danger-rgb:var(--error-rgb);
 --bs-danger-bg-subtle:var(--error-50);
 --bs-danger-border-subtle:var(--error-200);
 --bs-danger-text-emphasis:var(--error-800);
 
 
 --bs-light:var(--bg-secondary);
 --bs-light-rgb:245,245,245;
 --bs-light-bg-subtle:var(--bg-tertiary);
 --bs-light-border-subtle:var(--border-light);
 --bs-light-text-emphasis:var(--text-primary);
 
 
 --bs-dark:var(--text-primary);
 --bs-dark-rgb:50,49,48;
 --bs-dark-bg-subtle:var(--activo-gray-100);
 --bs-dark-border-subtle:var(--activo-gray-300);
 --bs-dark-text-emphasis:var(--text-primary);
}
 
 
 
:root{
 
 --bs-body-font-family:var(--font-primary);
 --bs-font-sans-serif:var(--font-primary);
 --bs-font-monospace:var(--font-mono);
 
 
 --bs-body-font-size:var(--text-md);
 --bs-body-line-height:var(--leading-normal);
 --bs-body-font-weight:var(--font-normal);
 
 
 --bs-h1-font-size:var(--text-5xl);
 --bs-h2-font-size:var(--text-4xl);
 --bs-h3-font-size:var(--text-3xl);
 --bs-h4-font-size:var(--text-2xl);
 --bs-h5-font-size:var(--text-xl);
 --bs-h6-font-size:var(--text-lg);
 
 
 --bs-headings-font-weight:var(--font-bold);
 --bs-headings-line-height:var(--leading-tight);
 --bs-headings-color:var(--text-primary);
}
 
 
 
:root{
 
 --bs-gutter-x:var(--space-6);
 --bs-gutter-y:var(--space-6);
 
 
 --bs-card-spacer-y:var(--space-5);
 --bs-card-spacer-x:var(--space-6);
 --bs-card-border-radius:var(--radius-lg);
 
 --bs-list-group-item-padding-y:var(--space-3);
 --bs-list-group-item-padding-x:var(--space-4);
 
 --bs-modal-padding:var(--space-6);
 --bs-modal-border-radius:var(--radius-xl);
 
 --bs-accordion-padding-y:var(--space-4);
 --bs-accordion-padding-x:var(--space-5);
}
 
 
 
:root{
 
 --bs-border-width:var(--border-1);
 --bs-border-width-lg:var(--border-2);
 
 
 --bs-border-color:var(--border-color);
 --bs-border-color-translucent:rgba(0,0,0,0.1);
 
 
 --bs-border-radius:var(--radius-md);
 --bs-border-radius-sm:var(--radius-sm);
 --bs-border-radius-lg:var(--radius-lg);
 --bs-border-radius-xl:var(--radius-xl);
 --bs-border-radius-2xl:var(--radius-2xl);
 --bs-border-radius-pill:var(--radius-full);
}
 
 
 
:root{
 
 --bs-box-shadow:var(--shadow-md);
 --bs-box-shadow-sm:var(--shadow-sm);
 --bs-box-shadow-lg:var(--shadow-lg);
 --bs-box-shadow-inset:var(--shadow-inner);
 
 
 --bs-focus-ring-width:3px;
 --bs-focus-ring-opacity:0.3;
 --bs-focus-ring-color:rgba(var(--activo-blue-rgb),0.3);
}
 
 
 
:root{
 
 --bs-btn-padding-y:var(--space-3);
 --bs-btn-padding-x:var(--space-6);
 --bs-btn-font-size:var(--text-md);
 --bs-btn-line-height:var(--leading-normal);
 --bs-btn-font-weight:var(--font-semibold);
 --bs-btn-border-radius:var(--radius-md);
 
 
 --bs-btn-padding-y-sm:var(--space-2);
 --bs-btn-padding-x-sm:var(--space-4);
 --bs-btn-font-size-sm:var(--text-sm);
 
 
 --bs-btn-padding-y-lg:var(--space-4);
 --bs-btn-padding-x-lg:var(--space-8);
 --bs-btn-font-size-lg:var(--text-lg);
 --bs-btn-border-radius-lg:var(--radius-lg);
 
 
 --bs-btn-hover-border-color-shift:-10%;
 --bs-btn-active-border-color-shift:-20%;
 --bs-btn-focus-width:3px;
 --bs-btn-focus-box-shadow:var(--shadow-focus);
 
 
 --bs-btn-transition:var(--transition-colors),var(--transition-shadow),transform var(--duration-fast) var(--ease-out);
}
 
 
 .btn{
 transition:var(--bs-btn-transition);
}
 
 .btn:hover{
 transform:translateY(-1px);
 box-shadow:var(--shadow-lg);
}
 
 .btn:active{
 transform:translateY(0);
}
 
 
 .btn-primary{
 --bs-btn-color:var(--text-inverse);
 --bs-btn-bg:var(--color-primary);
 --bs-btn-border-color:var(--color-primary);
 --bs-btn-hover-bg:var(--color-primary-hover);
 --bs-btn-hover-border-color:var(--color-primary-hover);
 --bs-btn-active-bg:var(--color-primary-active);
 --bs-btn-active-border-color:var(--color-primary-active);
 --bs-btn-disabled-bg:var(--activo-blue-200);
 --bs-btn-disabled-border-color:var(--activo-blue-200);
}
 
 
 .btn-warning,
 .btn-accent{
 --bs-btn-color:var(--text-primary);
 --bs-btn-bg:var(--color-accent);
 --bs-btn-border-color:var(--color-accent);
 --bs-btn-hover-bg:var(--color-accent-hover);
 --bs-btn-hover-border-color:var(--color-accent-hover);
 --bs-btn-active-bg:var(--color-accent-active);
 --bs-btn-active-border-color:var(--color-accent-active);
}
 
 
 .btn-outline-primary{
 --bs-btn-color:var(--color-primary);
 --bs-btn-border-color:var(--color-primary);
 --bs-btn-hover-bg:var(--color-primary);
 --bs-btn-hover-color:var(--text-inverse);
 --bs-btn-active-bg:var(--color-primary-hover);
}
 
 
 
:root{
 
 --bs-input-padding-y:var(--space-3);
 --bs-input-padding-x:var(--space-4);
 --bs-input-font-size:var(--text-md);
 --bs-input-line-height:var(--leading-normal);
 --bs-input-border-radius:var(--radius-md);
 
 
 --bs-input-bg:var(--bg-primary);
 --bs-input-border-color:var(--border-color);
 --bs-input-color:var(--text-primary);
 --bs-input-placeholder-color:var(--text-tertiary);
 
 
 --bs-input-focus-border-color:var(--border-focus);
 --bs-input-focus-box-shadow:var(--shadow-focus);
 
 
 --bs-form-valid-color:var(--success);
 --bs-form-valid-border-color:var(--success);
 --bs-form-invalid-color:var(--error);
 --bs-form-invalid-border-color:var(--error);
}
 
 
 .form-control:focus,
 .form-select:focus{
 border-color:var(--border-focus);
 box-shadow:var(--shadow-focus);
}
 
 .form-control.is-valid,
 .was-validated .form-control:valid{
 border-color:var(--success);
 box-shadow:var(--shadow-focus-success);
}
 
 .form-control.is-invalid,
 .was-validated .form-control:invalid{
 border-color:var(--error);
 box-shadow:var(--shadow-focus-error);
}
 
 
 
:root{
 
 --bs-card-border-color:var(--border-color);
 --bs-card-border-radius:var(--radius-lg);
 --bs-card-box-shadow:var(--shadow-sm);
 --bs-card-cap-bg:var(--bg-secondary);
 --bs-card-bg:var(--surface-card);
}
 
 
 .card{
 transition:var(--transition-shadow),var(--transition-transform);
}
 
 .card:hover{
 box-shadow:var(--shadow-lg);
 transform:translateY(-2px);
}
 
 
 
:root{
 
 --bs-navbar-padding-y:var(--space-4);
 --bs-navbar-padding-x:var(--space-6);
 --bs-navbar-brand-padding-y:var(--space-2);
 --bs-navbar-brand-font-size:var(--text-xl);
 --bs-navbar-brand-font-weight:var(--font-bold);
 
 
 --bs-nav-link-padding-y:var(--space-2);
 --bs-nav-link-padding-x:var(--space-4);
 --bs-nav-link-font-size:var(--text-md);
 --bs-nav-link-font-weight:var(--font-medium);
 --bs-nav-link-color:var(--text-primary);
 --bs-nav-link-hover-color:var(--color-primary);
}
 
 
 .navbar-light{
 --bs-navbar-color:var(--text-primary);
 --bs-navbar-hover-color:var(--color-primary);
 --bs-navbar-active-color:var(--color-primary);
 --bs-navbar-brand-color:var(--color-primary);
 --bs-navbar-brand-hover-color:var(--color-primary-hover);
}
 
 
 .navbar.sticky-top{
 transition:var(--transition-shadow),background-color var(--duration-normal) var(--ease-default);
}
 
 .navbar.sticky-top.scrolled{
 box-shadow:var(--shadow-md);
 background-color:rgba(255,255,255,0.98) !important;
 backdrop-filter:blur(10px);
}
 
 
 
:root{
 --bs-modal-border-radius:var(--radius-xl);
 --bs-modal-box-shadow:var(--shadow-2xl);
 --bs-modal-header-padding-y:var(--space-5);
 --bs-modal-header-padding-x:var(--space-6);
 --bs-modal-inner-padding:var(--space-6);
}
 
 
 
:root{
 --bs-alert-padding-y:var(--space-4);
 --bs-alert-padding-x:var(--space-5);
 --bs-alert-border-radius:var(--radius-lg);
}
 
 .alert-primary{
 --bs-alert-bg:var(--activo-blue-50);
 --bs-alert-color:var(--activo-blue-800);
 --bs-alert-border-color:var(--activo-blue-200);
}
 
 .alert-success{
 --bs-alert-bg:var(--success-bg);
 --bs-alert-color:var(--success-text);
 --bs-alert-border-color:var(--success-200);
}
 
 .alert-warning{
 --bs-alert-bg:var(--warning-bg);
 --bs-alert-color:var(--warning-text);
 --bs-alert-border-color:var(--warning-200);
}
 
 .alert-danger{
 --bs-alert-bg:var(--error-bg);
 --bs-alert-color:var(--error-text);
 --bs-alert-border-color:var(--error-200);
}
 
 
 
:root{
 --bs-badge-padding-y:var(--space-1);
 --bs-badge-padding-x:var(--space-2-5);
 --bs-badge-font-size:var(--text-sm);
 --bs-badge-font-weight:var(--font-semibold);
 --bs-badge-border-radius:var(--radius-md);
}
 
 
 
:root{
 --bs-breadcrumb-padding-y:var(--space-3);
 --bs-breadcrumb-padding-x:var(--space-0);
 --bs-breadcrumb-item-padding-x:var(--space-2);
 --bs-breadcrumb-divider-color:var(--text-tertiary);
 --bs-breadcrumb-item-active-color:var(--text-secondary);
}
 
 
 
:root{
 --bs-pagination-padding-y:var(--space-2-5);
 --bs-pagination-padding-x:var(--space-4);
 --bs-pagination-font-size:var(--text-md);
 --bs-pagination-border-radius:var(--radius-md);
 --bs-pagination-color:var(--color-primary);
 --bs-pagination-hover-color:var(--color-primary-hover);
 --bs-pagination-focus-box-shadow:var(--shadow-focus);
 --bs-pagination-active-bg:var(--color-primary);
 --bs-pagination-active-border-color:var(--color-primary);
}
 
 
 
:root{
 --bs-tooltip-max-width:280px;
 --bs-tooltip-padding-y:var(--space-2);
 --bs-tooltip-padding-x:var(--space-3);
 --bs-tooltip-font-size:var(--text-sm);
 --bs-tooltip-bg:var(--text-primary);
 --bs-tooltip-border-radius:var(--radius-md);
 --bs-tooltip-opacity:0.95;
 
 --bs-popover-border-color:var(--border-color);
 --bs-popover-border-radius:var(--radius-lg);
 --bs-popover-box-shadow:var(--shadow-lg);
}
 
 
 
 
 .container-sm{
 max-width:var(--content-width-sm);
}
 
 .container-md{
 max-width:var(--content-width-md);
}
 
 .container-lg{
 max-width:var(--content-width-lg);
}
 
 .container-xl{
 max-width:var(--content-width-xl);
}
 
 
 
 
 .text-primary{
 color:var(--color-primary) !important;
}
 
 .text-accent{
 color:var(--color-accent) !important;
}
 
 
 .bg-primary{
 background-color:var(--color-primary) !important;
}
 
 .bg-accent{
 background-color:var(--color-accent) !important;
}
 
 
 .border-primary{
 border-color:var(--color-primary) !important;
}
 
 .border-accent{
 border-color:var(--color-accent) !important;
}
 
 
 
 
 .display-1{
 font-size:var(--text-7xl);
 font-weight:var(--font-bold);
 line-height:var(--leading-tight);
}
 
 @media (max-width:767px){
 .display-1{
 font-size:var(--text-5xl);
}
}
 
 .display-2{
 font-size:var(--text-6xl);
 font-weight:var(--font-bold);
 line-height:var(--leading-tight);
}
 
 @media (max-width:767px){
 .display-2{
 font-size:var(--text-4xl);
}
}
 
 
 
 html{
 scroll-behavior:smooth;
}
 
 @media (prefers-reduced-motion:reduce){
 html{
 scroll-behavior:auto;
}
}
 
 
 
 
 a:focus-visible,
 button:focus-visible,
 input:focus-visible,
 select:focus-visible,
 textarea:focus-visible{
 outline:3px solid var(--color-primary);
 outline-offset:2px;
 border-radius:var(--radius-sm);
}
 
 
 
 @media print{
 .btn{
 border:1px solid #000 !important;
}
 
 .card{
 border:1px solid #000 !important;
}
 
 
 .navbar,
 .modal,
 .tooltip,
 .popover{
 display:none !important;
}
}
 
 
 
 
 .hover-lift{
 transition:transform var(--duration-normal) var(--ease-out),
 box-shadow var(--duration-normal) var(--ease-out),
 background-color var(--duration-fast) var(--ease-out);
}
 
 .hover-lift:hover{
 transform:translateY(-5px);
 box-shadow:0 4px 12px rgba(0,0,0,0.15);
 background-color:rgba(255,255,255,0.8);
}
 
 .hover-lift:hover .fw-bold{
 color:var(--activo-blue) !important;
}
 .btn,button{transition:transform var(--duration-normal) var(--ease-out),box-shadow var(--duration-normal) var(--ease-out),background-color var(--duration-fast) var(--ease-default);will-change:transform;}.btn:hover,button:hover{transform:var(--hover-lift);}.btn:active,button:active{transform:var(--active-press);}.btn-primary:hover{transform:var(--hover-lift-lg);box-shadow:var(--shadow-xl),var(--glow-primary);}.btn-outline-primary:hover{transform:var(--hover-lift);box-shadow:var(--shadow-lg);}.btn:focus-visible{outline:none;box-shadow:var(--shadow-focus);transform:var(--hover-scale-sm);}.card{transition:transform var(--duration-moderate) var(--ease-out),box-shadow var(--duration-moderate) var(--ease-out);will-change:transform;}.card:hover{transform:var(--hover-lift);box-shadow:var(--shadow-2xl);}.feature-card,[class*="feature-"]{transition:all var(--duration-moderate) var(--ease-out);}.feature-card:hover,[class*="feature-"]:hover{transform:var(--hover-lift);}.section-curve-bottom{position:relative;}.section-curve-bottom::after{content:'';position:absolute;bottom:0;left:0;width:100%;height:100px;background:var(--bg-primary);clip-path:ellipse(100% 100% at 50% 100%);}.section-curve-top{position:relative;}.section-curve-top::before{content:'';position:absolute;top:0;left:0;width:100%;height:100px;background:var(--bg-primary);clip-path:ellipse(100% 100% at 50% 0%);}.blob-shape{border-radius:var(--blob-radius-1);animation:blob-morph 8s ease-in-out infinite;}@keyframes blob-morph{0%,100%{border-radius:var(--blob-radius-1);}33%{border-radius:var(--blob-radius-2);}66%{border-radius:var(--blob-radius-3);}}.card-organic{border-radius:var(--radius-organic-md) !important;}.glass-effect{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--shadow-lg);}.glass-heavy{background:var(--glass-bg);backdrop-filter:var(--glass-blur-heavy);-webkit-backdrop-filter:var(--glass-blur-heavy);border:1px solid var(--glass-border);}.navbar.glass{background:var(--glass-bg) !important;backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-bottom:1px solid var(--glass-border);}.hero-title,.animated-heading{animation:text-reveal var(--text-reveal-duration) var(--text-reveal-ease) both;}@keyframes text-reveal{from{opacity:0;transform:translateY(30px);}to{opacity:1;transform:translateY(0);}}.hero-title{animation-delay:0s;}.hero-subtitle{animation:text-reveal var(--text-reveal-duration) var(--text-reveal-ease) both;animation-delay:0.2s;}.hero-cta{animation:text-reveal var(--text-reveal-duration) var(--text-reveal-ease) both;animation-delay:0.4s;}.gradient-text{background:linear-gradient(135deg,var(--activo-blue) 0%,var(--activo-orange) 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-size:var(--text-gradient-animate);animation:gradient-shift 3s ease infinite;}@keyframes gradient-shift{0%,100%{background-position:0% 50%;}50%{background-position:100% 50%;}}html{scroll-behavior:smooth;}.theme-transition,.theme-transition *,.theme-transition *::before,.theme-transition *::after{transition:background-color var(--duration-moderate) var(--ease-default),color var(--duration-moderate) var(--ease-default),border-color var(--duration-moderate) var(--ease-default),box-shadow var(--duration-moderate) var(--ease-default) !important;}.fade-in-section{opacity:0;transform:translateY(50px);transition:opacity var(--duration-slower) var(--ease-out),transform var(--duration-slower) var(--ease-out);}.fade-in-section.is-visible{opacity:1;transform:translateY(0);}.form-control,.form-select{transition:border-color var(--duration-fast) var(--ease-default),box-shadow var(--duration-fast) var(--ease-default),transform var(--duration-fast) var(--ease-default);}.form-control:focus,.form-select:focus{transform:var(--hover-scale-sm);box-shadow:var(--shadow-focus);}.form-floating label{transition:all var(--duration-normal) var(--ease-default);}a{transition:color var(--duration-fast) var(--ease-default);}.nav-link{position:relative;transition:color var(--duration-fast) var(--ease-default);}.nav-link::after{content:'';position:absolute;bottom:0;left:50%;width:0;height:2px;background:var(--color-primary);transition:width var(--duration-moderate) var(--ease-out),left var(--duration-moderate) var(--ease-out);}.nav-link:hover::after,.nav-link.active::after{width:100%;left:0;}img{transition:transform var(--duration-moderate) var(--ease-out),filter var(--duration-moderate) var(--ease-out);}.hover-zoom img:hover{transform:scale(1.05);}.hover-brighten img:hover{filter:brightness(1.1);}.skeleton{background:linear-gradient( 90deg,var(--bg-secondary) 0%,var(--bg-tertiary) 50%,var(--bg-secondary) 100% );background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite;border-radius:var(--radius-md);}@keyframes skeleton-loading{0%{background-position:200% 0;}100%{background-position:-200% 0;}}.spinner{animation:spin 1s linear infinite;}@keyframes spin{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}.mesh-gradient-bg{position:relative;overflow:hidden;}.mesh-gradient-bg::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:var(--gradient-mesh);opacity:0.5;z-index:0;}.mesh-gradient-bg > *{position:relative;z-index:1;}.tooltip,.popover{animation:tooltip-fade-in var(--duration-fast) var(--ease-out);}@keyframes tooltip-fade-in{from{opacity:0;transform:translateY(-5px);}to{opacity:1;transform:translateY(0);}}.btn,.card,.nav-link,img{transform:translateZ(0);backface-visibility:hidden;}img,video,iframe{max-width:100%;height:auto;}[data-theme="dark"] .hero-title,[data-theme="dark"] .animated-heading{text-shadow:0 2px 10px rgba(0,0,0,0.3);}[data-theme="dark"] .card{background:var(--surface-card);border-color:var(--border-color);}[data-theme="dark"] .btn-primary{box-shadow:var(--shadow-md);}[data-theme="dark"] .btn-primary:hover{box-shadow:var(--shadow-xl);}@media (max-width:768px){.blob-shape{animation:none;border-radius:var(--radius-xl);}.card:hover,.btn:hover{transform:none;}.glass-effect,.glass-heavy{backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);}}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;}.blob-shape{animation:none;}html{scroll-behavior:auto;}}@media (prefers-contrast:high){.glass-effect,.glass-heavy{background:var(--bg-primary);border:2px solid var(--border-color);backdrop-filter:none;}.gradient-text{-webkit-text-fill-color:inherit;background-clip:unset;color:var(--text-primary);}}@media (max-width:479px){body{font-size:14px !important;}.section-title,h1,.h1,.display-1{font-size:var(--text-4xl-fluid) !important;line-height:1.2 !important;}h2,.h2,.display-2{font-size:var(--text-3xl-fluid) !important;line-height:1.25 !important;}h3,.h3{font-size:var(--text-2xl-fluid) !important;}h4,.h4{font-size:var(--text-xl-fluid) !important;}h5,.h5{font-size:var(--text-lg-fluid) !important;}.hero-section{min-height:70vh !important;padding:var(--space-12) 0 !important;}.hero-section h1{font-size:2rem !important;margin-bottom:1rem !important;}.hero-section .fs-5{font-size:0.9rem !important;}[style*="max-width:600px"]{max-width:100% !important;padding:0 0.5rem !important;}.feature-icon{width:var(--icon-lg) !important;height:var(--icon-lg) !important;font-size:1.5rem !important;}.stat-number{font-size:2rem !important;}.section-spacing{padding:40px 0 !important;}.btn-lg{padding:0.75rem 1.5rem !important;font-size:0.95rem !important;width:100%;margin-bottom:0.75rem;}.d-flex.gap-3{flex-direction:column !important;gap:0.5rem !important;}.navbar-brand img{height:32px !important;}.card{margin-bottom:1rem;}.feature-card{padding:1.25rem !important;}.ratio.ratio-16x9{margin-bottom:1rem;}.container{padding-left:1rem !important;padding-right:1rem !important;}.client-logo{height:40px !important;}.badge-premium{font-size:0.75rem !important;padding:0.375rem 1rem !important;}}@media (min-width:480px) and (max-width:575px){.section-title{font-size:var(--text-5xl-fluid) !important;}.hero-section{min-height:75vh !important;}.feature-icon{width:var(--icon-xl) !important;height:var(--icon-xl) !important;}.btn-lg{width:auto;}.stat-number{font-size:2.5rem !important;}}@media (min-width:576px) and (max-width:767px){.section-title{font-size:var(--text-5xl-fluid) !important;}.hero-section{min-height:80vh !important;}.feature-icon{width:var(--icon-xl) !important;height:var(--icon-xl) !important;}.stat-number{font-size:2.75rem !important;}.section-spacing{padding:60px 0 !important;}.col-6.col-md-3{flex:0 0 50%;max-width:50%;}}@media (min-width:768px) and (max-width:1023px){.section-title{font-size:var(--text-6xl-fluid) !important;}.hero-section{min-height:85vh !important;}.hero-section h1{font-size:3.5rem !important;}.feature-icon{width:var(--icon-2xl) !important;height:var(--icon-2xl) !important;}.stat-number{font-size:3.25rem !important;}.section-spacing{padding:80px 0 !important;}.col-lg-4{flex:0 0 50%;max-width:50%;}.col-6.col-md-3{flex:0 0 33.333333%;max-width:33.333333%;}}@media (min-width:1024px) and (max-width:1199px){.container{max-width:960px;}.section-title{font-size:var(--text-6xl-fluid) !important;}.hero-section h1{font-size:3.75rem !important;}.feature-icon{width:var(--icon-feature) !important;height:var(--icon-feature) !important;}.stat-number{font-size:3.5rem !important;}.section-spacing{padding:100px 0 !important;}}@media (min-width:1200px) and (max-width:1439px){.container{max-width:1140px;}.section-title{font-size:var(--text-7xl-fluid) !important;}.hero-section h1{font-size:4rem !important;}.feature-icon{width:140px !important;height:140px !important;}.section-spacing{padding:120px 0 !important;}}@media (min-width:1440px) and (max-width:1919px){.container{max-width:1320px;}.section-title{font-size:var(--text-7xl-fluid) !important;}.hero-section h1{font-size:4.5rem !important;}}@media (min-width:1920px){.container{max-width:1536px;}.section-title{font-size:5rem !important;}.hero-section h1{font-size:5rem !important;}.hero-section p{max-width:700px !important;}.feature-icon{width:160px !important;height:160px !important;}}img{max-width:100%;height:auto;}.navbar-brand img{height:clamp(32px,3vw,40px);}.client-logo{height:clamp(40px,4vw,60px);width:auto;}@media (max-width:575px){.container,.container-fluid{padding-left:1rem;padding-right:1rem;}}@media (min-width:576px) and (max-width:767px){.container,.container-fluid{padding-left:1.5rem;padding-right:1.5rem;}}@media (max-width:767px){.text-md-start{text-align:center !important;}.text-md-center{text-align:center !important;}.flex-md-row{flex-direction:column !important;}.card{margin-bottom:1.5rem;}}@media (max-width:767px){.mb-5{margin-bottom:2rem !important;}.mb-4{margin-bottom:1.5rem !important;}.py-5{padding-top:2rem !important;padding-bottom:2rem !important;}.gap-4{gap:1rem !important;}.gap-3{gap:0.75rem !important;}}@media (max-width:991px){.navbar-collapse{margin-top:1rem;}.navbar-nav{gap:0.5rem;}.nav-item{text-align:center;}.nav-item .btn{width:100%;margin-top:0.5rem;}.btn-group{width:100%;margin-top:0.5rem;}.btn-group .btn{flex:1;}}@media (max-width:767px){.form-control,.form-select{font-size:16px !important;}.form-group,.mb-3{margin-bottom:1rem !important;}}.ratio{position:relative;width:100%;}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio,56.25%);content:"";}.ratio > *{position:absolute;top:0;left:0;width:100%;height:100%;}@media (max-width:991px){.col-lg-8,.col-lg-4{flex:0 0 100%;max-width:100%;}.video-card{margin-bottom:1.5rem;}}@media (max-width:767px){.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}table{font-size:0.875rem;}table th,table td{white-space:nowrap;padding:0.5rem;}}@media (max-width:767px){*{animation-duration:0.5s !important;}[data-aos]{transition-duration:0.4s !important;}.parallax{background-attachment:scroll !important;}}@media (hover:none) and (pointer:coarse){a,button,.btn{min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center;}.nav-link{padding:0.75rem 1rem;}.card:hover,.btn:hover,.feature-card:hover{transform:none !important;}}@media print{.navbar,.btn,.badge,footer,.modal,[data-aos],.cookie-consent{display:none !important;}body{font-size:12pt;line-height:1.5;color:#000;background:#fff;}.container{max-width:100%;}.section-spacing{padding:1rem 0 !important;}h1,h2,h3{page-break-after:avoid;}img{page-break-inside:avoid;}}
 
 
 
 .cookie-consent-banner{
 position:fixed;
 bottom:0;
 left:0;
 right:0;
 background:#ffffff;
 box-shadow:0 -4px 20px rgba(0,0,0,0.15);
 z-index:9999;
 padding:1.5rem;
 transform:translateY(100%);
 transition:transform 0.3s ease-in-out;
}
 
 .cookie-consent-banner.cookie-consent-visible{
 transform:translateY(0);
}
 
 .cookie-consent-container{
 max-width:1200px;
 margin:0 auto;
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:2rem;
 flex-wrap:wrap;
}
 
 .cookie-consent-content{
 display:flex;
 align-items:flex-start;
 gap:1.5rem;
 flex:1;
 min-width:300px;
}
 
 .cookie-consent-icon{
 color:var(--activo-blue,#0D3D85);
 flex-shrink:0;
}
 
 .cookie-consent-text{
 flex:1;
}
 
 .cookie-consent-title{
 font-size:1.25rem;
 font-weight:700;
 margin-bottom:0.5rem;
 color:var(--activo-blue,#0D3D85);
}
 
 .cookie-consent-description{
 font-size:0.95rem;
 color:#6c757d;
 margin-bottom:0;
 line-height:1.5;
}
 
 .cookie-consent-actions{
 display:flex;
 gap:0.75rem;
 flex-wrap:wrap;
 align-items:center;
}
 
 
 .btn-cookie{
 padding:0.75rem 1.5rem;
 border:none;
 border-radius:6px;
 font-size:0.95rem;
 font-weight:600;
 cursor:pointer;
 transition:all 0.2s ease;
 white-space:nowrap;
}
 
 .btn-cookie:hover{
 transform:translateY(-2px);
 box-shadow:0 4px 12px rgba(0,0,0,0.15);
}
 
 .btn-cookie:active{
 transform:translateY(0);
}
 
 .btn-cookie-accept{
 background:var(--activo-blue,#0D3D85);
 color:white;
}
 
 .btn-cookie-accept:hover{
 background:#084a8a;
}
 
 .btn-cookie-reject{
 background:#6c757d;
 color:white;
}
 
 .btn-cookie-reject:hover{
 background:#5a6268;
}
 
 .btn-cookie-customize{
 background:white;
 color:var(--activo-blue,#0D3D85);
 border:2px solid var(--activo-blue,#0D3D85);
}
 
 .btn-cookie-customize:hover{
 background:var(--activo-blue,#0D3D85);
 color:white;
}
 
 
 
 .cookie-settings-modal{
 position:fixed;
 top:0;
 left:0;
 right:0;
 bottom:0;
 z-index:10000;
 display:none;
}
 
 .cookie-settings-modal.cookie-settings-visible{
 display:block;
}
 
 .cookie-settings-overlay{
 position:absolute;
 top:0;
 left:0;
 right:0;
 bottom:0;
 background:rgba(0,0,0,0.6);
 animation:fadeIn 0.3s ease;
}
 
 .cookie-settings-content{
 position:relative;
 max-width:700px;
 margin:2rem auto;
 background:white;
 border-radius:12px;
 box-shadow:0 10px 40px rgba(0,0,0,0.3);
 max-height:calc(100vh - 4rem);
 display:flex;
 flex-direction:column;
 animation:slideUp 0.3s ease;
}
 
 
 .cookie-settings-header{
 display:flex;
 align-items:center;
 justify-content:space-between;
 padding:1.5rem 2rem;
 border-bottom:1px solid #e9ecef;
}
 
 .cookie-settings-title{
 font-size:1.5rem;
 font-weight:700;
 color:var(--activo-blue,#0D3D85);
 margin:0;
}
 
 .cookie-settings-close{
 background:none;
 border:none;
 font-size:1.5rem;
 color:#6c757d;
 cursor:pointer;
 padding:0.5rem;
 line-height:1;
 transition:color 0.2s ease;
}
 
 .cookie-settings-close:hover{
 color:#343a40;
}
 
 
 .cookie-settings-body{
 padding:2rem;
 overflow-y:auto;
 flex:1;
}
 
 .cookie-settings-intro{
 color:#6c757d;
 margin-bottom:2rem;
 line-height:1.6;
}
 
 
 .cookie-category{
 background:#f8f9fa;
 border-radius:8px;
 padding:1.5rem;
 margin-bottom:1rem;
}
 
 .cookie-category:last-child{
 margin-bottom:0;
}
 
 .cookie-category-header{
 display:flex;
 align-items:center;
 justify-content:space-between;
 margin-bottom:1rem;
}
 
 .cookie-category-title-wrapper{
 display:flex;
 align-items:center;
 gap:0.75rem;
 flex:1;
}
 
 .cookie-category-title{
 font-size:1.1rem;
 font-weight:600;
 color:var(--activo-blue,#0D3D85);
 margin:0;
}
 
 .cookie-category-badge{
 background:#28a745;
 color:white;
 padding:0.25rem 0.75rem;
 border-radius:12px;
 font-size:0.75rem;
 font-weight:600;
 text-transform:uppercase;
}
 
 .cookie-category-description{
 color:#6c757d;
 font-size:0.95rem;
 line-height:1.6;
 margin-bottom:0.5rem;
}
 
 .cookie-examples{
 font-size:0.85rem;
 color:#868e96;
 margin-top:0.5rem;
}
 
 .cookie-examples strong{
 color:#495057;
}
 
 
 .cookie-toggle{
 position:relative;
 display:inline-block;
 width:60px;
 height:34px;
 flex-shrink:0;
}
 
 .cookie-toggle input{
 opacity:0;
 width:0;
 height:0;
}
 
 .cookie-toggle-slider{
 position:absolute;
 cursor:pointer;
 top:0;
 left:0;
 right:0;
 bottom:0;
 background-color:#ccc;
 transition:0.3s;
 border-radius:34px;
}
 
 .cookie-toggle-slider:before{
 position:absolute;
 content:"";
 height:26px;
 width:26px;
 left:4px;
 bottom:4px;
 background-color:white;
 transition:0.3s;
 border-radius:50%;
}
 
 .cookie-toggle input:checked + .cookie-toggle-slider{
 background-color:var(--activo-blue,#0D3D85);
}
 
 .cookie-toggle input:checked + .cookie-toggle-slider:before{
 transform:translateX(26px);
}
 
 
 .cookie-toggle-disabled{
 opacity:0.6;
 cursor:not-allowed;
}
 
 .cookie-toggle-disabled .cookie-toggle-slider{
 cursor:not-allowed;
 background-color:#28a745;
}
 
 
 .cookie-settings-footer{
 display:flex;
 gap:1rem;
 padding:1.5rem 2rem;
 border-top:1px solid #e9ecef;
 justify-content:flex-end;
}
 
 
 
 @keyframes fadeIn{
 from{
 opacity:0;
}
 to{
 opacity:1;
}
}
 
 @keyframes slideUp{
 from{
 transform:translateY(50px);
 opacity:0;
}
 to{
 transform:translateY(0);
 opacity:1;
}
}
 
 
 
 @media (max-width:768px){
 .cookie-consent-banner{
 padding:1rem;
}
 
 .cookie-consent-container{
 flex-direction:column;
 gap:1rem;
}
 
 .cookie-consent-content{
 gap:1rem;
 min-width:100%;
}
 
 .cookie-consent-icon{
 display:none;
}
 
 .cookie-consent-title{
 font-size:1.1rem;
}
 
 .cookie-consent-description{
 font-size:0.9rem;
}
 
 .cookie-consent-actions{
 width:100%;
 justify-content:stretch;
}
 
 .btn-cookie{
 flex:1;
 text-align:center;
 padding:0.65rem 1rem;
 font-size:0.9rem;
}
 
 
 .cookie-settings-content{
 margin:1rem;
 max-height:calc(100vh - 2rem);
}
 
 .cookie-settings-header{
 padding:1rem 1.5rem;
}
 
 .cookie-settings-title{
 font-size:1.25rem;
}
 
 .cookie-settings-body{
 padding:1.5rem;
}
 
 .cookie-category{
 padding:1rem;
}
 
 .cookie-category-header{
 flex-direction:column;
 align-items:flex-start;
 gap:1rem;
}
 
 .cookie-category-title-wrapper{
 flex-direction:column;
 align-items:flex-start;
 gap:0.5rem;
}
 
 .cookie-settings-footer{
 padding:1rem 1.5rem;
 flex-direction:column;
}
 
 .cookie-settings-footer .btn-cookie{
 width:100%;
}
}
 
 @media (max-width:480px){
 .cookie-consent-actions{
 flex-direction:column;
}
 
 .btn-cookie{
 width:100%;
}
}
 
 
 
 
 .btn-cookie:focus,
 .cookie-toggle:focus-within,
 .cookie-settings-close:focus{
 outline:3px solid var(--activo-orange,#D89D4D);
 outline-offset:2px;
}
 
 
 @media (prefers-reduced-motion:reduce){
 .cookie-consent-banner,
 .btn-cookie,
 .cookie-toggle-slider,
 .cookie-toggle-slider:before,
 .cookie-settings-overlay,
 .cookie-settings-content{
 transition:none;
 animation:none;
}
}

/* =====================================================
   Language Visibility — EN / ES (i18n)
   html[lang] is set by i18n-init.js on every page.
   These rules are the single source of truth.
   ===================================================== */
html[lang^="es"] .lang-en { display: none !important; }
html[lang^="en"] .lang-es { display: none !important; }
 .footer-redesign{background:linear-gradient(135deg,#0D3D85 0%,#073d73 100%);color:#FFFFFF;position:relative;}.footer-content{padding:4rem 0 2rem;}.footer-redesign h4{font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;margin-bottom:1.5rem;color:#FFFFFF;}.footer-redesign ul{list-style:none;padding:0;margin:0;}.footer-redesign li{margin-bottom:0.5rem;}.footer-redesign a{color:rgba(255,255,255,0.8);text-decoration:none;font-size:0.9rem;line-height:2;transition:color 0.3s ease;}.footer-redesign a:hover{color:#D89D4D;}.footer-logo{height:120px;max-width:100%;margin-bottom:1.5rem;}.footer-description{font-size:0.875rem;line-height:1.6;color:rgba(255,255,255,0.8);margin-bottom:1.5rem;max-width:350px;}.social-icons{display:flex;gap:0.5rem;margin:1.5rem 0;flex-wrap:wrap;}.social-icon{width:44px;height:44px;min-width:44px;min-height:44px;border-radius:50%;background:rgba(255,255,255,0.1);display:flex;align-items:center;justify-content:center;color:#FFFFFF;font-size:1.125rem;transition:all 0.3s ease;text-decoration:none;}.social-icon:hover{background:#D89D4D;color:#FFFFFF;transform:translateY(-2px);}.footer-lang-switcher{margin-top:1.5rem;}.footer-lang-switcher .btn-outline-light{border-color:rgba(255,255,255,0.3);color:#FFFFFF;padding:0.5rem 1rem;font-size:0.875rem;transition:all 0.3s ease;}.footer-lang-switcher .btn-outline-light.active{background:#FFFFFF;color:#0D3D85;border-color:#FFFFFF;}.footer-lang-switcher .btn-outline-light:hover{border-color:#D89D4D;color:#D89D4D;background:transparent;}.footer-lang-switcher .btn-outline-light.active:hover{background:#FFFFFF;color:#0D3D85;}.contact-info-item{display:flex;align-items:center;gap:0.5rem;margin-bottom:0.75rem;}.contact-info-item i{color:#D89D4D;width:20px;text-align:center;font-size:1rem;}.footer-bottom{border-top:1px solid rgba(255,255,255,0.1);padding:2rem 0;}.footer-bottom p{margin:0;font-size:0.875rem;color:rgba(255,255,255,0.7);}.footer-bottom a{color:rgba(255,255,255,0.8);text-decoration:none;transition:color 0.3s ease;}.footer-bottom a:hover{color:#D89D4D;text-decoration:none;}.back-to-top-btn{display:inline-flex;align-items:center;gap:0.5rem;color:#FFFFFF;border:1px solid rgba(255,255,255,0.3);padding:0.5rem 1.5rem;border-radius:0.375rem;background:transparent;transition:all 0.3s ease;cursor:pointer;text-decoration:none;font-size:0.9rem;}.back-to-top-btn:hover{background:#D89D4D;border-color:#D89D4D;color:#FFFFFF;transform:translateY(-2px);}.back-to-top-mobile{position:fixed;bottom:20px;right:20px;width:56px;height:56px;min-width:56px;min-height:56px;border-radius:50%;background:rgba(10,95,173,0.9);color:#FFFFFF;border:none;display:flex;align-items:center;justify-content:center;font-size:1.25rem;box-shadow:0 4px 12px rgba(0,0,0,0.3);cursor:pointer;z-index:1000;opacity:0;visibility:hidden;transition:all 0.3s ease;}.back-to-top-mobile.visible{opacity:1;visibility:visible;}.back-to-top-mobile:hover{background:#D89D4D;transform:translateY(-2px);}@media (hover:none) and (pointer:coarse){.social-icon:hover{transform:none;}.social-icon:active{background:#D89D4D;transform:scale(0.95);}.back-to-top-btn:hover{transform:none;}.back-to-top-btn:active{background:#D89D4D;transform:scale(0.98);}}@media (min-width:768px) and (max-width:1023px){.footer-content{padding:3rem 0 1.5rem;}.footer-redesign h4{margin-top:1rem;}.footer-logo{height:105px;}}@media (min-width:576px) and (max-width:767px){.footer-content{padding:2.5rem 0 1.25rem;}.footer-redesign h4{margin-top:1.75rem;}.footer-logo{height:96px;}.social-icons{gap:0.75rem;}}@media (min-width:480px) and (max-width:575px){.footer-content{padding:2rem 0 1rem;}.footer-bottom{text-align:center;padding:1.5rem 0;}.footer-redesign h4{margin-top:2rem;font-size:0.95rem;}.footer-description,.social-icons,.footer-lang-switcher{margin-left:auto;margin-right:auto;text-align:center;justify-content:center;}.contact-info-item{justify-content:center;}.footer-logo{height:90px;}}@media (min-width:320px) and (max-width:479px){.footer-content{padding:1.5rem 0 0.75rem;}.footer-bottom{text-align:center;padding:1.25rem 0;}.footer-bottom .row > div{margin-bottom:1rem;}.footer-bottom .row > div:last-child{margin-bottom:0;}.footer-redesign h4{margin-top:1.75rem;font-size:0.9rem;margin-bottom:1rem;}.footer-redesign a{font-size:0.85rem;line-height:2.2;}.footer-description{font-size:0.8rem;margin-bottom:1rem;}.social-icons{gap:0.625rem;margin:1.25rem 0;}.social-icon{width:44px;height:44px;}.footer-description,.social-icons,.footer-lang-switcher{margin-left:auto;margin-right:auto;text-align:center;justify-content:center;}.contact-info-item{justify-content:center;font-size:0.85rem;}.footer-logo{height:84px;}.footer-bottom p{font-size:0.75rem;}.back-to-top-mobile{bottom:15px;right:15px;width:48px;height:48px;}}@media (max-width:319px){.footer-content{padding:1rem 0 0.5rem;}.footer-redesign h4{font-size:0.85rem;}.footer-redesign a{font-size:0.8rem;}.footer-logo{height:76px;}}.footer-redesign a:focus,.social-icon:focus,.footer-lang-switcher .btn-outline-light:focus,.back-to-top-btn:focus,.back-to-top-mobile:focus{outline:2px solid #D89D4D;outline-offset:2px;}@media (max-width:767px){.footer-bottom{text-align:center;padding:1.5rem 0;}.footer-bottom .col-md-6{text-align:center !important;}}