.elementor-3898 .elementor-element.elementor-element-7d63d47{--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;}.elementor-3898 .elementor-element.elementor-element-f1df1e0{--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-01753ff */: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; }
  html { scroll-behavior: smooth; }

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

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

  /* ── Hero ── */
  .hp-hero {
    background: var(--navy); position: relative; overflow: hidden;
    min-height: 100vh; display: flex; flex-direction: column; justify-content: center;
  }
  .hp-hero-wash {
    position: absolute; top: 0; left: 0; right: 0; bottom: 0;
    background:
      radial-gradient(ellipse at 80% 25%, rgba(106,155,195,0.07) 0%, transparent 55%),
      radial-gradient(ellipse at 15% 75%, rgba(106,155,195,0.04) 0%, transparent 50%);
    pointer-events: none;
  }
  .hp-hero-lines {
    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;
  }

  /* ── Staggered load ── */
  @keyframes riseIn {
    from { opacity: 0; transform: translateY(28px); }
    to { opacity: 1; transform: translateY(0); }
  }
  .rise-1 { animation: riseIn 0.7s 0.1s both; }
  .rise-2 { animation: riseIn 0.7s 0.25s both; }
  .rise-3 { animation: riseIn 0.7s 0.4s both; }
  .rise-4 { animation: riseIn 0.7s 0.55s both; }
  .rise-5 { animation: riseIn 0.7s 0.7s both; }

  /* ── Rules ── */
  .rule-light { width: 40px; height: 2px; background: rgba(255,255,255,0.2); }
  .rule-brand { width: 40px; height: 2px; background: var(--blue-soft); }

  /* ── Buttons ── */
  .btn {
    display: inline-flex; align-items: center; gap: 10px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700; font-size: 13px;
    letter-spacing: 1.5px; text-transform: uppercase;
    text-decoration: none; padding: 18px 40px;
    transition: all 0.3s; border: none; cursor: pointer;
  }
  .btn svg { width: 15px; height: 15px; stroke: currentColor; fill: none; stroke-width: 2; }

  /* ── Service cards ── */
  .hp-svc {
    background: var(--white); border: 1px solid var(--border-cool);
    display: flex; flex-direction: column;
    transition: box-shadow 0.4s, transform 0.4s;
  }
  .hp-svc:hover {
    box-shadow: 0 8px 32px rgba(28,53,94,0.07);
    transform: translateY(-2px);
  }

  .hp-svc-featured {
    border: 2px solid var(--navy); position: relative;
  }
  .hp-svc-featured::before {
    content: 'Q2 2026'; position: absolute; top: 0; right: 0;
    font-family: 'Montserrat', sans-serif;
    font-size: 9px; font-weight: 700; letter-spacing: 1.5px;
    background: var(--navy); color: var(--white); padding: 6px 14px;
  }
  
 


  /* ── Trust cards ── */
  .hp-trust {
    background: var(--bg-light); border: 1px solid var(--border-cool);
    text-align: center; position: relative;
    transition: box-shadow 0.4s;
  }
  .hp-trust::before {
    content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 2px;
    background: var(--blue-soft); transform: scaleX(0); transform-origin: left;
    transition: transform 0.4s;
  }
  .hp-trust:hover::before { transform: scaleX(1); }

  /* ── Responsive ── */
  /* ── Responsive ── */
@media (max-width: 1024px) {
  .pad-main {
    padding-left: 32px !important;
    padding-right: 32px !important;
  }

  .grid-2 {
    grid-template-columns: 1fr !important;
    gap: 48px !important;
  }

  .grid-3 {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  .grid-seg {
    grid-template-columns: 1fr !important;
  }

  .hp-hero .rise-4 {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 14px !important;
    margin-bottom: 56px !important;
  }

  .hp-hero .rise-4 .btn {
    width: 100% !important;
    justify-content: center !important;
    text-align: center !important;
    padding: 18px 24px !important;
  }

  .hero-stats-row {
    flex-direction: column !important;
  }

  .hero-stats-row > div {
    width: 100% !important;
    min-width: 0 !important;
    padding: 24px 0 !important;
    border-right: none !important;
    border-bottom: 1px solid rgba(255,255,255,0.06) !important;
  }

  .hero-stats-row > div:last-child {
    border-bottom: none !important;
  }

  .grid-process {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 36px 20px !important;
  }

  .grid-process > div:first-child {
    display: none !important;
  }

  .hp-pitch-points {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 20px 28px !important;
  }

  .hp-svc-featured {
    grid-column: auto !important;
  }
}

@media (max-width: 768px) {
  .pad-main {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .hp-hero {
    min-height: auto;
  }

  .hp-hero h1 {
    font-size: 36px !important;
  }

  .grid-3 {
    grid-template-columns: 1fr !important;
  }

  .hp-hero .rise-4 .btn {
    font-size: 12px !important;
    letter-spacing: 1.2px !important;
    padding: 16px 20px !important;
  }

  .grid-process {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  .grid-process > div:not(:first-child) {
    max-width: 340px;
    margin: 0 auto;
    padding: 0 !important;
  }

  .grid-process > div:not(:first-child) p {
    font-size: 14px !important;
    line-height: 1.7 !important;
  }

  .hp-pitch-points {
    grid-template-columns: 1fr !important;
  }

  .hp-final-cta {
    padding: 72px 20px !important;
  }

  .hp-final-cta h2 {
    font-size: 28px !important;
    line-height: 1.08 !important;
    margin-bottom: 18px !important;
  }

  .hp-final-cta p {
    font-size: 15px !important;
    line-height: 1.75 !important;
    max-width: 420px !important;
    margin: 0 auto 32px !important;
  }

  .hp-trust {
    padding: 36px 22px !important;
  }
}/* End custom CSS */