.elementor-51 .elementor-element.elementor-element-71ce82e1{--display:flex;--min-height:0px;--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;--justify-content:flex-start;}.elementor-51 .elementor-element.elementor-element-71ce82e1.e-con{--align-self:flex-start;}/* Start custom CSS for html, class: .elementor-element-25fa0c74 */*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

    :root {
      --navy-deep: #0a1628;
      --navy:      #0d1f3c;
      --navy-mid:  #122547;
      --blue:      #1a4a8a;
      --blue-bright: #2563c7;
      --accent:    #3b82f6;
      --accent-light: #60a5fa;
      --white:     #ffffff;
      --off-white: #e8eef8;
      --muted:     #8a9bbf;
      --border:    rgba(59,130,246,0.2);
    }

    html, body {
      height: 100vh;
      background: var(--navy-deep);
      color: var(--white);
      font-family: 'Open Sans', sans-serif;
      font-weight: 300;
      overflow-x: hidden;
    }

    /* ── BACKGROUND ── */
    .bg-wrap {
      position: fixed; inset: 0; z-index: 0;
      background:
        radial-gradient(ellipse 80% 60% at 50% -10%, rgba(26,74,138,0.55) 0%, transparent 70%),
        radial-gradient(ellipse 40% 40% at 90% 80%, rgba(37,99,199,0.2) 0%, transparent 60%),
        linear-gradient(180deg, #0a1628 0%, #0d1f3c 50%, #0a1628 100%);
    }

    /* city silhouette */
    .bg-city {
      position: fixed;
      bottom: 0; left: 0; right: 0;
      height: 30vh;
      z-index: 0;
      background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 200'%3E%3Cpath fill='%230d1f3c' d='M0,200 L0,120 L40,120 L40,80 L60,80 L60,60 L80,60 L80,40 L100,40 L100,60 L120,60 L120,100 L140,100 L140,50 L160,50 L160,30 L180,30 L180,50 L200,50 L200,100 L220,100 L220,70 L240,70 L240,90 L260,90 L260,60 L280,60 L280,40 L300,40 L300,20 L320,20 L320,40 L340,40 L340,60 L360,60 L360,80 L380,80 L380,50 L400,50 L400,30 L420,30 L420,10 L440,10 L440,30 L460,30 L460,50 L480,50 L480,70 L500,70 L500,40 L520,40 L520,20 L540,20 L540,40 L560,40 L560,60 L580,60 L580,80 L600,80 L600,100 L620,100 L620,60 L640,60 L640,40 L660,40 L660,20 L680,20 L680,40 L700,40 L700,60 L720,60 L720,80 L740,80 L740,50 L760,50 L760,30 L780,30 L780,50 L800,50 L800,70 L820,70 L820,90 L840,90 L840,60 L860,60 L860,40 L880,40 L880,20 L900,20 L900,40 L920,40 L920,60 L940,60 L940,80 L960,80 L960,50 L980,50 L980,70 L1000,70 L1000,90 L1020,90 L1020,110 L1040,110 L1040,80 L1060,80 L1060,60 L1080,60 L1080,40 L1100,40 L1100,60 L1120,60 L1120,80 L1140,80 L1140,100 L1160,100 L1160,70 L1180,70 L1180,50 L1200,50 L1200,70 L1220,70 L1220,90 L1240,90 L1240,110 L1260,110 L1260,80 L1280,80 L1280,100 L1300,100 L1300,120 L1320,120 L1320,100 L1360,100 L1360,120 L1400,120 L1400,200 Z'/%3E%3C/svg%3E") no-repeat bottom center / cover;
      opacity: 0.5;
    }

    /* grid lines */
    .bg-grid {
      position: fixed; inset: 0; z-index: 0;
      background-image:
        linear-gradient(rgba(59,130,246,0.06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(59,130,246,0.06) 1px, transparent 1px);
      background-size: 80px 80px;
    }

    /* ── LAYOUT ── */
    .page {
      position: relative; z-index: 1;
      min-height: 100vh;
      display: grid;
      grid-template-rows: auto 1fr auto;
      padding: clamp(20px, 4vw, 48px) clamp(20px, 6vw, 80px);
      max-width: 1280px;
      margin: 0 auto;
    }

    /* ── HEADER ── */
    header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding-bottom: 24px;
      border-bottom: 1px solid var(--border);
      animation: fadeUp 0.7s ease both;
    }

    .brand { display: flex; align-items: center; gap: 12px; }

    .brand-shield {
      width: 42px; height: 42px; flex-shrink: 0;
      filter: drop-shadow(0 0 8px rgba(59,130,246,0.5));
    }

    .brand-text { display: flex; flex-direction: column; }
    .brand-name {
      font-family: 'Montserrat', sans-serif;
      font-weight: 700;
      font-size: clamp(12px, 1.8vw, 17px);
      color: var(--white);
      letter-spacing: 0.04em;
      line-height: 1.2;
    }
    .brand-sub {
      font-size: 9px;
      font-weight: 400;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: var(--accent-light);
      margin-top: 2px;
    }

    nav { display: flex; gap: 6px; }
    nav a {
      font-family: 'Montserrat', sans-serif;
      font-size: 11px;
      font-weight: 600;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: var(--muted);
      text-decoration: none;
      padding: 8px 14px;
      border-radius: 3px;
      transition: color 0.2s, background 0.2s;
    }
    nav a:hover { color: var(--white); }
    .nav-cta {
      background: var(--blue-bright);
      color: var(--white) !important;
      box-shadow: 0 0 16px rgba(37,99,199,0.4);
    }
    .nav-cta:hover { background: var(--accent) !important; }

    /* ── MAIN ── */
    main {
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      text-align: center;
      padding: clamp(48px, 10vh, 100px) 0 clamp(48px, 6vh, 60px);
      gap: 0;
    }

    .shield-big {
      width: clamp(80px, 12vw, 130px);
      height: auto;
      margin-bottom: 32px;
      filter: drop-shadow(0 0 24px rgba(59,130,246,0.6));
      animation: fadeUp 0.8s 0.1s ease both, float 4s ease-in-out infinite 1s;
    }

    @keyframes float {
      0%, 100% { transform: translateY(0); }
      50%       { transform: translateY(-8px); }
    }

    .badge-line {
      display: flex;
      align-items: center;
      gap: 12px;
      margin-bottom: 20px;
      animation: fadeUp 0.8s 0.2s ease both;
    }
    .badge-line::before, .badge-line::after {
      content: '';
      display: block;
      width: 40px; height: 1px;
      background: linear-gradient(90deg, transparent, var(--accent));
    }
    .badge-line::after { background: linear-gradient(90deg, var(--accent), transparent); }
    .badge-text {
      font-family: 'Montserrat', sans-serif;
      font-size: 10px;
      font-weight: 600;
      letter-spacing: 0.35em;
      text-transform: uppercase;
      color: var(--accent-light);
    }

    h1 {
      font-family: 'Montserrat', sans-serif;
      font-weight: 900;
      font-size: clamp(36px, 8vw, 88px);
      line-height: 1.0;
      letter-spacing: -0.01em;
      color: var(--white);
      text-shadow: 0 0 60px rgba(59,130,246,0.3);
      animation: fadeUp 0.9s 0.25s ease both;
    }

    h1 span {
      display: block;
      color: var(--accent-light);
      font-style: italic;
      font-size: 0.85em;
    }

    .sub {
      margin-top: 24px;
      max-width: 520px;
      font-size: clamp(14px, 1.6vw, 17px);
      line-height: 1.75;
      color: var(--muted);
      animation: fadeUp 0.9s 0.35s ease both;
    }

    /* progress */
    .progress-section {
      margin-top: 48px;
      width: min(480px, 90vw);
      animation: fadeUp 0.9s 0.45s ease both;
    }

    .progress-meta {
      display: flex;
      justify-content: space-between;
      align-items: baseline;
      margin-bottom: 10px;
    }
    .progress-meta span {
      font-family: 'Montserrat', sans-serif;
      font-size: 11px;
      font-weight: 600;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: var(--muted);
    }
    .progress-pct {
      font-family: 'Montserrat', sans-serif;
      font-size: 24px !important;
      font-weight: 900 !important;
      color: var(--white) !important;
      letter-spacing: -0.02em !important;
      text-transform: none !important;
    }

    .bar-outer {
      height: 5px;
      background: rgba(255,255,255,0.08);
      border-radius: 3px;
      overflow: hidden;
      position: relative;
    }
    .bar-inner {
      height: 100%;
      width: 0%;
      background: linear-gradient(90deg, var(--blue), var(--accent), var(--accent-light));
      border-radius: 3px;
      animation: grow 3s 0.9s cubic-bezier(0.4,0,0.2,1) forwards;
      box-shadow: 0 0 12px rgba(96,165,250,0.6);
    }
    @keyframes grow { to { width: 72%; } }

    /* steps */
    .steps {
      display: flex;
      gap: 12px;
      margin-top: 16px;
      justify-content: center;
      flex-wrap: wrap;
    }
    .step {
      display: flex;
      align-items: center;
      gap: 6px;
      font-size: 11px;
      font-family: 'Montserrat', sans-serif;
      font-weight: 600;
      letter-spacing: 0.06em;
      color: var(--muted);
    }
    .step.done { color: var(--off-white); }
    .step-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--muted); flex-shrink: 0; }
    .step.done .step-dot { background: var(--accent); box-shadow: 0 0 6px rgba(96,165,250,0.7); }

    /* contact */
    .contact-row {
      display: flex;
      gap: 16px;
      margin-top: 40px;
      flex-wrap: wrap;
      justify-content: center;
      animation: fadeUp 0.9s 0.55s ease both;
    }

    .contact-btn {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 14px 28px;
      border-radius: 4px;
      font-family: 'Montserrat', sans-serif;
      font-size: 12px;
      font-weight: 700;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      text-decoration: none;
      transition: all 0.25s;
    }

    .contact-btn.primary {
      background: var(--blue-bright);
      color: var(--white);
      box-shadow: 0 4px 24px rgba(37,99,199,0.45);
    }
    .contact-btn.primary:hover {
      background: var(--accent);
      box-shadow: 0 4px 32px rgba(59,130,246,0.6);
      transform: translateY(-2px);
    }

    .contact-btn.ghost {
      border: 1px solid var(--border);
      color: var(--off-white);
    }
    .contact-btn.ghost:hover {
      border-color: var(--accent);
      color: var(--white);
      transform: translateY(-2px);
    }

    /* ── FOOTER ── */
    footer {
      border-top: 1px solid var(--border);
      padding-top: 20px;
      display: flex;
      justify-content: space-between;
      align-items: center;
      flex-wrap: wrap;
      gap: 10px;
      animation: fadeUp 0.7s 0.5s ease both;
    }

    footer p { font-size: 11px; color: var(--muted); letter-spacing: 0.04em; }
    .built-by { font-size: 11px; color: var(--muted); }
    .built-by a { color: var(--accent-light); text-decoration: none; font-weight: 400; font-family: 'Montserrat', sans-serif; }
    .built-by a:hover { text-decoration: underline; }

    @keyframes fadeUp {
      from { opacity: 0; transform: translateY(16px); }
      to   { opacity: 1; transform: translateY(0); }
    }

    /* live dot */
    .live-dot {
      display: inline-block;
      width: 7px; height: 7px;
      background: var(--accent);
      border-radius: 50%;
      margin-right: 6px;
      animation: pulse 2s ease-in-out infinite;
      vertical-align: middle;
      box-shadow: 0 0 8px rgba(96,165,250,0.7);
    }
    @keyframes pulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:0.4;transform:scale(0.7)} }

    @media (max-width: 640px) {
      nav { display: none; }
      h1 { font-size: clamp(32px, 10vw, 60px); }
    }

    .footer-box {
      margin-top: 48px;
      width: min(600px, 90vw);
      border-top: 1px solid var(--border);
      padding-top: 20px;
      display: flex;
      justify-content: space-between;
      align-items: center;
      flex-wrap: wrap;
      gap: 10px;
      animation: fadeUp 0.7s 0.6s ease both;
    }
    .footer-box p { font-size: 11px; color: var(--muted); letter-spacing: 0.04em; }
    
    
header, footer {
    display: none;
}/* End custom CSS */