.elementor-2170 .elementor-element.elementor-element-979c99f > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-2170 .elementor-element.elementor-element-0ab7e43 > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-2170 .elementor-element.elementor-element-d169cfc > .elementor-element-populated{padding:0px 0px 0px 0px;}/* Start custom CSS */*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

    :root {
      --background:           #f9fafb;
      --foreground:           #0e171e;
      --card:                 #ffffff;
      --card-foreground:      #0e171e;
      --primary:              #003f64;
      --primary-foreground:   #f8f8f8;
      --secondary:            #ecf3f8;
      --secondary-foreground: #19232a;
      --muted:                #e5ecf1;
      --muted-foreground:     #59656e;
      --accent:               #00848b;
      --accent-foreground:    #f8f8f8;
      --border:               #d8dfe4;
      --ring:                 #003f64;
      --chart-1:              #003f64;
      --chart-2:              #00848b;
      --chart-3:              #006077;
      --chart-4:              #00a892;
      --chart-5:              #3e668f;
      --radius:               0.5rem;
    }

    body {
      font-family: 'Geist', ui-sans-serif, system-ui, sans-serif;
      background-color: var(--background);
      color: var(--foreground);
      line-height: 1.5;
      -webkit-font-smoothing: antialiased;
    }
    a { text-decoration: none; color: inherit; }
    ul { list-style: none; }
    img { max-width: 100%; display: block; }

    /* ── HEADER ── */
    header {
      position: sticky; top: 0; z-index: 50; width: 100%;
      border-bottom: 1px solid rgba(216,223,228,0.4);
      background-color: rgba(255,255,255,0.95);
      backdrop-filter: blur(8px);
    }
    .header-inner {
      display: flex; height: 4rem; max-width: 80rem;
      margin: 0 auto; padding: 0 1rem;
      align-items: center; justify-content: space-between;
    }
    @media (min-width:640px)  { .header-inner { padding: 0 1.5rem; } }
    @media (min-width:1024px) { .header-inner { padding: 0 2rem; } }

    .logo img { height: 3rem; width: auto; }
    .logo-text { display:none; font-size:1.25rem; font-weight:700; color:var(--primary); }

    nav { display:none; align-items:center; gap:2rem; }
    @media (min-width:768px) { nav { display:flex; } }

    .nav-link { font-size:.875rem; font-weight:500; color:var(--muted-foreground); transition:color .15s; }
    .nav-link:hover { color:var(--primary); }

    .dropdown { position:relative; }
    .dropdown-trigger {
      display:flex; align-items:center; gap:.25rem;
      font-size:.875rem; font-weight:500; color:var(--muted-foreground);
      background:none; border:none; font-family:inherit; cursor:pointer; transition:color .15s;
    }
    .dropdown-trigger:hover { color:var(--primary); }
    .dropdown-trigger svg { transition:transform .2s; }
    .dropdown:hover .dropdown-trigger svg { transform:rotate(180deg); }
    .dropdown-menu {
      position:absolute; left:0; top:100%; padding-top:.5rem;
      opacity:0; visibility:hidden; transition:opacity .2s, visibility .2s;
    }
    .dropdown:hover .dropdown-menu { opacity:1; visibility:visible; }
    .dropdown-inner {
      width:14rem; border-radius:.5rem; border:1px solid var(--border);
      background:var(--card); padding:.5rem;
      box-shadow:0 10px 15px -3px rgba(0,0,0,.1);
    }
    .dropdown-item {
      display:flex; align-items:center; gap:.75rem; border-radius:.375rem;
      padding:.625rem .75rem; font-size:.875rem; font-weight:500;
      color:var(--muted-foreground); transition:background .15s, color .15s;
    }
    .dropdown-item:hover { background:var(--secondary); color:var(--primary); }

    .btn-primary {
      display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
      border-radius:var(--radius); font-size:.875rem; font-weight:500;
      background:var(--primary); color:var(--primary-foreground);
      padding:.5rem 1rem; height:2.25rem; border:none; cursor:pointer;
      font-family:inherit; transition:opacity .15s; white-space:nowrap;
    }
    .btn-primary:hover { opacity:.88; color:var(--primary-foreground); }

    .btn-primary-lg {
      display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
      border-radius:var(--radius); font-size:.875rem; font-weight:500;
      background:var(--primary); color:var(--primary-foreground);
      padding:.5rem 1.5rem; height:2.5rem; transition:opacity .15s;
    }
    .btn-primary-lg:hover { opacity:.88; color:var(--primary-foreground); }

    .btn-secondary {
      display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
      border-radius:var(--radius); font-size:.875rem; font-weight:500;
      background:var(--secondary); color:var(--secondary-foreground);
      padding:.5rem 1.5rem; height:2.5rem; transition:opacity .15s;
    }
    .btn-secondary:hover { opacity:.82; }

    .mobile-btn {
      display:flex; align-items:center; justify-content:center;
      width:2.25rem; height:2.25rem; border-radius:var(--radius);
      background:none; border:none; cursor:pointer; color:var(--foreground); transition:background .15s;
    }
    .mobile-btn:hover { background:var(--muted); }
    @media (min-width:768px) { .mobile-btn { display:none; } }

    .mobile-nav {
      display:none; flex-direction:column; padding:1rem; gap:.5rem;
      border-top:1px solid var(--border); background:var(--card);
    }
    .mobile-nav.open { display:flex; }
    @media (min-width:768px) { .mobile-nav { display:none !important; } }
    .mobile-link {
      display:block; padding:.625rem .75rem; font-size:.875rem; font-weight:500;
      color:var(--muted-foreground); border-radius:var(--radius); transition:background .15s, color .15s;
    }
    .mobile-link:hover { background:var(--secondary); color:var(--primary); }

    /* ── HERO ── */
    .hero {
      position:relative; overflow:hidden;
      background:linear-gradient(to bottom, rgba(0,63,100,.05), var(--background) 60%);
    }
    .hero-grid {
      display: none;
    }
    .hero-content {
      position:relative; z-index:1;
      max-width:80rem; margin:0 auto; padding:5rem 1rem;
    }
    @media (min-width:640px)  { .hero-content { padding:7rem 1.5rem; } }
    @media (min-width:1024px) { .hero-content { padding:9rem 2rem; } }

    .hero-text { max-width:56rem; margin:0 auto; text-align:center; }

    .badge-pill {
      display:inline-flex; align-items:center; gap:.5rem; border-radius:9999px;
      border:1px solid rgba(0,63,100,.2); background:rgba(0,63,100,.05);
      padding:.375rem 1rem; font-size:.875rem; font-weight:500;
      color:var(--primary); margin-bottom:1.5rem;
    }
    h1 { font-size:2.25rem; font-weight:700; letter-spacing:-.025em; line-height:1.2; color:var(--foreground); }
    @media (min-width:640px)  { h1 { font-size:3rem; } }
    @media (min-width:1024px) { h1 { font-size:3.75rem; } }
    .text-primary { color:var(--primary); }

    .hero-desc {
      margin:1.5rem auto 0; max-width:42rem;
      font-size:1.125rem; line-height:1.75; color:var(--muted-foreground);
    }
    @media (min-width:640px) { .hero-desc { font-size:1.25rem; } }
    .hero-cta { margin-top:2.5rem; display:flex; justify-content:center; }

    .tiles {
      display:grid; grid-template-columns:repeat(2,1fr);
      gap:1rem; max-width:48rem; margin:4rem auto 0;
    }
    @media (min-width:640px) { .tiles { grid-template-columns:repeat(4,1fr); gap:1.5rem; } }
    .tile {
      display:flex; flex-direction:column; align-items:center; gap:.75rem;
      border-radius:.5rem; border:1px solid rgba(216,223,228,.5);
      background:var(--card); padding:1rem;
      box-shadow:0 1px 2px rgba(0,0,0,.05); transition:border-color .2s, box-shadow .2s;
    }
    @media (min-width:640px) { .tile { padding:1.5rem; } }
    .tile:hover { border-color:rgba(0,63,100,.3); box-shadow:0 4px 6px rgba(0,0,0,.07); }
    .icon-circle {
      display:flex; align-items:center; justify-content:center;
      width:3rem; height:3rem; border-radius:9999px;
      background:rgba(0,63,100,.1); color:var(--primary);
    }
    .tile-label { font-size:.875rem; font-weight:500; text-align:center; color:var(--foreground); }

    /* ── SERVICES ── */
    .services { background:rgba(229,236,241,.3); padding:5rem 0; }
    @media (min-width:640px) { .services { padding:7rem 0; } }

    .container { max-width:80rem; margin:0 auto; padding:0 1rem; }
    @media (min-width:640px)  { .container { padding:0 1.5rem; } }
    @media (min-width:1024px) { .container { padding:0 2rem; } }

    .section-hd { max-width:48rem; margin:0 auto; text-align:center; }
    h2 { font-size:1.875rem; font-weight:700; letter-spacing:-.025em; color:var(--foreground); }
    @media (min-width:640px) { h2 { font-size:2.25rem; } }
    .section-desc { margin-top:1rem; font-size:1.125rem; line-height:1.75; color:var(--muted-foreground); }

    .cards { display:grid; gap:1.5rem; margin-top:4rem; }
    @media (min-width:768px) { .cards { grid-template-columns:repeat(2,1fr); } }

    .card {
      background:var(--card); color:var(--card-foreground);
      border-radius:.75rem; border:1px solid var(--border);
      padding:1.5rem 0; box-shadow:0 1px 2px rgba(0,0,0,.05);
      display:flex; flex-direction:column; gap:1.5rem;
      position:relative; overflow:hidden; transition:box-shadow .2s;
    }
    .card:hover { box-shadow:0 10px 15px rgba(0,0,0,.1); }
    .card-hd { padding:0 1.5rem 1rem; }
    .card-hd-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:1rem; }

    .icon-sq { display:flex; align-items:center; justify-content:center; width:3rem; height:3rem; border-radius:.5rem; }
    .ic1 { background:rgba(0,63,100,.1);  color:var(--chart-1); }
    .ic2 { background:rgba(0,132,139,.1); color:var(--chart-2); }
    .ic3 { background:rgba(0,96,119,.1);  color:var(--chart-3); }
    .ic4 { background:rgba(0,168,146,.1); color:var(--chart-4); }

    .badges { display:flex; gap:.5rem; flex-wrap:wrap; }
    .badge {
      display:inline-flex; align-items:center; border-radius:.375rem;
      border:1px solid transparent; padding:.125rem .5rem;
      font-size:.75rem; font-weight:500;
      background:var(--secondary); color:var(--secondary-foreground);
    }
    .card-title {
      font-size:1.25rem; font-weight:600;
      display:flex; align-items:center; gap:.5rem; color:var(--foreground);
    }
    .card-sub { font-size:.875rem; font-weight:400; color:var(--muted-foreground); }
    .card-desc { font-size:1rem; color:var(--muted-foreground); margin-top:.25rem; }
    .card-body { padding:0 1.5rem; }
    .features { margin-bottom:1.5rem; display:flex; flex-direction:column; gap:.5rem; }
    .feature { display:flex; align-items:center; gap:.5rem; font-size:.875rem; color:var(--muted-foreground); }
    .chk { flex-shrink:0; color:var(--primary); }

    .btn-card {
      display:flex; align-items:center; justify-content:center; gap:.5rem;
      width:100%; height:2.25rem; border-radius:var(--radius);
      border:1px solid var(--border); background:var(--card); color:var(--foreground);
      font-size:.875rem; font-weight:500; font-family:inherit; transition:background .2s, color .2s;
    }
    .card:hover .btn-card { background:var(--primary); color:var(--primary-foreground); }
    .btn-card svg { transition:transform .2s; }
    .card:hover .btn-card svg { transform:translateX(4px); }

    /* ── CONTACT ── */
    .contact { padding:5rem 0; }
    @media (min-width:640px) { .contact { padding:7rem 0; } }
    .contact-grid { display:grid; gap:2rem; margin-top:4rem; }
    @media (min-width:1024px) { .contact-grid { grid-template-columns:repeat(2,1fr); } }
    .contact-items { display:grid; gap:.75rem; }
    @media (min-width:640px) { .contact-items { grid-template-columns:repeat(2,1fr); } }
    .contact-item {
      display:flex; align-items:center; gap:.75rem; border-radius:.5rem;
      border:1px solid rgba(216,223,228,.5); padding:.75rem; color:inherit;
      transition:border-color .2s, background .2s;
    }
    .contact-item:hover { border-color:rgba(0,63,100,.3); background:rgba(0,63,100,.05); }
    .contact-item svg { color:var(--primary); flex-shrink:0; }
    .contact-label { font-size:.875rem; font-weight:500; }
    .contact-email { font-size:.75rem; color:var(--muted-foreground); }

    .cta-card {
      border-radius:.75rem; border:1px solid var(--border);
      padding:1.5rem; box-shadow:0 1px 2px rgba(0,0,0,.05);
      display:flex; flex-direction:column; justify-content:center; gap:1.5rem;
      background:var(--primary); color:var(--primary-foreground);
    }
    .cta-title { font-size:1.5rem; font-weight:600; color:var(--primary-foreground); }
    .cta-desc  { font-size:.875rem; color:rgba(248,248,248,.8); margin-top:.25rem; }
    .cta-list  { display:flex; flex-direction:column; gap:.75rem; }
    .cta-item  { display:flex; align-items:center; gap:.5rem; color:rgba(248,248,248,.9); font-size:.9375rem; }
    .cta-dot   { width:.375rem; height:.375rem; border-radius:9999px; background:var(--primary-foreground); flex-shrink:0; }

    /* ── FOOTER ── */
    footer { border-top:1px solid var(--border); background:var(--card); }
    .footer-inner { max-width:80rem; margin:0 auto; padding:3rem 1rem; }
    @media (min-width:640px)  { .footer-inner { padding:3rem 1.5rem; } }
    @media (min-width:1024px) { .footer-inner { padding:3rem 2rem; } }
    .footer-grid { display:grid; gap:2rem; }
    @media (min-width:768px)  { .footer-grid { grid-template-columns:repeat(2,1fr); } }
    @media (min-width:1024px) { .footer-grid { grid-template-columns:2fr 1fr 1fr; } }
    .footer-heading { font-size:.875rem; font-weight:600; color:var(--foreground); margin-bottom:1rem; }
    .footer-link { font-size:.875rem; color:var(--muted-foreground); display:block; margin-bottom:.5rem; transition:color .15s; }
    .footer-link:hover { color:var(--primary); }
    .footer-bottom {
      margin-top:3rem; padding-top:2rem; border-top:1px solid var(--border);
      display:flex; flex-direction:column; align-items:center; justify-content:space-between; gap:1rem;
    }
    @media (min-width:640px) { .footer-bottom { flex-direction:row; } }
    .footer-copy { font-size:.875rem; color:var(--muted-foreground); }
    .footer-legal { display:flex; gap:1.5rem; }
    .footer-legal a { font-size:.875rem; color:var(--muted-foreground); transition:color .15s; }
    .footer-legal a:hover { color:var(--primary); }

    /* ── RESPONSIVE FIXES ── */
    body { overflow-x: hidden; }
    .hero, .services, .contact, footer { overflow-x: hidden; }

    /* Cards never overflow */
    .card { min-width: 0; }
    .card-title { flex-wrap: wrap; }
    .badges { justify-content: flex-end; }
    .feature { align-items: flex-start; }
    .feature svg { margin-top: .1rem; }
    .tile-label { word-break: break-word; }

    /* Logo max-width on small screens */
    .logo img { max-height: 3rem; max-width: 160px; }

    /* Very small screens (< 480px) */
    @media (max-width:480px) {
      h1 { font-size: 1.875rem; }
      h2 { font-size: 1.5rem; }
      .section-desc { font-size: 1rem; }
      .hero-desc { font-size: 1rem; }
      .badge-pill { font-size: .8rem; padding: .3rem .75rem; }
      .hero-content { padding: 3.5rem 1rem; }
      .services { padding: 3rem 0; }
      .contact  { padding: 3rem 0; }
      /* Card header: let badges wrap below icon */
      .card-hd-top { flex-wrap: wrap; gap: .75rem; }
      /* Contact email: prevent overflow */
      .contact-email { word-break: break-all; font-size: .7rem; }
      /* Contact items: single column */
      .contact-items { grid-template-columns: 1fr; }
      /* CTA button: full width */
      .cta-card .btn-secondary { width: 100% !important; justify-content: center; }
      /* Footer */
      .footer-legal { flex-direction: column; gap: .75rem; align-items: center; }
      .footer-bottom { text-align: center; }
    }/* End custom CSS */