:root {
  /* Colors */
  --tertiary-fixed: #a1efff;
  --primary-container: #0d47a1;
  --on-tertiary-container: #34cee6;
  --on-background: #191c1e;
  --inverse-on-surface: #eff1f3;
  --surface-variant: #e0e3e5;
  --error-container: #ffdad6;
  --on-primary-fixed: #001945;
  --on-secondary-fixed-variant: #005312;
  --on-secondary-fixed: #002204;
  --on-surface-variant: #434652;
  --error: #ba1a1a;
  --surface-tint: #2b5bb5;
  --outline-variant: #c3c6d4;
  --tertiary-fixed-dim: #44d8f1;
  --on-primary-fixed-variant: #00429c;
  --inverse-primary: #b0c6ff;
  --on-tertiary-fixed-variant: #004e59;
  --on-secondary-container: #217128;
  --primary: #003178;
  --tertiary: #003b44;
  --surface: #f7f9fb;
  --secondary-fixed: #a3f69c;
  --secondary: #1b6d24;
  --on-primary-container: #a1bbff;
  --on-surface: #191c1e;
  --secondary-fixed-dim: #88d982;
  --inverse-surface: #2d3133;
  --background: #f7f9fb;
  --on-error-container: #93000a;
  --surface-container: #eceef0;
  --surface-container-lowest: #ffffff;
  --surface-dim: #d8dadc;
  --on-tertiary: #ffffff;
  --on-error: #ffffff;
  --surface-container-highest: #e0e3e5;
  --surface-bright: #f7f9fb;
  --on-tertiary-fixed: #001f25;
  --surface-container-high: #e6e8ea;
  --outline: #737783;
  --primary-fixed-dim: #b0c6ff;
  --secondary-container: #a0f399;
  --surface-container-low: #f2f4f6;
  --on-secondary: #ffffff;
  --on-primary: #ffffff;
  --primary-fixed: #d9e2ff;
  --tertiary-container: #005460;

  /* Fonts */
  --font-headline: 'Manrope', sans-serif;
  --font-body: 'Public Sans', sans-serif;
  --font-label: 'Public Sans', sans-serif;

  /* Spacing */
  --spacing-1: 0.25rem;
  --spacing-2: 0.5rem;
  --spacing-3: 0.75rem;
  --spacing-4: 1rem;
  --spacing-6: 1.5rem;
  --spacing-8: 2rem;
  --spacing-10: 2.5rem;
  --spacing-12: 3rem;
  --spacing-16: 4rem;

  /* Shadows */
  --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
  --shadow-nav: 0 -4px 20px 0 rgba(0, 0, 0, 0.05);

  /* Radius */
  --radius-lg: 0.5rem;
  --radius-xl: 0.75rem;
  --radius-2xl: 1rem;
  --radius-3xl: 1.5rem;
  --radius-full: 9999px;
}

/* Dark Mode (basic support) */
@media (prefers-color-scheme: dark) {
  :root {
    --bg-header: rgba(15, 23, 42, 0.8);
    --border-header: rgba(30, 41, 59, 0.15);
    --text-primary-dark: #d9e2ff;
    --text-secondary-dark: #b0c6ff;
    --bg-footer: #020617;
  }
}

/* Reset */
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  font-family: var(--font-body);
  background-color: var(--surface);
  color: var(--on-surface);
  line-height: 1.5;
  min-height: 100vh;
  /* Scroll smooth */
  scroll-behavior: smooth;
}

/* Typography */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-headline);
  font-weight: 800;
  line-height: 1.2;
}

a {
  text-decoration: none;
  color: inherit;
}

button {
  border: none;
  cursor: pointer;
  font-family: inherit;
}

/* Utilities */
.container-1e6ac1 {
  max-width: 28rem; /* matches max-w-md */
  margin: 0 auto;
  padding: 0 var(--spacing-6);
}

.flex-f9eedc { display: flex; }
.flex-col-172921 { flex-direction: column; }
.items-center-f81949 { align-items: center; }
.justify-between-66d007 { justify-content: space-between; }
.justify-center-a15f70 { justify-content: center; }
.gap-2-3f5afd { gap: var(--spacing-2); }
.gap-4-bf5f55 { gap: var(--spacing-4); }
.gap-6-63240c { gap: var(--spacing-6); }
.gap-8-ebc162 { gap: var(--spacing-8); }

.grid-d3ffd5 { display: grid; }
.grid-cols-2-cb5d12 { grid-template-columns: repeat(2, 1fr); }
.grid-cols-1-a6697c { grid-template-columns: 1fr; }

.text-center-78fdb6 { text-align: center; }
.uppercase-ab4fe1 { text-transform: uppercase; }
.relative-6846a2 { position: relative; }
.absolute-ae2a04 { position: absolute; }
.fixed-c4f23c { position: fixed; }
.hidden-aa8771 { display: none; }
.overflow-hidden-f24c9d { overflow: hidden; }

/* Header */
.header-005ad0 {
  top: 0;
  width: 100%;
  z-index: 50;
  background-color: rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border-bottom: 1px solid rgba(226, 232, 240, 0.15);
  box-shadow: var(--shadow-sm);
}
.header-content-adf2e5 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--spacing-4) var(--spacing-6);
  max-width: 480px;
  margin: 0 auto;
}
.brand-d589f0 {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  color: #1e3a8a; /* blue-900 */
}
.brand-d589f0 i {
  font-size: 1.5rem;
}
.brand-d589f0 span {
  font-size: 1.25rem;
  font-weight: 800;
  letter-spacing: -0.05em;
}
.btn-consult-9f266f {
  background-color: var(--primary);
  color: var(--on-primary);
  padding: var(--spacing-2) var(--spacing-4);
  border-radius: var(--radius-full);
  font-weight: 600;
  font-size: 0.875rem;
  transition: opacity 0.2s;
}
.btn-consult-9f266f:hover { opacity: 0.8; }
.btn-consult-9f266f:active { transform: scale(0.95); }

/* Main Content */
/*main {*/
/*  padding-top: 5rem;*/
/*  padding-bottom: 6rem;*/
/*}*/

/* Hero Section */
.hero-630a77 {
  position: relative;
  padding: var(--spacing-16) var(--spacing-6);
  overflow: hidden;
}
.hero-bg-blur-02d51b {
  position: absolute;
  top: 0;
  right: 0;
  z-index: -10;
  width: 16rem;
  height: 16rem;
  background-color: rgba(0, 49, 120, 0.05); /* primary/5 */
  border-radius: var(--radius-full);
  filter: blur(64px);
  transform: translate(50%, -50%);
}
.hero-badge-5dc961 {
  display: inline-flex;
  align-items: center;
  gap: var(--spacing-2);
  background-color: rgba(160, 243, 153, 0.3); /* secondary-container/30 */
  padding: var(--spacing-1) var(--spacing-3);
  border-radius: var(--radius-full);
  margin-bottom: var(--spacing-6);
}
.hero-badge-dot-d7bea4 {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: var(--radius-full);
  background-color: var(--secondary);
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
@keyframes pulse {
  50% { opacity: 0.5; }
}
.hero-badge-text-bfbf2e {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--on-secondary-container); /* Check variable or explicit color */
  color: rgb(33, 113, 40); /* text-on-secondary-container equivalent */
}
.hero-title-e80e82 {
  font-size: 2.25rem;
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: -0.025em;
  color: var(--primary);
  margin-bottom: var(--spacing-6);
}
.hero-desc-e91f63 {
  color: var(--on-surface-variant); /* Check equivalent */
  color: #434652; /* on-surface-variant */
  font-size: 1.125rem;
  line-height: 1.625;
  margin-bottom: var(--spacing-8);
}
.btn-primary-gradient-15357b {
  width: 100%;
  background-image: linear-gradient(to bottom right, var(--primary), var(--primary-container));
  color: white;
  padding: var(--spacing-4) 0;
  border-radius: var(--radius-full);
  font-weight: 700;
  box-shadow: 0 20px 25px -5px rgba(0, 49, 120, 0.2); /* shadow-xl shadow-primary/20 */
  transition: all 0.15s;
}
.btn-primary-gradient-15357b:active { transform: scale(0.95); }
.btn-outline-bbadd2 {
  width: 100%;
  background-color: transparent;
  border: 1px solid rgba(195, 198, 212, 0.3); /* outline-variant/30 */
  color: var(--primary);
  padding: var(--spacing-4) 0;
  border-radius: var(--radius-full);
  font-weight: 700;
}

/* Services */
.services-section-20c06c {
  background-color: var(--surface-container-low);
  padding: var(--spacing-12) 0;
}
.section-title-de6e13 {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--primary);
  margin-bottom: var(--spacing-8);
  text-align: center;
}
.card-dabedd {
  background-color: var(--surface-container-lowest);
  padding: var(--spacing-4);
  border-radius: var(--radius-2xl);
  box-shadow: var(--shadow-sm);
}
.card-icon-00473e {
  font-size: 2.25rem; /* text-4xl approx */
  margin-bottom: var(--spacing-4);
  display: block;
}
.text-primary-09c6a9 { color: var(--primary); }
.text-secondary-76807b { color: var(--secondary); }
.text-tertiary-container-7b34e0 { color: var(--tertiary-container); }
.card-dabedd h3 {
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: var(--spacing-2);
}
.card-dabedd p {
  color: var(--on-surface-variant);
  font-size: 0.875rem;
}
.card-dabedd.border-secondary-26fbf1 {
  border: 2px solid rgba(27, 109, 36, 0.1);
}

/* Advantages */
.advantages-section-35c651 {
  padding: var(--spacing-16) 0;
}
.advantage-item-756b8e {
  display: flex;
  gap: var(--spacing-6);
  align-items: flex-start;
  margin-bottom: var(--spacing-10);
}
.advantage-item-756b8e:last-child { margin-bottom: 0; }
.icon-box-eb297d {
  padding: var(--spacing-3);
  border-radius: var(--radius-2xl);
  display: flex;
  align-items: center;
  justify-content: center;
}
.bg-primary-5-7c8c87 { background-color: rgba(0, 49, 120, 0.05); }
.bg-secondary-5-1f0bb8 { background-color: rgba(27, 109, 36, 0.05); }
.bg-tertiary-5-20db5c { background-color: rgba(0, 84, 96, 0.05); }

/* Process */
.process-section-419e87 {
  padding: var(--spacing-16) var(--spacing-6);
  background-color: var(--surface-container);
}
.timeline-1467e2 {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--spacing-8);
}
.timeline-line-c779c8 {
  position: absolute;
  left: 1.5rem; /* left-6 */
  top: 2rem;
  bottom: 2rem;
  width: 2px;
  background-color: rgba(0, 49, 120, 0.1);
}
.step-item-5acca6 {
  position: relative;
  display: flex;
  gap: var(--spacing-6);
  align-items: center;
}
.step-number-a26933 {
  z-index: 10;
  width: 3rem;
  height: 3rem;
  border-radius: var(--radius-full);
  background-color: var(--primary);
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  box-shadow: 0 10px 15px -3px rgba(0, 49, 120, 0.2);
  flex-shrink: 0;
}
.step-number-a26933.secondary-d759dd {
  background-color: var(--secondary);
  box-shadow: 0 10px 15px -3px rgba(27, 109, 36, 0.2);
}
.step-card-b45b18 {
  background-color: var(--surface-container-lowest);
  padding: var(--spacing-4);
  border-radius: var(--radius-2xl);
  flex: 1;
  box-shadow: var(--shadow-sm);
}
.step-card-b45b18.border-secondary-26fbf1 {
  border: 1px solid rgba(27, 109, 36, 0.2);
}

/* Stats */
.stats-card-a3efab {
  background-color: var(--primary);
  border-radius: 2.5rem;
  padding: var(--spacing-8);
  color: white;
  position: relative;
  overflow: hidden;
  margin: var(--spacing-16) 0;
}
.stats-bg-circle-99a52f {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 8rem;
  height: 8rem;
  background-color: rgba(255, 255, 255, 0.05);
  border-radius: var(--radius-full);
  transform: translate(50%, 50%);
}
.stats-grid-4842ff {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--spacing-8);
}
.stat-label-5175e0 {
  color: var(--primary-fixed-dim);
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: var(--spacing-2);
}
.stat-value-51e643 {
  font-size: 1.875rem;
  font-weight: 900;
  line-height: 1;
  letter-spacing: -0.05em;
}
.stat-desc-756830 {
  color: rgb(191, 219, 254); /* blue-200 */
  font-size: 0.75rem;
  margin-top: var(--spacing-1);
}

/* News */
.news-header-3c02e5 {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: var(--spacing-8);
}
.view-all-7bae3a {
  color: var(--primary);
  font-size: 0.875rem;
  font-weight: 700;
  display: flex;
  align-items: center;
}
.news-item-a35456 {
  border-bottom: 1px solid rgba(195, 198, 212, 0.1);
  padding-bottom: var(--spacing-4);
  margin-bottom: var(--spacing-6);
}
.news-date-d316d3 {
  color: var(--secondary);
  font-size: 0.75rem;
  font-weight: 700;
  margin-bottom: var(--spacing-1);
}
.news-title-4edb5d {
  font-size: 1.125rem;
  font-weight: 700;
  margin-bottom: var(--spacing-2);
  transition: color 0.15s;
}
.news-item-a35456:hover .news-title-4edb5d {
  color: var(--primary);
}
.news-excerpt-98e0b8 {
  color: var(--on-surface-variant);
  font-size: 0.875rem;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* FAQ */
.faq-section-b023c8 {
  background-color: var(--surface-container-low);
  padding: var(--spacing-16) 0;
}
details {
  background-color: var(--surface-container-lowest);
  border-radius: var(--radius-2xl);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  margin-bottom: var(--spacing-4);
}
summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.25rem;
  cursor: pointer;
  list-style: none;
  font-weight: 700;
  font-size: 0.875rem;
}
details[open] summary i {
  transform: rotate(180deg);
}
summary i {
  transition: transform 0.2s;
}
.faq-content-b14963 {
  padding: 1.25rem;
  padding-top: 0;
  font-size: 0.875rem;
  color: var(--on-surface-variant);
  border-top: 1px solid rgba(195, 198, 212, 0.05);
}

/* Testimonials */
.testimonials-section-64a259{
    padding: var(--spacing-16) 0;
}
.testimonial-card-18c6c0 {
  background-color: var(--surface-container-lowest);
  padding: var(--spacing-8);
  border-radius: 2rem;
  border: 2px solid rgba(0, 49, 120, 0.05);
  position: relative;
  margin-bottom: var(--spacing-4);
}
.quote-icon-45ba65 {
  position: absolute;
  top: 1rem;
  right: 1rem;
  color: rgba(0, 49, 120, 0.2);
  font-size: 3.75rem;
}
.stars-e64328 {
  display: flex;
  gap: var(--spacing-1);
  margin-bottom: var(--spacing-4);
  color: rgb(251, 191, 36); /* amber-400 */
  font-size: 0.875rem;
}
.quote-text-286289 {
  font-size: 0.875rem;
  font-style: italic;
  color: var(--on-surface-variant);
  margin-bottom: var(--spacing-6);
}
.client-info-68cbcc {
  display: flex;
  align-items: center;
  gap: var(--spacing-4);
}
.client-avatar-97abae {
  width: 3rem;
  height: 3rem;
  border-radius: var(--radius-full);
  background-color: #e2e8f0;
  overflow: hidden;
}
.client-avatar-97abae img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Contact Form */
.form-group-16e93f {
  margin-bottom: var(--spacing-6);
}
.form-label-60253c {
  display: block;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--on-surface-variant);
  margin-left: 0.25rem;
  margin-bottom: var(--spacing-1);
}
.form-input-95b4c2, .form-select-a22927 {
  width: 100%;
  background-color: transparent;
  border: none;
  border-bottom: 1px solid rgba(195, 198, 212, 0.3);
  padding: var(--spacing-3) 0.25rem;
  font-size: 1rem;
  transition: all 0.15s;
  outline: none;
}
.form-input-95b4c2:focus, .form-select-a22927:focus {
  border-bottom-color: var(--primary);
}
.form-input-95b4c2::placeholder {
  color: rgb(203, 213, 225);
}
.btn-submit-b344a9 {
  width: 100%;
  background-color: var(--primary);
  color: white;
  padding: var(--spacing-4) 0;
  border-radius: var(--radius-xl);
  font-weight: 700;
  margin-top: var(--spacing-4);
  box-shadow: var(--shadow-lg);
  transition: transform 0.15s;
}
.btn-submit-b344a9:active { transform: scale(0.95); }
.contact-actions-7c6a9b {
  margin-top: var(--spacing-12);
  display: flex;
  gap: var(--spacing-4);
}
.action-btn-04c931 {
    padding: 0.75rem;
    border-radius: 0.75rem;
    font-weight: 700;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}
.action-btn-04c931:active {
  background-color: var(--primary-container);
  color: white;
}
.btn-secondary-8b57a1 {
    background-color: #f3f4f6;
    color: var(--text-main);
    flex: 1;
}
.btn-primary-action-778657 {
    background-color: var(--primary);
    color: white;
    flex: 1.5;
}

/* Footer */
footer {
  width: 100%;
  padding: var(--spacing-12) var(--spacing-6);
  /*margin-bottom: 6rem;*/
  background-color: #f1f5f9; /* slate-100 */
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--spacing-6);
  text-align: center;
}
.footer-links-a801a1 {
  /*display: flex;*/
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--spacing-6);
}
.footer-link-3d1658 {
  color: #64748b; /* slate-500 */
  font-size: 0.875rem;
  transition: color 0.15s;
}
.footer-link-3d1658:hover { color: #2563eb; }
.copyright-fabc45 {
  font-size: 0.875rem;
  color: #64748b;
}

/* Sticky Action Bar */
.sticky-actions-827545 {
    position: fixed;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    max-width: 480px;
    background-color: #ffffff;
    border-top: 1px solid #e5e7eb;
    padding: 0.75rem;
    display: flex;
    gap: 0.75rem;
    z-index: 50;
    box-shadow: 0 -4px 10px rgba(0, 0, 0, 0.05);
}

/* Bottom Nav */
.bottom-nav-123653 {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  display: flex;
  justify-content: space-around;
  align-items: center;
  padding: var(--spacing-3) var(--spacing-4) var(--spacing-6);
  background-color: rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  z-index: 50;
  border-top-left-radius: 1.5rem;
  border-top-right-radius: 1.5rem;
  box-shadow: 0 -4px 20px 0 rgba(0, 0, 0, 0.05);
}
.nav-item-c3bb97 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: var(--spacing-1) var(--spacing-3); /* adjusted */
  color: #94a3b8; /* slate-400 */
  transition: all 0.3s;
  cursor: pointer;
  border-radius: var(--radius-2xl);
}
.nav-item-c3bb97:hover { color: #1d4ed8; } /* blue-700 */
.nav-item-c3bb97.active {
  background-color: #eff6ff; /* blue-50 */
  color: #1e3a8a; /* blue-900 */
}
.nav-item-c3bb97 i { font-size: 1.5rem; }
.nav-text-9e08d6 {
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-top: 0.25rem;
}
