: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-50050e {
  max-width: 28rem; /* matches max-w-md */
  margin: 0 auto;
  padding: 0 var(--spacing-6);
}

.flex-bf2ed0 { display: flex; }
.flex-col-04567d { flex-direction: column; }
.items-center-cc3920 { align-items: center; }
.justify-between-0d2f66 { justify-content: space-between; }
.justify-center-834847 { justify-content: center; }
.gap-2-b99505 { gap: var(--spacing-2); }
.gap-4-981ee1 { gap: var(--spacing-4); }
.gap-6-0e8f14 { gap: var(--spacing-6); }
.gap-8-ad723a { gap: var(--spacing-8); }

.grid-1e06e2 { display: grid; }
.grid-cols-2-b2197c { grid-template-columns: repeat(2, 1fr); }
.grid-cols-1-1d726c { grid-template-columns: 1fr; }

.text-center-1efb3b { text-align: center; }
.uppercase-2565f4 { text-transform: uppercase; }
.relative-4245df { position: relative; }
.absolute-6e2fea { position: absolute; }
.fixed-606167 { position: fixed; }
.hidden-ab79ad { display: none; }
.overflow-hidden-964785 { overflow: hidden; }

/* Header */
.header-cc9f00 {
  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-6b28af {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--spacing-4) var(--spacing-6);
  max-width: 480px;
  margin: 0 auto;
}
.brand-0f56b4 {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  color: #1e3a8a; /* blue-900 */
}
.brand-0f56b4 i {
  font-size: 1.5rem;
}
.brand-0f56b4 span {
  font-size: 1.25rem;
  font-weight: 800;
  letter-spacing: -0.05em;
}
.btn-consult-598e65 {
  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-598e65:hover { opacity: 0.8; }
.btn-consult-598e65:active { transform: scale(0.95); }

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

/* Hero Section */
.hero-b5a3f1 {
  position: relative;
  padding: var(--spacing-16) var(--spacing-6);
  overflow: hidden;
}
.hero-bg-blur-976fa4 {
  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-e370b6 {
  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-511088 {
  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-73041b {
  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-6cb76a {
  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-907284 {
  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-a67234 {
  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-a67234:active { transform: scale(0.95); }
.btn-outline-7a9424 {
  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-b63adb {
  background-color: var(--surface-container-low);
  padding: var(--spacing-12) 0;
}
.section-title-7ffa40 {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--primary);
  margin-bottom: var(--spacing-8);
  text-align: center;
}
.card-c81a7f {
  background-color: var(--surface-container-lowest);
  padding: var(--spacing-4);
  border-radius: var(--radius-2xl);
  box-shadow: var(--shadow-sm);
}
.card-icon-1d8188 {
  font-size: 2.25rem; /* text-4xl approx */
  margin-bottom: var(--spacing-4);
  display: block;
}
.text-primary-e290b5 { color: var(--primary); }
.text-secondary-cd0c55 { color: var(--secondary); }
.text-tertiary-container-5d57fa { color: var(--tertiary-container); }
.card-c81a7f h3 {
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: var(--spacing-2);
}
.card-c81a7f p {
  color: var(--on-surface-variant);
  font-size: 0.875rem;
}
.card-c81a7f.border-secondary-e6904f {
  border: 2px solid rgba(27, 109, 36, 0.1);
}

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

/* Process */
.process-section-fa7267 {
  padding: var(--spacing-16) var(--spacing-6);
  background-color: var(--surface-container);
}
.timeline-ae1671 {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--spacing-8);
}
.timeline-line-e29100 {
  position: absolute;
  left: 1.5rem; /* left-6 */
  top: 2rem;
  bottom: 2rem;
  width: 2px;
  background-color: rgba(0, 49, 120, 0.1);
}
.step-item-fe3dd0 {
  position: relative;
  display: flex;
  gap: var(--spacing-6);
  align-items: center;
}
.step-number-f649e2 {
  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-f649e2.secondary-600322 {
  background-color: var(--secondary);
  box-shadow: 0 10px 15px -3px rgba(27, 109, 36, 0.2);
}
.step-card-93a4b3 {
  background-color: var(--surface-container-lowest);
  padding: var(--spacing-4);
  border-radius: var(--radius-2xl);
  flex: 1;
  box-shadow: var(--shadow-sm);
}
.step-card-93a4b3.border-secondary-e6904f {
  border: 1px solid rgba(27, 109, 36, 0.2);
}

/* Stats */
.stats-card-31286b {
  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-c761e8 {
  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-96af87 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--spacing-8);
}
.stat-label-50ade0 {
  color: var(--primary-fixed-dim);
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: var(--spacing-2);
}
.stat-value-a7e74e {
  font-size: 1.875rem;
  font-weight: 900;
  line-height: 1;
  letter-spacing: -0.05em;
}
.stat-desc-629386 {
  color: rgb(191, 219, 254); /* blue-200 */
  font-size: 0.75rem;
  margin-top: var(--spacing-1);
}

/* News */
.news-header-d5f6c1 {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: var(--spacing-8);
}
.view-all-c8fa97 {
  color: var(--primary);
  font-size: 0.875rem;
  font-weight: 700;
  display: flex;
  align-items: center;
}
.news-item-7883b9 {
  border-bottom: 1px solid rgba(195, 198, 212, 0.1);
  padding-bottom: var(--spacing-4);
  margin-bottom: var(--spacing-6);
}
.news-date-8608f8 {
  color: var(--secondary);
  font-size: 0.75rem;
  font-weight: 700;
  margin-bottom: var(--spacing-1);
}
.news-title-d8c4d0 {
  font-size: 1.125rem;
  font-weight: 700;
  margin-bottom: var(--spacing-2);
  transition: color 0.15s;
}
.news-item-7883b9:hover .news-title-d8c4d0 {
  color: var(--primary);
}
.news-excerpt-15dd51 {
  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-af0e62 {
  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-6312f8 {
  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-c7e23e{
    padding: var(--spacing-16) 0;
}
.testimonial-card-6e77ff {
  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-2d0816 {
  position: absolute;
  top: 1rem;
  right: 1rem;
  color: rgba(0, 49, 120, 0.2);
  font-size: 3.75rem;
}
.stars-038dc6 {
  display: flex;
  gap: var(--spacing-1);
  margin-bottom: var(--spacing-4);
  color: rgb(251, 191, 36); /* amber-400 */
  font-size: 0.875rem;
}
.quote-text-744542 {
  font-size: 0.875rem;
  font-style: italic;
  color: var(--on-surface-variant);
  margin-bottom: var(--spacing-6);
}
.client-info-475696 {
  display: flex;
  align-items: center;
  gap: var(--spacing-4);
}
.client-avatar-7e3be3 {
  width: 3rem;
  height: 3rem;
  border-radius: var(--radius-full);
  background-color: #e2e8f0;
  overflow: hidden;
}
.client-avatar-7e3be3 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Contact Form */
.form-group-6832ad {
  margin-bottom: var(--spacing-6);
}
.form-label-882db4 {
  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-102ae2, .form-select-5557f2 {
  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-102ae2:focus, .form-select-5557f2:focus {
  border-bottom-color: var(--primary);
}
.form-input-102ae2::placeholder {
  color: rgb(203, 213, 225);
}
.btn-submit-a9d3d9 {
  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-a9d3d9:active { transform: scale(0.95); }
.contact-actions-77e0a8 {
  margin-top: var(--spacing-12);
  display: flex;
  gap: var(--spacing-4);
}
.action-btn-812347 {
    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-812347:active {
  background-color: var(--primary-container);
  color: white;
}
.btn-secondary-ed21e6 {
    background-color: #f3f4f6;
    color: var(--text-main);
    flex: 1;
}
.btn-primary-action-ead17f {
    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-ae75bc {
  /*display: flex;*/
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--spacing-6);
}
.footer-link-f6f10f {
  color: #64748b; /* slate-500 */
  font-size: 0.875rem;
  transition: color 0.15s;
}
.footer-link-f6f10f:hover { color: #2563eb; }
.copyright-582710 {
  font-size: 0.875rem;
  color: #64748b;
}

/* Sticky Action Bar */
.sticky-actions-3ce606 {
    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-47b972 {
  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-0bfc5d {
  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-0bfc5d:hover { color: #1d4ed8; } /* blue-700 */
.nav-item-0bfc5d.active {
  background-color: #eff6ff; /* blue-50 */
  color: #1e3a8a; /* blue-900 */
}
.nav-item-0bfc5d i { font-size: 1.5rem; }
.nav-text-c82a98 {
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-top: 0.25rem;
}
