/* =========================================================
   NeuroMinds – stiluri principale
   Paleta este preluată din logo: petrol, salvie, lavandă, auriu.
   ========================================================= */
:root {
  --nm-teal: #1f5560;
  --nm-deep: #143a44;
  --nm-ink: #1d2f33;
  --nm-text: #3c4d50;
  --nm-muted: #6b7c7e;
  --nm-sage: #6f8f64;
  --nm-sage-l: #b9cdb0;
  --nm-sage-xl: #e7efe2;
  --nm-lav: #9d8fc0;
  --nm-lav-l: #e9e4f3;
  --nm-gold: #c9a24a;
  --nm-gold-l: #f6ecd2;
  --nm-sky: #a9c4d3;
  --nm-sky-l: #e4eef3;
  --nm-cream: #f8f5ee;
  --nm-sand: #f1ece1;
  --nm-line: #e3ddd0;
  --nm-red: #d7263d;
  --nm-red-d: #b51d31;
  --nm-radius: 22px;
  --nm-radius-lg: 34px;
  --nm-shadow: 0 18px 40px -22px rgba(20, 58, 68, .35);
  --nm-head: "Quicksand", "Nunito", system-ui, sans-serif;
  --nm-body: "Nunito", system-ui, -apple-system, "Segoe UI", sans-serif;
  --nm-serif: "DM Serif Display", Georgia, serif;
}

html { scroll-behavior: smooth; }
body {
  font-family: var(--nm-body);
  color: var(--nm-text);
  background: var(--nm-cream);
  font-size: 1.05rem;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, h5, .nm-head {
  font-family: var(--nm-head);
  color: var(--nm-ink);
  font-weight: 700;
  letter-spacing: -.01em;
  line-height: 1.2;
}
a { color: var(--nm-teal); }
a:hover { color: var(--nm-deep); }
img { max-width: 100%; }
::selection { background: var(--nm-sage-l); color: var(--nm-ink); }
[x-cloak] { display: none !important; }

.skip-link { position: absolute; top: 8px; left: 8px; z-index: 2000; background: #fff; padding: .5rem 1rem; border-radius: 8px; }

/* ---------- Header ---------- */
.nm-header {
  position: sticky; top: 0; z-index: 1030;
  background: rgba(255, 255, 255, .94);
  backdrop-filter: saturate(1.4) blur(10px);
  -webkit-backdrop-filter: saturate(1.4) blur(10px);
  border-bottom: 1px solid transparent;
  transition: box-shadow .3s, border-color .3s;
}
.nm-header.is-scrolled { box-shadow: 0 8px 30px -18px rgba(20, 58, 68, .4); border-color: var(--nm-line); }
.nm-header .navbar { padding: .55rem 0; }
.nm-logo { height: 76px; width: auto; transition: height .3s; }
.nm-header.is-scrolled .nm-logo { height: 60px; }
.nm-header .nav-link {
  font-family: var(--nm-head); font-weight: 600; font-size: 1rem;
  color: var(--nm-ink); padding: .6rem .9rem !important; border-radius: 999px;
  position: relative;
}
.nm-header .nav-link:hover, .nm-header .nav-link:focus { color: var(--nm-teal); background: var(--nm-sage-xl); }
.nm-header .nav-link.active { color: var(--nm-teal); }
.nm-header .nav-link.active::after {
  content: ""; position: absolute; left: 50%; bottom: 2px; width: 6px; height: 6px;
  margin-left: -3px; border-radius: 50%; background: var(--nm-gold);
}
.nm-header .dropdown-menu {
  border: 1px solid var(--nm-line); border-radius: 18px; padding: .5rem;
  box-shadow: var(--nm-shadow); min-width: 14rem;
}
.nm-header .dropdown-item { border-radius: 12px; padding: .55rem .9rem; font-weight: 600; color: var(--nm-ink); }
.nm-header .dropdown-item:hover, .nm-header .dropdown-item.active { background: var(--nm-sage-xl); color: var(--nm-teal); }
@media (min-width: 1200px) {
  .nm-header .dropdown:hover > .dropdown-menu { display: block; margin-top: 0; }
  .nm-header .dropdown > .dropdown-menu::before { content: ""; position: absolute; top: -12px; left: 0; right: 0; height: 12px; }
}
@media (max-width: 1199.98px) {
  .nm-logo { height: 54px; }
  .navbar-collapse { padding: .75rem 0 1rem; }
  .nm-header .nav-link.active::after { display: none; }
  .nm-header .dropdown-menu { box-shadow: none; border: 0; background: var(--nm-cream); }
}
.navbar-toggler { border: 0; padding: .5rem; box-shadow: none !important; }
.nm-burger { display: inline-flex; flex-direction: column; gap: 5px; width: 26px; }
.nm-burger span { display: block; height: 2px; border-radius: 2px; background: var(--nm-teal); transition: .3s; }
.navbar-toggler[aria-expanded="true"] .nm-burger span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.navbar-toggler[aria-expanded="true"] .nm-burger span:nth-child(2) { opacity: 0; }
.navbar-toggler[aria-expanded="true"] .nm-burger span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ---------- Butoane ---------- */
.btn { font-family: var(--nm-head); font-weight: 700; border-radius: 999px; padding: .75rem 1.6rem; letter-spacing: .01em; }
.nm-btn-book {
  background: var(--nm-gold); color: #fff; border: 0; align-items: center;
  box-shadow: 0 10px 22px -12px rgba(201, 162, 74, .9);
}
.nm-btn-book:hover, .nm-btn-book:focus { background: #b48d38; color: #fff; transform: translateY(-1px); }
.nm-btn-primary { background: var(--nm-teal); color: #fff; border: 0; }
.nm-btn-primary:hover { background: var(--nm-deep); color: #fff; }
.nm-btn-ghost { background: transparent; color: var(--nm-teal); border: 2px solid var(--nm-teal); }
.nm-btn-ghost:hover { background: var(--nm-teal); color: #fff; }
.nm-btn-light { background: #fff; color: var(--nm-teal); border: 0; }
.nm-btn-light:hover { background: var(--nm-gold-l); color: var(--nm-deep); }
.nm-btn-whatsapp { background: var(--nm-red); color: #fff; border: 0; display: inline-flex; align-items: center; }
.nm-btn-whatsapp:hover, .nm-btn-whatsapp:focus { background: var(--nm-red-d); color: #fff; }
.nm-btn-lg { padding: 1rem 2rem; font-size: 1.08rem; }
.nm-link-arrow { font-family: var(--nm-head); font-weight: 700; text-decoration: none; display: inline-flex; align-items: center; gap: .4rem; }
.nm-link-arrow i { transition: transform .25s; }
.nm-link-arrow:hover i { transform: translateX(4px); }

/* ---------- Elemente comune ---------- */
.section { padding: 6rem 0; }
.section-sm { padding: 4rem 0; }
.bg-white { background: #fff !important; }
.bg-sand { background: var(--nm-sand); }
.bg-sage { background: var(--nm-sage-xl); }
.bg-lav { background: var(--nm-lav-l); }
.eyebrow {
  display: inline-block; font-family: var(--nm-head); font-weight: 700;
  font-size: .8rem; letter-spacing: .2em; text-transform: uppercase;
  color: var(--nm-sage); margin-bottom: .9rem;
}
.eyebrow::before { content: ""; display: inline-block; width: 26px; height: 2px; background: var(--nm-gold); vertical-align: middle; margin-right: .7rem; border-radius: 2px; }
.section-title { font-size: clamp(1.9rem, 3.4vw, 2.9rem); margin-bottom: 1.2rem; }
.lead { font-size: 1.2rem; color: var(--nm-text); }
.serif-accent { font-family: var(--nm-serif); font-weight: 400; font-style: italic; color: var(--nm-teal); letter-spacing: 0; }
.text-teal { color: var(--nm-teal) !important; }
.text-sage { color: var(--nm-sage) !important; }
.rounded-nm { border-radius: var(--nm-radius) !important; }
.rounded-nm-lg { border-radius: var(--nm-radius-lg) !important; }

.reveal { opacity: 0; transform: translateY(24px); transition: opacity .8s ease, transform .8s ease; }
.reveal.in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .reveal { opacity: 1; transform: none; transition: none; } html { scroll-behavior: auto; } }

/* ---------- Hero (prima pagină) ---------- */
.nm-hero {
  position: relative; overflow: hidden;
  min-height: min(88vh, 820px); display: flex; align-items: center;
  background: var(--nm-cream) url("../img/hero-dealuri-rasarit.jpg") center bottom / cover no-repeat;
  padding: 6rem 0 9rem;
}
.nm-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(248, 245, 238, .55) 0%, rgba(248, 245, 238, .1) 45%, rgba(20, 58, 68, 0) 100%); pointer-events: none; }
.nm-hero .container-xxl { position: relative; z-index: 2; }
.nm-hero-kicker { font-family: var(--nm-head); font-weight: 700; letter-spacing: .25em; text-transform: uppercase; font-size: .85rem; color: var(--nm-teal); }
.nm-hero h1 {
  font-size: clamp(2.6rem, 6.2vw, 5.2rem); font-weight: 600; line-height: 1.04;
  text-transform: lowercase; color: var(--nm-deep); margin: 1rem 0 1.4rem; letter-spacing: -.025em;
}
.nm-hero h1 em { font-family: var(--nm-serif); font-weight: 400; color: var(--nm-sage); text-transform: none; }
.nm-hero .nm-hero-sub { font-size: clamp(1.25rem, 2vw, 1.6rem); font-family: var(--nm-head); font-weight: 600; color: var(--nm-ink); }
.nm-hero .nm-hero-text { font-size: 1.15rem; max-width: 34rem; color: var(--nm-text); }

/* Banda cu carduri (stil carusel) */
.nm-feature-strip { margin-top: -6rem; position: relative; z-index: 5; }
.nm-feature {
  display: flex; flex-direction: column; height: 100%;
  background: #fff; border-radius: var(--nm-radius); overflow: hidden;
  box-shadow: var(--nm-shadow); text-decoration: none; color: var(--nm-text);
  transition: transform .35s, box-shadow .35s;
}
.nm-feature:hover { transform: translateY(-6px); box-shadow: 0 28px 50px -24px rgba(20, 58, 68, .45); color: var(--nm-text); }
.nm-feature-media { height: 150px; background-size: cover; background-position: center; position: relative; }
.nm-feature-media .nm-feature-icon {
  position: absolute; left: 1.25rem; bottom: -24px; width: 52px; height: 52px; border-radius: 16px;
  display: grid; place-items: center; font-size: 1.4rem; color: #fff; background: var(--nm-teal);
  box-shadow: 0 10px 20px -10px rgba(20, 58, 68, .7);
}
.nm-feature-body { padding: 2.1rem 1.4rem 1.5rem; display: flex; flex-direction: column; flex: 1; }
.nm-feature h3 { font-size: 1.15rem; margin-bottom: .5rem; }
.nm-feature p { font-size: .96rem; margin-bottom: 1rem; flex: 1; }
.nm-feature .nm-link-arrow { color: var(--nm-teal); font-size: .95rem; }

/* Card text simplu */
.nm-card {
  background: #fff; border-radius: var(--nm-radius); padding: 2.2rem;
  height: 100%; border: 1px solid var(--nm-line); transition: transform .3s, box-shadow .3s;
}
.nm-card:hover { transform: translateY(-4px); box-shadow: var(--nm-shadow); }
.nm-card h3 { font-size: 1.35rem; }
.nm-icon-bubble {
  width: 62px; height: 62px; border-radius: 20px; display: grid; place-items: center;
  font-size: 1.6rem; margin-bottom: 1.3rem;
}
.ib-sage { background: var(--nm-sage-xl); color: var(--nm-sage); }
.ib-lav { background: var(--nm-lav-l); color: #6f5fa0; }
.ib-gold { background: var(--nm-gold-l); color: #a7812b; }
.ib-sky { background: var(--nm-sky-l); color: var(--nm-teal); }

/* Pilonii (viziune / misiune / proces) */
.nm-pillar { position: relative; padding-top: 1.5rem; }
.nm-pillar .num { font-family: var(--nm-serif); font-size: 3.6rem; line-height: 1; color: var(--nm-sage-l); }
.nm-pillar h3 { text-transform: lowercase; font-size: 1.6rem; margin: .6rem 0 .8rem; }
.nm-pillar h3::first-letter { text-transform: uppercase; }

/* Bandă citat */
.nm-quote-band {
  position: relative; overflow: hidden; color: #fff;
  background: var(--nm-deep) url("../img/conexiuni-neuronale.jpg") center / cover no-repeat;
}
.nm-quote-band::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(20, 58, 68, .92), rgba(20, 58, 68, .55)); }
.nm-quote-band .container-xxl { position: relative; }
.nm-quote-band h2 { color: #fff; font-size: clamp(1.8rem, 3.6vw, 3rem); }
.nm-quote-band h2 em { font-family: var(--nm-serif); font-weight: 400; color: var(--nm-gold-l); }
.nm-quote-band p { color: rgba(255, 255, 255, .86); font-size: 1.15rem; }

/* Imagine cu formă organică */
.nm-blob-img { border-radius: 46% 54% 42% 58% / 52% 40% 60% 48%; overflow: hidden; box-shadow: var(--nm-shadow); aspect-ratio: 1 / 1; object-fit: cover; width: 100%; }
.nm-img-frame { position: relative; }
.nm-img-frame::before { content: ""; position: absolute; inset: 8% -6% -6% 8%; border-radius: var(--nm-radius-lg); background: var(--nm-sage-xl); z-index: 0; }
.nm-img-frame img { position: relative; z-index: 1; border-radius: var(--nm-radius-lg); }

/* Echipa */
.nm-team-card { background: #fff; border-radius: var(--nm-radius-lg); overflow: hidden; height: 100%; box-shadow: var(--nm-shadow); display: flex; flex-direction: column; }
.nm-team-photo { aspect-ratio: 4 / 4.4; overflow: hidden; background: var(--nm-sand); }
.nm-team-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 18%; transition: transform .8s; }
.nm-team-card:hover .nm-team-photo img { transform: scale(1.04); }
.nm-team-body { padding: 2rem 2rem 2.2rem; display: flex; flex-direction: column; flex: 1; }
.nm-team-body h3 { font-size: 1.6rem; margin-bottom: .2rem; }
.nm-role { font-family: var(--nm-head); font-weight: 700; font-size: .82rem; letter-spacing: .12em; text-transform: uppercase; color: var(--nm-sage); margin-bottom: 1rem; }
.nm-tags { display: flex; flex-wrap: wrap; gap: .45rem; margin-bottom: 1.4rem; }
.nm-tag { background: var(--nm-sage-xl); color: var(--nm-teal); border-radius: 999px; padding: .3rem .85rem; font-size: .82rem; font-weight: 700; }
.nm-tag.lav { background: var(--nm-lav-l); color: #5d4e8f; }
.nm-tag.gold { background: var(--nm-gold-l); color: #8d6a1f; }

/* Antet pagini interioare */
.nm-page-hero { position: relative; padding: 5.5rem 0 4.5rem; overflow: hidden; background: var(--nm-sand); }
.nm-page-hero.has-img { background-size: cover; background-position: center; }
.nm-page-hero.has-img::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(248, 245, 238, .96) 0%, rgba(248, 245, 238, .85) 45%, rgba(248, 245, 238, .25) 100%); }
.nm-page-hero.dark { color: #fff; }
.nm-page-hero.dark::before { background: linear-gradient(90deg, rgba(20, 58, 68, .95) 0%, rgba(20, 58, 68, .78) 50%, rgba(20, 58, 68, .3) 100%); }
.nm-page-hero.dark h1, .nm-page-hero.dark .lead { color: #fff; }
.nm-page-hero.dark .eyebrow { color: var(--nm-sage-l); }
.nm-page-hero .container-xxl { position: relative; }
.nm-page-hero h1 { font-size: clamp(2.2rem, 5vw, 3.8rem); margin-bottom: 1rem; }
.nm-breadcrumb { font-size: .9rem; margin-bottom: 1.2rem; }
.nm-breadcrumb a { text-decoration: none; color: inherit; opacity: .75; }
.nm-breadcrumb a:hover { opacity: 1; }
.nm-breadcrumb span { opacity: .5; margin: 0 .4rem; }

/* Servicii */
.nm-filter { display: flex; flex-wrap: wrap; gap: .6rem; }
.nm-filter button {
  border: 1.5px solid var(--nm-line); background: #fff; color: var(--nm-ink);
  border-radius: 999px; padding: .55rem 1.15rem; font-family: var(--nm-head); font-weight: 700; font-size: .92rem;
  transition: all .2s;
}
.nm-filter button:hover { border-color: var(--nm-sage); }
.nm-filter button.active { background: var(--nm-teal); border-color: var(--nm-teal); color: #fff; }
.nm-service-group { background: #fff; border-radius: var(--nm-radius-lg); padding: 2.4rem; border: 1px solid var(--nm-line); }
.nm-service-group + .nm-service-group { margin-top: 1.6rem; }
.nm-service-group-head { display: flex; gap: 1.2rem; align-items: flex-start; margin-bottom: 1.4rem; }
.nm-service-group-head .nm-icon-bubble { margin: 0; flex-shrink: 0; }
.nm-service-group h2 { font-size: 1.5rem; margin-bottom: .3rem; }
.nm-service-group-head p { margin: 0; color: var(--nm-muted); font-size: .98rem; }
.nm-price-row {
  display: flex; align-items: baseline; gap: 1rem; padding: 1rem 0;
  border-top: 1px dashed var(--nm-line);
}
.nm-price-row .name { flex: 1; font-weight: 700; color: var(--nm-ink); }
.nm-price-row .name small { display: block; font-weight: 400; color: var(--nm-muted); font-size: .9rem; margin-top: .15rem; }
.nm-price-row .meta { color: var(--nm-muted); font-size: .9rem; white-space: nowrap; }
.nm-price-row .price { font-family: var(--nm-head); font-weight: 700; color: var(--nm-teal); white-space: nowrap; font-size: 1.1rem; }
@media (max-width: 575.98px) {
  .nm-service-group { padding: 1.6rem 1.3rem; }
  .nm-price-row { flex-wrap: wrap; gap: .2rem 1rem; }
  .nm-price-row .name { flex-basis: 100%; }
}
.nm-org-list { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: .8rem; }
.nm-org-list li { background: var(--nm-sage-xl); border-radius: 16px; padding: .9rem 1.1rem; font-weight: 700; color: var(--nm-teal); display: flex; align-items: center; gap: .6rem; }

/* Profil specialist */
.nm-profile-photo { border-radius: var(--nm-radius-lg); overflow: hidden; box-shadow: var(--nm-shadow); position: sticky; top: 110px; }
.nm-profile-photo img { width: 100%; display: block; }
.nm-check-list { list-style: none; padding: 0; margin: 0; }
.nm-check-list li { position: relative; padding: .55rem 0 .55rem 2.1rem; border-bottom: 1px solid var(--nm-line); }
.nm-check-list li:last-child { border-bottom: 0; }
.nm-check-list li::before {
  content: "\F270"; font-family: "bootstrap-icons"; position: absolute; left: 0; top: .55rem;
  color: var(--nm-sage); font-size: 1.15rem;
}
.nm-callout { background: var(--nm-sage-xl); border-left: 4px solid var(--nm-sage); border-radius: 0 var(--nm-radius) var(--nm-radius) 0; padding: 1.5rem 1.8rem; font-size: 1.12rem; color: var(--nm-ink); }
.nm-callout.lav { background: var(--nm-lav-l); border-color: var(--nm-lav); }
.nm-bio p { font-size: 1.08rem; }
.nm-bio .big { font-family: var(--nm-head); font-size: 1.5rem; font-weight: 600; color: var(--nm-ink); line-height: 1.4; }

/* Simptome */
.nm-sym-card { background: #fff; border-radius: var(--nm-radius); border: 1px solid var(--nm-line); height: 100%; overflow: hidden; display: flex; flex-direction: column; }
.nm-sym-head { padding: 1.6rem 1.6rem 1.1rem; display: flex; gap: 1rem; align-items: center; }
.nm-sym-head .nm-icon-bubble { margin: 0; width: 54px; height: 54px; font-size: 1.4rem; border-radius: 16px; flex-shrink: 0; }
.nm-sym-head h3 { font-size: 1.25rem; margin: 0; }
.nm-sym-head .tagline { font-family: var(--nm-head); font-weight: 700; font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; color: var(--nm-sage); }
.nm-sym-list { list-style: none; margin: 0; padding: 0 1.6rem 1.4rem; flex: 1; }
.nm-sym-list li {
  display: flex; gap: .75rem; align-items: flex-start; padding: .55rem .6rem; margin: 0 -.6rem;
  border-radius: 12px; cursor: pointer; transition: background .2s; font-size: .98rem;
}
.nm-sym-list li:hover { background: var(--nm-cream); }
.nm-sym-list li .box {
  width: 22px; height: 22px; flex-shrink: 0; border-radius: 7px; border: 2px solid var(--nm-sage-l);
  display: grid; place-items: center; margin-top: 2px; transition: all .2s; color: #fff; font-size: .8rem;
}
.nm-sym-list li.checked { background: var(--nm-sage-xl); }
.nm-sym-list li.checked .box { background: var(--nm-sage); border-color: var(--nm-sage); }
.nm-counter {
  position: sticky; bottom: 1rem; z-index: 20; background: var(--nm-deep); color: #fff;
  border-radius: 999px; padding: .8rem 1rem .8rem 1.6rem; display: flex; align-items: center; gap: 1rem;
  box-shadow: 0 20px 40px -18px rgba(0, 0, 0, .5); max-width: 760px; margin: 2.5rem auto 0;
}
.nm-counter .num { font-family: var(--nm-head); font-weight: 700; font-size: 1.4rem; color: var(--nm-gold-l); }
.nm-counter .btn { padding: .55rem 1.2rem; }
.nm-steps { counter-reset: s; list-style: none; padding: 0; }
.nm-steps li { counter-increment: s; position: relative; padding: 0 0 1.6rem 4rem; }
.nm-steps li::before {
  content: counter(s); position: absolute; left: 0; top: -.2rem; width: 46px; height: 46px; border-radius: 50%;
  background: var(--nm-gold-l); color: #8d6a1f; display: grid; place-items: center;
  font-family: var(--nm-head); font-weight: 700; font-size: 1.2rem;
}
.nm-steps li strong { display: block; font-family: var(--nm-head); color: var(--nm-ink); font-size: 1.15rem; }
.nm-source { font-size: .88rem; color: var(--nm-muted); }

/* AuDHD – tabel tensiuni */
.nm-tension { background: #fff; border-radius: var(--nm-radius); border: 1px solid var(--nm-line); padding: 1.4rem 1.6rem; height: 100%; }
.nm-tension .sides { display: grid; grid-template-columns: 1fr auto 1fr; gap: .8rem; align-items: center; }
.nm-tension .side { border-radius: 14px; padding: .8rem 1rem; font-weight: 700; font-size: .95rem; text-align: center; }
.nm-tension .side.adhd { background: var(--nm-gold-l); color: #7d5d17; }
.nm-tension .side.aut { background: var(--nm-lav-l); color: #54468a; }
.nm-tension .vs { font-family: var(--nm-serif); font-style: italic; color: var(--nm-muted); }
.nm-tension p { margin: 1rem 0 0; font-size: .96rem; }
.nm-legend { display: inline-flex; align-items: center; gap: .45rem; font-weight: 700; font-size: .9rem; margin-right: 1.2rem; }
.nm-legend i { width: 14px; height: 14px; border-radius: 4px; display: inline-block; }

/* Valori */
.nm-value { display: flex; gap: 1.4rem; padding: 2rem; background: #fff; border-radius: var(--nm-radius); height: 100%; border: 1px solid var(--nm-line); transition: transform .3s, box-shadow .3s; }
.nm-value:hover { transform: translateY(-4px); box-shadow: var(--nm-shadow); }
.nm-value .nm-icon-bubble { flex-shrink: 0; margin: 0; }
.nm-value h3 { font-size: 1.3rem; margin-bottom: .5rem; }
.nm-value p { margin: 0; }
.nm-promise { background: var(--nm-teal); color: #fff; border-radius: var(--nm-radius-lg); padding: 3rem; }
.nm-promise h2 { color: #fff; }
.nm-promise li { padding: .5rem 0; border-bottom: 1px solid rgba(255, 255, 255, .15); }
.nm-promise li:last-child { border-bottom: 0; }
.nm-promise i { color: var(--nm-gold); margin-right: .6rem; }

/* Contact & Programare */
.nm-contact-item { display: flex; gap: 1.1rem; align-items: flex-start; padding: 1.3rem 0; border-bottom: 1px solid var(--nm-line); }
.nm-contact-item:last-child { border-bottom: 0; }
.nm-contact-item .nm-icon-bubble { margin: 0; width: 54px; height: 54px; font-size: 1.35rem; flex-shrink: 0; border-radius: 16px; }
.nm-contact-item .label { font-family: var(--nm-head); font-weight: 700; font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; color: var(--nm-muted); }
.nm-contact-item a, .nm-contact-item .val { font-family: var(--nm-head); font-weight: 700; font-size: 1.2rem; color: var(--nm-ink); text-decoration: none; }
.nm-contact-item a:hover { color: var(--nm-teal); }
.nm-map { border-radius: var(--nm-radius-lg); overflow: hidden; box-shadow: var(--nm-shadow); position: relative; background: var(--nm-sky-l) url("../img/apa-unde-calme.jpg") center / cover; min-height: 420px; height: 100%; }
.nm-map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.nm-map-fallback { position: absolute; inset: 0; display: grid; place-items: center; text-align: center; padding: 2rem; color: #fff; }
.nm-map-fallback .inner { background: rgba(20, 58, 68, .82); border-radius: var(--nm-radius); padding: 2rem; max-width: 360px; }
.nm-gentle { background: var(--nm-lav-l); border-radius: var(--nm-radius-lg); padding: 2.4rem; }
.nm-option {
  background: #fff; border-radius: var(--nm-radius-lg); padding: 2.8rem 2.4rem; height: 100%;
  border: 1px solid var(--nm-line); display: flex; flex-direction: column; text-align: center;
  box-shadow: var(--nm-shadow); transition: transform .3s;
}
.nm-option:hover { transform: translateY(-6px); }
.nm-option .big-icon { width: 92px; height: 92px; border-radius: 30px; margin: 0 auto 1.6rem; display: grid; place-items: center; font-size: 2.4rem; }
.nm-option h2 { font-size: 1.8rem; }
.nm-option p { flex: 1; }
.nm-option .num { font-family: var(--nm-head); font-weight: 700; font-size: 1.35rem; color: var(--nm-ink); margin-bottom: 1.4rem; }

/* CTA final */
.nm-cta { position: relative; overflow: hidden; border-radius: var(--nm-radius-lg); padding: 4rem 3rem; background: var(--nm-sage-xl) url("../img/frunze-eucalipt.jpg") center / cover; }
.nm-cta::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(248, 245, 238, .97) 0%, rgba(248, 245, 238, .88) 55%, rgba(248, 245, 238, .35) 100%); }
.nm-cta > * { position: relative; }
@media (max-width: 767.98px) { .nm-cta { padding: 3rem 1.6rem; } .section { padding: 4.5rem 0; } }

/* ---------- Footer ---------- */
.nm-footer { background: var(--nm-deep); color: rgba(255, 255, 255, .78); padding: 5rem 0 1.5rem; font-size: .98rem; }
.nm-footer a { color: rgba(255, 255, 255, .85); text-decoration: none; }
.nm-footer a:hover { color: #fff; }
.nm-footer-logo { display: inline-block; background: #fff; border-radius: 20px; padding: .6rem 1rem; }
.nm-footer-logo img { height: 86px; width: auto; }
.nm-footer-tag { max-width: 22rem; }
.nm-footer-title { color: #fff; font-size: 1rem; letter-spacing: .14em; text-transform: uppercase; margin-bottom: 1.2rem; }
.nm-footer-links li { margin-bottom: .55rem; }
.nm-footer-contact li { display: flex; gap: .8rem; margin-bottom: .75rem; }
.nm-footer-contact i { color: var(--nm-gold); margin-top: .1rem; }
.nm-social { width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; background: rgba(255, 255, 255, .1); font-size: 1.15rem; transition: background .2s; }
.nm-social:hover { background: var(--nm-sage); }
.nm-footer .nm-btn-whatsapp { padding: .65rem 1.3rem; }
.nm-footer-bottom { margin-top: 3.5rem; padding-top: 1.5rem; border-top: 1px solid rgba(255, 255, 255, .12); display: flex; flex-wrap: wrap; justify-content: space-between; gap: .6rem; font-size: .88rem; }
.nm-footer-note { opacity: .7; }
.nm-to-top { position: fixed; right: 1.2rem; bottom: 1.2rem; z-index: 1040; width: 48px; height: 48px; border-radius: 50%; border: 0; background: var(--nm-teal); color: #fff; box-shadow: var(--nm-shadow); font-size: 1.2rem; }
.nm-to-top:hover { background: var(--nm-deep); }

/* ---------- Ajustări mobil ---------- */
@media (max-width: 767.98px) {
  .g-5, .gx-5 { --bs-gutter-x: 1.5rem; }
  .container-xxl { padding-left: 1rem; padding-right: 1rem; }
  .nm-hero { padding: 3.5rem 0 8rem; background-position: 70% bottom; }
  .nm-hero-kicker { letter-spacing: .14em; font-size: .75rem; }
  .nm-img-frame::before { inset: 6% -10px -10px 6%; }
  .nm-counter { border-radius: 22px; flex-wrap: wrap; padding: 1rem 1.2rem; }
}
body { overflow-x: clip; }
