.elementor-2154 .elementor-element.elementor-element-f012bf6 > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-2154 .elementor-element.elementor-element-a3ae4d6 > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-2154 .elementor-element.elementor-element-c35bd83 > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-2154 .elementor-element.elementor-element-6ae1a40 > .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;
      --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;
      overflow-x: hidden;
    }
    a { text-decoration: none; color: inherit; }
    ul { list-style: none; }
    img { max-width: 100%; display: block; }

    /* ── TOP BAR ── */
    

    /* ── NAV ── */
    

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

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

    .btn-lg-outline {
      display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
      height: 2.5rem; padding: .5rem 2rem;
      border-radius: var(--radius); font-size: 1rem; font-weight: 500;
      background: var(--background); color: var(--foreground);
      border: 1px solid var(--border); cursor: pointer; font-family: inherit;
      transition: background .15s, color .15s; white-space: nowrap;
    }
    .btn-lg-outline:hover { background: var(--accent); color: var(--accent-foreground); }

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

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

    .mobile-menu-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);
    }
    

    /* ── HERO ── */
    .hero {
      position: relative; padding: 7rem 0 2rem;
      overflow: hidden;
    }
    @media (min-width:768px) { .hero { padding: 9rem 0 3rem; } }
    .hero-bg {
      position: absolute; inset: 0; z-index: 0;
      background: radial-gradient(ellipse at top, rgba(0,132,139,.05) 0%, var(--background) 60%);
    }
    .hero-inner {
      position: relative; z-index: 1;
      max-width: 80rem; margin: 0 auto; padding: 0 1.5rem;
    }
    @media (min-width:1024px) { .hero-inner { padding: 0 2rem; } }

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

    .badge-outline {
      display: inline-flex; align-items: center; gap: .375rem;
      border: 1px solid var(--border); border-radius: .375rem;
      padding: .375rem 1rem; font-size: .75rem; font-weight: 500;
      color: var(--muted-foreground); margin-bottom: 1.5rem;
    }

    h1 {
      font-size: 3rem; font-weight: 700; letter-spacing: -.025em;
      line-height: 1.1; color: var(--foreground);
    }
    @media (min-width:640px)  { h1 { font-size: 3.75rem; } }
    @media (min-width:1024px) { h1 { font-size: 4.5rem; } }
    .text-accent { color: var(--accent); }

    .hero-sub {
      margin: 1.5rem auto 0; max-width: 48rem;
      font-size: 1.25rem; line-height: 1.75; color: var(--muted-foreground);
    }

    .hero-btns {
      margin-top: 2.5rem;
      display: flex; flex-direction: column; align-items: center;
      justify-content: center; gap: 1rem;
    }
    @media (min-width:640px) { .hero-btns { flex-direction: row; } }
    .hero-btns a { width: 100%; }
    @media (min-width:640px) { .hero-btns a { width: auto; } }

    /* stat tiles */
    .stat-tiles {
      display: grid; grid-template-columns: 1fr;
      gap: 1.5rem; max-width: 56rem; margin: 5rem auto 2rem;
    }
    @media (min-width:640px) { .stat-tiles { grid-template-columns: repeat(3,1fr); } }
    .stat-tile {
      text-align: center; background: var(--card);
      border: 1px solid var(--border); border-radius: .75rem;
      padding: 1.5rem; box-shadow: 0 1px 2px rgba(0,0,0,.05);
      transition: box-shadow .2s, border-color .2s;
    }
    .stat-tile:hover { box-shadow: 0 4px 8px rgba(0,0,0,.08); border-color: rgba(0,132,139,.3); }
    .stat-value { font-size: 1.25rem; font-weight: 700; color: var(--foreground); white-space: nowrap; }
    .stat-label { margin-top: .5rem; font-size: 1rem; color: var(--muted-foreground); }

    /* ── SERVICES ── */
    .services { padding: 2.5rem 0 3.5rem; }
    @media (min-width:768px) { .services { padding: 3.5rem 0 5rem; } }

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

    .section-label {
      font-size: 1rem; font-weight: 600; text-transform: uppercase;
      letter-spacing: .1em; color: var(--accent); text-align: center;
      margin-bottom: .75rem;
    }
    h2 {
      font-size: 1.875rem; font-weight: 700; letter-spacing: -.025em;
      color: var(--foreground); line-height: 1.2;
    }
    @media (min-width:640px) { h2 { font-size: 2.5rem; } }
    @media (min-width:1024px) { h2 { font-size: 3rem; } }
    .section-center { text-align: center; margin-bottom: 3rem; }
    .section-desc {
      margin-top: 1rem; font-size: 1.125rem; line-height: 1.75;
      color: var(--muted-foreground); max-width: 48rem; margin-left: auto; margin-right: auto;
    }

    /* service body.elementor-page-2154 */
    .svc-body.elementor-page-2154 {
      display: flex; flex-direction: column; align-items: center; gap: .75rem;
      margin-bottom: 3rem;
    }
    @media (min-width:640px) { .svc-body.elementor-page-2154 { flex-direction: row; justify-content: center; } }
    .svc-select {
      width: 100%; max-width: 18rem;
      height: 2.25rem; padding: 0 1rem;
      border: 1px solid var(--border); border-radius: var(--radius);
      background: var(--background); color: var(--foreground);
      font-size: .875rem; font-family: inherit; cursor: pointer;
      appearance: none;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2359656e' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
      background-repeat: no-repeat; background-position: right .75rem center;
      padding-right: 2.5rem;
    }

    /* service cards grid */
    .svc-grid { display: grid; gap: 1.5rem; }
    @media (min-width:768px) { .svc-grid { grid-template-columns: repeat(3,1fr); } }

    .svc-card {
      background: var(--card); border: 1px solid var(--border);
      border-radius: .75rem; padding: 1.5rem 0;
      box-shadow: 0 1px 2px rgba(0,0,0,.05);
      display: flex; flex-direction: column; gap: 1.5rem;
      transition: box-shadow .3s, transform .3s;
      position: relative; overflow: hidden;
    }
    .svc-card:hover {
      box-shadow: 0 10px 20px rgba(0,0,0,.1);
      transform: translateY(-4px);
    }
    .svc-card-hd { padding: 0 1.5rem 1rem; }
    .svc-icon {
      display: inline-flex; align-items: center; justify-content: center;
      width: 3rem; height: 3rem; border-radius: .5rem;
      background: rgba(0,63,100,.05); color: var(--primary);
      margin-bottom: 1rem; transition: background .2s, color .2s;
    }
    .svc-card:hover .svc-icon { background: rgba(0,132,139,.1); color: var(--accent); }
    .svc-title { font-size: 1.25rem; font-weight: 600; color: var(--foreground); }
    .svc-desc { font-size: .875rem; color: var(--muted-foreground); line-height: 1.6; margin-top: .25rem; }
    .svc-body { padding: 0 1.5rem; flex: 1; }
    .svc-list { display: flex; flex-direction: column; gap: .625rem; }
    .svc-item {
      display: flex; align-items: flex-start; gap: .5rem;
      font-size: .875rem; color: var(--foreground);
    }
    .svc-dot {
      margin-top: .375rem; width: .375rem; height: .375rem;
      border-radius: 9999px; background: var(--accent); flex-shrink: 0;
    }

    /* ── WHY ACB ── */
    .why-acb {
      background: rgba(236,243,248,.5);
      padding: 3.5rem 0 5rem;
    }
    @media (min-width:768px) { .why-acb { padding: 5rem 0; } }

    .prose-card {
      background: var(--card); border: 1px solid var(--border);
      border-radius: 1rem; padding: 2rem;
      box-shadow: 0 1px 2px rgba(0,0,0,.05);
      max-width: 56rem; margin: 0 auto 3rem;
    }
    @media (min-width:768px) { .prose-card { padding: 2.5rem; } }
    .prose-card p { font-size: 1.125rem; color: var(--muted-foreground); line-height: 1.75; }
    .prose-card p + p { margin-top: 1rem; }
    .prose-list { margin-top: 1.5rem; display: flex; flex-direction: column; gap: 1rem; }
    .prose-item { display: flex; gap: .75rem; }
    .prose-item svg { flex-shrink: 0; margin-top: .125rem; color: var(--accent); }
    .prose-item strong { color: var(--foreground); }
    .prose-item span { color: var(--muted-foreground); }

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

    .why-card { text-align: center; }
    .why-icon-wrap {
      display: inline-flex; align-items: center; justify-content: center;
      width: 4rem; height: 4rem; border-radius: .75rem;
      background: var(--card); border: 1px solid var(--border);
      box-shadow: 0 1px 2px rgba(0,0,0,.05);
      margin-bottom: 1rem; transition: box-shadow .2s, border-color .2s;
    }
    .why-card:hover .why-icon-wrap { box-shadow: 0 4px 8px rgba(0,0,0,.08); border-color: rgba(0,132,139,.5); }
    .why-icon-wrap svg { color: var(--accent); }
    h3 { font-size: 1.25rem; font-weight: 600; color: var(--foreground); }
    .why-desc { margin-top: .5rem; font-size: 1rem; color: var(--muted-foreground); line-height: 1.6; }

    /* ── CONTACT / CTA ── */
    .contact-section { padding: 3.5rem 0 5rem; }
    @media (min-width:768px) { .contact-section { padding: 5rem 0; } }

    .cta-block {
      background: var(--primary); border-radius: 1rem;
      padding: 3rem 2rem;
      text-align: center;
      max-width: 64rem; margin: 0 auto;
    }
    @media (min-width:768px) { .cta-block { padding: 4rem; } }
    .cta-h2 { font-size: 1.875rem; font-weight: 700; color: var(--primary-foreground); line-height: 1.2; }
    @media (min-width:640px)  { .cta-h2 { font-size: 2.5rem; } }
    @media (min-width:1024px) { .cta-h2 { font-size: 3rem; } }
    .cta-sub { margin-top: 1rem; font-size: 1.25rem; color: rgba(248,248,248,.8); line-height: 1.75; max-width: 48rem; margin-left: auto; margin-right: auto; }
    .cta-btns {
      margin-top: 2rem; display: flex; flex-direction: column;
      align-items: center; justify-content: center; gap: 1rem;
    }
    @media (min-width:640px) { .cta-btns { flex-direction: row; } }
    .cta-btns a { width: 100%; }
    @media (min-width:640px) { .cta-btns a { width: auto; } }

    /* contact info */
    .contact-info {
      margin-top: 5rem;
      display: grid; gap: 1.5rem; text-align: center;
      grid-template-columns: 1fr;
    }
    @media (min-width:640px) { .contact-info { grid-template-columns: repeat(3,1fr); } }
    .contact-item { display: flex; flex-direction: column; align-items: center; gap: .75rem; }
    .contact-icon {
      display: flex; align-items: center; justify-content: center;
      width: 3.5rem; height: 3.5rem; border-radius: .5rem;
      background: rgba(0,132,139,.1); color: var(--accent);
    }
    .contact-label { font-size: 1rem; font-weight: 500; color: var(--foreground); }
    .contact-value { font-size: 1rem; color: var(--muted-foreground); }

    /* ── FOOTER ── */
    footer { border-top: 1px solid var(--border); background: var(--card); }
    .footer-inner {
      max-width: 80rem; margin: 0 auto;
      padding: 3rem 1.5rem;
    }
    @media (min-width:1024px) { .footer-inner { padding: 3rem 2rem; } }

    .footer-grid {
      display: grid; gap: 2rem;
      grid-template-columns: repeat(2, 1fr);
    }
    @media (min-width:768px) { .footer-grid { grid-template-columns: repeat(5, 1fr); } }

    .footer-brand { grid-column: span 2; }
    @media (min-width:768px) { .footer-brand { grid-column: span 1; } }
    .footer-brand img { height: 2.5rem; width: auto; margin-bottom: 1rem; }
    .footer-brand p { font-size: .875rem; color: var(--muted-foreground); line-height: 1.6; }

    .footer-col h4 { font-size: .875rem; font-weight: 600; color: var(--foreground); margin-bottom: .75rem; }
    .footer-col ul { display: flex; flex-direction: column; gap: .5rem; }
    .footer-col a {
      font-size: .875rem; color: var(--muted-foreground);
      transition: color .15s;
    }
    .footer-col a:hover { color: var(--foreground); }

    .footer-sep { height: 1px; background: var(--border); margin: 2rem 0; }
    .footer-bottom {
      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); }

    /* ── RESPONSIVE FIXES ── */

    /* Prevent all horizontal overflow */
    body { overflow-x: hidden; }

    /* Nav brand: truncate long name on small screens */
    .nav-brand { min-width: 0; overflow: hidden; }
    .nav-brand-name {
      overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
      max-width: 200px;
    }
    @media (min-width: 480px) { .nav-brand-name { max-width: 100%; } }

    /* Stat tiles: allow text to wrap if needed */
    .stat-tile { min-width: 0; }
    .stat-value { white-space: normal; word-break: break-word; font-size: 1.1rem; }
    @media (min-width: 640px) { .stat-value { font-size: 1.25rem; } }

    /* Service cards: never overflow */
    .svc-card { min-width: 0; }
    .svc-title { word-break: break-word; }

    /* Why grid: 1 col on mobile, 2 col on tablet, 4 col on desktop */
    .why-grid { grid-template-columns: 1fr; }
    @media (min-width: 640px) { .why-grid { grid-template-columns: repeat(2,1fr); } }
    @media (min-width: 1024px) { .why-grid { grid-template-columns: repeat(4,1fr); } }

    /* Footer grid: better intermediate step */
    @media (min-width: 640px) and (max-width: 767px) {
      .footer-grid { grid-template-columns: repeat(3, 1fr); }
      .footer-brand { grid-column: span 3; }
    }

    /* Prose card: readable on all sizes */
    .prose-card { word-break: break-word; }

    /* CTA sub text size on mobile */
    .cta-sub { font-size: 1rem; }
    @media (min-width: 640px) { .cta-sub { font-size: 1.25rem; } }

    /* Contact value: allow email to break */
    .contact-value { word-break: break-all; font-size: .9rem; }
    @media (min-width: 640px) { .contact-value { word-break: normal; font-size: 1rem; } }

    /* Small screen (< 480px) overrides */
    @media (max-width: 480px) {
      h1 { font-size: 2.25rem; }
      h2 { font-size: 1.75rem; }
      .hero-sub { font-size: 1rem; }
      .hero { padding: 5rem 0 2rem; }
      .footer-brand { grid-column: span 2; }
      .cta-block { padding: 2rem 1.25rem; }
      .prose-card { padding: 1.5rem; }
      .badge-outline { font-size: .7rem; padding: .3rem .75rem; }
      .section-desc { font-size: 1rem; }
      .footer-col a { font-size: .8rem; }
    }
  </style>/* End custom CSS */