/* =========================================================
   ThinkEzIT — "New Look" concept homepage (Concept 1: Clean & Direct)
   Loaded in addition to styles.css — only new-page-specific
   components live here, so the shared stylesheet stays untouched.
   ========================================================= */

/* ---------- Shared bits ---------- */
.nl-divider-full {
  display: block; width: 100%; height: 1px; margin: 0 0 40px;
  background: var(--line);
}
.section--dark .nl-divider-full { background: var(--line-dark); }
.stats { padding-bottom: 40px; }

/* ---------- Hero ---------- */
.nl-hero { padding: 64px 0 56px; background: var(--surface); overflow: hidden; }
.nl-hero__grid {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 48px;
  align-items: center;
}
.nl-hero__copy h1 { font-size: clamp(2.2rem, 4vw, 3.1rem); margin-bottom: 0.4em; }
.nl-hero__copy h1 em { font-style: normal; color: var(--cta); position: relative; display: inline-block; }
.nl-pulse {
  transform-origin: left center;
  animation: nl-word-pulse 2.6s ease-in-out infinite;
}
@keyframes nl-word-pulse {
  0%, 100% { transform: scale(1); color: var(--cta); }
  50% { transform: scale(1.06); color: var(--cta-deep); }
}
.nl-hero__copy .lede { font-size: 1.08rem; color: var(--accent); max-width: 480px; margin-bottom: 28px; }
.nl-hero__actions { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }

.nl-hero__art { display: flex; align-items: center; justify-content: center; }
.nl-hero__img { max-width: 420px; width: 100%; filter: drop-shadow(0 24px 34px rgba(55, 59, 64, 0.2)); }

.nl-float-c { animation: nl-float 6s ease-in-out infinite 0.6s; }
@keyframes nl-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}
@media (prefers-reduced-motion: reduce) {
  .nl-float-c { animation: none; }
}

/* ---------- Trust strip ---------- */
.nl-trust { padding: 36px 0; }
.nl-trust__row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.nl-trust__item { display: flex; align-items: flex-start; gap: 14px; }
.nl-trust__icon {
  flex: none; width: 44px; height: 44px; border-radius: 50%;
  background: linear-gradient(155deg, var(--cta) 0%, var(--cta-deep) 100%); color: #fff;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 10px 20px -10px rgba(221,98,38,0.65);
  animation: nl-icon-bob 3.2s ease-in-out infinite;
  transition: transform 0.35s cubic-bezier(.34,1.56,.64,1);
}
.nl-trust__icon svg { width: 22px; height: 22px; }
.nl-trust__item:hover .nl-trust__icon { animation-play-state: paused; transform: scale(1.15) rotate(-8deg); }
.nl-trust__item:nth-child(1) .nl-trust__icon { animation-delay: 0s; }
.nl-trust__item:nth-child(2) .nl-trust__icon { animation-delay: 0.3s; }
.nl-trust__item:nth-child(3) .nl-trust__icon { animation-delay: 0.6s; }
.nl-trust__item h3 { font-size: 1rem; margin-bottom: 0.2em; }
.nl-trust__item p { margin: 0; color: var(--accent-soft); font-size: 0.92rem; }

/* ---------- What can we help with ---------- */
.nl-help { padding: 88px 0; }
.nl-help__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.nl-help__card {
  background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-sm);
  padding: 26px 20px; display: flex; flex-direction: column; gap: 6px;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
  position: relative;
}
.nl-help__card:hover { transform: translateY(-4px); box-shadow: var(--shadow); border-color: transparent; }
.nl-help__icon {
  width: 40px; height: 40px; border-radius: 10px;
  background: var(--bg); color: var(--cta);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 6px;
  animation: nl-icon-bob 3.2s ease-in-out infinite;
  transition: transform 0.35s cubic-bezier(.34,1.56,.64,1), background 0.25s ease, color 0.25s ease;
}
.nl-help__icon svg { width: 20px; height: 20px; }
.nl-help__card:hover .nl-help__icon {
  animation-play-state: paused;
  transform: scale(1.15) rotate(-8deg);
  background: var(--cta); color: #fff;
}
@keyframes nl-icon-bob {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-5px); }
}
.nl-help__card:nth-child(1) .nl-help__icon { animation-delay: 0s; }
.nl-help__card:nth-child(2) .nl-help__icon { animation-delay: 0.25s; }
.nl-help__card:nth-child(3) .nl-help__icon { animation-delay: 0.5s; }
.nl-help__card:nth-child(4) .nl-help__icon { animation-delay: 0.75s; }
.nl-help__card:nth-child(5) .nl-help__icon { animation-delay: 1s; }
.nl-help__card:nth-child(6) .nl-help__icon { animation-delay: 1.25s; }
.nl-help__card:nth-child(7) .nl-help__icon { animation-delay: 1.5s; }
.nl-help__card:nth-child(8) .nl-help__icon { animation-delay: 1.75s; }
.nl-help__card h3 { font-size: 1rem; margin-bottom: 0.15em; }
.nl-help__card p { margin: 0; color: var(--accent); font-size: 0.88rem; }
.nl-help__go {
  position: absolute; top: 24px; right: 20px; color: var(--accent-soft);
  font-weight: 700; opacity: 0; transform: translateX(-4px);
  transition: opacity 0.2s ease, transform 0.2s ease;
}
.nl-help__card:hover .nl-help__go { opacity: 1; transform: translateX(0); color: var(--cta); }

/* ---------- Expert callout bar ---------- */
.nl-expert { padding: 0 0 88px; }
.nl-expert__bar {
  background: var(--surface); border-radius: var(--radius);
  padding: 32px 36px; display: flex; align-items: center; justify-content: space-between;
  gap: 24px; flex-wrap: wrap;
}
.nl-expert__who { display: flex; align-items: center; gap: 18px; }
.nl-expert__avatar {
  flex: none; width: 56px; height: 56px; border-radius: 50%;
  background: var(--cta); color: #fff; overflow: hidden;
  display: flex; align-items: center; justify-content: center;
}
.nl-expert__avatar svg { width: 26px; height: 26px; }
.nl-expert__avatar img { width: 100%; height: 100%; object-fit: cover; }
.nl-expert__who h3 { font-size: 1.1rem; margin-bottom: 0.15em; }
.nl-expert__who p { margin: 0; color: var(--accent); max-width: 420px; }

/* ---------- Why choose us ---------- */
.nl-why { padding: 0 0 88px; }
.nl-why__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; margin-bottom: 56px; }
.nl-why__item { text-align: center; }
.nl-why__icon {
  width: 56px; height: 56px; border-radius: 50%; margin: 0 auto 14px;
  background: var(--surface); color: var(--cta); box-shadow: var(--shadow);
  display: flex; align-items: center; justify-content: center;
}
.nl-why__icon svg { width: 26px; height: 26px; }
.nl-why__item h3 { font-size: 1.05rem; margin-bottom: 0.2em; }
.nl-why__item p { margin: 0; color: var(--accent-soft); }

/* ---------- Review wall ---------- */
.nl-testimonial__heading {
  text-align: center; font-size: 1.3rem; margin: 0 0 28px;
}
.nl-review-wall {
  display: flex; gap: 20px; overflow-x: auto;
  max-width: 1040px; margin: 0 auto; padding-bottom: 12px;
  scrollbar-width: thin; scrollbar-color: var(--accent-soft) transparent;
}
.nl-review-card {
  background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-sm);
  padding: 22px; display: flex; flex-direction: column; gap: 10px;
  flex: 0 0 calc((100% - 40px) / 3);
}
.nl-review-card__stars { display: flex; gap: 2px; color: #f5a623; }
.nl-review-card__stars svg { width: 16px; height: 16px; }
.nl-review-card p { margin: 0; color: var(--ink); font-size: 0.94rem; line-height: 1.6; }
.nl-review-card cite {
  margin-top: auto; padding-top: 4px;
  font-family: var(--font-display); font-weight: 600; font-style: normal;
  color: var(--accent); font-size: 0.82rem;
}
.nl-review-more { text-align: center; margin: 40px auto 0; }
.nl-review-more .btn--outline-dark { border-color: var(--cta); color: var(--cta); }
.nl-review-more .btn--outline-dark:hover { background: var(--cta); color: #fff; }

/* ---------- Closing CTA ---------- */
.nl-cta { padding: 64px 0; background: var(--cta); }
.nl-cta__row { display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.nl-cta__row h2 { margin: 0 0 0.3em; font-size: 1.6rem; color: #fff; }
.nl-cta__sub { margin: 0; color: rgba(255,255,255,0.85); font-family: var(--font-display); font-weight: 500; }

/* ---------- Ez-Connect promo banner ---------- */
.nl-ezconnect { padding: 0 0 88px; }
.nl-ezconnect__card {
  position: relative; overflow: hidden; isolation: isolate;
  background: linear-gradient(155deg, var(--cta) 0%, var(--cta-deep) 100%);
  border-radius: var(--radius); padding: 28px 36px;
  display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap;
  box-shadow: 0 20px 40px -22px rgba(221,98,38,0.5);
}
.nl-ezconnect__ring { position: absolute; border-radius: 50%; border: 2px solid rgba(255,255,255,0.2); z-index: 0; }
.nl-ezconnect__ring--a { width: 140px; height: 140px; right: -30px; top: -70px; }
.nl-ezconnect__ring--b { width: 90px; height: 90px; right: 90px; bottom: -50px; border-color: rgba(255,255,255,0.14); }
.nl-ezconnect__who { display: flex; align-items: center; gap: 18px; position: relative; z-index: 1; }
.nl-ezconnect__thumb {
  flex: none; width: 64px; height: 64px; border-radius: 14px; background: rgba(255,255,255,0.16);
  display: flex; align-items: center; justify-content: center; overflow: hidden;
  animation: nl-float 6s ease-in-out infinite 0.6s;
}
.nl-ezconnect__thumb img { width: 100%; height: 100%; object-fit: contain; padding: 8px; }
@media (prefers-reduced-motion: reduce) { .nl-ezconnect__thumb { animation: none; } }
.nl-ezconnect__text h2 { color: #fff; margin: 0 0 4px; font-size: 1.2rem; }
.nl-ezconnect__badge {
  display: inline-block; vertical-align: middle; margin-left: 8px; background: rgba(255,255,255,0.2); color: #fff;
  font-family: var(--font-display); font-weight: 700; font-size: 0.62rem; letter-spacing: 0.07em;
  text-transform: uppercase; padding: 4px 10px; border-radius: 100px;
}
.nl-ezconnect__text p { margin: 0; color: rgba(255,255,255,0.92); font-size: 0.92rem; max-width: 460px; }
.nl-ezconnect__btn {
  flex: none; position: relative; z-index: 1; display: inline-flex; align-items: center; gap: 8px;
  background: #fff; color: var(--cta-deep); font-family: var(--font-display); font-weight: 700;
  padding: 13px 24px; border-radius: 100px; text-decoration: none;
  box-shadow: 0 14px 30px -14px rgba(0,0,0,0.4); transition: transform 0.2s ease;
}
.nl-ezconnect__btn:hover { transform: translateY(-2px); }
@media (max-width: 860px) {
  .nl-ezconnect__card { justify-content: center; text-align: center; padding: 28px 24px; }
  .nl-ezconnect__who { flex-direction: column; }
}

/* ---------- Responsive ---------- */
@media (max-width: 980px) {
  .nl-hero__grid { grid-template-columns: 1fr; }
  .nl-hero__art { height: 300px; order: -1; }
  .nl-trust__row { grid-template-columns: 1fr; gap: 22px; }
  .nl-help__grid { grid-template-columns: repeat(2, 1fr); }
  .nl-why__grid { grid-template-columns: 1fr; gap: 32px; }
  .nl-expert__bar { justify-content: center; text-align: center; }
  .nl-expert__who { flex-direction: column; }
  .nl-cta__row { justify-content: center; text-align: center; }
  .nl-review-wall { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
  .nl-help__grid { grid-template-columns: 1fr; }
  .nl-review-wall { grid-template-columns: 1fr; }
}
