/* IntEdge polish: hero loading, features, delivery approach, contact */

/* ---------- Loading ---------- */
#preloader.is-done { opacity: 0; visibility: hidden; pointer-events: none; }

.hero { background: #071633 url("../img/hero-poster.jpg") center / cover no-repeat; }
.hero-bg-video { opacity: 0; transition: opacity 1.2s ease; will-change: opacity; }
.hero-bg-video.is-playing { opacity: 1; }

/* ---------- Features + Delivery (dark stage) ---------- */
#features.ie-section.ie-alt {
  background:
    radial-gradient(900px 480px at 85% -5%, rgba(34, 197, 232, .22), transparent 60%),
    radial-gradient(700px 500px at -5% 105%, rgba(33, 87, 161, .45), transparent 60%),
    linear-gradient(180deg, #071633, #050f26);
  overflow: hidden;
}
#features::before {
  content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .5;
  background-image: linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size: 56px 56px;
  -webkit-mask-image: radial-gradient(ellipse at 50% 30%, #000, transparent 75%); mask-image: radial-gradient(ellipse at 50% 30%, #000, transparent 75%);
}
#features .container { position: relative; z-index: 1; }
#features .section-title h2 { color: #fff; }
#features .section-title h2::before, #features .section-title h2::after { background: var(--ie-cyan); }
#features .section-title p { color: #a9bad6; }

.ie-feat-grid { grid-template-columns: 4.6fr 7.4fr; gap: 28px; }
.ie-feat-panel {
  position: relative; overflow: hidden; justify-content: center;
  background: linear-gradient(155deg, rgba(34,197,232,.16), rgba(33,87,161,.18) 55%, rgba(255,255,255,.03));
  border: 1px solid rgba(34,197,232,.28); border-radius: 26px; padding: 52px 44px;
  box-shadow: 0 30px 70px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.12);
  backdrop-filter: blur(6px);
}
.ie-feat-panel::after {
  content: ""; position: absolute; right: -90px; bottom: -90px; width: 260px; height: 260px; border-radius: 50%;
  border: 1px solid rgba(34,197,232,.35); box-shadow: 0 0 0 36px rgba(34,197,232,.05), 0 0 0 78px rgba(34,197,232,.03);
}
.ie-feat-panel .big { font-size: clamp(1.9rem, 3vw, 2.7rem); line-height: 1.12; font-weight: 700; letter-spacing: -.01em; }
.ie-feat-panel .big span:last-child {
  background: linear-gradient(90deg, #22c5e8, #7be3ff); -webkit-background-clip: text; background-clip: text; color: transparent;
}
.ie-feat-panel p { color: #c3d0e6; position: relative; z-index: 1; }

.ie-feat-list { gap: 16px; }
.ie-feat-item {
  position: relative; display: flex; gap: 18px; align-items: flex-start; padding: 24px 22px; border-radius: 20px;
  background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1);
  backdrop-filter: blur(8px); transition: transform .3s, border-color .3s, background .3s, box-shadow .3s;
}
.ie-feat-item::before {
  content: ""; position: absolute; inset: 0; border-radius: inherit; padding: 1px; opacity: 0; transition: opacity .3s;
  background: linear-gradient(135deg, #22c5e8, transparent 55%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude;
}
.ie-feat-item:hover { transform: translateY(-5px); background: rgba(255,255,255,.08); border-color: transparent; box-shadow: 0 22px 44px rgba(0,0,0,.35), 0 0 36px rgba(34,197,232,.12); }
.ie-feat-item:hover::before { opacity: 1; }
.ie-feat-item .fi {
  flex: 0 0 50px; height: 50px; border-radius: 15px; display: grid; place-items: center; font-size: 1.4rem; color: #071633;
  background: linear-gradient(135deg, #22c5e8, #7be3ff); box-shadow: 0 8px 20px rgba(34,197,232,.3);
}
.ie-feat-item h4 { color: #fff; font-size: 1.02rem; }
.ie-feat-item p { color: #a9bad6; }

/* Delivery approach */
.ie-delivery { margin-top: 96px; }
.ie-delivery .section-title h2 { color: #fff; }
.ie-steps { gap: 18px; counter-reset: none; }
.ie-steps::before { top: 36px; height: 2px; background: linear-gradient(90deg, transparent, var(--ie-cyan) 12%, var(--ie-cyan) 88%, transparent); opacity: .45; }
.ie-step {
  padding: 0 0 22px; border-radius: 20px; text-align: center; transition: transform .3s;
}
.ie-step .dot {
  width: 72px; height: 72px; margin: 0 auto 18px; border-radius: 50%; display: grid; place-items: center; font-size: 1.7rem;
  background: radial-gradient(circle at 30% 25%, #1b4a87, #071633 70%); color: var(--ie-cyan);
  border: 2px solid var(--ie-cyan); box-shadow: 0 0 0 7px rgba(34,197,232,.10), 0 0 30px rgba(34,197,232,.35);
  transition: transform .3s, box-shadow .3s, background .3s, color .3s;
}
.ie-step:hover .dot { transform: scale(1.1); background: var(--ie-cyan); color: #071633; box-shadow: 0 0 0 9px rgba(34,197,232,.16), 0 0 44px rgba(34,197,232,.6); }
.ie-step .no { color: var(--ie-cyan); font-size: .78rem; opacity: .9; }
.ie-step h5 { color: #fff; font-size: 1.02rem; }
.ie-step p { color: #a9bad6; }

/* ---------- Contact ---------- */
.ie-contact {
  background:
    radial-gradient(800px 420px at 100% 0, rgba(34,197,232,.12), transparent 60%),
    radial-gradient(700px 420px at 0 100%, rgba(33,87,161,.14), transparent 60%),
    #eef4fb;
}
.ie-contact-wrap {
  grid-template-columns: 5fr 6fr; border-radius: 30px; box-shadow: 0 40px 90px rgba(7,22,51,.22); border: 1px solid rgba(7,22,51,.06);
}
.ie-contact-info {
  position: relative; overflow: hidden; padding: 56px 48px;
  background:
    radial-gradient(420px 320px at 100% 0, rgba(34,197,232,.35), transparent 65%),
    radial-gradient(380px 300px at 0 100%, rgba(33,87,161,.7), transparent 65%),
    #071633;
}
.ie-contact-info::after {
  content: ""; position: absolute; right: -120px; bottom: -120px; width: 320px; height: 320px; border-radius: 50%;
  border: 1px solid rgba(255,255,255,.12); box-shadow: 0 0 0 44px rgba(255,255,255,.03), 0 0 0 92px rgba(255,255,255,.02); pointer-events: none;
}
.ie-contact-info > * { position: relative; z-index: 1; }
.ie-contact-info .ie-heading { font-size: clamp(1.7rem, 2.6vw, 2.2rem); line-height: 1.15; margin-bottom: 2rem; }
.ie-contact-list { gap: 0; }
.ie-contact-list li {
  display: flex; align-items: center; gap: 18px; padding: 16px 0; background: none; border: 0; border-radius: 0;
  border-bottom: 1px solid rgba(255,255,255,.1); transition: padding .25s;
}
.ie-contact-list li:last-child { border-bottom: 0; }
.ie-contact-list li:hover { padding-left: 8px; }
.ie-contact-list .ico {
  flex: 0 0 46px; height: 46px; border-radius: 50%; font-size: 1.15rem; color: var(--ie-cyan);
  background: rgba(34,197,232,.12); border: 1px solid rgba(34,197,232,.35); transition: .25s;
}
.ie-contact-list li:hover .ico { background: var(--ie-cyan); color: #071633; }
.ie-contact-list small { color: #8fa6c8; font-size: .72rem; letter-spacing: .14em; }
.ie-contact-list span, .ie-contact-list a { font-size: 1rem; }
.ie-contact-tagline { color: var(--ie-cyan); padding-top: 32px; }

.ie-contact-form { padding: 56px 52px; display: flex; flex-direction: column; justify-content: center; background: #fff; }
.ie-contact-form h3 { font-size: 1.6rem; margin-bottom: .4rem; }
.ie-contact-form h3::after { content: ""; display: block; width: 44px; height: 3px; border-radius: 3px; margin-top: 12px; background: linear-gradient(90deg, var(--ie-blue), var(--ie-cyan)); }
.ie-contact-form form { margin-top: 1.6rem; }
.ie-contact-form .form-control {
  border: 0; border-bottom: 2px solid var(--ie-line); border-radius: 0; background: transparent; padding: 14px 4px; min-height: 54px;
  box-shadow: none; transition: border-color .25s, background .25s;
}
.ie-contact-form .form-control::placeholder { color: #8a98b0; }
.ie-contact-form .form-control:focus { border-bottom-color: var(--ie-cyan); background: linear-gradient(180deg, transparent, rgba(34,197,232,.06)); box-shadow: none; }
.ie-contact-form textarea.form-control { min-height: 130px; }
.ie-contact-form button[type=submit] {
  margin-top: .6rem; width: 100%; border: 0; border-radius: 14px; padding: 16px 24px; font-weight: 700; letter-spacing: .02em;
  background: linear-gradient(135deg, #2157a1, #0b3a7a); color: #fff; box-shadow: 0 14px 30px rgba(33,87,161,.35);
  transition: transform .25s, box-shadow .25s, background .25s;
}
.ie-contact-form button[type=submit]:hover { transform: translateY(-2px); background: linear-gradient(135deg, #22c5e8, #2157a1); box-shadow: 0 18px 38px rgba(34,197,232,.4); }
.ie-contact-form button[type=submit]:focus-visible, .ie-contact-form .form-control:focus-visible { outline: 2px solid var(--ie-cyan); outline-offset: 3px; }

@media (max-width: 991px) {
  .ie-contact-wrap { grid-template-columns: 1fr; }
  .ie-feat-grid { grid-template-columns: 1fr; }
  .ie-contact-info, .ie-contact-form { padding: 38px 26px; }
}
@media (prefers-reduced-motion: reduce) {
  .ie-feat-item, .ie-step .dot, .ie-contact-list li { transition: none; }
}
