/* Hero, header/nav, pillar grid, industry grid, process, metrics, testimonial, cta-band, footer. */

/* ---- Header ---- */
.ez-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--ez-border);
}
.ez-header__bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--ez-space-6);
  height: 76px;
}
.ez-logo {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}
.ez-logo svg, .ez-logo img { height: 28px; width: auto; display: block; }
.ez-logo__mark { color: var(--ez-red); }

.ez-nav { display: flex; align-items: center; gap: var(--ez-space-6); }
.ez-nav__list { display: flex; align-items: center; gap: var(--ez-space-5); }
.ez-nav__link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: var(--ez-fs-sm);
  font-weight: 600;
  letter-spacing: .02em;
  text-transform: uppercase;
  color: var(--ez-text);
  padding: 8px 0;
  position: relative;
  white-space: nowrap;
}
.ez-nav__link::after {
  content: '';
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 2px;
  background: var(--ez-red);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--ez-dur-fast) var(--ez-ease);
}
.ez-nav__link:hover::after, .ez-nav__item.is-open .ez-nav__link::after { transform: scaleX(1); }
.ez-nav__item { position: relative; }

.ez-mega {
  position: absolute;
  top: calc(100% + 20px);
  left: 50%;
  transform: translateX(-50%);
  width: min(880px, 92vw);
  background: var(--ez-white);
  border: 1px solid var(--ez-border);
  border-radius: var(--ez-notch-card);
  box-shadow: var(--ez-shadow-lg);
  padding: var(--ez-space-6);
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--ez-space-6);
  opacity: 0;
  visibility: hidden;
  transform: translateX(-50%) translateY(-6px);
  transition: opacity var(--ez-dur) var(--ez-ease), transform var(--ez-dur) var(--ez-ease), visibility var(--ez-dur);
}
.ez-nav__item.is-open .ez-mega {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}
.ez-mega__pillar-title {
  font-size: var(--ez-fs-eyebrow);
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--ez-red-ink);
  font-weight: 700;
  margin-bottom: var(--ez-space-3);
}
.ez-mega__link {
  display: block;
  padding: 6px 0;
  font-size: var(--ez-fs-sm);
  font-weight: 500;
  color: var(--ez-text-mute);
  text-transform: none;
  letter-spacing: normal;
}
.ez-mega__link:hover { color: var(--ez-red-ink); }

/* AI Solutions is the primary differentiator (2026-09-09 header redesign) -
   the only nav item that stays red rather than black, so it reads first. */
.ez-nav__link--accent {
  color: var(--ez-red-ink);
}
.ez-nav__link--accent::after {
  background: var(--ez-red-ink);
}

/* Simple flat link list (About dropdown) - narrower single column, no
   icon/description, unlike the card dropdowns below. */
.ez-mega--list {
  grid-template-columns: 1fr;
  width: min(220px, 92vw);
  padding: var(--ez-space-3);
  gap: 0;
}
.ez-mega--list .ez-mega__link {
  padding: 10px 12px;
  border-radius: var(--ez-r-sm);
}
.ez-mega--list .ez-mega__link:hover {
  background: var(--ez-gray-100);
}

/* Softwares dropdown - card-per-item (icon + title + one-line description),
   not grouped pillar columns like Solutions. Sized for a handful of items
   (Zerovya, FestPost, ...) rather than the full 4-column Solutions panel. */
.ez-mega--cards {
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  width: min(520px, 92vw);
  padding: var(--ez-space-4);
  gap: var(--ez-space-2);
}
.ez-mega-card {
  display: flex;
  align-items: flex-start;
  gap: var(--ez-space-3);
  padding: var(--ez-space-3);
  border-radius: var(--ez-r);
  transition: background var(--ez-dur-fast) var(--ez-ease);
}
.ez-mega-card:hover { background: var(--ez-gray-100); }
.ez-mega-card__icon {
  width: 40px; height: 40px;
  flex-shrink: 0;
  border-radius: var(--ez-notch);
  background: var(--ez-red-tint);
  color: var(--ez-red);
  display: flex;
  align-items: center;
  justify-content: center;
}
.ez-mega-card__icon svg, .ez-mega-card__icon img { width: 20px; height: 20px; }
.ez-mega-card__body { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.ez-mega-card__title {
  font-weight: 700;
  font-size: var(--ez-fs-sm);
  color: var(--ez-text);
  text-transform: none;
  letter-spacing: normal;
}
.ez-mega-card__desc {
  font-size: .75rem;
  line-height: 1.4;
  color: var(--ez-text-mute);
}

.ez-header__cta { display: flex; align-items: center; gap: var(--ez-space-3); flex-shrink: 0; }
.ez-header__cta-text {
  font-size: var(--ez-fs-sm);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .02em;
  color: var(--ez-text);
}

.ez-nav-toggle {
  display: none;
  width: 40px; height: 40px;
  align-items: center;
  justify-content: center;
  border-radius: var(--ez-notch);
  border: 1px solid var(--ez-border);
}
@media (max-width: 960px) {
  .ez-nav, .ez-header__cta-text { display: none; }
  .ez-nav-toggle { display: inline-flex; }
  .ez-header__cta { gap: var(--ez-space-2); }
}

.ez-mobile-nav {
  position: fixed;
  inset: 76px 0 0 0;
  background: var(--ez-white);
  z-index: 90;
  overflow-y: auto;
  padding: var(--ez-space-6) var(--ez-space-5);
  transform: translateX(100%);
  transition: transform var(--ez-dur-slow) var(--ez-ease);
}
.ez-mobile-nav.is-open { transform: translateX(0); }
.ez-mobile-nav__link { display: block; padding: var(--ez-space-4) 0; font-size: var(--ez-fs-h4); font-weight: 600; border-bottom: 1px solid var(--ez-border); }
.ez-mobile-nav__sub { padding-left: var(--ez-space-4); }
.ez-mobile-nav__sub a { display: block; padding: var(--ez-space-2) 0; color: var(--ez-text-mute); font-size: var(--ez-fs-body); }

/* ---- Hero ---- */
.ez-hero {
  position: relative;
  padding-top: var(--ez-space-9);
  padding-bottom: var(--ez-space-8);
  overflow: hidden;
}
.ez-hero__eyebrow-row { display: flex; align-items: center; gap: var(--ez-space-3); margin-bottom: var(--ez-space-4); }
.ez-hero__headline { margin-bottom: var(--ez-space-5); }
.ez-hero__headline .ez-accent { color: var(--ez-red); }
.ez-hero__sub { max-width: 46ch; margin-bottom: var(--ez-space-6); }
.ez-hero__ctas { display: flex; align-items: center; gap: var(--ez-space-5); flex-wrap: wrap; }
.ez-hero__visual { position: relative; }
.ez-hero__visual .ez-mark-bg {
  position: absolute;
  top: -10%; right: -15%;
  width: 60%;
  color: var(--ez-red);
  opacity: .16;
  z-index: 0;
}
.ez-hero__visual img { position: relative; z-index: 1; border-radius: var(--ez-notch-card); box-shadow: var(--ez-shadow-lg); }

.ez-hero--inner { padding-top: var(--ez-space-8); padding-bottom: var(--ez-space-7); }
.ez-hero--inner .ez-hero__sub { max-width: 60ch; }

/* ---- Pillar / solution / industry / product cards grid ---- */
.ez-pillar-card {
  display: flex;
  flex-direction: column;
  gap: var(--ez-space-3);
}
.ez-pillar-card__list { margin-top: var(--ez-space-2); }
.ez-pillar-card__list li { padding: var(--ez-space-2) 0; border-top: 1px solid var(--ez-border); }
.ez-pillar-card__list a { font-size: var(--ez-fs-sm); font-weight: 600; display: flex; justify-content: space-between; align-items: center; }
.ez-pillar-card__list a:hover { color: var(--ez-red-ink); }

/* ---- Process ---- */
.ez-process {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: var(--ez-space-6);
}
.ez-process__step { position: relative; }
.ez-process__num {
  font-family: var(--ez-font-display);
  font-size: 2rem;
  font-weight: 700;
  color: var(--ez-red);
  line-height: 1;
  margin-bottom: var(--ez-space-3);
}
.ez-process__step::after {
  content: '';
  position: absolute;
  top: 18px;
  left: calc(100% + 12px);
  width: calc(100% - 12px);
  border-top: 1px dashed var(--ez-gray-300);
  display: none;
}
@media (min-width: 900px) {
  .ez-process__step:not(:last-child)::after { display: block; }
}

/* ---- Testimonial ---- */
.ez-testimonial {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: var(--ez-space-6);
  align-items: center;
}
.ez-testimonial__mark {
  width: 100px; height: 100px;
  opacity: .18;
  flex-shrink: 0;
}
.ez-testimonial__quote {
  font-family: var(--ez-font-display);
  font-size: var(--ez-fs-h3);
  font-weight: 500;
  line-height: 1.35;
}
.ez-testimonial__author { font-size: var(--ez-fs-sm); opacity: .85; white-space: nowrap; }
.ez-testimonial__author strong { display: block; font-size: var(--ez-fs-body); }
@media (max-width: 900px) {
  .ez-testimonial { grid-template-columns: 1fr; text-align: left; }
  .ez-testimonial__mark { display: none; }
}

/* ---- CTA band ---- */
.ez-cta-band {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--ez-space-6);
  flex-wrap: wrap;
  position: relative;
  overflow: hidden;
}
.ez-cta-band .ez-mark-corner {
  position: absolute;
  bottom: -20%; right: -8%;
  width: 40%;
  color: var(--ez-red);
  opacity: .06;
}
.ez-cta-band__actions { display: flex; gap: var(--ez-space-4); flex-wrap: wrap; align-items: center; }

/* ---- Advisor CTA band ---- */
.ez-advisor-band {
  border-radius: var(--ez-notch-card);
  padding: var(--ez-space-7);
  display: flex;
  align-items: center;
  gap: var(--ez-space-6);
  background: var(--ez-black);
  color: var(--ez-white);
}
.ez-advisor-band__icon {
  width: 64px; height: 64px;
  flex-shrink: 0;
  border-radius: var(--ez-notch);
  background: var(--ez-red);
  display: flex; align-items: center; justify-content: center;
}
.ez-advisor-band__icon svg { width: 32px; height: 32px; color: var(--ez-white); }
@media (max-width: 700px) {
  .ez-advisor-band { flex-direction: column; text-align: center; }
}

/* ---- Footer ---- */
.ez-footer {
  background: var(--ez-black);
  color: var(--ez-text-on-dark-mute);
  padding-top: var(--ez-space-8);
}
.ez-footer__top {
  display: grid;
  grid-template-columns: 1.4fr repeat(4, 1fr);
  gap: var(--ez-space-6);
  padding-bottom: var(--ez-space-8);
}
.ez-footer__brand p { max-width: 32ch; margin-top: var(--ez-space-3); }
.ez-footer__col-title {
  font-size: var(--ez-fs-eyebrow);
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--ez-white);
  font-weight: 700;
  margin-bottom: var(--ez-space-4);
}
.ez-footer__col a { display: block; padding: 6px 0; font-size: var(--ez-fs-sm); }
.ez-footer__col a:hover { color: var(--ez-white); }
.ez-footer__bottom {
  border-top: 1px solid var(--ez-border-on-dark);
  padding-block: var(--ez-space-5);
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--ez-space-4);
  font-size: var(--ez-fs-sm);
}
.ez-footer__social { display: flex; gap: var(--ez-space-3); }
.ez-footer__social a {
  width: 36px; height: 36px;
  display: flex; align-items: center; justify-content: center;
  border: 1px solid var(--ez-border-on-dark);
  border-radius: var(--ez-notch);
}
.ez-footer__social svg { width: 16px; height: 16px; }
@media (max-width: 900px) {
  .ez-footer__top { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
  .ez-footer__top { grid-template-columns: 1fr; }
}

/* ---- 404 / search-empty ---- */
.ez-error-page { text-align: center; padding-block: var(--ez-space-10); }
.ez-error-page .ez-display { color: var(--ez-red); }
