/* ==========================================================================
   Eagle Digital — brand layer
   Slate + a medium-blue accent. Black/white/grey + slate, with a single
   professional blue accent (#4A77C2) on icons, eyebrows, highlights, links,
   nav hover and primary buttons. Loaded after the compiled Mitech style.css.
   Tune the whole accent by editing --ed-accent below.
   ========================================================================== */

:root {
  --ed-ink: #111316;       /* headings & text (logo black) */
  --ed-slate: #1f2a37;     /* brand: hero, dark bands */
  --ed-slate-2: #2c3a4a;   /* gradient partner */
  --ed-slate-d: #161e27;   /* dark hover */
  --ed-accent: #3d5a80;    /* accent: icons, links, highlights, primary buttons */
  --ed-accent-d: #3a61a0;  /* accent hover */
  --ed-accent-l: #82a6dd;  /* accent on dark backgrounds */
  --ed-grey: #5b6470;      /* body copy */
  --ed-muted: #6b7280;     /* meta / captions (AA contrast on white) */
  --ed-line: #e6eaef;      /* borders, dividers */
  --ed-mist: #f4f6f8;      /* soft section backgrounds */
}

/* ---------- Typeface ---------------------------------------------------- */
body, button, input, textarea, select,
.navigation-menu, .heading, h1, h2, h3, h4, h5, h6,
.ed-heading, .ed-subheading {
  font-family: 'Inter', 'Inter Fallback', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

/* ---------- Buttons ----------------------------------------------------- */
.ed-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-weight: 600;
  font-size: 15px;
  line-height: 1;
  padding: 16px 30px;
  border-radius: 6px;
  border: 2px solid transparent;
  transition: all 0.25s ease;
  cursor: pointer;
  text-align: center;
  white-space: nowrap;
}
.ed-btn--accent { background: var(--ed-accent); border-color: var(--ed-accent); color: #fff; }
.ed-btn--accent:hover { background: var(--ed-accent-d); border-color: var(--ed-accent-d); color: #fff; }
.ed-btn--dark { background: var(--ed-slate); border-color: var(--ed-slate); color: #fff; }
.ed-btn--dark:hover { background: var(--ed-slate-d); border-color: var(--ed-slate-d); color: #fff; }
.ed-btn--white { background: #fff; border-color: #fff; color: var(--ed-slate); }
.ed-btn--white:hover { background: var(--ed-accent); border-color: var(--ed-accent); color: #fff; }
.ed-btn--ghost { background: transparent; border-color: rgba(255, 255, 255, 0.55); color: #fff; }
.ed-btn--ghost:hover { background: #fff; border-color: #fff; color: var(--ed-slate); }
.ed-btn--outline { background: transparent; border-color: var(--ed-accent); color: var(--ed-accent); }
.ed-btn--outline:hover { background: var(--ed-accent); color: #fff; }
.ed-btn--lg { padding: 18px 38px; font-size: 16px; }
.ed-btn--sm { padding: 12px 22px; font-size: 14px; }

/* ---------- Typography / helpers --------------------------------------- */
.ed-eyebrow {
  display: inline-block;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 13px;
  font-weight: 700;
  color: var(--ed-accent);
  margin-bottom: 16px;
}
.ed-heading { font-weight: 600; color: var(--ed-ink); line-height: 1.18; font-size: clamp(27px, 3.4vw, 38px); letter-spacing: -0.4px; }
.ed-subheading { font-weight: 700; color: var(--ed-ink); line-height: 1.3; font-size: 20px; }
.ed-lead { color: var(--ed-grey); font-size: 17px; line-height: 1.85; }
.ed-text { color: var(--ed-grey); font-size: 15px; line-height: 1.75; }
.bg-soft { background: var(--ed-mist); }
.ed-measure { max-width: 720px; }
.ed-section { padding: 100px 0; }

/* ---------- Card + trust points (Intro) -------------------------------- */
.ed-card {
  background: #fff;
  border: 1px solid var(--ed-line);
  border-radius: 14px;
  padding: 40px 34px;
  height: 100%;
  box-shadow: 0 14px 40px rgba(17, 19, 22, 0.05);
}
.ed-card h5, .ed-card h3 { font-weight: 700; color: var(--ed-ink); margin-bottom: 12px; font-size: 20px; }
.ed-trust { display: flex; gap: 18px; align-items: flex-start; }
.ed-trust__icon {
  flex: 0 0 auto;
  width: 52px;
  height: 52px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(74, 119, 194, 0.1);
  color: var(--ed-accent);
  font-size: 24px;
}
.ed-trust p { color: var(--ed-grey); font-size: 15px; line-height: 1.7; margin: 0; }

/* ---------- Service cards: hover-fill, white-out, equal height --------- */
.feature-images__five [class*="col-"] { display: flex; }
.ed-svc {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  width: 100%;
  height: 100%;
  background: #fff;
  border: 1px solid var(--ed-line);
  border-radius: 16px;
  padding: 44px 36px;
  box-shadow: 0 14px 40px rgba(17, 19, 22, 0.05);
  transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease, border-color 0.3s ease;
}
.ed-svc:hover {
  background: var(--ed-accent);
  border-color: var(--ed-accent);
  transform: translateY(-8px);
  box-shadow: 0 26px 54px rgba(31, 42, 55, 0.26);
}
.ed-svc__icon {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 26px;
}
.ed-svc__icon i { font-size: 53px; color: var(--ed-accent); transition: color 0.3s ease; }
/* custom SVG icons (currentColor) drop straight in here */
.ed-svc__icon svg { width: 69px; height: 69px; color: var(--ed-accent); fill: currentColor; transition: color 0.3s ease; }
/* custom PNG/SVG icon via CSS mask — recolours to accent, whites out on hover */
.ed-svc__img {
  display: block;
  width: 69px;
  height: 69px;
  background-color: var(--ed-accent);
  -webkit-mask: var(--icon) center / contain no-repeat;
  mask: var(--icon) center / contain no-repeat;
  transition: background-color 0.3s ease;
}
.ed-svc:hover .ed-svc__img { background-color: #fff; }
.ed-svc__title { font-weight: 700; color: var(--ed-ink); font-size: 19px; margin: 0 0 12px; transition: color 0.3s ease; }
.ed-svc__text { color: var(--ed-grey); font-size: 14px; line-height: 1.7; margin: 0; flex: 1 1 auto; transition: color 0.3s ease; }
.ed-svc__more { margin-top: 26px; display: inline-flex; align-items: center; gap: 8px; font-weight: 600; color: var(--ed-accent); transition: color 0.3s ease; }
.ed-svc__more i { transition: transform 0.25s ease; }
.ed-svc:hover .ed-svc__icon i,
.ed-svc:hover .ed-svc__icon svg { color: #fff; }
.ed-svc:hover .ed-svc__title,
.ed-svc:hover .ed-svc__text,
.ed-svc:hover .ed-svc__more { color: #fff; }
.ed-svc:hover .ed-svc__more i { transform: translateX(4px); }

/* ---------- Coverage cards --------------------------------------------- */
.ed-coverage__item {
  text-align: center;
  padding: 26px 16px;
  border: 1px solid var(--ed-line);
  border-radius: 12px;
  height: 100%;
  background: #fff;
  transition: border-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}
.ed-coverage__item:hover { transform: translateY(-4px); border-color: var(--ed-accent); box-shadow: 0 16px 34px rgba(17, 19, 22, 0.07); }
.ed-coverage__item .ed-mask-icon { display: block; margin: 0 auto 16px; }
.ed-coverage__item h6, .ed-coverage__item h3 { font-weight: 700; color: var(--ed-ink); margin: 0 0 4px; }
.ed-coverage__text { color: var(--ed-grey); font-size: 14px; }

/* ==========================================================================
   Template integration
   ========================================================================== */

/* Accent on highlights + eyebrows */
.text-color-primary { color: var(--ed-accent) !important; }
.section-sub-title { display: block; color: var(--ed-accent) !important; letter-spacing: 0.13em; text-transform: uppercase; font-weight: 700; }

/* Nav hover / active — accent, visible on both the dark hero and white sticky */
.navigation-menu > ul > li.active > a,
.navigation-menu > ul > li:hover > a,
.navigation-menu .submenu li.active > a,
.navigation-menu .submenu li:hover > a { color: var(--ed-accent) !important; }
/* Stop the Services dropdown items wrapping */
.navigation-menu .submenu { min-width: 250px; }
.navigation-menu .submenu li a { white-space: nowrap; }

/* Industries — colour the animated line icons with the accent */
.single-svg-icon-box .svg-icon svg path,
.single-svg-icon-box .svg-icon svg line,
.single-svg-icon-box .svg-icon svg polyline,
.single-svg-icon-box .svg-icon svg polygon,
.single-svg-icon-box .svg-icon svg circle,
.single-svg-icon-box .svg-icon svg rect,
.single-svg-icon-box .svg-icon svg ellipse { stroke: var(--ed-accent) !important; }

/* Resolutions hero — eagle photo + subtle dark overlay (save to
   public/assets/images/hero/eagle-hero.webp) */
.resolutions-hero-bg {
  background-image: linear-gradient(rgba(17, 19, 22, 0.5), rgba(31, 42, 55, 0.72)),
    url('/assets/images/hero/eagle-hero.webp') !important;
  background-size: cover !important;
  background-position: center !important;
}
.resolutions-hero-space { padding-top: 250px !important; padding-bottom: 270px !important; }
.resolutions-hero-slider .service-hero-text h1 { font-size: clamp(34px, 4.8vw, 56px); line-height: 1.14; letter-spacing: -0.6px; }
.resolutions-hero-slider .service-hero-text p { font-size: 16px; opacity: 0.9; letter-spacing: 0.02em; }
.resolutions-hero-slider .hero-button-group { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }
@media (max-width: 991px) {
  .resolutions-hero-space { padding-top: 170px !important; padding-bottom: 200px !important; }
  .resolutions-hero-bottom { margin-top: -80px !important; }
}

/* Service hover-cards: accent arrow */
.ht-box-images .box-images-arrow a { color: var(--ed-ink); }
.ht-box-images .box-images-arrow a:hover { color: var(--ed-accent); }

/* ---------- Dark band (Pulse) ------------------------------------------ */
.ed-darkband { background: linear-gradient(120deg, var(--ed-slate) 0%, var(--ed-slate-2) 100%); color: #fff; }
.ed-darkband .heading, .ed-darkband h2, .ed-darkband h3, .ed-darkband h5, .ed-darkband h6 { color: #fff; }
.ed-darkband .section-sub-title { color: var(--ed-accent-l) !important; }
.ed-darkband .text, .ed-darkband .sub-heading { color: rgba(255, 255, 255, 0.82); }
.ed-pulse__list { margin: 0; padding: 0; list-style: none; }
.ed-pulse__list li { display: flex; align-items: center; gap: 12px; padding: 12px 0; border-bottom: 1px solid rgba(255, 255, 255, 0.1); font-size: 16px; }
.ed-pulse__list li i { color: var(--ed-accent-l); font-size: 20px; }
.ed-pulse__note { margin-top: 26px; padding: 16px 20px; border-left: 3px solid var(--ed-accent-l); background: rgba(255, 255, 255, 0.04); font-size: 15.5px; color: rgba(255, 255, 255, 0.9); }

/* Contact band */
.contact-us-section-wrappaer.ed-contact-band {
  background: linear-gradient(120deg, rgba(31, 42, 55, 0.97), rgba(44, 58, 74, 0.97)),
    url('/assets/images/bg/mitech-processing-contact-bg.webp') center/cover no-repeat;
}
.ed-contact-band .contact-info-two .icon span { color: #fff; }
.ed-contact-band .contact-info-two .ed-mask-icon { background-color: #fff; display: block; margin: 0 auto 14px; }

/* Intro row 1 — experience number + statement */
.modern-number-01 span.mark-text { color: var(--ed-accent-l) !important; }
.ed-stmt-title { font-size: 30px; line-height: 1.25; font-weight: 600; letter-spacing: -0.3px; color: var(--ed-ink); }
.cybersecurity-about-text .btn-text { color: var(--ed-accent); font-weight: 600; }
.cybersecurity-about-text .btn-text:hover { color: var(--ed-accent-d); }

/* Intro row 2 — feature grid (style-03): brand the icon + heading */
.ht-box-icon.style-03 .content-header .icon,
.ht-box-icon.style-03 .content-header .icon i { color: var(--ed-accent); }
.ht-box-icon.style-03 .content-header .heading { color: var(--ed-ink); }

/* How-we-work uses template style-02 (icon left, content right): blue titles */
.ht-box-icon.style-02 .content .heading { color: var(--ed-accent); }
/* Phosphor placeholder icons in style-02 (swapped for custom mask icons later) */
.ht-box-icon.style-02 .icon i { font-size: 54px; color: var(--ed-accent); line-height: 1; }

/* Custom mask icons (recolour any transparent PNG/SVG to brand accent) */
.ed-mask-icon {
  display: inline-block;
  width: 46px;
  height: 46px;
  background-color: var(--ed-accent);
  -webkit-mask: var(--icon) center / contain no-repeat;
  mask: var(--icon) center / contain no-repeat;
}
.ed-mask-icon--lg { width: 64px; height: 64px; }

/* How-we-work items: icon column beside title + copy */
.ed-hww { display: flex; gap: 22px; align-items: flex-start; }
.ed-hww__icon { flex: 0 0 auto; margin-top: 2px; }
.ed-hww__title { font-weight: 600; color: var(--ed-ink); font-size: 20px; margin: 0 0 10px; }
.ed-hww__text { color: var(--ed-grey); font-size: 15px; line-height: 1.7; margin: 0; }

/* ---------- Spacing ----------------------------------------------------- */
.mt-15 { margin-top: 15px !important; }
.mt-20 { margin-top: 20px !important; }
.mt-30 { margin-top: 30px !important; }
.mb-40 { margin-bottom: 40px !important; }
.mb-50 { margin-bottom: 50px !important; }
.ed-gap-y > [class*="col-"] { margin-bottom: 30px; }
@media (max-width: 991px) { .ed-section { padding: 70px 0; } }

/* ---------- Polish pass ------------------------------------------------- */
/* CTA band: brand the accent bar + frame the right column in a card */
.ed-contact-band .conact-us-wrap-one .heading::before { background: var(--ed-accent-l) !important; }
.ed-cta-card {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 16px;
  padding: 42px 34px;
}
/* more breathing room before the footer */
.footer-area { padding-top: 110px; }

/* Service cards: drop the hero overlap on small screens for a clean gap */
@media (max-width: 767px) {
  .resolutions-hero-bottom { margin-top: 0 !important; }
  .resolutions-hero-space { padding-bottom: 80px !important; }
}

/* ---------- Inner-page banner (template breadcrumb-area, branded) -------- */
.breadcrumb-area.ed-banner {
  background: linear-gradient(rgba(17, 19, 22, 0.74), rgba(31, 42, 55, 0.9)),
    url('/assets/images/hero/eagle-hero.webp') center / cover no-repeat !important;
  padding: 200px 0 90px !important;
}
.breadcrumb-area.ed-banner .breadcrumb-title {
  color: #fff;
  font-weight: 700;
  font-size: clamp(30px, 4vw, 46px);
  letter-spacing: -0.5px;
}
/* chevron separator (override Bootstrap's default "/") */
.breadcrumb-area.ed-banner .breadcrumb-item + .breadcrumb-item::before {
  content: "\203A";
  color: rgba(255, 255, 255, 0.45);
  padding: 0 9px;
}
.breadcrumb-area.ed-banner .breadcrumb-list { margin-top: 16px; }
.breadcrumb-area.ed-banner .breadcrumb-list li,
.breadcrumb-area.ed-banner .breadcrumb-list a { color: rgba(255, 255, 255, 0.78); font-size: 14px; }
.breadcrumb-area.ed-banner .breadcrumb-list a:hover { color: #fff; }
.breadcrumb-area.ed-banner .breadcrumb-item.active { color: var(--ed-accent-l); }
@media (max-width: 767px) {
  .breadcrumb-area.ed-banner { padding: 150px 0 60px !important; }
}

/* Section-title headings: match the intro statement title (size, weight, colour) */
.section-title-wrap .heading {
  font-weight: 600;
  font-size: 30px;
  line-height: 1.25;
  letter-spacing: -0.3px;
  color: var(--ed-ink);
}
.section-title-wrap .section-sub-title { margin-bottom: 24px; }

/* Dark, polished info card (matches the Pulse list treatment) */
.ed-card--dark {
  background: linear-gradient(150deg, var(--ed-slate) 0%, var(--ed-slate-2) 100%);
  border: none;
  color: #fff;
  box-shadow: 0 20px 50px rgba(17, 19, 22, 0.18);
}
.ed-card--dark h5, .ed-card--dark h3 { color: #fff; }

/* ---------- Contact form ------------------------------------------------ */
.ed-form .ed-field { margin-bottom: 22px; }
.ed-form label { display: block; font-weight: 600; color: var(--ed-ink); font-size: 14px; margin-bottom: 8px; }
.ed-form .ed-optional { color: var(--ed-muted); font-weight: 400; }
.ed-form input,
.ed-form textarea {
  width: 100%;
  border: 1px solid var(--ed-line);
  border-radius: 8px;
  padding: 13px 16px;
  font-size: 15px;
  color: var(--ed-ink);
  background: #fff;
  font-family: inherit;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.ed-form input:focus,
.ed-form textarea:focus {
  outline: none;
  border-color: var(--ed-accent);
  box-shadow: 0 0 0 3px rgba(74, 119, 194, 0.12);
}
.ed-form textarea { resize: vertical; }
.ed-form .ed-btn { margin-top: 6px; }
/* honeypot: hidden from people, present for bots */
.ed-hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
/* status notes */
.ed-form-note { display: flex; gap: 12px; align-items: flex-start; padding: 18px 20px; border-radius: 10px; margin-bottom: 24px; font-size: 15px; }
.ed-form-note i { font-size: 22px; flex: 0 0 auto; }
.ed-form-note--ok { background: rgba(40, 167, 69, 0.08); border: 1px solid rgba(40, 167, 69, 0.25); color: #1e7e34; }
.ed-form-note--err { background: rgba(220, 53, 69, 0.07); border: 1px solid rgba(220, 53, 69, 0.25); color: #b02a37; }
/* select, styled to match the inputs */
.ed-form select {
  width: 100%;
  border: 1px solid var(--ed-line);
  border-radius: 8px;
  padding: 13px 44px 13px 16px;
  font-size: 15px;
  color: var(--ed-ink);
  background-color: #fff;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="%235b6470" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M6 9l6 6 6-6"/></svg>');
  background-repeat: no-repeat;
  background-position: right 16px center;
  appearance: none;
  -webkit-appearance: none;
  font-family: inherit;
  cursor: pointer;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.ed-form select:focus { outline: none; border-color: var(--ed-accent); box-shadow: 0 0 0 3px rgba(74, 119, 194, 0.12); }
.ed-form select:invalid { color: var(--ed-muted); }
.ed-form select option { color: var(--ed-ink); }
.cf-turnstile { margin: 4px 0 24px; }

/* Check list (light, matches the dark-card lists) */
.ed-list { margin: 0; padding: 0; list-style: none; }
.ed-list li { display: flex; align-items: center; gap: 12px; padding: 11px 0; border-bottom: 1px solid var(--ed-line); color: var(--ed-ink); font-size: 15px; }
.ed-list li:last-child { border-bottom: none; }
.ed-list li i { color: var(--ed-accent); font-size: 20px; flex: 0 0 auto; }
/* Detail variant: label + description wrapped in a span, top-aligned for multi-line items. */
.ed-list--detail li { align-items: flex-start; }
.ed-list--detail li i { margin-top: 2px; }

/* ---------- Mobile sweep (extends only; desktop untouched) -------------- */
@media (max-width: 767px) {
  /* hero: straight cut (hide the deep curve), with room below the CTAs */
  .resolutions-hero-slider .vc_row-separator { display: none; }
  .resolutions-hero-space { padding-bottom: 70px !important; }
  .feature-images-wrapper { padding-top: 30px; }
  /* industries -> single-column stacked bars: icon left, title + copy right */
  .feature-list__one > .row > [class*="col-"] { flex: 0 0 100%; max-width: 100%; margin-bottom: 26px; }
  .feature-list__one .ht-box-icon.style-01 .icon-box-wrap { display: flex; align-items: flex-start; text-align: left; gap: 16px; }
  .feature-list__one .ht-box-icon.style-01 .icon { flex: 0 0 auto; margin: 0; }
  .feature-list__one .ht-box-icon.style-01 .content { flex: 1 1 auto; }
}

/* ---------- Footer link hover underline ---------------------------------- */
/* Ported from the template's removed lists partial, retuned to the brand accent. */
.hover-style-link { position: relative; }
.hover-style-link::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 0;
  height: 1px;
  background-color: var(--ed-accent);
  transition: width .5s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.hover-style-link:hover { color: var(--ed-accent); }
.hover-style-link:hover::after { left: 0; right: auto; width: 100%; }

/* ---------- Heading sizes pinned by component (tag-independent) ------------ */
/* The Mitech template sizes headings by tag (h2 48 / h3 40 / h5 24 / h6 18px).
   After promoting heading levels for accessibility, pin the sizes by class so
   changing a tag never changes the rendered size. Matches the original design. */
.ht-box-icon .heading { font-size: 24px; }                              /* card titles */
.ed-coverage__item h6, .ed-coverage__item h3 { font-size: 18px; }       /* coverage cards */
.footer-widget__title { font-size: 18px; }                              /* footer columns */
.ed-darkband .heading { font-size: 40px; }                              /* Pulse band title */
.conact-us-wrap-one .heading { font-size: 40px; }                       /* contact band title */
