@import url('/production.css');
@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz@0,14..32;1,14..32&family=Poppins:wght@500&display=swap&family=Cabin:ital,wght@0,400..700;1,400..700&display=swap');
@import url('https://cdn.jsdelivr.net/npm/primeicons@7.0.0/primeicons.css');

:root{
  --primary:#00398c;--primary-50:#eef5ff;--primary-100:#d8e6ff;--primary-200:#b3cdff;--primary-300:#6f97dc;
  --primary-400:#00409C;--primary-500:#00398c;--primary-600:#00327c;--primary-700:#002b6b;--primary-800:#00245b;
  --secondary-500:#01a6e7;--heading-color:#223646;--p-content-background:#FAFAFA;--p-text-color:#334155;
  --surface-0:#fff;--surface-50:#f8fafc;--surface-100:#f1f5f9;--surface-200:#e2e8f0;--surface-300:#cbd5e1;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"Inter",sans-serif;font-optical-sizing:auto;font-weight:400;font-size:.85rem;font-style:normal;background:var(--p-content-background);color:var(--p-text-color)}
h1,h2,h3,h4,h5,h6{font-family:"Cabin",sans-serif;color:var(--heading-color);font-weight:600}h1{font-size:40px;line-height:1.2;margin-bottom:.5em}h2{font-size:32px;line-height:1.25;margin-bottom:.5em}h3{line-height:1.3;margin-bottom:.5em}h4{font-size:22px;line-height:1.35;margin-bottom:.5em}h5{font-size:18px;line-height:1.4;margin-bottom:.5em}h6{font-size:16px;line-height:1.4;margin-bottom:.5em}a{text-decoration:none;color:inherit}button,input,textarea{font:inherit}.max-w-8xl{max-width:88rem}
.text-primary,.text-primary-500{color:var(--primary-500)!important}.text-primary-600{color:var(--primary-600)!important}.text-primary-700{color:var(--primary-700)!important}.bg-primary,.bg-primary-500{background:var(--primary-500)!important}.border-primary{border-color:var(--primary-500)!important}.border-surface-300{border-color:var(--surface-300)!important}.bg-surface-50{background:var(--surface-50)!important}.text-surface-500{color:#64748b!important}

/* Promo menubar: same geometry as PrimeNG Menubar + menubar-promo.css in production. */
.menubar-shell{background:#fff;border-bottom:1px solid #e2e8f0}.promo-menubar{position:relative;max-width:96rem;margin:0 auto;padding:.5rem 1rem;display:flex;align-items:center;border:0;background:transparent}.promo-menubar .brand{display:flex;align-items:center;margin-right:1.25rem}.promo-menubar .brand img{display:block;width:8rem;height:auto}.promo-menu{display:flex;align-items:center;flex:1}.promo-menu a{display:flex;align-items:center;padding:.75rem 1rem;border-radius:6px;color:#334155;font-size:.85rem;line-height:1.25rem;white-space:nowrap}.promo-menu a:hover{background:#f1f5f9}.promo-actions{margin-left:auto;display:flex;align-items:center;gap:1rem}.promo-menu-toggle{display:none;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;margin-left:.5rem;border:0;border-radius:6px;background:transparent;color:#475569;cursor:pointer}.promo-menu-toggle:hover{background:#f1f5f9}

/* PrimeNG Aura button/tag equivalents used by the public landing. */
.p-button,.p-button-text,.p-button-success{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:2.5rem;padding:.5rem 1rem;border-radius:6px;border:1px solid var(--primary);background:var(--primary);color:#fff!important;font-weight:500;font-size:.875rem;line-height:1.25rem;cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s}.p-button:hover{background:var(--primary-600);border-color:var(--primary-600)}.p-button:focus-visible,.p-button-text:focus-visible,.p-button-success:focus-visible{outline:2px solid var(--primary-300);outline-offset:2px}.p-button-text{background:transparent;border-color:transparent;color:#475569!important}.p-button-text:hover{background:#f1f5f9}.p-button-success{background:#22c55e;border-color:#22c55e}.p-button-success:hover{background:#16a34a;border-color:#16a34a}.p-button-sm{min-height:2rem;padding:.375rem .75rem;font-size:.8125rem}.p-button-lg{min-height:2.875rem;padding:.625rem 1rem}.p-button-rounded{border-radius:999px}.p-tag{display:inline-flex;align-items:center;width:max-content;padding:.25rem .625rem;border-radius:999px;font-size:12px;line-height:1rem;font-weight:400;background:#e0f2fe;color:#0369a1}
.landing-card{background:#fff;border:1px solid var(--surface-300);border-radius:.75rem;box-shadow:0 20px 25px -5px rgb(59 130 246/.05),0 8px 10px -6px rgb(59 130 246/.05)}

/* PrimeNG Carousel parity: theme config sets 16px content gap. */
.testimonial-viewport{position:relative;overflow:hidden;padding:0 2.75rem}.testimonial-track{display:flex;transition:transform .35s ease;will-change:transform}.testimonial-slide{flex:0 0 33.333333%;padding:.5rem}.carousel-controls{display:flex;align-items:center;justify-content:center;gap:.4rem;margin-top:1rem}.carousel-dot{width:.5rem;height:.5rem;border:0;border-radius:999px;background:#cbd5e1;cursor:pointer;padding:0;transition:width .15s,background .15s}.carousel-dot.active{width:1.25rem;background:var(--primary)}.carousel-arrow{position:absolute;z-index:3;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:2.5rem;height:2.5rem;border:0;border-radius:999px;background:transparent;color:#64748b;cursor:pointer;font-size:1rem}.carousel-arrow:hover{background:#f1f5f9;color:var(--primary)}.carousel-arrow:disabled{opacity:.35;cursor:default;background:transparent}.carousel-arrow.prev{left:.1rem}.carousel-arrow.next{right:.1rem}

.support-form input,.support-form textarea{width:100%;border:1px solid #d1d5db;border-radius:6px;background:#f8fafc;color:#334155;outline:none}.support-form input{height:2.5rem;padding:0 .75rem}.support-form textarea{min-height:7.5rem;padding:.65rem .75rem;resize:vertical}.support-form input:focus,.support-form textarea:focus{border-color:var(--primary-400);box-shadow:0 0 0 1px var(--primary-400)}.support-error{display:block;min-height:1rem;color:#dc2626;font-size:.72rem}.support-status{margin-top:.8rem;font-size:.8rem}.support-status[data-tone="success"]{color:#15803d}.support-status[data-tone="error"]{color:#dc2626}.footer-promo{background:#fff}.footer-promo a:hover{color:var(--primary)!important}

/* Footer source is rendered literally; preserve Prime/Tailwind chip geometry. */
.footer-promo ul{padding-left:0;list-style:none}.footer-promo .p-button-success{width:100%}.footer-promo .pi{line-height:1}.footer-promo img{display:block}

/* Legal page uses the same source typography and spacing. */
.legal-number{display:flex;align-items:center;justify-content:center;flex:0 0 1.75rem;width:1.75rem;height:1.75rem;margin-top:.125rem;border:1px solid var(--primary-200);border-radius:999px;background:var(--primary-50);color:var(--primary);font-size:.75rem;font-weight:600}.legal-title{margin:0 0 .25rem;color:var(--heading-color);font-size:.875rem;font-weight:600}.legal-copy{margin:0;color:#94a3b8;font-size:.875rem;line-height:1.625}

/* Keep the landing's decorative layers behind its content exactly as in Angular. */
#contacto{position:relative}.testimonial-slide>div{height:100%}

@media(max-width:900px){.promo-menu-toggle{display:flex;order:2}.promo-menu{display:none;position:absolute;z-index:70;left:1rem;right:1rem;top:calc(100% + .35rem);flex-direction:column;align-items:stretch;padding:.4rem;border:1px solid #e5e7eb;border-radius:8px;background:#fff;box-shadow:0 12px 30px rgba(15,23,42,.14)}.promo-menu a{width:100%}.promo-menubar.mobile-open .promo-menu{display:flex}.promo-actions{order:3;margin-left:auto}.testimonial-slide{flex-basis:50%}.testimonial-viewport{padding:0 2.25rem}}
@media(max-width:575px){.promo-menubar{padding:.5rem 1rem}.promo-menubar .brand{margin-right:.2rem}.promo-menubar .brand img{width:6rem}.promo-menu-toggle{margin-left:.2rem}.promo-actions{gap:.35rem}.promo-actions .p-button-text{display:none}.testimonial-slide{flex-basis:100%}.testimonial-viewport{padding:0 1.75rem}.carousel-arrow{width:2rem;height:2rem}.carousel-arrow.prev{left:-.1rem}.carousel-arrow.next{right:-.1rem}}

/* Mobile header hotfix: keep both auth actions visible even when the final responsive guard loads later. */
@media(max-width:639px){
  body .promo-menubar .promo-actions{display:flex!important;align-items:center!important;gap:.25rem!important;flex-wrap:nowrap!important;white-space:nowrap}
  body .promo-menubar .promo-actions .p-button-text{display:inline-flex!important;min-height:2.25rem!important;padding:.375rem .5rem!important;font-size:.78rem!important;white-space:nowrap!important}
  body .promo-menubar .promo-actions .p-button{display:inline-flex!important;min-height:2.25rem!important;padding:.375rem .6rem!important;font-size:.78rem!important;white-space:nowrap!important}
}