.elementor-4966 .elementor-element.elementor-element-a1d9ce5{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}/* Start custom CSS for html, class: .elementor-element-1345c63 */:root {
    --navy: #1C355E;
    --navy-deep: #12243E;
    --navy-mid: #2B4A7A;
    --blue-soft: #6A9BC3;
    --charcoal: #2D3748;
    --body-gray: #546478;
    --border-cool: #D0D9E4;
    --bg-light: #F8F9FA;
    --white: #FFFFFF;
  }

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

  body {
    font-family: 'Open Sans', sans-serif;
    color: #FFFFFF;
    background: var(--white);
    -webkit-font-smoothing: antialiased;
  }

  .font-heading { font-family: 'Montserrat', sans-serif; }
  .font-body { font-family: 'Open Sans', sans-serif; }

  .cs-page {
    min-height: 100vh;
    background: var(--navy);
    position: relative; overflow: hidden;
    display: -webkit-flex; display: flex;
    -webkit-flex-direction: column; flex-direction: column;
  }

  .cs-wash {
    position: absolute; top: 0; left: 0; right: 0; bottom: 0;
    background:
      radial-gradient(ellipse at 20% 30%, rgba(106,155,195,0.1) 0%, transparent 50%),
      radial-gradient(ellipse at 80% 70%, rgba(106,155,195,0.06) 0%, transparent 50%),
      radial-gradient(ellipse at 50% 100%, rgba(106,155,195,0.04) 0%, transparent 40%);
    pointer-events: none;
  }

  .cs-grid {
    position: absolute; top: 0; left: 0; right: 0; bottom: 0; opacity: 0.018;
    background-image:
      linear-gradient(rgba(255,255,255,1) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255,255,255,1) 1px, transparent 1px);
    background-size: 64px 64px; pointer-events: none;
  }

  .rule-light { width: 40px; height: 2px; background: rgba(255,255,255,0.2); }

  /* ── Animations (Safari prefixed) ── */
  @-webkit-keyframes riseIn {
    from { opacity: 0; -webkit-transform: translateY(24px); transform: translateY(24px); }
    to { opacity: 1; -webkit-transform: translateY(0); transform: translateY(0); }
  }
  @keyframes riseIn {
    from { opacity: 0; transform: translateY(24px); }
    to { opacity: 1; transform: translateY(0); }
  }
  @-webkit-keyframes pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.3; }
  }
  @keyframes pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.3; }
  }

  .rise-1 { -webkit-animation: riseIn 0.7s 0.15s both; animation: riseIn 0.7s 0.15s both; }
  .rise-2 { -webkit-animation: riseIn 0.7s 0.3s both; animation: riseIn 0.7s 0.3s both; }
  .rise-3 { -webkit-animation: riseIn 0.7s 0.45s both; animation: riseIn 0.7s 0.45s both; }
  .rise-4 { -webkit-animation: riseIn 0.7s 0.6s both; animation: riseIn 0.7s 0.6s both; }
  .rise-5 { -webkit-animation: riseIn 0.7s 0.75s both; animation: riseIn 0.7s 0.75s both; }
  .rise-6 { -webkit-animation: riseIn 0.7s 0.9s both; animation: riseIn 0.7s 0.9s both; }
  .rise-7 { -webkit-animation: riseIn 0.7s 1.05s both; animation: riseIn 0.7s 1.05s both; }

  /* ── Countdown boxes ── */
  .cd-item {
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.06);
    padding: 20px 24px; min-width: 90px;
    text-align: center;
  }

  /* ── Email form ── */
  .cs-input {
    -webkit-flex: 1; flex: 1;
    font-family: 'Open Sans', sans-serif;
    font-size: 14px; color: #FFFFFF;
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.1);
    border-right: none;
    padding: 16px 20px;
    outline: none;
    -webkit-appearance: none; appearance: none;
    transition: border-color 0.3s;
  }
  .cs-input::-webkit-input-placeholder { color: rgba(255,255,255,0.25); }
  .cs-input::placeholder { color: rgba(255,255,255,0.25); }
  .cs-input:focus { border-color: var(--blue-soft); }

  .cs-submit {
    font-family: 'Montserrat', sans-serif;
    font-size: 11px; font-weight: 700;
    letter-spacing: 2px; text-transform: uppercase;
    background: #FFFFFF; color: var(--navy);
    border: 1px solid #FFFFFF;
    padding: 16px 28px;
    cursor: pointer; transition: all 0.3s;
    white-space: nowrap;
    -webkit-appearance: none; appearance: none;
  }
  .cs-submit:hover { background: var(--blue-soft); color: #FFFFFF; border-color: var(--blue-soft); }

  /* ── Service pills ── */
  .cs-svc {
    display: -webkit-flex; display: flex;
    -webkit-align-items: center; align-items: center;
    gap: 10px; padding: 12px 20px;
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.06);
  }
  .cs-svc svg {
    width: 16px; height: 16px;
    stroke: var(--blue-soft); fill: none; stroke-width: 1.5;
    -webkit-flex-shrink: 0; flex-shrink: 0;
  }
  .cs-svc span {
    font-family: 'Montserrat', sans-serif;
    font-size: 12px; font-weight: 600;
    color: rgba(255,255,255,0.5); letter-spacing: 0.5px;
  }

  /* ── Responsive ── */
  @media (max-width: 768px) {
    .cs-topbar { -webkit-flex-direction: column; flex-direction: column; -webkit-align-items: flex-start; align-items: flex-start; gap: 12px; padding: 20px 24px !important; }
    .cs-main { padding: 40px 24px 48px !important; }
    .cs-main h1 { font-size: 36px !important; }
    .cs-form-row { -webkit-flex-direction: column; flex-direction: column; }
    .cs-input { border-right: 1px solid rgba(255,255,255,0.1) !important; border-bottom: none !important; }
    .cs-submit { width: 100%; }
    .cs-cd-row { gap: 4px !important; }
    .cd-item { min-width: 70px !important; padding: 16px 12px !important; }
    .cd-num { font-size: 28px !important; }
    .cs-svc-grid { -webkit-flex-direction: column; flex-direction: column; }
    .cs-footer { -webkit-flex-direction: column; flex-direction: column; -webkit-align-items: flex-start; align-items: flex-start; gap: 8px; padding: 20px 24px !important; }
    .cs-nav { display: none !important; }
    .cs-contact-row { -webkit-flex-direction: column; flex-direction: column; gap: 12px !important; }
    .cs-divider { display: none !important; }
  }
  
  .icon {
  width: 24px;
  height: 24px;
  stroke: #333; /* Dark Grey */
  transition: stroke 0.2s ease;
}

.icon:hover {
  stroke: #ff4757; /* Change to a nice red on hover */
}/* End custom CSS */