/* ==========================================================================
   HOMEPAGE — cele 12 blocuri din sectiunea 5.
   Valorile sunt transpuse din 01-homepage.html, per element.
   ========================================================================== */

/* Container standard de sectiune, cu paddingul din referinta. */
.sect { padding: var(--pad-sectiune); }
.sect__inner { max-width: var(--container); margin: 0 auto; }
.sageata { font-size: 16px; line-height: 1; }
.sageata--15 { font-size: 15px; }

/* --------------------------------------------------------------------------
   1 · hero-conversie
   -------------------------------------------------------------------------- */
.hero { background: var(--ivory); }
.hero__inner {
  max-width: var(--container); margin: 0 auto;
  padding: clamp(44px, 6vw, 76px) clamp(20px, 4.5vw, 40px) clamp(40px, 5vw, 64px);
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr));
  gap: clamp(36px, 5vw, 64px);
  align-items: center;
}
.hero__eticheta { margin-bottom: 24px; }
.hero__titlu {
  font-size: var(--fs-h1-homepage);
  line-height: 1.08;
  letter-spacing: var(--ls-h1);
  margin: 0 0 24px;
}
.hero__intro {
  font-size: var(--fs-paragraf); line-height: var(--lh-paragraf);
  color: var(--text-mediu); margin: 0 0 26px; max-width: 56ch;
}
.hero__actiuni {
  display: flex; align-items: center; gap: 13px;
  flex-wrap: wrap; margin-bottom: 30px;
}
.hero__nota {
  font-size: 14px; line-height: 1.6; color: var(--text-secundar);
  margin: 0; max-width: 52ch; padding-top: 22px;
  border-top: 1px solid color-mix(in srgb, var(--carbune) 12%, transparent);
}

/* Colajul. minmax(0,…) + min-width:0 + overflow:hidden pe fiecare celula —
   altfel sloturile de imagine impinge coloana in afara ecranului. */
.hero__media { position: relative; min-width: 0; }
.hero__colaj {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
  grid-template-rows: auto auto;
  gap: 12px;
  min-width: 0;
}
.hero__celula { min-width: 0; overflow: hidden; height: clamp(194px, 24.4vw, 274px); }
.hero__celula--mare { grid-row: span 2; height: clamp(400px, 50vw, 560px); }
.hero__celula > * { width: 100%; height: 100%; }

/* --------------------------------------------------------------------------
   2 · banda-incredere
   -------------------------------------------------------------------------- */
.banda { background: var(--verde-profund); color: var(--ivory-corp); }
.banda__inner {
  max-width: var(--container); margin: 0 auto;
  padding: clamp(26px, 3vw, 34px) clamp(20px, 4.5vw, 40px);
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr));
  gap: 22px 34px;
}
.banda__item { display: flex; gap: 13px; align-items: flex-start; }
.banda__nr {
  font-size: 10.5px; color: var(--auriu-pe-verde);
  font-weight: 700; padding-top: 3px; flex-shrink: 0;
}
.banda__text { font-size: 14.5px; line-height: 1.45; color: var(--ivory-corp); }

/* --------------------------------------------------------------------------
   3 · sectiune-recunoastere
   -------------------------------------------------------------------------- */
.recun { background: var(--alb); }
.recun__inner {
  max-width: var(--container); margin: 0 auto;
  padding: clamp(56px, 8vw, 96px) clamp(20px, 4.5vw, 40px);
}
.recun__intro { max-width: 780px; margin-bottom: 44px; }
.recun__intro h2 { margin: 0 0 22px; }
.recun__lead {
  font-size: var(--fs-paragraf); line-height: var(--lh-paragraf);
  color: var(--text-mediu); margin: 0; max-width: 62ch;
}
.recun__lista {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
  gap: 2px 40px; margin-bottom: 44px;
}
.recun__item {
  display: flex; gap: 14px; padding: 17px 0;
  border-top: 1px solid var(--bord-fin);
  font-size: 15.5px; line-height: 1.5; color: var(--carbune);
}
.recun__marcaj { color: var(--auriu); flex-shrink: 0; }
.recun__citat {
  background: var(--bej); padding: clamp(28px, 3.4vw, 40px);
  display: flex; flex-wrap: wrap; align-items: center;
  justify-content: space-between; gap: 26px;
}
.recun__cta { justify-content: center; max-width: 100%; text-align: center; }

/* --------------------------------------------------------------------------
   4 · grid-6-directii
   -------------------------------------------------------------------------- */
.directii { background: var(--ivory); }
.directii__inner {
  max-width: var(--container); margin: 0 auto;
  padding: clamp(56px, 8vw, 96px) clamp(20px, 4.5vw, 40px);
}
.directii__antet {
  display: flex; align-items: flex-end; justify-content: space-between;
  gap: 30px; flex-wrap: wrap; margin-bottom: 44px;
}
.directii__antet-text { max-width: 620px; }
.directii__eticheta { display: block; margin-bottom: 16px; }
.directii__titlu { margin: 0; }
.directii__nota {
  font-size: 14.5px; line-height: 1.6; color: var(--text-secundar);
  max-width: 34ch; margin: 0;
}
.directii__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 310px), 1fr));
  gap: 20px;
}

/* Cardul de directie. Rama intrerupta vine din .card; aici doar continutul.
   Imaginea sta in interiorul paddingului de 9px, nu lipita de marginea
   cardului. */
.directie__media { height: 186px; }
.directie__media > * { width: 100%; height: 100%; }
.directie__corp {
  padding: 26px 17px 22px;
  display: flex; flex-direction: column; flex: 1;
}
.directie__nr {
  font-size: 11px; letter-spacing: 0.2em; color: var(--auriu);
  font-weight: 700; margin-bottom: 13px;
}
.directie__titlu {
  font-family: var(--font-titlu); font-weight: 400;
  font-size: 24px; line-height: 1.2; color: var(--verde-profund);
  margin: 0 0 14px;
}
.directie__text {
  font-size: 15px; line-height: 1.6; color: var(--text-card); margin: 0 0 22px;
}
.directie__text--cu-badge { margin-bottom: 18px; }   /* cardul 06, ca in referinta */
.directie__badge {
  display: inline-flex; align-items: center; gap: 9px;
  background: var(--roz-pudrat); color: var(--roz-badge-text);
  font-size: 12.5px; font-weight: 600; padding: 9px 14px;
  margin-bottom: 20px; align-self: flex-start;
}
.directie__link {
  margin-top: auto; font-size: 14px; font-weight: 600;
  color: var(--verde-profund); display: inline-flex;
  align-items: center; gap: 8px;
}

/* --------------------------------------------------------------------------
   5 · poveste-scurta
   -------------------------------------------------------------------------- */
.poveste { background: var(--bej); }
.poveste__inner {
  max-width: var(--container); margin: 0 auto;
  padding: clamp(56px, 8vw, 96px) clamp(20px, 4.5vw, 40px);
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr));
  gap: clamp(36px, 5vw, 64px);
  align-items: center;
}
.poveste__media { height: clamp(400px, 48vw, 560px); min-width: 0; }
.poveste__media > * { width: 100%; height: 100%; }
.poveste__eticheta { display: block; margin-bottom: 16px; }
.poveste__titlu { margin: 0 0 24px; }
/* Scara proprie a acestui bloc — nu este paragraful standard. */
.poveste__paragraf {
  font-size: clamp(15.5px, 1.3vw, 16.5px); line-height: 1.68;
  color: var(--text-mediu); margin: 0 0 16px; max-width: 58ch;
}
.poveste__paragraf--ultim { margin-bottom: 30px; }

/* --------------------------------------------------------------------------
   6 · metoda-4-pasi
   -------------------------------------------------------------------------- */
.metoda { background: var(--verde-profund); color: var(--ivory-corp); }
.metoda__inner {
  max-width: var(--container); margin: 0 auto;
  padding: clamp(56px, 8vw, 96px) clamp(20px, 4.5vw, 40px);
}
.metoda__antet { max-width: 760px; margin-bottom: 52px; }
.metoda__eticheta { display: block; margin-bottom: 16px; }
.metoda__titlu { color: var(--ivory-titlu); margin: 0; }
.metoda__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
  gap: 30px 36px; margin-bottom: 46px;
}
/* Pasii nu sunt carduri: doar o linie de sus, fara rama intrerupta. */
.pas {
  border-top: 1px solid color-mix(in srgb, var(--ivory-corp) 24%, transparent);
  padding: 26px 0 4px;
}
.pas__nr {
  font-family: var(--font-titlu); font-size: 30px;
  color: var(--auriu-pe-verde); margin-bottom: 14px;
}
.pas__titlu {
  font-family: var(--font-text); font-weight: 600; font-size: 17px;
  color: var(--ivory-titlu); margin: 0 0 12px;
}
.pas__text {
  font-size: 15px; line-height: 1.6; margin: 0;
  color: color-mix(in srgb, var(--ivory-corp) 68%, transparent);
}
.metoda__nota {
  font-family: var(--font-titlu); font-style: italic;
  font-size: clamp(18px, 1.8vw, 21px); line-height: 1.5;
  color: var(--ivory-titlu); margin: 0; max-width: 74ch;
  padding-left: 22px; border-left: 2px solid var(--auriu-pe-verde);
}

/* --------------------------------------------------------------------------
   7 · servicii-3-carduri
   -------------------------------------------------------------------------- */
.servicii { background: var(--ivory); }
.servicii__inner {
  max-width: var(--container); margin: 0 auto;
  padding: clamp(56px, 8vw, 96px) clamp(20px, 4.5vw, 40px);
}
.servicii__antet { max-width: 700px; margin-bottom: 44px; }
.servicii__eticheta { display: block; margin-bottom: 16px; }
.servicii__titlu { margin: 0 0 20px; }
.servicii__lead {
  font-size: var(--fs-paragraf); line-height: var(--lh-paragraf);
  color: var(--text-mediu); margin: 0; max-width: 58ch;
}
.servicii__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 310px), 1fr));
  gap: 20px;
}
.serviciu { display: flex; flex-direction: column; }
.serviciu__antet {
  display: flex; align-items: baseline; justify-content: space-between;
  gap: 14px; margin-bottom: 16px;
}
.serviciu__pas {
  font-size: 11px; letter-spacing: 0.2em; color: var(--auriu); font-weight: 700;
}
.serviciu__durata { font-size: 12px; color: var(--text-secundar); }
.serviciu__titlu {
  font-family: var(--font-titlu); font-weight: 400; font-size: 25px;
  line-height: 1.2; color: var(--verde-profund); margin: 0 0 8px;
  /* Pe pagina Servicii acest titlu este `<h2>`, ca sa nu sara un nivel de
     ierarhie. Referinta nu declara letter-spacing aici, deci se anuleaza
     mostenirea de la h2. */
  letter-spacing: normal;
}
.serviciu__pret {
  font-family: var(--font-titlu); font-size: 27px;
  color: var(--verde-profund); margin-bottom: 18px;
}
.serviciu__rezumat {
  font-size: 14px; line-height: 1.6; color: var(--text-secundar);
  margin: 0 0 16px; padding-bottom: 16px;
  border-bottom: 1px solid color-mix(in srgb, var(--carbune) 10%, transparent);
}
.serviciu__lista {
  list-style: none; margin: 0 0 26px; padding: 0;
  display: flex; flex-direction: column; gap: 10px;
}
.serviciu__punct {
  display: flex; gap: 11px; font-size: 14.5px; line-height: 1.45; color: var(--carbune);
}
.serviciu__marcaj { color: var(--auriu); flex-shrink: 0; }
.servicii__nota {
  font-size: 12.5px; color: var(--text-secundar); margin: 22px 0 0;
  line-height: normal;   /* singurul paragraf din referinta fara line-height */
}

/* --------------------------------------------------------------------------
   8 · testimoniale-segmentate
   -------------------------------------------------------------------------- */
.rezultate { background: var(--alb); }
.rezultate__inner {
  max-width: var(--container); margin: 0 auto;
  padding: clamp(56px, 8vw, 96px) clamp(20px, 4.5vw, 40px);
}
.rezultate__antet { max-width: 700px; margin-bottom: 44px; }
.rezultate__eticheta { display: block; margin-bottom: 16px; }
.rezultate__titlu { margin: 0 0 20px; }
.rezultate__lead {
  font-size: var(--fs-paragraf); line-height: var(--lh-paragraf);
  color: var(--text-mediu); margin: 0; max-width: 60ch;
}
.rezultate__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
  gap: 20px; margin-bottom: 26px;
}
/* Cardul de testimonial: fundal ivory, nu alb; alt padding; fara hover. */
.card--testimonial {
  background: var(--ivory); padding: 32px 30px;
  display: flex; flex-direction: column;
}
.testimonial__categorie {
  font-size: 10.5px; letter-spacing: 0.18em; color: var(--auriu);
  font-weight: 700; text-transform: uppercase; margin-bottom: 18px;
}
.testimonial__text {
  font-family: var(--font-titlu); font-size: 18px; line-height: 1.55;
  color: var(--verde-citat); margin: 0 0 auto;
}
.testimonial__semnatura { font-size: 13px; color: var(--text-secundar); margin-top: 22px; }
.rezultate__nota {
  font-size: 12.5px; line-height: 1.6; color: var(--text-secundar);
  margin: 0; max-width: 76ch;
}

/* --------------------------------------------------------------------------
   9 · evaluare-orientativa — construit, dar inactiv (nu apare in front-page)
   -------------------------------------------------------------------------- */
.evaluare { background: var(--bej); }
.evaluare__inner {
  max-width: var(--container); margin: 0 auto;
  padding: clamp(50px, 6.5vw, 80px) clamp(20px, 4.5vw, 40px);
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
  gap: clamp(32px, 4vw, 56px);
  align-items: center;
}
.evaluare__eticheta { display: block; margin-bottom: 16px; }
.evaluare__titlu { margin: 0 0 20px; max-width: 24ch; }
.evaluare__lead {
  font-size: clamp(15.5px, 1.3vw, 16.5px); line-height: 1.65;
  color: var(--text-mediu); margin: 0 0 26px; max-width: 54ch;
}
.card--evaluare { padding: 30px 30px 28px; }
.evaluare__subtitlu { display: block; margin-bottom: 18px; }
.evaluare__arii { display: flex; flex-direction: column; gap: 13px; margin-bottom: 22px; }
.arie__antet {
  display: flex; justify-content: space-between; gap: 12px;
  font-size: 14px; color: var(--carbune); margin-bottom: 6px;
}
.arie__stare--auriu { color: var(--auriu-eticheta); }
.arie__stare--gri   { color: var(--text-secundar); }
.arie__stare--verde { color: var(--verde-profund); }
.arie__bara { height: 4px; background: color-mix(in srgb, var(--carbune) 12%, transparent); }
.arie__nivel { height: 100%; }
.arie__nivel--auriu { background: var(--auriu); }
.arie__nivel--gri   { background: var(--text-secundar); }
.arie__nivel--verde { background: var(--verde-profund); }
.evaluare__nota {
  font-size: 12.5px; line-height: 1.6; color: var(--text-secundar);
  margin: 0; padding-top: 18px;
  border-top: 1px solid color-mix(in srgb, var(--carbune) 12%, transparent);
}

/* --------------------------------------------------------------------------
   10 · acreditari
   -------------------------------------------------------------------------- */
.acreditari { background: var(--ivory); }
.acreditari__inner {
  max-width: var(--container); margin: 0 auto;
  padding: clamp(56px, 8vw, 96px) clamp(20px, 4.5vw, 40px);
}
.acreditari__antet { max-width: 760px; margin-bottom: 40px; }
.acreditari__eticheta { display: block; margin-bottom: 16px; }
.acreditari__titlu { margin: 0 0 20px; }
.acreditari__lead {
  font-size: var(--fs-paragraf); line-height: var(--lh-paragraf);
  color: var(--text-mediu); margin: 0; max-width: 64ch;
}
.acreditari__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr));
  gap: 22px 32px; margin-bottom: 34px;
}
.reper {
  border-top: 1px solid color-mix(in srgb, var(--carbune) 18%, transparent);
  padding: 16px 0 4px;
}
.reper__eticheta {
  font-size: 10px; letter-spacing: 0.2em; color: var(--auriu-eticheta);
  font-weight: 700; margin-bottom: 8px;
}
.reper__valoare { font-size: 15px; line-height: 1.45; color: var(--verde-citat); }

/* --------------------------------------------------------------------------
   11 · faq — acordeon nativ, fara JavaScript
   -------------------------------------------------------------------------- */
.faq { background: var(--alb); }
.faq__inner {
  max-width: var(--container-faq); margin: 0 auto;
  padding: clamp(56px, 8vw, 96px) clamp(20px, 4.5vw, 40px);
}
.faq__antet { margin-bottom: 40px; }
.faq__eticheta { display: block; margin-bottom: 16px; }
.faq__titlu { margin: 0; }
/* --------------------------------------------------------------------------
   12 · cta-final-programare
   -------------------------------------------------------------------------- */
.cta-final { background: var(--verde-profund); color: var(--ivory-corp); }
.cta-final__inner {
  max-width: var(--container); margin: 0 auto;
  padding: clamp(56px, 8vw, 96px) clamp(20px, 4.5vw, 40px);
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 330px), 1fr));
  gap: clamp(36px, 5vw, 64px);
  align-items: start;
}
.cta-final__titlu { color: var(--ivory-titlu); margin: 0 0 20px; max-width: 22ch; }
.cta-final__lead {
  font-size: var(--fs-paragraf); line-height: var(--lh-paragraf);
  color: color-mix(in srgb, var(--ivory-corp) 72%, transparent);
  margin: 0 0 34px; max-width: 50ch;
}
.cta-final__detalii {
  display: flex; flex-direction: column; gap: 20px;
  padding-top: 30px;
  border-top: 1px solid color-mix(in srgb, var(--ivory-corp) 20%, transparent);
}
.cta-final__eticheta { display: block; margin-bottom: 8px; }
.cta-final__valoare { font-size: 16px; line-height: 1.5; color: var(--ivory-titlu); }
.cta-final__whatsapp {
  font-size: 16px; color: var(--auriu-pe-verde); font-weight: 600;
  display: inline-flex; align-items: center; gap: 9px;
  /* Abatere aprobata: padding vertical pentru o tinta de atingere de 44px.
     Cutia de text are 22px (16px cu line-height normal), deci 11px sus si jos.
     Fontul nu se schimba. */
  padding: 11px 0;
  transition: color .18s ease;
}
.cta-final__whatsapp:hover { color: var(--ivory-titlu); }

/* Formularul. Structura acestei etape; trimiterea intra in Etapa 6. */
.formular {
  background: var(--ivory); padding: clamp(26px, 3vw, 36px);
  display: flex; flex-direction: column; gap: 18px;
}
.formular__titlu {
  font-family: var(--font-titlu); font-size: 24px;
  color: var(--verde-profund); margin-bottom: 2px;
}
.camp {
  display: flex; flex-direction: column; gap: 8px;
  font-size: 13px; font-weight: 600; color: var(--carbune); letter-spacing: 0.02em;
}
.camp--grup { font-weight: 400; }
.camp__nume { font-size: 13px; font-weight: 600; color: var(--carbune); letter-spacing: 0.02em; }
/* Fontul si dimensiunea se mostenesc — regula globala din base.css. */
.camp__control {
  border: 1px solid color-mix(in srgb, var(--carbune) 24%, transparent);
  background: var(--alb); padding: 15px 16px;
  font-size: 16px; font-weight: 400; color: var(--carbune);
  min-height: 52px; border-radius: 0;
}
.camp__optiuni { display: flex; gap: 10px; }
.optiune {
  flex: 1; display: flex; align-items: center; justify-content: center; gap: 9px;
  border: 1px solid color-mix(in srgb, var(--carbune) 24%, transparent);
  background: var(--alb); padding: 15px 12px;
  font-size: 15px; font-weight: 400; color: var(--carbune);
  cursor: pointer; min-height: 52px;
}
.optiune input[type="radio"] { accent-color: var(--verde-profund); width: 17px; height: 17px; }
.acord {
  display: flex; gap: 12px; align-items: flex-start;
  font-size: 13px; line-height: 1.55; color: var(--text-mediu); cursor: pointer;
}
.acord input[type="checkbox"] {
  accent-color: var(--verde-profund); width: 19px; height: 19px;
  margin-top: 1px; flex-shrink: 0;
}
.acord a { color: var(--verde-profund); text-decoration: underline; }
.btn-trimite {
  background: var(--verde-profund); color: var(--ivory);
  font-size: 15.5px; font-weight: 600; padding: 19px 28px;
  border: 0; cursor: pointer; min-height: 56px; line-height: normal;
  clip-path: polygon(14px 0, 100% 0, 100% calc(100% - 14px),
                     calc(100% - 14px) 100%, 0 100%, 0 14px);
  transition: background .18s ease;
}
.btn-trimite:hover { background: var(--verde-hover); }
.formular__nota { font-size: 12px; line-height: 1.55; color: var(--text-secundar); margin: 0; }

/* Citat — Newsreader italic, folosit in mai multe blocuri */
.citat {
  font-family: var(--font-titlu); font-style: italic;
  font-size: clamp(19px, 2vw, 24px); line-height: 1.45;
  color: var(--verde-profund); margin: 0; max-width: 48ch;
}

/* ==========================================================================
   13 · ANIMATII — dinamism vizual (Acasa)

   Portretul din hero ramane vizibil din primul cadru (nu intra din opacitate
   0) ca sa nu intarzie LCP — respira usor, continuu. Fotografiile secundare
   si textul intra esalonat. Butoanele din hero au un hover mai expresiv
   decat restul site-ului — vezi nota din fiecare regula, ca sa nu se piarda
   motivul daca cineva le atinge mai tarziu. Sub pliu, sectiunile intra la
   scroll (modulul 7 din main.js, activ doar pe prima pagina). Peste tot,
   @media (prefers-reduced-motion) din base.css opreste orice miscare.
   ========================================================================== */

/* --- Hero: portretul respira, nu dispare niciodata (LCP). ------------------ */
@keyframes nio-respira {
  0%, 100% { transform: scale(1); }
  50%      { transform: scale(1.018); }
}
.hero__celula--mare > * { animation: nio-respira 9s ease-in-out infinite; }

/* Zoom usor pe orice fotografie din colaj, la hover pe celula proprie. */
.hero__celula { position: relative; }
.hero__celula > * { transition: transform .6s ease; }
.hero__celula:hover > * { transform: scale(1.06); }

/* Cadru auriu care se deseneaza in coltul portretului, o singura data,
   dupa ce fotografiile secundare au intrat deja. */
.hero__celula--mare::after {
  content: ''; position: absolute; top: 14px; right: 14px;
  width: 44px; height: 44px;
  border-top: 2px solid var(--auriu-deschis);
  border-right: 2px solid var(--auriu-deschis);
  opacity: 0; transform: translate(-8px, 8px);
  animation: nio-cadru .7s ease .55s both;
  pointer-events: none;
}
@keyframes nio-cadru { to { opacity: 1; transform: translate(0, 0); } }

/* Fotografiile secundare intra din dreapta, esalonat. Portretul mare nu
   are aceasta animatie — vezi nota de mai sus (LCP). */
@keyframes nio-intra-lateral {
  from { opacity: 0; transform: translateX(26px); }
  to   { opacity: 1; transform: none; }
}
.hero__colaj > .hero__celula:not(.hero__celula--mare) {
  animation: nio-intra-lateral .7s ease both;
}
.hero__colaj > .hero__celula:nth-of-type(2) { animation-delay: .15s; }
.hero__colaj > .hero__celula:nth-of-type(3) { animation-delay: .3s; }

/* Textul din hero urca usor, esalonat dupa fotografii. */
@keyframes nio-urca {
  from { opacity: 0; transform: translateY(16px); }
  to   { opacity: 1; transform: none; }
}
.hero__eticheta,
.hero__titlu,
.hero__intro,
.hero__actiuni,
.hero__nota { animation: nio-urca .6s ease both; }
.hero__eticheta { animation-delay: .05s; }
.hero__titlu    { animation-delay: .12s; }
.hero__intro    { animation-delay: .2s; }
.hero__actiuni  { animation-delay: .28s; }
.hero__nota     { animation-delay: .36s; }

/* --- Cele doua butoane din hero: hover mai expresiv doar aici. -------------
   Restul instantelor de .btn-primary / .btn-ghost din site NU se ating —
   raman exact ca in referinta (componente.css, 3.1 / 3.2). */
.hero__actiuni .btn-primary {
  box-shadow: 0 0 0 0 rgba(23, 62, 54, 0);
  transition: background .18s ease, transform .25s ease, box-shadow .3s ease;
}
.hero__actiuni .btn-primary:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 34px -16px rgba(23, 62, 54, 0.6);
}
.hero__actiuni .btn-primary .sageata {
  display: inline-block;
  transition: transform .25s ease;
}
.hero__actiuni .btn-primary:hover .sageata { transform: translateX(5px); }

.hero__actiuni .btn-ghost {
  --gh-bord: var(--bord-buton);
  transition: background-size .24s ease, transform .25s ease, --gh-bord .24s ease;
}
.hero__actiuni .btn-ghost:hover {
  transform: translateY(-2px) scale(1.015);
  --gh-bord: var(--auriu);
}

/* --- Reveal la scroll, sub pliu — activat de JS doar pe prima pagina. ------
   Fara JS (sau daca modulul opreste devreme), body nu primeste clasa
   .nio-reveal-ready si totul ramane vizibil implicit: nimic nu e ascuns
   permanent din cauza scriptului. */
body.nio-reveal-ready .nio-reveal {
  opacity: 0; transform: translateY(22px);
  transition: opacity .6s ease, transform .6s ease;
}
body.nio-reveal-ready .nio-reveal.este-vizibil { opacity: 1; transform: none; }

/* Esalonare in grilele cu mai multe elemente. */
.directii__grid > *:nth-child(1),
.servicii__grid > *:nth-child(1),
.rezultate__grid > *:nth-child(1),
.acreditari__grid > *:nth-child(1),
.banda__inner > *:nth-child(1) { transition-delay: 0s; }

.directii__grid > *:nth-child(2),
.servicii__grid > *:nth-child(2),
.rezultate__grid > *:nth-child(2),
.acreditari__grid > *:nth-child(2),
.banda__inner > *:nth-child(2) { transition-delay: .08s; }

.directii__grid > *:nth-child(3),
.servicii__grid > *:nth-child(3),
.rezultate__grid > *:nth-child(3),
.acreditari__grid > *:nth-child(3),
.banda__inner > *:nth-child(3) { transition-delay: .16s; }

.directii__grid > *:nth-child(4),
.rezultate__grid > *:nth-child(4),
.acreditari__grid > *:nth-child(4),
.banda__inner > *:nth-child(4) { transition-delay: .24s; }

.directii__grid > *:nth-child(5) { transition-delay: .32s; }
.directii__grid > *:nth-child(6) { transition-delay: .4s; }
