/* =====================================================================
   IGN SERVICE — style.css
   CLONĂ 1:1 a site-ului live ignservice.com (rescris curat din Tailwind).
   Font: Inter · Brand: emerald #059669 · structură/text identice cu live.
   ===================================================================== */

/* ------------------------------------------------------------------ */
/* 1. VARIABILE (valori Tailwind folosite de site-ul original)         */
/* ------------------------------------------------------------------ */
:root {
  --emerald:      #059669;   /* primary */
  --emerald-700:  #047857;   /* hover */
  --emerald-500:  #10b981;
  --emerald-400:  #34d399;
  --emerald-300:  #6ee7b7;
  --emerald-100:  #d1fae5;
  --hero-1:       #263238;
  --hero-2:       #1a1f23;
  --gray-50:  #f9fafb;  --gray-100: #f3f4f6;  --gray-200: #e5e7eb;
  --gray-300: #d1d5db;  --gray-400: #9ca3af;  --gray-500: #6b7280;
  --gray-600: #4b5563;  --gray-700: #374151;  --gray-800: #1f2937;
  --gray-900: #111827;
  --yellow:   #facc15;
  --container: 80rem;        /* max-w-7xl = 1280px */
  --shadow-lg: 0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -4px rgba(0,0,0,.1);
  --shadow-xl: 0 20px 25px -5px rgba(0,0,0,.1), 0 8px 10px -6px rgba(0,0,0,.1);
  --shadow-2xl: 0 25px 50px -12px rgba(0,0,0,.25);
  --ease-out-quart: cubic-bezier(0.25, 1, 0.5, 1);
  --ease-out-expo:  cubic-bezier(0.16, 1, 0.3, 1);
}

/* ------------------------------------------------------------------ */
/* 2. RESET + BAZĂ                                                     */
/* ------------------------------------------------------------------ */
*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; overflow-x: clip; }
body {
  font-family: "Inter", "Inter Fallback", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  color: var(--gray-900);
  background: #fff;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  overflow-x: clip; /* clip (nu hidden) — html gestionează scroll-ul orizontal; hidden ar face body scroll-container și ar strica position:sticky */
}
img, video, svg { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; color: inherit; }
ul { list-style: none; padding: 0; }
h1, h2, h3, h4 { line-height: 1.15; font-weight: 700; }

.container { width: 100%; max-width: var(--container); margin-inline: auto; padding-inline: 1rem; }
@media (min-width: 640px) { .container { padding-inline: 1.5rem; } }
@media (min-width: 1024px) { .container { padding-inline: 2rem; } }

.text-emerald { color: var(--emerald); }

/* ------------------------------------------------------------------ */
/* 3. BUTOANE                                                          */
/* ------------------------------------------------------------------ */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
  font-weight: 600; border-radius: .5rem; cursor: pointer; border: 0;
  padding: .75rem 1.5rem; transition: all .25s ease; text-align: center;
}
.btn svg { width: 1.25em; height: 1.25em; }
.btn-emerald { background: var(--emerald); color: #fff; box-shadow: var(--shadow-lg); }
.btn-emerald:hover { background: var(--emerald-700); box-shadow: var(--shadow-xl); transform: translateY(-2px); }
.btn-emerald-round { border-radius: 9999px; padding: 1rem 2rem; font-weight: 700; }
.btn-outline { background: transparent; border: 2px solid var(--emerald); color: var(--emerald); }
.btn-outline:hover { background: rgba(5,150,105,.1); transform: translateY(-2px); }
.btn-lg { padding: 1rem 2rem; font-size: 1.125rem; }
.uppercase-cta { text-transform: uppercase; letter-spacing: .04em; }

/* Shine effect (din globals.css original) */
.btn-shine { position: relative; overflow: hidden; }
.btn-shine::before {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.3), transparent);
  transform: translateX(-100%) translateY(-100%) rotate(45deg); transition: all .6s ease;
}
.btn-shine:hover::before { animation: shine .8s ease-in-out; }
@keyframes shine {
  0% { transform: translateX(-100%) translateY(-100%) rotate(45deg); }
  100% { transform: translateX(200%) translateY(200%) rotate(45deg); }
}

/* ------------------------------------------------------------------ */
/* 4. HEADER  (rând alb branding + bară verde nav)                     */
/* ------------------------------------------------------------------ */
.header { width: 100%; display: flex; flex-direction: column; position: relative; z-index: 60; }

/* Rând 1 — branding alb */
.branding { background: #fff; border-bottom: 1px solid var(--gray-200); }
.branding__inner { display: flex; align-items: center; justify-content: space-between; height: 5rem; }
@media (min-width: 768px) { .branding__inner { height: 6rem; } }
.branding__logo img { height: 4rem; width: auto; object-fit: contain; }
@media (min-width: 768px) { .branding__logo img { height: 5rem; } }
.branding__contact { display: none; align-items: center; gap: 1.5rem; }
@media (min-width: 768px) { .branding__contact { display: flex; } }
.branding__contact a { display: inline-flex; align-items: center; gap: .375rem; font-size: .875rem; font-weight: 500; color: var(--gray-700); transition: color .2s; }
.branding__contact a:hover { color: var(--emerald); }
.branding__contact svg { width: 1rem; height: 1rem; color: var(--emerald); }
.branding__contact-tel { display: inline-flex; align-items: center; gap: .375rem; font-size: .875rem; font-weight: 500; color: var(--gray-700); }
.branding__contact-tel a { color: inherit; transition: color .2s; }
.branding__contact-tel a:hover { color: var(--emerald); }

/* Rând 2 — nav verde — STICKY MEREU, deasupra conținutului */
.navbar { background: var(--emerald); box-shadow: 0 3px 8px -4px rgba(4,120,87,.35); display: none; position: sticky; top: 0; z-index: 50; }
@media (min-width: 768px) { .navbar { display: block; } }
/* pe mobil bara verde e ascunsă → facem header-ul (logo + burger) sticky, ca meniul să fie mereu accesibil */
@media (max-width: 767px) { .header { position: sticky; top: 0; z-index: 55; box-shadow: 0 2px 6px -3px rgba(4,120,87,.3); } }
.navbar__inner { display: flex; align-items: center; justify-content: center; height: 3rem; }
.navbar__links { display: flex; align-items: center; gap: .25rem; }
.navbar a, .navbar .navbtn {
  padding: .5rem 1rem; color: #fff; font-weight: 600; border-radius: .375rem;
  background: none; border: 0; cursor: pointer; display: inline-flex; align-items: center; gap: .25rem;
  transition: background .2s;
}
.navbar a:hover, .navbar .navbtn:hover { background: var(--emerald-700); }

/* (nav-ul vechi „apare la scroll" a fost eliminat — acum bara verde e sticky permanent) */

/* Dropdown Program */
.dropdown-wrap { position: relative; }
.dropdown {
  position: absolute; top: calc(100% + .5rem); right: 0; width: 20rem;
  background: var(--gray-800); border-radius: .5rem; box-shadow: var(--shadow-2xl);
  border: 1px solid rgba(5,150,105,.3); padding: 1.5rem; z-index: 50;
  opacity: 0; visibility: hidden; transform: scale(.95); transform-origin: top;
  transition: opacity .3s, transform .3s, visibility .3s;
}
.dropdown-wrap.open .dropdown { opacity: 1; visibility: visible; transform: scale(1); }
.dropdown h3, .dropdown .dropdown__title { color: #fff; font-size: 1.25rem; font-weight: 700; margin: 0 0 1rem; }
.skip-link { position: absolute; left: -9999px; top: 0; z-index: 100000; background: var(--emerald); color: #fff; padding: .7rem 1rem; border-radius: 0 0 8px 0; font-weight: 700; text-decoration: none; }
.skip-link:focus { left: 0; }
.dropdown .drow { display: flex; justify-content: space-between; align-items: center; color: #e5e7eb; padding: .25rem 0; }
.dropdown .drow b { color: #fff; font-weight: 700; }
.dropdown .dnote { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid rgba(5,150,105,.3); color: var(--yellow); font-size: .875rem; font-weight: 500; }

/* Burger + mobile */
.burger { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; background: none; border: 0; color: var(--emerald); cursor: pointer; padding: .5rem; }
@media (min-width: 768px) { .burger { display: none; } }
.burger svg { width: 1.5rem; height: 1.5rem; }
.mobile-menu { display: none; background: var(--emerald); overflow: hidden; }
.mobile-menu.open { display: block; }
.mobile-menu nav { display: flex; flex-direction: column; align-items: center; padding: 1rem 0; gap: .5rem; }
.mobile-menu a { width: 100%; text-align: center; padding: .75rem 1rem; color: #fff; font-weight: 600; }
.mobile-menu a:hover { background: var(--emerald-700); }
.mobile-menu .mcontact { width: 100%; border-top: 1px solid rgba(255,255,255,.2); padding: 1rem; margin-top: .5rem; display: flex; flex-direction: column; gap: .5rem; align-items: center; }
.mobile-menu .mcontact a { color: #fff; display: flex; gap: .5rem; align-items: center; justify-content: center; width: 100%; font-size: 1.05rem; font-weight: 700; }

/* ------------------------------------------------------------------ */
/* 5. HERO                                                             */
/* ------------------------------------------------------------------ */
.hero {
  position: relative; min-height: 500px; display: flex; align-items: flex-start; justify-content: center;
  padding-top: 4rem; background: linear-gradient(135deg, var(--hero-1), var(--hero-2)); overflow: hidden;
  border-top: 3px solid var(--emerald); /* linie verde STATICĂ între navbar/header și hero (înlocuiește linia închisă) */
}
@media (min-width: 768px) { .hero { min-height: 600px; padding-top: 6rem; } }
@media (min-width: 1024px) { .hero { min-height: 700px; padding-top: 8rem; } }
.hero__media { position: absolute; inset: 0; overflow: hidden; isolation: isolate; }
.hero__media video, .hero__media img { width: 100%; height: 100%; object-fit: cover; }
/* video pe toate dispozitivele; poster-ul (imagine ușoară) e LCP-ul, video-ul se încarcă lazy */
.hero__media .desktop { display: block; }
.hero__media .mobile { display: none; }
/* poster = strat de bază, vizibil INSTANT (preîncărcat); video-ul stă peste și apare cu un fade
   doar când chiar pornește (.is-playing) — așa nu mai apare fundalul negru la refresh. */
/* media împinsă 4px în sus (top:-4px + height +4px) ca să tăiem rândurile negre din capul
   pozei/video-ului — altfel apărea o dungă neagră subțire fix sub linia verde */
.hero__media .hero__poster,
.hero__media .hero__video { position: absolute; left: 0; width: 100%; top: -4px; height: calc(100% + 4px); }
.hero__media .hero__poster { z-index: 0; opacity: 1; }
.hero__media .hero__video  { z-index: 1; opacity: 0; transition: opacity .7s ease; }
.hero__media .hero__video.is-playing { opacity: 1; }
.hero__overlay {
  position: absolute; inset: 0;
  /* overlay MEDIU, uniform, cu nuanță rece — cât să iasă textul frumos; degradé ușor mai închis jos ca să topească banda neagră din video (blatul aragazului) */
  background:
    linear-gradient(to bottom, rgba(20,33,45,.47) 0%, rgba(20,33,45,.47) 50%, rgba(20,33,45,.6) 80%, rgba(20,33,45,.78) 100%);
}
/* mască subtilă în colțul dreapta-jos: ascunde watermark-ul video-ului (doar desktop) */
.hero__media::after { content: ""; position: absolute; right: 0; bottom: 0; width: 360px; height: 170px; background: radial-gradient(210px 110px at bottom right, rgba(26,36,41,1), rgba(26,36,41,.92) 34%, rgba(26,36,41,.55) 60%, transparent 80%); pointer-events: none; z-index: 2; }
@media (max-width: 700px) { .hero__media::after { display: none; } }
.hero__content { position: relative; z-index: 10; max-width: var(--container); margin-inline: auto; padding: 5rem 1rem; width: 100%; }
.hero__center { display: flex; flex-direction: column; align-items: center; text-align: center; }
@property --badge-angle { syntax: "<angle>"; inherits: false; initial-value: 0deg; }
.hero__badge, .lp-hero__badge {
  position: relative; isolation: isolate;
  box-shadow: 0 0 16px rgba(16,185,129,.45);
  animation: badgeGlow 2.8s ease-in-out infinite;
}
/* margine verde care „curge" continuu în jurul badge-ului */
.hero__badge::after, .lp-hero__badge::after {
  content: ""; position: absolute; inset: 0; border-radius: inherit; padding: 1.6px; z-index: -1;
  background: conic-gradient(from var(--badge-angle), transparent 0 52%, #6ee7b7 68%, #10b981 80%, transparent 92%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor; mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); mask-composite: exclude;
  animation: badgeSpin 3.2s linear infinite; pointer-events: none;
}
@keyframes badgeSpin { to { --badge-angle: 360deg; } }
@keyframes badgeGlow { 0%,100% { box-shadow: 0 0 12px rgba(16,185,129,.32); } 50% { box-shadow: 0 0 24px rgba(16,185,129,.7); } }
/* [reduce-motion suppression eliminat — owner vrea animatiile active] */
.hero__badge {
  display: inline-flex; align-items: center; gap: .5rem; padding: .5rem 1.1rem; margin-bottom: 1.5rem;
  border: 0; border-radius: 9999px; background: rgba(255,255,255,.16);
  color: #fff; font-size: .9rem; font-weight: 700;
}
.hero__badge svg { width: 1rem; height: 1rem; }
/* orașul/județul pe paginile locale = linia a 2-a a titlului: mai mică, CAPS, bold, serioasă, cu linii pe laturi */
.hero__city { display: flex; align-items: center; justify-content: center; gap: .35em; font-size: .6em; font-weight: 800; letter-spacing: .01em; margin-top: .5em; }
.hero__city::before, .hero__city::after { content: ""; height: 2px; width: .85em; background: currentColor; opacity: .5; border-radius: 2px; }
.hero h1 {
  color: #fff; font-weight: 700; margin-bottom: 1rem; line-height: 1.1;
  font-size: 1.5rem;
}
@media (min-width: 640px) { .hero h1 { font-size: 1.875rem; } }
@media (min-width: 768px) { .hero h1 { font-size: 3rem; margin-bottom: 1.5rem; } }
@media (min-width: 1024px) { .hero h1 { font-size: 3.75rem; } }
.hero__sub { color: #f1f5f4; font-size: 1.08rem; font-weight: 600; margin-bottom: 1.5rem; line-height: 1.55; max-width: 48rem; }
@media (min-width: 768px) { .hero__sub { font-size: 1.25rem; margin-bottom: 2rem; } }
@media (min-width: 1024px) { .hero__sub { font-size: 1.5rem; } }

/* animații entrance — coregrafia hero */
@keyframes fadeInUp { from { opacity: 0; transform: translate3d(0,30px,0); } to { opacity: 1; transform: translate3d(0,0,0); } }
.animate-fadeInUp { animation: fadeInUp .8s var(--ease-out-quart) forwards; opacity: 0; }
.delay-200 { animation-delay: .2s; } .delay-400 { animation-delay: .4s; } .delay-600 { animation-delay: .6s; }
/* titlul hero: se ridică dintr-un blur scurt — un singur element, o singură dată */
@keyframes heroRise { from { opacity: 0; transform: translate3d(0,34px,0); filter: blur(10px); } to { opacity: 1; transform: translate3d(0,0,0); filter: blur(0); } }
.animate-heroRise { animation: heroRise .9s var(--ease-out-expo) forwards; opacity: 0; }
/* badge-ul ANRE: pop discret */
@keyframes badgePop { 0% { opacity: 0; transform: scale(.82) translateY(8px); } 60% { opacity: 1; } 100% { opacity: 1; transform: scale(1) translateY(0); } }
.animate-badgePop { animation: badgePop .7s var(--ease-out-quart) forwards; opacity: 0; }
/* media hero: se așază lent (Ken Burns scurt) */
@keyframes videoFadeIn { 0% { opacity: 0; transform: scale(1.07); } 100% { opacity: 1; transform: scale(1); } }
.animate-videoFadeIn { animation: videoFadeIn 2s var(--ease-out-expo) forwards; }

/* REVEAL poster hero: fade + zoom-out ușor la prima încărcare (rapid, elegant) */
@keyframes heroPosterReveal { from { opacity: 0; transform: scale(1.07); } to { opacity: 1; transform: scale(1); } }
.hero__poster { animation: heroPosterReveal 1s var(--ease-out-expo) both; }

/* REVEAL logo: apariție rapidă (fade + ridicare) + un licăr care trece o dată peste el */
@keyframes logoReveal { from { opacity: 0; transform: translateY(-8px) scale(.94); } to { opacity: 1; transform: translateY(0) scale(1); } }
/* licărul trece înainte și înapoi, cu pauze scurte între treceri */
@keyframes logoShine {
  0%   { transform: translateX(-130%); }
  20%  { transform: translateX(130%); }   /* trece spre dreapta */
  50%  { transform: translateX(130%); }   /* pauză */
  70%  { transform: translateX(-130%); }  /* se întoarce spre stânga */
  100% { transform: translateX(-130%); }  /* pauză */
}
.branding__logo { position: relative; display: inline-block; overflow: hidden; }
.branding__logo img { animation: logoReveal .7s var(--ease-out-expo) both; }
.branding__logo::after {
  content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 2;
  background: linear-gradient(105deg, transparent 38%, rgba(255,255,255,.55) 50%, transparent 62%);
  transform: translateX(-130%); will-change: transform;
  animation: logoShine 6.5s ease-in-out .4s infinite;
}
/* pauză când logo-ul nu e pe ecran / tab în fundal — zero cost degeaba pe telefoane slabe */
.branding__logo.is-paused::after { animation-play-state: paused; }

/* ACELAȘI luciu pe badge-ul IGN din colțul slideshow-ului/carouselului (favicon-512) */
.benefits__float--logo { overflow: hidden; }
.benefits__float--logo::after {
  content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 2; border-radius: inherit;
  background: linear-gradient(105deg, transparent 38%, rgba(255,255,255,.6) 50%, transparent 62%);
  transform: translateX(-130%); will-change: transform;
  animation: logoShine 6.5s ease-in-out .4s infinite;
}
.benefits__float--logo.is-paused::after { animation-play-state: paused; }

/* [reduce-motion suppression eliminat — owner vrea animatiile active] */

/* ------------------------------------------------------------------ */
/* 6. SECȚIUNI GENERICE                                                */
/* ------------------------------------------------------------------ */
.section { padding-block: 4rem; }
@media (min-width: 768px) { .section { padding-block: 6rem; } }
.section--white { background: #fff; }
.section--gray { background: var(--gray-50); }
.section--mint { background: linear-gradient(180deg, #ffffff 0%, #f0fdf4 100%); }
/* ===== Separator de secțiune — linie emerald fină cu flacăra brandului ===== */
.sec-divider { position: relative; display: flex; align-items: center; justify-content: center; width: min(420px, 80%); height: 38px; margin: -19px auto; z-index: 3; }
@media (min-width: 768px) { .sec-divider--no-desktop { display: none; } }
/* DOUĂ segmente fine, cu SPAȚIU față de flacără (nu o ating), care se sting spre capete.
   Sunt la top:50% = fix pe cusătura dintre secțiuni, deci o acoperă — fără „linie dublă" sus. */
.sec-divider::before, .sec-divider::after { content: ""; position: absolute; top: 50%; height: 1px; width: calc(50% - 32px); transform: translateY(-50%); border-radius: 1px; }
.sec-divider::before { left: 0;  background: linear-gradient(90deg, transparent, rgba(5,150,105,.4)); }
.sec-divider::after  { right: 0; background: linear-gradient(90deg, rgba(5,150,105,.4), transparent); }
/* variantă SIMPLĂ — doar linia fină, fără flacără (ca să nu fie flacără după flacără) */
.sec-divider--plain .sec-divider__mark { display: none; }
.sec-divider--plain::before { left: 0; width: 100%; background: linear-gradient(90deg, transparent, rgba(5,150,105,.32) 16%, rgba(5,150,105,.32) 84%, transparent); }
.sec-divider--plain::after { display: none; }
.sec-divider__mark { position: relative; z-index: 1; flex: none; display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: #fff; color: #ef4444; border: 1.5px solid rgba(5,150,105,.3); box-shadow: 0 0 0 6px rgba(5,150,105,.06), 0 4px 14px -6px rgba(5,150,105,.4); animation: secMark 3.6s ease-in-out infinite; }
.sec-divider__mark svg { width: 19px; height: 19px; transform-origin: 50% 90%; animation: flameFlicker 2.4s ease-in-out infinite; will-change: transform, filter; }
@keyframes secMark { 0%, 100% { box-shadow: 0 0 0 6px rgba(5,150,105,.06), 0 4px 14px -6px rgba(5,150,105,.4); transform: translateY(0); } 50% { box-shadow: 0 0 0 9px rgba(5,150,105,.1), 0 5px 16px -6px rgba(5,150,105,.5); transform: translateY(-1px); } }
/* flacără care arde lent și subtil — linge ușor în sus, glow cald blând care urcă */
@keyframes flameFlicker {
  0%   { transform: rotate(0deg) scale(1, 1);       opacity: 1;   filter: drop-shadow(0 -1px 2px rgba(239,68,68,.55)); }
  25%  { transform: rotate(-3deg) scale(.97, 1.06); opacity: .94; filter: drop-shadow(0 -2px 4px rgba(249,115,22,.6)); }
  50%  { transform: rotate(2.5deg) scale(1.03, .97); opacity: 1;  filter: drop-shadow(0 -1px 3px rgba(239,68,68,.6)); }
  75%  { transform: rotate(-2deg) scale(.98, 1.04); opacity: .96; filter: drop-shadow(0 -2px 4px rgba(249,115,22,.58)); }
  100% { transform: rotate(0deg) scale(1, 1);       opacity: 1;   filter: drop-shadow(0 -1px 2px rgba(239,68,68,.55)); }
}
/* [reduce-motion suppression eliminat — owner vrea animatiile active] */
.section--gray100 { background: var(--gray-100); }
.section-center { text-align: center; max-width: 42rem; margin-inline: auto; margin-bottom: 3rem; }
.eyebrow { color: var(--emerald-700); font-weight: 700; font-size: .8125rem; letter-spacing: .01em; text-transform: none; display: block; margin-bottom: .5rem; }
h2.section-title { font-size: 1.875rem; color: var(--gray-900); }
@media (min-width: 768px) { h2.section-title { font-size: 2.25rem; } }
.lead { font-size: 1.125rem; color: var(--gray-600); }

/* reveal on scroll — variante direcționale (GSAP preia controlul când există; CSS e fallback IO) */
[data-reveal] { opacity: 0; transform: translateY(24px); transition: opacity .7s var(--ease-out-quart), transform .7s var(--ease-out-quart); }
[data-reveal="left"] { transform: translateX(-30px); }
[data-reveal="right"] { transform: translateX(30px); }
[data-reveal="zoom"] { transform: scale(.94); }
[data-reveal].in { opacity: 1; transform: none; }
.no-js [data-reveal] { opacity: 1; transform: none; }
/* când GSAP rulează, animă inline — oprim tranzițiile CSS ca să nu se bată,
   iar starea finală (după clearProps) e vizibilă din CSS */
.gsap-on [data-reveal] { transition: none; opacity: 1; transform: none; }

/* ------------------------------------------------------------------ */
/* 7. DESPRE NOI                                                       */
/* ------------------------------------------------------------------ */
.about__grid { display: grid; grid-template-columns: 1fr; gap: 3rem; align-items: center; }
@media (min-width: 1024px) { .about__grid { grid-template-columns: 1fr 1fr; } }
.about__label { color: var(--emerald-700); font-weight: 700; font-size: .8125rem; letter-spacing: .01em; text-transform: none; display: block; margin-bottom: .5rem; }
.about h2 { font-size: 1.875rem; color: var(--gray-900); margin-bottom: 1.5rem; }
@media (min-width: 768px) { .about h2 { font-size: 2.25rem; } }
.about p { color: var(--gray-600); margin-bottom: 1rem; }
.about__points { margin: 0 0 2rem; display: flex; flex-direction: column; gap: .75rem; }
.about__points li { display: flex; align-items: center; gap: .75rem; color: var(--gray-700); font-weight: 500; }
.about__points svg { width: 1.25rem; height: 1.25rem; color: var(--emerald); flex-shrink: 0; }
.about__actions { display: flex; flex-direction: column; gap: .75rem; }
@media (min-width: 640px) { .about__actions { flex-direction: row; } }
.about__media { position: relative; }
.about__media .frame { position: relative; aspect-ratio: 4/3; border-radius: .75rem; box-shadow: var(--shadow-lg); overflow: hidden; background: var(--gray-100); }
.about__media .frame img { width: 100%; height: 100%; object-fit: contain; padding: .5rem; }
.about__media .deco { position: absolute; bottom: -1rem; right: -1rem; width: 6rem; height: 6rem; border-radius: .5rem; background: var(--emerald); z-index: -1; }

/* Zigzag conținut + imagine (ex: Locuri de muncă pe pagina Cariere) */
.kar-split { display: grid; gap: 2.25rem; align-items: center; }
.kar-split__text h2 { margin-bottom: 1.1rem; }
.kar-split__text p { margin-bottom: 1rem; color: var(--gray-600); }
.kar-split__text p:last-child { margin-bottom: 0; }
.kar-split__media { position: relative; }
.kar-split__frame { position: relative; aspect-ratio: 3/2; border-radius: 1rem; overflow: hidden; box-shadow: var(--shadow-lg); background: var(--gray-100); }
.kar-split__frame img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s ease; }
.kar-split:hover .kar-split__frame img { transform: scale(1.04); }
.kar-split__deco { position: absolute; bottom: -.85rem; right: -.85rem; width: 5.5rem; height: 5.5rem; border-radius: .65rem; background: var(--emerald); z-index: -1; }
@media (min-width: 860px) { .kar-split { grid-template-columns: 1.05fr .95fr; gap: 3.5rem; } }
/* Carduri „De ce IGN Service" (perks) — folosite pe paginile de locuri de muncă */
.kar-perks { display: grid; grid-template-columns: repeat(3,1fr); gap: .7rem; margin-top: 1.8rem; max-width: 560px; }
.kar-perk { display: flex; flex-direction: column; align-items: flex-start; gap: .5rem; padding: 1rem .9rem; background: rgba(255,255,255,.85); border: 1px solid rgba(6,95,70,.16); border-radius: 16px; box-shadow: 0 1px 2px rgba(16,24,40,.05); animation: karFloat 5.4s ease-in-out infinite; will-change: transform; transform: translateZ(0); }
.kar-perk--a { animation-duration: 5.2s; animation-delay: 0s; }
.kar-perk--b { animation-duration: 6.1s; animation-delay: .5s; }
.kar-perk--c { animation-duration: 5.6s; animation-delay: 1s; }
.kar-perk__ic { display: inline-flex; width: 36px; height: 36px; align-items: center; justify-content: center; border-radius: 10px; background: #065f46; color: #fff; }
.kar-perk__ic svg { width: 19px; height: 19px; }
.kar-perk__t { font-weight: 700; color: #111827; font-size: .95rem; line-height: 1.2; }
.kar-perk__s { font-size: .8rem; color: #6b7280; line-height: 1.25; }
@keyframes karFloat { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-7px); } }
@media (max-width: 900px) { .kar-perks { max-width: none; } }
@media (max-width: 520px) { .kar-perks { gap: .5rem; } .kar-perk { padding: .75rem .55rem; border-radius: 13px; } .kar-perk__t { font-size: .8rem; } .kar-perk__s { display: none; } .kar-perk__ic { width: 30px; height: 30px; } .kar-perk__ic svg { width: 16px; height: 16px; } }
/* [reduce-motion suppression eliminat — owner vrea animatiile active] */
/* [reduce-motion suppression eliminat — owner vrea animatiile active] */
/* badge-uri floating pe certificat — efect WOW */
.cert-badge { position: absolute; z-index: 3; display: inline-flex; align-items: center; gap: .45rem; background: #fff; border-radius: .9rem; padding: .6rem .9rem; box-shadow: 0 18px 42px -16px rgba(0,0,0,.42); font-weight: 800; font-size: .85rem; color: var(--gray-900); line-height: 1.1; }
.cert-badge svg { width: 20px; height: 20px; color: var(--emerald); flex: 0 0 20px; }
.cert-badge small { display: block; font-weight: 500; color: var(--gray-500); font-size: .68rem; }
.cert-badge--anre { top: 1rem; right: -.9rem; background: var(--emerald); color: #fff; }
.cert-badge--anre svg { color: #fff; }
.cert-badge--verif { bottom: 1.6rem; left: -1.1rem; animation-delay: 1s; }
.cert-badge--verif svg { color: var(--emerald); }
@media (max-width: 560px) {
  .cert-badge { font-size: .64rem; padding: .38rem .55rem; gap: .3rem; border-radius: .7rem; box-shadow: 0 10px 22px -12px rgba(0,0,0,.4); }
  .cert-badge svg { width: 14px; height: 14px; flex-basis: 14px; }
  .cert-badge small { font-size: .56rem; }
  .cert-badge--anre { top: .5rem; right: .3rem; }
  .cert-badge--verif { bottom: .8rem; left: .3rem; }
}
/* [reduce-motion suppression eliminat — owner vrea animatiile active] */

/* ------------------------------------------------------------------ */
/* 8. STATS (parallax)                                                 */
/* ------------------------------------------------------------------ */
.stats { position: relative; padding-block: 4rem; overflow: hidden; }
@media (min-width: 768px) { .stats { padding-block: 5rem; } }
.stats__bg { position: absolute; inset: 0; background-size: cover; background-position: center; }
@media (min-width: 768px) { .stats__bg { background-attachment: fixed; } }
.stats__overlay { position: absolute; inset: 0; background: rgba(17,24,39,.8); }
.stats__inner { position: relative; z-index: 10; display: flex; justify-content: center; }
.stats__grid { display: grid; grid-template-columns: 1fr; gap: 3rem; text-align: center; }
@media (min-width: 768px) { .stats__grid { grid-template-columns: repeat(3,1fr); gap: 5rem; } }
.stat { display: flex; flex-direction: column; align-items: center; }
.stat b { font-size: 2.25rem; font-weight: 700; color: var(--emerald-400); font-variant-numeric: tabular-nums; line-height: 1; }
@media (min-width: 768px) { .stat b { font-size: 3.75rem; } }
.stat .line { width: 3.5rem; height: 4px; margin: .5rem 0; background: var(--emerald-300); border-radius: 2px; transform: scaleX(0); transform-origin: center; transition: transform .8s var(--ease-out-expo); }
.stats.in .stat .line { transform: scaleX(1); }
.stats.in .stat:nth-child(2) .line { transition-delay: .15s; }
.stats.in .stat:nth-child(3) .line { transition-delay: .3s; }
.no-js .stat .line { transform: scaleX(1); }
.stat span.label { font-size: .875rem; font-weight: 500; color: rgba(255,255,255,.9); }
@media (min-width: 768px) { .stat span.label { font-size: 1rem; } }

/* ------------------------------------------------------------------ */
/* 9. SERVICII (grilă 3×3 carduri flip)                                */
/* ------------------------------------------------------------------ */
.services__head { text-align: center; margin-bottom: 3rem; }
.services__head h1, .services__head h2 { font-size: 1.875rem; color: var(--gray-900); margin-bottom: 1rem; }
@media (min-width: 768px) { .services__head h1, .services__head h2 { font-size: 2.25rem; } }
.services__sub { max-width: 42rem; margin: .35rem auto 0; color: var(--gray-600); font-size: 1.0625rem; line-height: 1.6; }
.services__head .lead { max-width: 42rem; margin-inline: auto; }
.services__head .helper { font-size: .875rem; color: var(--gray-500); margin-top: .5rem; }
/* ===== SERVICII — explorer interactiv (listă stânga + detalii dreapta) ===== */
.svc { display: grid; grid-template-columns: minmax(260px, 340px) 1fr; gap: 1.4rem; align-items: start; }
.svc__list { display: flex; flex-direction: column; gap: .5rem; background: #fff; border: 1px solid var(--gray-200); border-radius: 1.1rem; padding: .6rem; box-shadow: var(--shadow-lg); }
.svc__tab { display: flex; align-items: center; gap: .75rem; width: 100%; text-align: left; padding: .8rem .85rem; border: 0; background: transparent; border-radius: .75rem; cursor: pointer; color: var(--gray-700); font-family: inherit; font-size: .94rem; font-weight: 600; line-height: 1.25; transition: background .18s, color .18s; }
.svc__tab:hover { background: #f0fdf4; color: var(--emerald-700); }
.svc__tab.is-active { background: var(--emerald); color: #fff; box-shadow: 0 10px 20px -10px rgba(5,150,105,.6); }
.svc__tab-ic { display: grid; place-items: center; width: 32px; height: 32px; flex: 0 0 32px; border-radius: .5rem; background: #ecfdf5; color: var(--emerald); transition: background .18s, color .18s, transform .25s var(--ease-out-quart); }
.svc__tab:hover .svc__tab-ic { transform: scale(1.1); }
.svc__tab.is-active .svc__tab-ic { background: rgba(255,255,255,.2); color: #fff; }
.svc__tab-ic svg { width: 18px; height: 18px; }
.svc__tab-txt { flex: 1; }
.svc__tab-arrow { opacity: 0; transform: translateX(-5px); transition: opacity .18s, transform .18s; }
.svc__tab-arrow svg { width: 16px; height: 16px; display: block; }
.svc__tab.is-active .svc__tab-arrow { opacity: 1; transform: translateX(0); }

/* DESKTOP: toate serviciile deodată, grilă de carduri; click → pagina serviciului */
@media (min-width: 861px) {
  .svc { display: block; }
  .svc__list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.1rem; background: transparent; border: 0; box-shadow: none; padding: 0; }
  .svc__tab { background: #fff; border: 1px solid var(--gray-200); border-radius: 1.1rem; padding: 1.3rem 1.4rem; box-shadow: 0 10px 26px -18px rgba(4,70,44,.4); transition: transform .25s var(--ease-out-quart), box-shadow .25s, border-color .25s; }
  .svc__tab:hover { background: #fff; color: var(--gray-900); transform: translateY(-5px); box-shadow: 0 24px 46px -22px rgba(4,70,44,.5); border-color: rgba(5,150,105,.4); }
  .svc__tab:hover .svc__tab-txt { color: var(--emerald-700); }
  .svc__tab:hover .svc__tab-ic { background: var(--emerald); color: #fff; transform: scale(1.05); }
  .svc__tab-ic { width: 42px; height: 42px; flex: 0 0 42px; }
  .svc__tab-ic svg { width: 20px; height: 20px; }
  .svc__tab-arrow { opacity: 1; transform: none; margin-left: auto; color: var(--emerald); }
  .svc__tab:hover .svc__tab-arrow { transform: translateX(4px); }
  .svc__stage { display: none; }
}

.svc__stage { position: relative; }
.svc__placeholder { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: 1rem; min-height: 280px; height: 100%; background: #fff; border: 1px dashed var(--gray-300); border-radius: 1.1rem; padding: 2.2rem; color: var(--gray-500); }
.svc__placeholder svg { width: 42px; height: 42px; color: var(--emerald); opacity: .9; }
.svc__placeholder p { max-width: 24rem; font-size: .98rem; line-height: 1.55; margin: 0; }
.svc__stage.has-active .svc__placeholder { display: none; }
.svc__pane { grid-template-columns: 1fr 1fr; background: #fff; border: 1px solid var(--gray-200); border-radius: 1.1rem; overflow: hidden; box-shadow: 0 26px 60px -40px rgba(15,23,42,.45); }
.svc__pane[hidden] { display: none; }
.svc__pane.is-active { display: grid; animation: svcFade .45s ease both; }
@keyframes svcFade { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
.svc__media { position: relative; min-height: 280px; background: var(--gray-100); overflow: hidden; }
.svc__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.svc__badge { position: absolute; left: 14px; top: 14px; background: rgba(5,150,105,.95); color: #fff; font-size: .72rem; font-weight: 700; letter-spacing: .02em; padding: .42rem .7rem; border-radius: 999px; }
.svc__body { padding: 1.6rem 1.6rem 1.7rem; display: flex; flex-direction: column; }
.svc__body h3 { font-size: 1.4rem; font-weight: 800; color: var(--gray-900); margin-bottom: .6rem; }
.svc__lead { color: var(--gray-600); font-size: .95rem; line-height: 1.6; margin-bottom: 1rem; }
.svc__points { list-style: none; margin: 0 0 1.1rem; padding: 0; display: flex; flex-direction: column; gap: .55rem; }
.svc__points li { position: relative; padding-left: 1.7rem; color: var(--gray-700); font-size: .9rem; line-height: 1.45; }
.svc__points li::before { content: "✓"; position: absolute; left: 0; top: 1px; display: grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; background: #ecfdf5; color: var(--emerald); font-size: .7rem; font-weight: 800; }
.svc__note { display: flex; align-items: center; gap: .5rem; color: var(--emerald-700); font-size: .84rem; font-weight: 600; margin-bottom: 1.2rem; }
.svc__note svg { width: 16px; height: 16px; flex: 0 0 16px; }
.svc__actions { margin-top: auto; display: flex; gap: .6rem; flex-wrap: wrap; }
.btn-ghost { background: #fff; border: 1.5px solid var(--gray-300); color: var(--gray-700); }
.btn-ghost:hover { border-color: var(--emerald); color: var(--emerald-700); background: #f0fdf4; }

@media (max-width: 860px) {
  .svc { grid-template-columns: 1fr; }
  /* toate cele 9 servicii vizibile din prima: grilă 2 coloane, fără scroll lateral */
  .svc__list { display: grid; grid-template-columns: 1fr 1fr; gap: .45rem; padding: .55rem; overflow: visible; }
  .svc__tab { white-space: normal; padding: .55rem .6rem; font-size: .8rem; line-height: 1.25; border: 1px solid var(--gray-200); border-radius: .65rem; }
  .svc__tab.is-active { border-color: var(--emerald); }
  /* ultima placă (Branșamente) ocupă tot rândul, cu textul centrat */
  .svc__list .svc__tab:last-child { grid-column: 1 / -1; justify-content: center; }
  .svc__list .svc__tab:last-child .svc__tab-txt { flex: 0 1 auto; text-align: center; }
  .svc__tab-ic { width: 26px; height: 26px; flex: 0 0 26px; }
  .svc__tab-ic svg { width: 15px; height: 15px; }
  .svc__tab-arrow { display: none; }
  .svc__pane.is-active { grid-template-columns: 1fr; }
  .svc__media { min-height: 210px; overflow: hidden; }

  /* Reveal fin la preview când apeși pe un serviciu (mobil) */
  .svc__pane.is-active { animation: svcRevealM .5s cubic-bezier(.22,.72,.2,1) both; transform-origin: top center; }
  .svc__pane.is-active .svc__badge { animation: svcRevealItem .45s ease .16s both; }
  .svc__pane.is-active .svc__body > * { animation: svcRevealItem .45s cubic-bezier(.22,.72,.2,1) both; }
  .svc__pane.is-active .svc__body > *:nth-child(1) { animation-delay: .08s; }
  .svc__pane.is-active .svc__body > *:nth-child(2) { animation-delay: .13s; }
  .svc__pane.is-active .svc__body > *:nth-child(3) { animation-delay: .18s; }
  .svc__pane.is-active .svc__body > *:nth-child(4) { animation-delay: .23s; }
  .svc__pane.is-active .svc__body > *:nth-child(5) { animation-delay: .28s; }
  /* pe mobil: doar plăcile până dai click; fără placeholder, fără spațiu gol */
  .svc__placeholder { display: none; }
  .svc__stage:not(.has-active) { display: none; }
}
@keyframes svcRevealM { from { opacity: 0; transform: translateY(20px) scale(.99); } to { opacity: 1; transform: none; } }
@keyframes svcRevealItem { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
/* Poza din preview: fade + settle DOAR când chiar s-a încărcat (lazy, nu instant). Doar opacity+transform = ușor pe GPU. */
html:not(.no-js) .svc__media img { opacity: 0; transform: scale(1.05); transition: opacity .5s ease, transform .7s cubic-bezier(.22,.72,.2,1); }
html:not(.no-js) .svc__media img.is-loaded { opacity: 1; transform: scale(1); }
/* [reduce-motion suppression eliminat — owner vrea animatiile active] */
/* [reduce-motion suppression eliminat — owner vrea animatiile active] */
.services__cta { margin-top: 3rem; text-align: center; }

/* ------------------------------------------------------------------ */
/* 10. SAFETY                                                          */
/* ------------------------------------------------------------------ */
.safety { position: relative; padding-block: 3rem; overflow: hidden; }
@media (min-width: 768px) { .safety { padding-block: 4rem; } }
.safety__bg { position: absolute; inset: 0; background-size: cover; background-position: center; filter: blur(3px); }
.safety__overlay { position: absolute; inset: 0; background: rgba(0,0,0,.6); }
.safety__inner { position: relative; z-index: 10; max-width: 56rem; margin-inline: auto; text-align: center; }
.safety h2 { color: #fff; font-size: 1.5rem; margin-bottom: 1rem; }
@media (min-width: 768px) { .safety h2 { font-size: 1.875rem; } }
@media (min-width: 1024px) { .safety h2 { font-size: 2.25rem; } }
.safety p { color: rgba(255,255,255,.9); margin-bottom: 1.5rem; max-width: 48rem; margin-inline: auto; line-height: 1.6; }
.safety p .big { font-size: 1.125rem; font-weight: 500; }
@media (min-width: 768px) { .safety p .big { font-size: 1.25rem; } }
.safety p .bold { font-weight: 700; }

/* ------------------------------------------------------------------ */
/* 11. RECENZII                                                        */
/* ------------------------------------------------------------------ */
.reviews__head { text-align: center; margin-bottom: 3rem; }
.reviews__head h2 { font-size: 1.875rem; color: var(--gray-900); margin-bottom: .75rem; }
@media (min-width: 768px) { .reviews__head h2 { font-size: 2.25rem; } }
.reviews__rating { display: inline-flex; align-items: center; gap: .5rem; background: #fff; border: 1px solid var(--gray-200); border-radius: 999px; padding: .5rem 1.15rem; box-shadow: 0 10px 28px -18px rgba(15,23,42,.45); }
.reviews__g { width: 20px; height: 20px; flex: none; }
.reviews__score { font-size: 1.05rem; font-weight: 800; color: var(--gray-900); letter-spacing: -.01em; }
.reviews__rating .stars { color: #fbbc04; letter-spacing: 1px; }
.reviews__rating span { color: var(--gray-600); font-weight: 500; font-size: .9rem; }
/* badge „Nou" pe recenziile recente (autentic Google) */
.review__new { flex: none; font-size: .6rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; color: #1e8e3e; background: #e6f4ea; border: 1px solid #b7e1c1; padding: .14rem .42rem; border-radius: 5px; margin-right: .15rem; }
.reviews__link { display: inline-flex; align-items: center; gap: .25rem; margin-top: .5rem; font-size: .875rem; color: var(--emerald); font-weight: 500; }
.reviews__link:hover { text-decoration: underline; }
.reviews__grid { display: grid; grid-template-columns: 1fr; gap: 1.5rem; max-width: 72rem; margin-inline: auto; }
@media (min-width: 768px) { .reviews__grid { grid-template-columns: repeat(3,1fr); } }
/* ===== Card recenzie — stil autentic Google ===== */
.review { background: #fff; border: 1px solid var(--gray-200); border-radius: 14px; padding: 1.35rem 1.5rem; box-shadow: 0 8px 26px -18px rgba(15,23,42,.5); display: block; min-height: 250px; transition: box-shadow .3s, transform .3s, border-color .3s; text-decoration: none; color: inherit; cursor: pointer; position: relative; }
.review::after { content: "Vezi pe Google ↗"; position: absolute; bottom: .9rem; right: 1.2rem; font-size: .72rem; font-weight: 600; color: var(--emerald); opacity: 0; transform: translateY(4px); transition: opacity .25s, transform .25s; }
.review:hover::after { opacity: 1; transform: translateY(0); }
/* ===== Pagina Persoane Juridice (B2B) ===== */
.pj-grid { display: grid; grid-template-columns: 1fr; gap: 1.1rem; margin-top: .5rem; }
@media (min-width: 620px) { .pj-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 980px) { .pj-grid { grid-template-columns: repeat(3, 1fr); } }
.pj-card { position: relative; overflow: hidden; display: flex; flex-direction: column; gap: .5rem; background: #fff; border: 1px solid var(--gray-200); border-radius: 1rem; padding: 1.5rem 1.4rem; text-decoration: none; color: inherit; box-shadow: 0 8px 26px -20px rgba(15,23,42,.5); transition: transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s, border-color .35s; }
.pj-card::before { content: ""; position: absolute; left: 0; top: 0; right: 0; height: 3px; background: linear-gradient(90deg, var(--emerald), #34d399); transform: scaleX(0); transform-origin: left; transition: transform .45s cubic-bezier(.2,.7,.2,1); }
.pj-card:hover { transform: translateY(-6px); box-shadow: 0 26px 50px -26px rgba(5,150,105,.55); border-color: rgba(5,150,105,.32); }
.pj-card:hover::before { transform: scaleX(1); }
.pj-card__ic { width: 48px; height: 48px; border-radius: 13px; background: #ecfdf5; color: var(--emerald); display: grid; place-items: center; margin-bottom: .3rem; transition: background .35s, color .35s, transform .35s; }
.pj-card:hover .pj-card__ic { background: var(--emerald); color: #fff; transform: scale(1.08) rotate(-4deg); }
.pj-card__ic svg { width: 24px; height: 24px; }
.pj-card h3 { font-size: 1.05rem; color: var(--gray-900); margin: 0; }
.pj-card p { font-size: .9rem; color: var(--gray-600); line-height: 1.55; margin: 0; }
.pj-spaces { display: grid; grid-template-columns: 1fr; gap: .8rem; margin-top: .5rem; }
@media (min-width: 560px) { .pj-spaces { grid-template-columns: 1fr 1fr; } }
@media (min-width: 920px) { .pj-spaces { grid-template-columns: repeat(4, 1fr); } }
.pj-space { display: flex; gap: .9rem; align-items: flex-start; background: #fff; border: 1px solid var(--gray-200); border-radius: 1rem; padding: 1.2rem 1.25rem; box-shadow: 0 8px 24px -20px rgba(15,23,42,.5); transition: transform .3s cubic-bezier(.2,.7,.2,1), box-shadow .3s, border-color .3s; }
.pj-space:hover { transform: translateY(-5px); box-shadow: 0 22px 42px -24px rgba(5,150,105,.45); border-color: rgba(5,150,105,.3); }
.pj-space__ic { width: 42px; height: 42px; border-radius: 11px; background: #ecfdf5; color: var(--emerald); display: grid; place-items: center; flex: none; transition: background .3s, color .3s; }
.pj-space:hover .pj-space__ic { background: var(--emerald); color: #fff; }
.pj-space__ic svg { width: 22px; height: 22px; }
.pj-space b { display: block; color: var(--gray-900); font-size: .96rem; margin-bottom: .2rem; }
.pj-space span { font-size: .8rem; color: var(--gray-600); line-height: 1.45; }
/* pachete B2B */
.pj-packs { display: grid; grid-template-columns: 1fr; gap: 1.3rem; margin-top: 1rem; }
@media (min-width: 880px) { .pj-packs { grid-template-columns: repeat(3, 1fr); align-items: stretch; padding-top: 1.3rem; } }
.pj-pack { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--gray-200); border-radius: 1.1rem; padding: 1.7rem 1.55rem; box-shadow: 0 10px 30px -22px rgba(15,23,42,.5); position: relative; }
.pj-pack--featured { border: 1.5px solid var(--emerald); box-shadow: 0 30px 60px -24px rgba(5,150,105,.55), 0 0 0 1px rgba(5,150,105,.22); z-index: 2; }
.pj-pack--featured::before { content: ""; position: absolute; inset: -16px; border-radius: 1.5rem; background: radial-gradient(62% 58% at 50% 4%, rgba(16,185,129,.24), transparent 72%); z-index: -1; pointer-events: none; }
@media (min-width: 880px) { .pj-pack--featured { transform: scale(1.045); padding-top: 2.2rem; padding-bottom: 2.2rem; } }
.pj-pack__tag { position: absolute; top: -.9rem; left: 50%; transform: translateX(-50%); background: linear-gradient(160deg, #34d399, var(--emerald)); color: #fff; font-size: .68rem; font-weight: 800; padding: .36rem .95rem; border-radius: 999px; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; box-shadow: 0 10px 20px -7px rgba(5,150,105,.7), 0 0 0 3px #fff; z-index: 3; }
.pj-pack h3 { font-size: 1.22rem; color: var(--gray-900); margin: .1rem 0 .25rem; }
.pj-pack__for { font-size: .82rem; color: var(--emerald-700); font-weight: 600; margin: 0 0 1.1rem; }
.pj-pack ul { list-style: none; padding: 0; margin: 0 0 1.4rem; display: flex; flex-direction: column; gap: .6rem; }
.pj-pack li { position: relative; padding-left: 1.65rem; font-size: .9rem; color: var(--gray-700); line-height: 1.5; }
.pj-pack li::before { content: "✓"; position: absolute; left: 0; top: 0; width: 18px; height: 18px; border-radius: 50%; background: #ecfdf5; color: var(--emerald); font-size: .66rem; font-weight: 800; display: grid; place-items: center; }
.pj-pack .btn { margin-top: auto; width: 100%; justify-content: center; }
/* listă pași contract */
.pj-steps { display: grid; grid-template-columns: 1fr; gap: 1rem; margin-top: .5rem; counter-reset: pjs; }
@media (min-width: 760px) { .pj-steps { grid-template-columns: 1fr 1fr; } }
.pj-step { display: flex; gap: .9rem; background: #fff; border: 1px solid var(--gray-200); border-radius: .9rem; padding: 1.1rem 1.2rem; }
.pj-step__n { counter-increment: pjs; flex: none; width: 30px; height: 30px; border-radius: 50%; background: var(--emerald); color: #fff; font-weight: 700; font-size: .9rem; display: grid; place-items: center; }
.pj-step__n::before { content: counter(pjs); }
.pj-step b { display: block; color: var(--gray-900); font-size: .96rem; margin-bottom: .15rem; }
.pj-step p { margin: 0; font-size: .86rem; color: var(--gray-600); line-height: 1.5; }
/* bandă proof cu numere animate */
.pj-proof { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0; background: linear-gradient(180deg, rgba(255,255,255,.78), rgba(255,255,255,.55)); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); border: 1px solid rgba(17,24,39,.07); border-radius: 1.25rem; overflow: hidden; box-shadow: 0 18px 40px -32px rgba(15,23,42,.45), inset 0 1px 0 rgba(255,255,255,.95); position: relative; }
@media (min-width: 720px) { .pj-proof { grid-template-columns: repeat(4, 1fr); } }
.pj-proof__cell { background: transparent; padding: 1.9rem 1rem; text-align: center; position: relative; z-index: 1; }
.pj-proof__cell::before { content: ""; position: absolute; left: 0; top: 24%; bottom: 24%; width: 1px; background: rgba(17,24,39,.07); }
.pj-proof__cell:first-child::before, .pj-proof__cell:nth-child(3)::before { display: none; }
@media (min-width: 720px) { .pj-proof__cell:nth-child(3)::before { display: block; } }
.pj-proof__ic { width: 36px; height: 36px; padding: 9px; box-sizing: border-box; margin: 0 auto .65rem; color: var(--emerald); background: rgba(5,150,105,.08); border-radius: 50%; display: block; }
.pj-proof__n { font-size: 2.05rem; font-weight: 800; color: var(--gray-900); line-height: 1; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.pj-proof__l { display: block; margin-top: .4rem; font-size: .82rem; color: var(--gray-600); }
/* space chips (firme) — înlocuiește grila de 8 carduri identice */
.pj-tags { display: flex; flex-wrap: wrap; justify-content: center; gap: .7rem; margin-top: .4rem; }
.pj-tag { display: inline-flex; align-items: center; gap: .55rem; background: #fff; border: 1px solid var(--gray-200); border-radius: 999px; padding: .62rem 1.15rem; font-size: .93rem; font-weight: 600; color: var(--gray-800); box-shadow: 0 6px 18px -16px rgba(15,23,42,.5); transition: border-color .3s, transform .3s cubic-bezier(.2,.7,.2,1), box-shadow .3s; }
.pj-tag svg { width: 18px; height: 18px; flex: none; color: var(--emerald); }
.pj-tag:hover { border-color: rgba(5,150,105,.4); transform: translateY(-3px); box-shadow: 0 16px 30px -20px rgba(5,150,105,.5); }
/* configurator ofertă (dark emerald) */
.cfg { position: relative; overflow: hidden; background: linear-gradient(150deg, #ffffff 0%, #ecfdf5 100%); border: 1px solid rgba(5,150,105,.16); border-radius: 1.6rem; padding: 2.2rem 1.7rem; color: var(--gray-800); box-shadow: 0 30px 64px -34px rgba(5,150,105,.45); }
@media (min-width: 760px) { .cfg { padding: 2.8rem 2.6rem; } }
.cfg::after { content: ""; position: absolute; top: -45%; right: -12%; width: 420px; height: 420px; background: radial-gradient(circle, rgba(5,150,105,.16), transparent 65%); pointer-events: none; }
.cfg::before { content: ""; position: absolute; left: -10%; bottom: -42%; width: 320px; height: 320px; background: radial-gradient(circle, rgba(5,150,105,.10), transparent 65%); pointer-events: none; }
.cfg__inner { position: relative; z-index: 1; }
.cfg__eyebrow { display: inline-flex; align-items: center; gap: .4rem; font-size: .76rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: var(--emerald-700); margin-bottom: .5rem; }
.cfg__h { font-size: 1.55rem; font-weight: 800; line-height: 1.15; margin: 0 0 .4rem; color: var(--gray-900); }
@media (min-width: 760px) { .cfg__h { font-size: 1.95rem; } }
.cfg__lead { color: var(--gray-600); margin: 0 0 1.6rem; max-width: 48ch; }
.cfg__step { margin-bottom: 1.3rem; }
.cfg__label { display: block; font-size: .85rem; font-weight: 600; color: var(--gray-700); margin-bottom: .55rem; }
.cfg__label b { color: var(--emerald-700); }
.cfg__label small { color: var(--gray-500) !important; font-weight: 500; }
.cfg__chips { display: flex; flex-wrap: wrap; gap: .5rem; }
.cfg-chip { background: #fff; border: 1px solid var(--gray-200); color: var(--gray-700); border-radius: 999px; padding: .52rem .95rem; font-size: .86rem; font-weight: 500; cursor: pointer; transition: background .2s, border-color .2s, color .2s, transform .15s, box-shadow .2s; }
.cfg-chip:hover { border-color: rgba(5,150,105,.5); background: #f0fdf4; color: var(--emerald-700); }
.cfg-chip.active { background: var(--emerald); border-color: var(--emerald); color: #fff; font-weight: 600; transform: translateY(-1px); box-shadow: 0 10px 20px -8px rgba(5,150,105,.55); }
.cfg-step { display: inline-flex; align-items: center; gap: .25rem; background: #fff; border: 1px solid var(--gray-200); border-radius: 999px; padding: .25rem; box-shadow: 0 4px 12px -9px rgba(15,23,42,.4); }
.cfg-step button { width: 38px; height: 38px; border: 0; border-radius: 50%; background: #ecfdf5; color: var(--emerald); font-size: 1.3rem; line-height: 1; cursor: pointer; transition: background .2s, color .2s; display: grid; place-items: center; }
.cfg-step button:hover { background: var(--emerald); color: #fff; }
.cfg-step output { min-width: 3ch; text-align: center; font-size: 1.15rem; font-weight: 800; color: var(--gray-900); }
.cfg__result { background: #fff; border: 1px solid rgba(5,150,105,.28); border-radius: 1.2rem; padding: 1.3rem 1.4rem; margin-top: .6rem; display: flex; flex-wrap: wrap; gap: 1rem 1.4rem; align-items: center; justify-content: space-between; box-shadow: 0 18px 38px -24px rgba(5,150,105,.4); }
.cfg__result-txt { flex: 1; min-width: 220px; }
.cfg__result-txt b { display: block; color: var(--emerald-700); font-size: 1.02rem; margin-bottom: .2rem; }
.cfg__result-txt span { color: var(--gray-600); font-size: .88rem; line-height: 1.45; }
.cfg__result .btn { white-space: nowrap; animation: cfgCtaGlow 2.6s ease-in-out infinite; }
/* efecte wow configurator */
@keyframes cfgPulse { 0% { box-shadow: 0 18px 38px -24px rgba(5,150,105,.4), 0 0 0 0 rgba(5,150,105,.4); } 60% { box-shadow: 0 18px 38px -24px rgba(5,150,105,.4), 0 0 0 10px rgba(5,150,105,0); } 100% { box-shadow: 0 18px 38px -24px rgba(5,150,105,.4), 0 0 0 0 rgba(5,150,105,0); } }
.cfg__result--pulse { animation: cfgPulse .65s ease-out; }
@keyframes cfgChipPop { 0% { transform: scale(.9); } 55% { transform: scale(1.07) translateY(-1px); } 100% { transform: translateY(-1px); } }
.cfg-chip.active { animation: cfgChipPop .28s cubic-bezier(.2,.8,.2,1); }
@keyframes cfgCtaGlow { 0%, 100% { box-shadow: 0 12px 24px -12px rgba(5,150,105,.7); } 50% { box-shadow: 0 14px 32px -8px rgba(5,150,105,.95); } }
/* recap config în modal */
.cfg-recap { position: relative; background: #f0fdf4; border: 1px solid rgba(5,150,105,.25); border-radius: .7rem; padding: .65rem .85rem .65rem 2.15rem; margin-bottom: .9rem; font-size: .8rem; line-height: 1.5; color: var(--emerald-700); font-weight: 500; }
.cfg-recap::before { content: "✓"; position: absolute; left: .65rem; top: .62rem; width: 18px; height: 18px; background: var(--emerald); color: #fff; border-radius: 50%; display: grid; place-items: center; font-size: .64rem; font-weight: 800; }
/* [reduce-motion suppression eliminat — owner vrea animatiile active] */
/* ===== Premium pass — pagina Persoane Juridice (scoped .pj-premium) ===== */
.pj-premium .lp-hero__inner { position: relative; z-index: 3; }
.pj-premium .lp-hero__overlay { background: linear-gradient(98deg, rgba(4,38,27,.94) 0%, rgba(4,38,27,.74) 36%, rgba(4,38,27,.3) 68%, rgba(4,38,27,.06) 100%); }
.pj-hero-glow { position: absolute; left: -6%; top: 2%; width: 540px; height: 540px; border-radius: 50%; background: radial-gradient(circle, rgba(5,150,105,.42), transparent 62%); pointer-events: none; z-index: 1; mix-blend-mode: screen; animation: pjGlow 7.5s ease-in-out infinite; }
@keyframes pjGlow { 0%, 100% { opacity: .55; transform: scale(1); } 50% { opacity: 1; transform: scale(1.1); } }
.pj-scrollcue { position: absolute; left: 50%; bottom: 1.2rem; transform: translateX(-50%); z-index: 4; display: flex; flex-direction: column; align-items: center; gap: .12rem; color: rgba(255,255,255,.85); font-size: .66rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; text-decoration: none; animation: pjBob 2.2s ease-in-out infinite; }
.pj-scrollcue svg { width: 22px; height: 22px; }
.pj-scrollcue:hover { color: #fff; }
@keyframes pjBob { 0%, 100% { transform: translate(-50%,0); } 50% { transform: translate(-50%,7px); } }
@media (max-width: 640px) { .pj-scrollcue { display: none; } }
.pj-premium .section--white { background: linear-gradient(180deg, #ffffff 0%, #f8fdfb 100%); }
.pj-premium .section--gray { background: radial-gradient(130% 90% at 50% -10%, #f1faf5 0%, var(--gray-50) 55%); }
.pj-pack { transition: transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s, border-color .35s; }
.pj-pack::after { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; border-radius: 1.1rem 1.1rem 0 0; background: linear-gradient(90deg, var(--emerald), #34d399); transform: scaleX(0); transform-origin: center; transition: transform .45s cubic-bezier(.2,.7,.2,1); }
.pj-pack:hover { transform: translateY(-7px); box-shadow: 0 32px 58px -28px rgba(5,150,105,.5); border-color: rgba(5,150,105,.32); }
.pj-pack:hover::after, .pj-pack--featured::after { transform: scaleX(1); }
/* featured: păstrează scale-ul când se ridică la hover (altfel base-hover l-ar reseta) */
.pj-pack--featured:hover { transform: translateY(-7px); box-shadow: 0 38px 66px -26px rgba(5,150,105,.6), 0 0 0 1px rgba(5,150,105,.3); }
@media (min-width: 880px) { .pj-pack--featured:hover { transform: scale(1.045) translateY(-9px); } }
.pj-step { transition: transform .3s cubic-bezier(.2,.7,.2,1), box-shadow .3s, border-color .3s; }
.pj-step:hover { transform: translateY(-4px); box-shadow: 0 22px 42px -26px rgba(5,150,105,.45); border-color: rgba(5,150,105,.3); }
.pj-step__n { box-shadow: 0 8px 18px -9px rgba(5,150,105,.8); transition: transform .3s; }
.pj-step:hover .pj-step__n { transform: scale(1.1) rotate(-4deg); }
.pj-zig__media::after { content: ""; position: absolute; inset: 0; border-radius: 1.4rem; box-shadow: inset 0 0 0 1px rgba(5,150,105,.14); pointer-events: none; }
.pj-premium .lp-hero__cta .btn-lg { box-shadow: 0 16px 34px -14px rgba(5,150,105,.85); }

/* ===== B2B — GLOSS premium + elemente pe margini ===== */
/* gloss + glass pe carduri */
.pj-premium .pj-pack,
.pj-premium .pj-card,
.pj-premium .pj-space,
.pj-premium .pj-step {
  background:
    linear-gradient(135deg, rgba(255,255,255,.65) 0%, rgba(255,255,255,0) 26%),
    linear-gradient(180deg, #ffffff 0%, #f7fdfb 100%);
  box-shadow: 0 12px 32px -22px rgba(15,23,42,.5), inset 0 1px 0 rgba(255,255,255,.95), inset 0 0 0 1px rgba(255,255,255,.45);
}
/* iconițe glossy */
.pj-premium .pj-card__ic,
.pj-premium .pj-space__ic {
  background: linear-gradient(160deg, #d6f7e7, #ecfdf5);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.95), 0 8px 16px -10px rgba(5,150,105,.5);
}
.pj-premium .pj-card:hover .pj-card__ic,
.pj-premium .pj-space:hover .pj-space__ic {
  background: linear-gradient(160deg, #34d399, var(--emerald));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.4), 0 10px 22px -10px rgba(5,150,105,.7);
}
/* pachetul featured — reflexie glossy diagonală + glow */
.pj-premium .pj-pack--featured {
  background:
    linear-gradient(135deg, rgba(255,255,255,.8) 0%, rgba(255,255,255,.12) 22%, rgba(255,255,255,0) 42%),
    linear-gradient(180deg, #ffffff 0%, #f1fbf6 100%);
  box-shadow: 0 32px 60px -28px rgba(5,150,105,.55), inset 0 1px 0 rgba(255,255,255,.98);
}
/* numerele pașilor — glossy */
.pj-premium .pj-step__n {
  background: linear-gradient(160deg, #34d399, var(--emerald));
  box-shadow: 0 8px 18px -9px rgba(5,150,105,.8), inset 0 1px 0 rgba(255,255,255,.45);
}
/* gloss-sheen pe butonul featured */
.pj-premium .pj-pack--featured .btn-emerald {
  background-image: linear-gradient(180deg, rgba(255,255,255,.22), rgba(255,255,255,0) 45%), linear-gradient(160deg, #10b981, var(--emerald));
  box-shadow: 0 14px 30px -12px rgba(5,150,105,.7), inset 0 1px 0 rgba(255,255,255,.35);
}

/* elemente decorative pe margini (stânga + dreapta) */
.pj-rail { display: none; }
@media (min-width: 1300px) {
  .pj-rail { display: block; position: fixed; top: 0; bottom: 0; width: 90px; z-index: 1; pointer-events: none; }
  .pj-rail--left { left: 0; }
  .pj-rail--right { right: 0; }
  .pj-rail::before { content: ""; position: absolute; top: 14%; bottom: 14%; width: 2px;
    background: linear-gradient(180deg, transparent, rgba(5,150,105,.42) 16%, rgba(52,211,153,.55) 50%, rgba(5,150,105,.42) 84%, transparent); }
  .pj-rail--left::before { left: 42px; }
  .pj-rail--right::before { right: 42px; }
  .pj-rail::after { content: ""; position: absolute; width: 11px; height: 11px; border-radius: 50%;
    background: radial-gradient(circle at 35% 35%, #6ee7b7, var(--emerald));
    box-shadow: 0 0 16px 4px rgba(5,150,105,.55); animation: pjRailDot 10s ease-in-out infinite; }
  .pj-rail--left::after { left: 37.5px; }
  .pj-rail--right::after { right: 37.5px; animation-delay: -5s; }
}
@keyframes pjRailDot { 0%,100% { top: 15%; opacity: .25; } 50% { top: 83%; opacity: 1; } }
/* [reduce-motion suppression eliminat — owner vrea animatiile active] */
/* [reduce-motion suppression eliminat — owner vrea animatiile active] */
/* Colaj „lucrăm la business-uri" (bento animat) */
.biz-collage { display: grid; grid-template-columns: 1fr; gap: 1rem; }
@media (min-width: 760px) { .biz-collage { grid-template-columns: 1.35fr 1fr; grid-auto-rows: 220px; } }
.biz-tile { position: relative; overflow: hidden; border-radius: 1.1rem; box-shadow: 0 18px 44px -28px rgba(15,23,42,.65); min-height: 230px; }
.biz-tile img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .8s cubic-bezier(.2,.7,.2,1); }
.biz-tile:hover img { transform: scale(1.07); }
.biz-tile::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(2,33,22,.82) 0%, rgba(2,33,22,.18) 45%, transparent 70%); pointer-events: none; }
.biz-tile__label { position: absolute; left: 1.1rem; right: 1.1rem; bottom: .95rem; z-index: 1; color: #fff; transform: translateY(4px); transition: transform .4s cubic-bezier(.2,.7,.2,1); }
.biz-tile:hover .biz-tile__label { transform: translateY(0); }
.biz-tile__pin { display: inline-flex; align-items: center; gap: .3rem; font-size: .7rem; font-weight: 800; letter-spacing: .03em; text-transform: uppercase; color: #6ee7b7; margin-bottom: .3rem; }
.biz-tile__pin svg { width: 13px; height: 13px; }
.biz-tile__label b { display: block; font-size: 1.05rem; font-weight: 700; line-height: 1.15; }
.biz-tile__label span { font-size: .82rem; color: rgba(255,255,255,.82); }
@media (min-width: 760px) { .biz-tile--lg { grid-row: span 2; } .biz-tile--wide { grid-column: 1 / -1; min-height: 240px; } }
/* Hero firme — carduri floating peste imagine */
.pj-hero-floats { position: absolute; inset: 0; pointer-events: none; z-index: 2; display: none; }
@media (min-width: 980px) { .pj-hero-floats { display: block; } }
.pj-hf { position: absolute; display: flex; align-items: center; gap: .7rem; background: rgba(255,255,255,.94); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); border-radius: 1rem; padding: .8rem 1.05rem; box-shadow: 0 22px 48px -22px rgba(4,40,28,.7); animation: pjFloat 5.5s ease-in-out infinite; }
.pj-hf__ic { width: 40px; height: 40px; border-radius: 11px; display: grid; place-items: center; flex: none; color: #fff; }
.pj-hf__ic svg { width: 21px; height: 21px; }
.pj-hf b { display: block; font-size: .92rem; color: var(--gray-900); line-height: 1.15; }
.pj-hf span { font-size: .74rem; color: var(--gray-500); }
.pj-hf--1 { top: 23%; right: 6%; }
.pj-hf--2 { bottom: 15%; right: 15%; animation-delay: -2.7s; }
@keyframes pjFloat { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-13px); } }
/* particule fine pe fundal */
.particles { position: absolute; inset: 0; overflow: hidden; pointer-events: none; z-index: 0; }
.particles i { position: absolute; bottom: -10px; border-radius: 50%; background: rgba(5,150,105,.16); animation: pRise linear infinite; }
@keyframes pRise { 0% { transform: translateY(0) scale(.5); opacity: 0; } 15% { opacity: 1; } 85% { opacity: 1; } 100% { transform: translateY(-340px) scale(1); opacity: 0; } }
/* [reduce-motion suppression eliminat — owner vrea animatiile active] */
.section.has-particles { position: relative; }
.section.has-particles > .container { position: relative; z-index: 1; }
/* secțiune zigzag imagine + text */
.pj-zig { display: grid; grid-template-columns: 1fr; gap: 2rem; align-items: center; }
@media (min-width: 900px) { .pj-zig { grid-template-columns: 1fr 1fr; gap: 3.5rem; } .pj-zig--rev .pj-zig__media { order: 2; } }
.pj-zig__media { position: relative; border-radius: 1.4rem; overflow: hidden; box-shadow: 0 34px 64px -36px rgba(4,40,28,.7); aspect-ratio: 4 / 3; }
.pj-zig__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .9s cubic-bezier(.2,.7,.2,1); }
.pj-zig__media:hover img { transform: scale(1.05); }
.pj-zig__badge { position: absolute; left: 1.1rem; bottom: 1.1rem; display: inline-flex; align-items: center; gap: .5rem; background: rgba(255,255,255,.95); border-radius: .8rem; padding: .6rem .85rem; font-size: .82rem; font-weight: 700; color: var(--emerald-700); box-shadow: 0 14px 30px -16px rgba(4,40,28,.6); }
.pj-zig__badge svg { width: 18px; height: 18px; color: var(--emerald); }
.pj-zig h2 { margin-top: 0; }
.pj-zig__lead { color: var(--gray-700); line-height: 1.7; font-size: 1.02rem; }
.pj-ticks { list-style: none; padding: 0; margin: 1.2rem 0 0; display: flex; flex-direction: column; gap: .7rem; }
.pj-ticks li { position: relative; padding-left: 2rem; color: var(--gray-700); line-height: 1.5; }
.pj-ticks li svg { position: absolute; left: 0; top: 2px; width: 22px; height: 22px; color: var(--emerald); }
.review:hover { box-shadow: 0 18px 40px -22px rgba(15,23,42,.55); border-color: rgba(5,150,105,.3); transform: translateY(-3px); }
.review__hd { display: flex; align-items: center; gap: .7rem; margin-bottom: .85rem; }
.review__av { width: 42px; height: 42px; border-radius: 50%; background: var(--emerald); color: #fff; display: grid; place-items: center; font-weight: 600; font-size: 1.15rem; flex: none; overflow: hidden; }
.review__av img { width: 100%; height: 100%; object-fit: cover; display: block; }
.review__meta { flex: 1; min-width: 0; line-height: 1.25; }
.review__meta b { display: block; font-size: .92rem; color: var(--gray-900); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.review__meta > span, .review__date { display: block; font-size: .76rem; color: var(--gray-500); }
/* nume + steluțe pe același rând (pt recenziile cu text); data dedesubt */
.review__idline { display: flex; align-items: center; gap: .45rem; min-width: 0; }
.review__idline b { min-width: 0; }
.review__idline .review__stars { flex: none; margin: 0; }
.review__g { width: 20px; height: 20px; flex: none; }
.review__stars { color: #fbbc04; letter-spacing: .5px; font-size: .82rem; line-height: 1; }
.review__stars--block { margin-top: .6rem; font-size: 1rem; letter-spacing: 1px; }
.review p { color: var(--gray-700); line-height: 1.62; font-size: .92rem; margin: .7rem 0 0; }
.reviews__cta { margin-top: 3rem; }
.reviews__cta-box { background: linear-gradient(90deg, var(--emerald), var(--emerald-500)); border-radius: 1rem; padding: 2rem; text-align: center; box-shadow: var(--shadow-xl); max-width: 72rem; margin-inline: auto; }
@media (min-width: 768px) { .reviews__cta-box { padding: 2.5rem; } }
.reviews__cta-box h3 { color: #fff; font-size: 1.5rem; margin-bottom: .75rem; }
@media (min-width: 768px) { .reviews__cta-box h3 { font-size: 1.875rem; } }
.reviews__cta-box p { color: rgba(255,255,255,.9); margin-bottom: 1.5rem; font-size: 1.125rem; }
.reviews__cta-box a { display: inline-flex; align-items: center; gap: .5rem; padding: 1rem 2rem; background: #fff; color: var(--emerald); font-weight: 700; font-size: 1.125rem; border-radius: 9999px; box-shadow: var(--shadow-lg); transition: all .3s; }
.reviews__cta-box a:hover { background: var(--gray-100); transform: translateY(-2px); }

/* ---- Carusel recenzii Google (live) ---- */
.reviews .eyebrow { display: inline-flex; align-items: center; gap: .4rem; color: var(--emerald-700); margin-bottom: .6rem; }
.rev-car { position: relative; display: flex; align-items: center; gap: .6rem; max-width: 76rem; margin-inline: auto; }
.rev-viewport { overflow: hidden; flex: 1; padding: .6rem .25rem; -webkit-mask-image: linear-gradient(to right, transparent 0, #000 34px, #000 calc(100% - 34px), transparent 100%); mask-image: linear-gradient(to right, transparent 0, #000 34px, #000 calc(100% - 34px), transparent 100%); }
.rev-track { display: flex; gap: 1.5rem; will-change: transform; }
/* [reduce-motion suppression eliminat — owner vrea animatiile active] */
/* lățimea unui slot (card sau stack) e setată din JS via --rev-card-w: pe mobil ≈ 1 card + un peek din următorul, ca să nu se vadă tăiat */
.rev-track > .review, .rev-track > .review-stack { flex: 0 0 var(--rev-card-w, 340px); width: var(--rev-card-w, 340px); margin: 0; }
/* text clamp → înălțimi uniforme, fără carduri uriașe pe jumătate goale */
.review p { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 6; overflow: hidden; }
.rev-nav { flex: 0 0 auto; width: 46px; height: 46px; border-radius: 50%; border: 1px solid var(--gray-200); background: #fff; color: var(--emerald); cursor: pointer; display: grid; place-items: center; box-shadow: var(--shadow-lg); transition: background .2s, color .2s, transform .2s, opacity .2s; z-index: 2; }
.rev-nav:hover { background: var(--emerald); color: #fff; transform: scale(1.07); }
.rev-nav:disabled { opacity: .3; cursor: default; transform: none; background: #fff; color: var(--emerald); }
.rev-track .avatar--img { object-fit: cover; }
.review__time { font-size: .72rem; color: var(--gray-500); margin-top: .5rem; }
.rev-dots { display: flex; justify-content: center; gap: .5rem; margin-top: 1.6rem; }
.rev-dots button { width: 9px; height: 9px; padding: 0; border: 0; border-radius: 999px; background: var(--gray-300); cursor: pointer; transition: background .25s, width .25s; }
.rev-dots button.active { background: var(--emerald); width: 24px; }
@media (max-width: 640px)  {
  .rev-nav { display: none; }
  .rev-viewport { padding: .5rem 0; -webkit-mask-image: linear-gradient(to right, transparent 0, #000 13%, #000 87%, transparent 100%); mask-image: linear-gradient(to right, transparent 0, #000 13%, #000 87%, transparent 100%); }
  .rev-track > .review { min-height: 0; }
  .rev-track > .review-stack { gap: 1rem; }
  .rev-track .review-stack .review p { -webkit-line-clamp: 3; }
}
/* recenzii scurte: 2 suprapuse într-un singur slot de carusel */
/* stack = 2 rânduri EGALE (grid 1fr 1fr) → ambele carduri au aceeași înălțime, indiferent de lungimea textului */
.rev-track > .review-stack { display: grid; grid-template-rows: 1fr 1fr; gap: 1.2rem; }
.rev-track .review-stack .review { min-height: 0; padding: 1.1rem 1.3rem; overflow: hidden; }
.rev-track .review-stack .review p { font-size: .9rem; -webkit-line-clamp: 3; }

/* ------------------------------------------------------------------ */
/* 12. RECRUTARE                                                       */
/* ------------------------------------------------------------------ */
.recruit { background: var(--gray-100); padding-block: 4rem; }
@media (min-width: 768px) { .recruit { padding-block: 5rem; } }
/* fără linie verde tăiată: separatorul devine spațiu, nu bară */
.recruit__sep { display: none; }
.recruit { background: var(--gray-50); }
.recruit__head { text-align: center; margin-bottom: 2.5rem; }
.recruit__head h2 { font-size: 1.875rem; color: var(--gray-900); margin-bottom: 1rem; }
@media (min-width: 768px) { .recruit__head h2 { font-size: 2.25rem; } }
.recruit__head p { font-size: 1.125rem; color: var(--gray-700); max-width: 48rem; margin-inline: auto; }
.recruit__grid { display: grid; grid-template-columns: 1fr; gap: 1.5rem; max-width: 56rem; margin: 0 auto 2.5rem; }
@media (min-width: 768px) { .recruit__grid { grid-template-columns: 1fr 1fr; } }
.recruit__col { background: #fff; border: 1px solid var(--gray-200); border-radius: .75rem; padding: 1.5rem; box-shadow: var(--shadow-lg); transition: all .3s; }
.recruit__col:hover { box-shadow: var(--shadow-xl); transform: translateY(-8px); }
.recruit__col h3 { font-size: 1.35rem; color: var(--gray-900); margin-bottom: 1rem; }
.recruit__col li { display: flex; align-items: flex-start; gap: .5rem; color: var(--gray-700); font-size: 1rem; padding: .3rem 0; }
.recruit__col svg { width: 1.15rem; height: 1.15rem; color: var(--emerald); flex-shrink: 0; margin-top: .15rem; }
.recruit__actions { display: flex; flex-wrap: wrap; gap: .85rem; align-items: center; }
.recruit__actions p { color: var(--gray-700); margin-bottom: 1.5rem; }
.recruit__actions .row { display: flex; flex-direction: column; gap: 1rem; justify-content: center; align-items: center; }
@media (min-width: 640px) { .recruit__actions .row { flex-direction: row; } }

/* ------------------------------------------------------------------ */
/* 13. FAQ                                                             */
/* ------------------------------------------------------------------ */
.faq { background: var(--gray-50); }
.faq__wrap { max-width: 56rem; margin-inline: auto; }
.faq__head { text-align: center; margin-bottom: 2.5rem; }
.faq__head h2 { font-size: 1.875rem; color: var(--gray-900); margin-bottom: 1rem; }
@media (min-width: 768px) { .faq__head h2 { font-size: 2.25rem; } }
.faq__head p { font-size: 1.125rem; color: var(--gray-600); }
.faq__list { display: flex; flex-direction: column; gap: .75rem; }
/* FAQ îngust + centrat (ex: pagina de contact) — chenare mai scurte */
.faq__list--narrow { max-width: 46rem; margin-inline: auto; }
/* Homepage FAQ: angajat IGN transparent în dreapta întrebărilor (doar desktop lat) */
.faq__deco { display: none; position: relative; }
.faq__deco img { display: block; width: 100%; height: auto; filter: drop-shadow(0 18px 30px rgba(4,70,44,.13)); }
/* linie fină sub picioarele omului, ANCORATĂ de poză (se mișcă odată cu ea) */
.faq__deco::after { content: ""; position: absolute; left: 5%; right: 5%; bottom: 0; height: 2px; border-radius: 2px; background: linear-gradient(90deg, transparent, rgba(5,150,105,.5) 25%, rgba(52,211,153,.5) 50%, rgba(5,150,105,.5) 75%, transparent); }
.faq__deco.is-armed { opacity: 0; transform: translateX(42px); transition: opacity .9s ease, transform .9s cubic-bezier(.22,.61,.36,1); }
.faq__deco.is-armed.in { opacity: 1; transform: none; }
@media (min-width: 1100px) {
  .faq__wrap:has(.faq__deco) { max-width: 74rem; display: grid; grid-template-columns: minmax(0,1fr) 22rem; gap: 3rem; align-items: end; }
  .faq__wrap:has(.faq__deco) .faq__head { text-align: left; }
  .faq__wrap:has(.faq__deco) .faq__head [class*="eyebrow--lined"] { margin-inline: 0; }
  .faq__wrap:has(.faq__deco) .faq__deco { display: block; align-self: end; }
}
/* Secțiuni FAQ fără sidebar (ex: Tarife): bloc pe toată lățimea + titlu centrat */
.lp-article:not(:has(.lp-aside)):has(.faq__list) { grid-template-columns: 1fr; }
.lp-article:not(:has(.lp-aside)):has(.faq__list) > .lp-body { text-align: center; }
.lp-article:not(:has(.lp-aside)):has(.faq__list) > .lp-body [class*="eyebrow--lined"] { margin-inline: auto; }
.lp-article:not(:has(.lp-aside)):has(.faq__list) > .lp-body .faq__q,
.lp-article:not(:has(.lp-aside)):has(.faq__list) > .lp-body .faq__a-inner { text-align: left; }
/* chenarele FAQ mai înguste și centrate (ex: Tarife) — nu pe toată lățimea */
.lp-article:not(.lp-article--doc):not(:has(.lp-aside)):has(.faq__list) .faq__list { max-width: 46rem; margin-inline: auto; }
/* Ghid/articol fără sidebar dar cu FAQ (ex: ghid-verificare): NU centra tot corpul — rămâne articol aliniat stânga, coloană unică */
.lp-article--doc:not(:has(.lp-aside)):has(.faq__list) > .lp-body { text-align: left; }
.lp-article--doc:not(:has(.lp-aside)):has(.faq__list) > .lp-body [class*="eyebrow--lined"] { margin-inline: 0; }
.faq__cta { text-align: center; margin-top: 1.7rem; color: var(--gray-600); font-size: .95rem; }
.faq__cta-link { background: none; border: 0; padding: 0; font: inherit; font-weight: 700; color: var(--emerald-700); cursor: pointer; text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 2px; transition: color .2s; }
.faq__cta-link:hover { color: var(--emerald); }
.faq__item { background: #fff; border-radius: .5rem; border: 1px solid var(--gray-200); box-shadow: 0 1px 2px rgba(0,0,0,.05); overflow: hidden; }
.faq__q { width: 100%; padding: 1rem 1.5rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; background: none; border: 0; cursor: pointer; text-align: left; transition: background .2s; }
.faq__q:hover { background: var(--gray-50); }
.faq__q span { font-weight: 600; color: var(--gray-900); }
.faq__q .chev { width: 1.25rem; height: 1.25rem; color: var(--emerald); flex-shrink: 0; transition: transform .3s; }
.faq__item.open .faq__q .chev { transform: rotate(180deg); }
.faq__a { max-height: 0; overflow: hidden; transition: max-height .3s ease; }
.faq__a-inner { padding: 0 1.5rem 1rem; color: var(--gray-600); line-height: 1.6; border-top: 1px solid var(--gray-100); padding-top: .75rem; }

/* ------------------------------------------------------------------ */
/* 14. GHIDURI UTILE (blog)                                            */
/* ------------------------------------------------------------------ */
.guides__head { text-align: center; margin-bottom: 2.5rem; }
.guides__head h2 { font-size: 1.875rem; color: var(--gray-900); margin-bottom: .75rem; }
.guides__head p { color: var(--gray-600); max-width: 42rem; margin-inline: auto; }
.guides__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: .9rem; }
@media (min-width: 768px) { .guides__grid { grid-template-columns: repeat(3,1fr); gap: 1.5rem; } }
/* Ghiduri utile (homepage) — toate 3 deodată, compact, și pe telefon */
.guides__grid--3 { grid-template-columns: repeat(3, 1fr); gap: .7rem; }
@media (min-width: 768px) { .guides__grid--3 { gap: 1.2rem; } }
@media (max-width: 640px) {
  .guides__grid--3 .guide { padding: .85rem .7rem; }
  .guides__grid--3 .guide__top { margin-bottom: .55rem; }
  .guides__grid--3 .guide__icon { width: 2.1rem; height: 2.1rem; }
  .guides__grid--3 .guide__icon svg { width: 1.05rem; height: 1.05rem; }
  .guides__grid--3 .guide__tag { font-size: .52rem; padding: .22rem .4rem; letter-spacing: .02em; }
  .guides__grid--3 .guide h3 { font-size: .8rem; line-height: 1.2; }
  .guides__grid--3 .guide p { font-size: .7rem; line-height: 1.35; }
  .guides__grid--3 .guide__more { font-size: .7rem; margin-top: .55rem; gap: .25rem; }
}
.guide { display: block; padding: 1.5rem; border-radius: .75rem; border: 1px solid var(--gray-200); background: var(--gray-50); transition: box-shadow .3s var(--ease-out-quart), transform .3s var(--ease-out-quart), border-color .3s; }
.guide:hover { box-shadow: var(--shadow-lg); transform: translateY(-5px); border-color: rgba(5,150,105,.35); }
.guide h3 { font-size: 1.125rem; font-weight: 600; color: var(--gray-900); margin-bottom: .5rem; transition: color .2s; }
.guide:hover h3 { color: var(--emerald); }
.guide p { color: var(--gray-600); font-size: .875rem; }
.guide .more { display: inline-block; margin-top: .75rem; font-size: .875rem; font-weight: 500; color: var(--emerald); transition: transform .25s var(--ease-out-quart); }
.guide:hover .more { transform: translateX(4px); }

/* ------------------------------------------------------------------ */
/* 15. BENEFICII (4 iconițe)                                           */
/* ------------------------------------------------------------------ */
.benefits { background: #fff; }
.benefits__head { text-align: center; margin-bottom: 3rem; }
.benefits__head h2 { font-size: 1.875rem; color: var(--gray-900); }
@media (min-width: 768px) { .benefits__head h2 { font-size: 2.25rem; } }
.benefits__grid { display: grid; grid-template-columns: 1fr; gap: 2rem; }
@media (min-width: 768px) { .benefits__grid { grid-template-columns: repeat(2,1fr); } }
@media (min-width: 1024px) { .benefits__grid { grid-template-columns: repeat(4,1fr); } }
.benefit { text-align: center; }
.benefit__icon { width: 4rem; height: 4rem; border-radius: 50%; background: rgba(5,150,105,.1); color: var(--emerald); display: flex; align-items: center; justify-content: center; margin: 0 auto 1rem; transition: transform .3s var(--ease-out-quart), background .3s; }
.benefit:hover .benefit__icon { transform: translateY(-4px) scale(1.07); background: rgba(5,150,105,.18); }
.benefit__icon svg { width: 2rem; height: 2rem; }
.benefit h3 { font-size: 1.25rem; color: var(--gray-900); margin-bottom: .5rem; }
.benefit p { color: var(--gray-600); }

/* ------------------------------------------------------------------ */
/* 16. FOOTER                                                          */
/* ------------------------------------------------------------------ */
.footer { background: var(--gray-50); border-top: 1px solid var(--gray-200); }
.footer__grid { display: grid; grid-template-columns: 1fr; gap: 2rem; padding-block: 3rem; }
@media (min-width: 768px) { .footer__grid { grid-template-columns: repeat(3,1fr); } }
.footer__brand img { height: 4rem; width: auto; object-fit: contain; }
.footer__brand p.desc { color: var(--gray-600); margin-top: 1rem; }
.footer__cdata { margin-top: 1rem; display: flex; flex-direction: column; gap: .75rem; }
.footer__cdata a, .footer__cdata div { display: flex; align-items: flex-start; gap: .5rem; color: var(--gray-600); }
.footer__cdata svg { width: 1.25rem; height: 1.25rem; color: var(--gray-500); flex-shrink: 0; margin-top: .1rem; }
.footer__cdata b { color: var(--gray-900); }
.footer__tel-nums { display: flex; flex-direction: column; align-items: flex-start; row-gap: .15rem; }
.footer__tel-nums a { color: inherit; transition: color .2s; white-space: nowrap; }
.footer__tel-nums a:hover { color: var(--emerald); }
.footer__tel-sep { display: none; }
.footer h3 { font-size: 1.25rem; color: var(--gray-900); margin-bottom: 1.5rem; }
.footer__links li { padding: .25rem 0; }
.footer__links a { color: var(--gray-600); transition: color .2s; }
.footer__links a:hover { color: var(--emerald); }
.footer__badges { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.5rem; }
.footer__badges img { height: 2.5rem; width: auto; }
.footer__review { display: inline-block; margin-top: 1rem; color: var(--gray-600); font-size: .9rem; text-decoration: none; transition: color .2s; }
.footer__review:hover { color: var(--emerald); }
.footer__social { display: flex; flex-direction: column; gap: .75rem; margin-top: 1rem; }
.footer__social a { display: inline-flex; align-items: center; gap: .75rem; color: var(--gray-600); }
.footer__social svg { width: 1.75rem; height: 1.75rem; }
/* hartă mică Google Maps în footer (sub social), compactă + fără chrome Google (buton Maps / atribuire) — iframe mai mare, decupat cu overflow:hidden */
.footer__map { display: block; margin-top: .9rem; width: 100%; max-width: 288px; height: 110px; border-radius: 12px; overflow: hidden; border: 1px solid var(--gray-200); box-shadow: 0 8px 22px -14px rgba(0,0,0,.35); position: relative; background: #e5eaed; }
.footer__map iframe { position: absolute; top: 0; left: 0; width: 100%; height: 188px; border: 0; }
/* Numere de telefon clickable în text (tel:) — semnalate ca apelabile */
.tel-auto { color: var(--emerald-700); text-decoration: none; white-space: nowrap; transition: color .15s; }
.tel-auto:hover { text-decoration: underline; }

/* Surse oficiale & legislație — toggle (click pe label → apar linkurile). Citații autoritare (E-E-A-T / context AI) */
.footer__sources { border-top: 1px solid var(--gray-200); }
.footer__sources-det { padding-block: .85rem; }
.footer__sources-det > summary { display: inline-flex; align-items: center; gap: .4rem; width: fit-content; cursor: pointer; font-size: .8rem; font-weight: 700; color: var(--gray-900); list-style: none; user-select: none; -webkit-tap-highlight-color: transparent; }
.footer__sources-det > summary::-webkit-details-marker { display: none; }
.footer__sources-det > summary::after { content: ""; width: .45rem; height: .45rem; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); transition: transform .2s ease; opacity: .55; margin-top: -.15rem; }
.footer__sources-det[open] > summary::after { transform: rotate(-135deg); margin-top: .12rem; }
.footer__sources-det > summary:hover { color: var(--emerald); }
.footer__sources-links { display: flex; flex-wrap: wrap; gap: .4rem 1.1rem; padding-top: .7rem; font-size: .8rem; }
.footer__sources-links a { color: var(--gray-600); text-decoration: none; transition: color .2s; }
.footer__sources-links a:hover { color: var(--emerald); text-decoration: underline; }
/* [reduce-motion suppression eliminat — owner vrea animatiile active] */

.footer__bottom { background: var(--emerald); }
.footer__bottom-inner { padding-block: 1rem; display: flex; flex-direction: column; align-items: center; justify-content: space-between; gap: .75rem; }
@media (min-width: 640px) { .footer__bottom-inner { flex-direction: row; } }
.footer__bottom .credit { font-size: .875rem; color: rgba(255,255,255,.8); }
.footer__bottom .credit a { font-weight: 700; color: #fde68a; }
.footer__bottom .copy { font-size: .875rem; color: #fff; }
.footer__bottom .anre { display: inline-flex; align-items: center; gap: .5rem; font-size: .875rem; color: rgba(255,255,255,.8); }
.footer__bottom .anre img { height: 1.75rem; width: auto; background: #fff; border-radius: .25rem; padding: 2px; }

/* ------------------------------------------------------------------ */
/* 17. POP-UP CONVERSIE                                                */
/* ------------------------------------------------------------------ */
/* ── Premium Popup ── */
.popup-overlay { position: fixed; inset: 0; z-index: 99999; display: none; align-items: center; justify-content: center; padding: .75rem; background: rgba(0,0,0,.62); backdrop-filter: blur(10px); }
.popup-overlay.open { display: flex; }
@keyframes popupIn { from { opacity:0; transform:scale(.9) translateY(16px); } to { opacity:1; transform:none; } }
.popup { position: relative; width: 100%; max-width: 460px; max-height: 96vh; overflow-y: auto; background: #fff; border-radius: 1.75rem; box-shadow: 0 40px 100px rgba(0,0,0,.42), 0 0 0 1px rgba(255,255,255,.06); animation: popupIn .3s cubic-bezier(.34,1.56,.64,1) both; }
/* header */
.popup__head { background: linear-gradient(145deg,#059669 0%,#047857 55%,#064e3b 100%); padding: 1.7rem 1.8rem 0; text-align: center; position: relative; border-radius: 1.75rem 1.75rem 0 0; overflow: hidden; }
.popup__head::before { content:''; position:absolute; top:-50px; right:-40px; width:160px; height:160px; border-radius:50%; background:rgba(255,255,255,.07); pointer-events:none; }
.popup__head::after  { content:''; position:absolute; bottom:-60px; left:-30px; width:180px; height:180px; border-radius:50%; background:rgba(255,255,255,.05); pointer-events:none; }
.popup__close { position:absolute; top:.9rem; right:.9rem; width:2rem; height:2rem; border-radius:50%; background:rgba(255,255,255,.15); border:1px solid rgba(255,255,255,.25); color:#fff; cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:.85rem; transition:background .2s; z-index:2; }
.popup__close:hover { background:rgba(255,255,255,.3); }
.popup__head .ic { margin:0 auto .7rem; width:3rem; height:3rem; border-radius:50%; background:rgba(255,255,255,.15); border:1.5px solid rgba(255,255,255,.3); display:flex; align-items:center; justify-content:center; position:relative; z-index:1; }
.popup__head .ic svg { width:22px; height:22px; }
.popup__head h3 { color:#fff; font-size:1.18rem; font-weight:800; line-height:1.25; position:relative; z-index:1; }
.popup__head p  { color:rgba(255,255,255,.82); font-size:.75rem; margin-top:.3rem; position:relative; z-index:1; letter-spacing:.01em; }
/* body */
.popup__body { padding: 1.3rem 1.6rem 1.45rem; }
.popup__body label { display:block; font-size:.68rem; font-weight:700; color:var(--gray-500); text-transform:uppercase; letter-spacing:.07em; margin-bottom:.3rem; }
.popup__body .fgroup { margin-bottom:.75rem; }
.popup__body input,.popup__body select { width:100%; padding:.65rem .9rem; background:var(--gray-50); border:1.5px solid var(--gray-200); border-radius:.6rem; font-size:.88rem; outline:none; color:var(--gray-900); transition:all .2s; }
.popup__body input:focus,.popup__body select:focus { border-color:var(--emerald); background:#fff; box-shadow:0 0 0 3px rgba(5,150,105,.13); }
/* segmented toggle */
.popup__seg { display:flex; gap:.35rem; }
.popup__seg button { flex:1; padding:.6rem; border-radius:.55rem; font-size:.85rem; font-weight:600; border:1.5px solid var(--gray-200); background:var(--gray-50); color:var(--gray-500); cursor:pointer; transition:all .2s; }
.popup__seg button.active { background:var(--emerald); color:#fff; border-color:var(--emerald); box-shadow:0 4px 14px rgba(5,150,105,.38); }
/* submit */
.popup__submit { width:100%; padding:.9rem; margin-top:.55rem; border-radius:.8rem; background:linear-gradient(135deg,#059669,#047857); color:#fff; font-weight:800; font-size:.88rem; text-transform:uppercase; letter-spacing:.07em; border:0; cursor:pointer; box-shadow:0 6px 20px rgba(5,150,105,.42); transition:all .25s; position:relative; overflow:hidden; }
.popup__submit::after { content:''; position:absolute; top:0; left:-110%; width:65%; height:100%; background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent); transition:left .5s ease; }
.popup__submit:hover { box-shadow:0 8px 28px rgba(5,150,105,.55); transform:translateY(-1px); }
.popup__submit:hover::after { left:150%; }
/* or */
.popup__or { display:flex; align-items:center; margin:.9rem 0; }
.popup__or .l { flex:1; height:1px; background:var(--gray-200); }
.popup__or span { padding:0 .85rem; color:var(--gray-500); font-size:.68rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
/* call button — dark premium */
.popup__call { display:flex; align-items:center; justify-content:center; gap:.45rem; width:100%; text-align:center; padding:.8rem; border-radius:.8rem; background:#111827; color:#fff; font-weight:800; font-size:.88rem; letter-spacing:.04em; transition:all .22s; border:0; text-decoration:none; }
.popup__call:hover { background:#1f2937; transform:translateY(-1px); box-shadow:0 6px 18px rgba(0,0,0,.28); color:#fff; }
.popup__note { text-align:center; font-size:.68rem; color:var(--gray-500); margin-top:.55rem; letter-spacing:.01em; }
/* success state */
.popup__success { text-align:center; padding:2rem 1.5rem; display:none; }
.popup__success.show { display:block; }
.popup__success .ic { margin:0 auto .9rem; width:3.5rem; height:3.5rem; border-radius:50%; background:rgba(5,150,105,.1); display:flex; align-items:center; justify-content:center; }
.popup__success b { color:var(--gray-900); font-size:1.2rem; display:block; }
.popup__success p { color:var(--gray-500); font-size:.875rem; margin-top:.3rem; }
#puncteGroup { display: none; }
#puncteGroup.show { display: block; }

/* ------------------------------------------------------------------ */
/* 18. COOKIE BANNER                                                   */
/* ------------------------------------------------------------------ */
.cookie { position: fixed; bottom: 0; left: 0; right: 0; z-index: 50; padding: 1rem; background: var(--hero-1); border-top: 2px solid var(--emerald); box-shadow: var(--shadow-2xl); display: none; }
.cookie.show { display: block; }
.cookie__inner { max-width: var(--container); margin-inline: auto; display: flex; flex-direction: column; align-items: center; justify-content: space-between; gap: 1rem; }
@media (min-width: 640px) { .cookie__inner { flex-direction: row; } }
.cookie__text { display: flex; align-items: flex-start; gap: .75rem; flex: 1; }
.cookie__text svg { width: 1.5rem; height: 1.5rem; color: var(--emerald); flex-shrink: 0; margin-top: .25rem; }
.cookie__text p.t { color: #e5e7eb; font-size: .875rem; font-weight: 600; margin-bottom: .25rem; }
.cookie__text p.d { color: var(--gray-300); font-size: .875rem; }
.cookie__text a { color: #6ee7b7; text-decoration: underline; text-underline-offset: 2px; font-weight: 600; }
.cookie__text a:hover { color: #a7f3d0; }
.cookie__btns { display: flex; align-items: center; gap: .75rem; }
.cookie__btns .reject { padding: .5rem 1rem; font-size: .875rem; color: var(--gray-300); background: none; border: 0; cursor: pointer; }
.cookie__btns .reject:hover { color: #fff; }
.cookie__btns .accept { padding: .5rem 1.5rem; font-size: .875rem; font-weight: 500; background: var(--emerald); color: #fff; border: 0; border-radius: .5rem; cursor: pointer; }
.cookie__btns .accept:hover { background: var(--emerald-700); }

/* ------------------------------------------------------------------ */
/* 19. BUTON FLOTANT MOBIL (📞)                                        */
/* ------------------------------------------------------------------ */
.fab-call { display: none; position: fixed; bottom: 1.1rem; right: 1.1rem; z-index: 9998; width: 60px; height: 60px; border-radius: 50%; align-items: center; justify-content: center; background: linear-gradient(140deg, var(--emerald-400) 0%, var(--emerald) 55%, var(--emerald-700) 100%); box-shadow: 0 12px 28px -8px rgba(5,150,105,.65), 0 0 0 1px rgba(255,255,255,.22) inset; color: #fff; }
.fab-call svg { width: 26px; height: 26px; }
.fab-call::after { content: ""; position: absolute; inset: 0; border-radius: 50%; border: 2px solid rgba(5,150,105,.55); animation: fabRing 2.6s var(--ease-out-quart) infinite; pointer-events: none; }
@keyframes fabRing { 0% { transform: scale(1); opacity: .7; } 100% { transform: scale(1.65); opacity: 0; } }
@media (max-width: 767px) { .fab-call { display: flex; } }
/* cât timp bannerul de cookie e vizibil, ascundem fab-ul ca să nu se suprapună peste el */
body.cookie-open .fab-call { display: none; }

/* ------------------------------------------------------------------ */
/* 20. SERVICE MODAL (Programează intervenție)                         */
/* ------------------------------------------------------------------ */
.modal-overlay { position: fixed; inset: 0; z-index: 9999; display: none; align-items: center; justify-content: center; padding: 1rem; background: rgba(0,0,0,.5); backdrop-filter: blur(4px); }
.modal-overlay.open { display: flex; }
.modal { width: 100%; max-width: 42rem; max-height: 90vh; overflow-y: auto; background: #fff; border-radius: 1rem; box-shadow: var(--shadow-2xl); }
.modal__head { background: var(--emerald); padding: 1.15rem 1.4rem; color: #fff; position: relative; }
.modal__head h2 { font-size: 1.5rem; }
.modal__head p { color: var(--emerald-100); margin-top: .25rem; }
.modal__close { position: absolute; top: 1rem; right: 1rem; display: inline-flex; align-items: center; justify-content: center; width: 2.75rem; height: 2.75rem; border-radius: 50%; background: rgba(255,255,255,.2); border: 0; color: #fff; cursor: pointer; }
.modal__body { padding: 1.2rem 1.4rem 1.3rem; }
.modal__grid { display: grid; grid-template-columns: 1fr; gap: .7rem .9rem; }
@media (min-width: 768px) { .modal__grid { grid-template-columns: 1fr 1fr; } }
.modal__grid .full { grid-column: 1 / -1; }
.modal label.flbl, .recruit-form-card label.flbl { display: block; font-size: .875rem; font-weight: 500; color: var(--gray-700); margin-bottom: .25rem; }
.modal input, .modal select, .modal textarea, .recruit-form-card input, .recruit-form-card select, .recruit-form-card textarea { width: 100%; padding: .6rem .85rem; border: 1px solid var(--gray-300); border-radius: .5rem; outline: none; transition: all .2s; }
.modal input:focus, .modal select:focus, .modal textarea:focus, .recruit-form-card input:focus, .recruit-form-card select:focus, .recruit-form-card textarea:focus { border-color: var(--emerald); box-shadow: 0 0 0 2px rgba(5,150,105,.3); }
.modal textarea, .recruit-form-card textarea { resize: vertical; }
.recruit-form-card .modal__check input { width: 18px; }
/* Bară de scroll invizibilă pe popup-uri și modale (popup-ul de programare încape oricum
   fără scroll; modalul mare rămâne derulabil dar fără bară vizibilă) */
.popup, .modal { scrollbar-width: none; -ms-overflow-style: none; }
.popup::-webkit-scrollbar, .modal::-webkit-scrollbar { width: 0; height: 0; display: none; }
.modal__check { display: flex; align-items: center; }
.modal__check label { display: inline-flex; align-items: center; gap: .55rem; font-size: .9rem; color: var(--gray-700); font-weight: 500; cursor: pointer; }
.modal__check input { width: 18px; height: 18px; accent-color: var(--emerald); cursor: pointer; flex: 0 0 18px; padding: 0; }
.modal__file { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .5rem; text-align: center; padding: 1.1rem; border: 1.5px dashed var(--gray-300); border-radius: .6rem; color: var(--gray-500); font-size: .85rem; cursor: pointer; transition: border-color .2s, background .2s; }
.modal__file:hover { border-color: var(--emerald); background: #f0fdf4; }
.modal__file svg { width: 22px; height: 22px; color: var(--emerald); }
.modal__submit { width: 100%; margin-top: 1.5rem; padding: 1rem; background: var(--emerald); color: #fff; font-weight: 700; border: 0; border-radius: .5rem; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: .5rem; }
.modal__submit:hover { background: var(--emerald-700); }

/* Formular static de recrutare (pe pagină, nu pop-up) */
.recruit-form-card { background: #fff; border: 1px solid var(--gray-200); border-radius: 1.3rem; padding: 1.8rem; box-shadow: var(--shadow-xl); max-width: 46rem; margin-inline: auto; }
@media (min-width: 600px) { .recruit-form-card { padding: 2.2rem; } .recruit-form-card .modal__grid { grid-template-columns: 1fr 1fr; } }
.modal__status { margin-top: 1rem; padding: .75rem; border-radius: .5rem; font-size: .875rem; font-weight: 500; display: none; }
.modal__status.show { display: block; }
.modal__status.err { background: #fef2f2; color: #dc2626; }
.modal__status.ok { background: rgba(5,150,105,.1); color: var(--emerald-700); }

/* ============================================================
   ENRICHMENT — poze reale + urgență + mișcare „de gaz" (#4, #7)
   ============================================================ */

/* ---- accent „țeavă de gaz" animat (flow galben) ---- */
.pipe-divider { height: 6px; background-image: linear-gradient(90deg, #facc15 0 60%, #d4a017 60% 100%); background-size: 26px 100%; animation: pipeflow 1.6s linear infinite; }
@keyframes pipeflow { to { background-position: 26px 0; } }
/* [reduce-motion suppression eliminat — owner vrea animatiile active] */

/* ---- flacără animată (accent brand) ---- */
@keyframes flicker { 0%,100% { transform: scale(1) rotate(-1deg); opacity:1; } 50% { transform: scale(1.12) rotate(2deg); opacity:.82; } }
.flame-anim { display:inline-block; animation: flicker 1.6s ease-in-out infinite; transform-origin: 50% 80%; }

/* ---- LUCRĂRI REALE (text stânga + colaj foto dreapta) ---- */
.realwork__grid { display:grid; grid-template-columns:1fr; gap:2.5rem; align-items:center; }
@media (min-width:1024px){ .realwork__grid { grid-template-columns: .85fr 1.15fr; gap:3.5rem; } }
.realwork__text .eyebrow { margin-bottom:.5rem; }
.realwork__text h2 { font-size:1.875rem; color:var(--gray-900); margin-bottom:1rem; }
@media (min-width:768px){ .realwork__text h2 { font-size:2.25rem; } }
.realwork__text p { color:var(--gray-600); margin-bottom:1.25rem; }
.realwork__points { display:flex; flex-direction:column; gap:.6rem; margin-bottom:1.75rem; }
.realwork__points li { display:flex; gap:.6rem; align-items:flex-start; color:var(--gray-700); font-weight:500; }
.realwork__points svg { width:1.2rem; height:1.2rem; color:var(--emerald); flex-shrink:0; margin-top:.2rem; }
.realwork__collage { display:grid; grid-template-columns:1fr 1fr; grid-template-rows: 1.05fr 1fr; gap:.85rem; height:300px; }
@media (min-width:560px){ .realwork__collage { height:430px; } }
@media (min-width:1024px){ .realwork__collage { height:480px; } }
.rw { position:relative; overflow:hidden; border-radius:.85rem; box-shadow:var(--shadow-lg); }
.rw img { width:100%; height:100%; object-fit:cover; transition:transform .7s cubic-bezier(.2,.6,.2,1); }
.rw:hover img { transform:scale(1.07); }
.rw figcaption { position:absolute; left:0; right:0; bottom:0; padding:.7rem .9rem; color:#fff; font-weight:600; font-size:.85rem; background:linear-gradient(transparent, rgba(4,30,18,.82)); }
.rw figcaption::before { content:""; display:inline-block; width:.55rem; height:.55rem; border-radius:50%; background:var(--emerald-400); margin-right:.45rem; vertical-align:middle; }
.rw-1 { grid-column:1 / -1; }   /* branșament — landscape, sus pe toată lățimea */

/* ---- URGENȚĂ: MIROS DE GAZ (#4) ---- */
.emergency { position:relative; background:linear-gradient(135deg,#2a0d0b,#3a1310); color:#fff; padding-block:4rem; overflow:hidden; }
@media (min-width:768px){ .emergency { padding-block:5rem; } }
.emergency__head { text-align:center; margin-bottom:2.5rem; }
.emergency__pill { display:inline-block; background:rgba(230,48,39,.18); border:1px solid rgba(230,48,39,.55); color:#ff9b91; padding:.4rem 1.1rem; border-radius:999px; font-weight:700; font-size:.78rem; letter-spacing:.06em; text-transform:uppercase; margin-bottom:1rem; }
.emergency h2 { color:#fff; font-size:1.6rem; line-height:1.2; }
@media (min-width:768px){ .emergency h2 { font-size:2.1rem; } }
.emergency h2 .sub { display:block; color:#ffb4ac; font-size:1.05rem; font-weight:500; margin-top:.6rem; }
.emergency__grid { display:grid; grid-template-columns:1fr; gap:1.2rem; max-width:60rem; margin:0 auto; }
@media (min-width:768px){ .emergency__grid { grid-template-columns:1fr 1fr; } }
.emergency__col { background:rgba(255,255,255,.045); border:1px solid rgba(255,255,255,.13); border-radius:.85rem; padding:1.6rem; }
.emergency__col h3 { font-size:1.15rem; margin-bottom:1rem; display:flex; align-items:center; gap:.5rem; }
.emergency__dont h3 { color:#ff6b5e; }
.emergency__do h3 { color:#5fd99a; }
.emergency__col li { display:flex; gap:.7rem; align-items:flex-start; padding:.45rem 0; color:#ecdad8; font-size:.95rem; }
.emergency__col li::before { font-weight:800; flex-shrink:0; }
.emergency__dont li::before { content:"✕"; color:#ff6b5e; }
.emergency__do li::before { content:"✓"; color:#5fd99a; }
.emergency__cta { text-align:center; margin-top:2.5rem; }
.emergency__phone { display:inline-flex; align-items:center; gap:1rem; background:#E63027; color:#fff; padding:1rem 1.8rem; border-radius:1rem; box-shadow:0 16px 32px -10px rgba(230,48,39,.65); transition:transform .25s; text-align:left; }
.emergency__phone:hover { transform:translateY(-3px); }
.emergency__phone .flame { font-size:2rem; line-height:1; }
.emergency__phone small { display:block; font-size:.72rem; opacity:.92; }
.emergency__phone b { font-size:1.55rem; letter-spacing:.01em; }
.emergency__cta > p { margin-top:1.1rem; color:#d8b9b6; font-size:.95rem; }
.emergency__cta > p a { color:#ffb4ac; font-weight:700; }

/* ============================================================
   ITERAȚIE 2 — recrutare cu poster, blog wow, why-us 2-col, servicii
   ============================================================ */

/* (stilurile vechi .flip au fost înlocuite de explorerul .svc de mai sus) */

/* ---- RECRUTARE: poster în chenar + conținut ---- */
.recruit__layout { display: grid; grid-template-columns: 1fr; gap: 2.5rem; align-items: stretch; }
@media (min-width: 1024px) { .recruit__layout { grid-template-columns: .82fr 1.18fr; gap: 3.5rem; } }
.recruit__poster { position: relative; max-width: 420px; margin-inline: auto; width: 100%; }
/* desktop: posterul începe la „Posturi disponibile" (h2) și e mai mare, ca să ajungă până la butoane — simetric cu coloana din dreapta */
@media (min-width: 1024px) { .recruit__poster { max-width: 468px; align-self: start; margin-top: 2.45rem; } .recruit__content { display: flex; flex-direction: column; justify-content: space-between; } }
.recruit__poster img { width: 100%; border-radius: 1.1rem; box-shadow: var(--shadow-2xl); display: block; border: 6px solid #fff; }
.recruit__poster::after { content: ""; position: absolute; inset: 0; border-radius: 1.1rem; box-shadow: inset 0 0 0 1px rgba(0,0,0,.06); pointer-events: none; }
.recruit__badge { position: absolute; top: -.7rem; left: -.7rem; z-index: 3; background: var(--yellow); color: #1f2937; font-weight: 800; font-size: .78rem; letter-spacing: .03em; padding: .5rem .9rem; border-radius: .6rem; box-shadow: var(--shadow-lg); transform: rotate(-4deg); }
.recruit__content h2 { font-size: 1.875rem; color: var(--gray-900); }
@media (min-width: 768px) { .recruit__content h2 { font-size: 2.25rem; } }
.recruit__lead { color: var(--gray-700); font-size: 1.1rem; margin: .8rem 0 1.75rem; }
.recruit__content .recruit__grid { max-width: none; margin: 0 0 1.75rem; }
@media (max-width: 560px) { .recruit__content .recruit__grid { grid-template-columns: 1fr; } }
.recruit__content .recruit__actions { justify-content: flex-start; }
@media (max-width: 639px) { .recruit__actions .btn { width: 100%; justify-content: center; } }
@media (min-width: 640px) { .recruit__actions .btn { flex: 1 1 0; min-width: 0; justify-content: center; } }

/* ---- GHIDURI / BLOG: carduri bogate ---- */
.guides__head h2 { font-size: 1.875rem; color: var(--gray-900); margin-bottom: .75rem; }
@media (min-width: 768px) { .guides__head h2 { font-size: 2.25rem; } }
.guide { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--gray-200); border-radius: 1rem; padding: 1.6rem; transition: transform .35s var(--ease, ease), box-shadow .35s, border-color .35s; position: relative; overflow: hidden; }
.guide::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, var(--emerald), var(--emerald-400)); transform: scaleX(0); transform-origin: left; transition: transform .35s ease; }
.guide:hover { transform: translateY(-6px); box-shadow: var(--shadow-xl); border-color: transparent; }
.guide:hover::before { transform: scaleX(1); }
.guide__top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1.1rem; }
.guide__icon { width: 3rem; height: 3rem; border-radius: .8rem; background: rgba(5,150,105,.1); color: var(--emerald); display: flex; align-items: center; justify-content: center; transition: background .35s, color .35s, transform .35s; }
.guide__icon svg { width: 1.5rem; height: 1.5rem; }
.guide:hover .guide__icon { background: var(--emerald); color: #fff; transform: rotate(-6deg); }
.guide__tag { font-size: .68rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--emerald); background: rgba(5,150,105,.1); padding: .35rem .75rem; border-radius: 999px; }
.guide h3 { font-size: 1.15rem; color: var(--gray-900); margin-bottom: .5rem; transition: color .2s; line-height: 1.3; }
.guide:hover h3 { color: var(--emerald); }
.guide p { color: var(--gray-600); font-size: .92rem; flex: 1; }
.guide__more { display: inline-flex; align-items: center; gap: .45rem; margin-top: 1.2rem; font-weight: 700; color: var(--emerald); }
.guide__more svg { transition: transform .3s ease; }
.guide:hover .guide__more svg { transform: translateX(5px); }

/* ---- WHY-US: 2 coloane (poză cu efect + beneficii) ---- */
.benefits__layout { display: grid; grid-template-columns: 1fr; gap: 2.5rem; align-items: center; }
@media (min-width: 1024px) { .benefits__layout { grid-template-columns: 1fr 1.08fr; gap: 3.5rem; } }
.benefits__media { position: relative; }
.benefits__frame { border-radius: 1.25rem; overflow: hidden; box-shadow: var(--shadow-2xl); aspect-ratio: 4 / 5; }
.benefits__frame img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s cubic-bezier(.2,.6,.2,1); }
.benefits__media:hover .benefits__frame img { transform: scale(1.06); }
.benefits__float { position: absolute; background: #fff; border-radius: 1rem; box-shadow: var(--shadow-xl); padding: .85rem 1.1rem; }
.benefits__float--rating { left: -.7rem; bottom: -1.5rem; top: auto; }
.benefits__float--logo { right: -.7rem; bottom: -1.5rem; top: auto; padding: .4rem; }
/* badge-uri STATICE fixate în colțurile chenarului (fără float care părea sacadat) */
.benefits__media--center .benefits__float { animation: none; }
.benefits__float--rating .stars { color: var(--yellow); display: block; font-size: .9rem; letter-spacing: 1px; }
.benefits__float--rating b { font-size: 1.05rem; color: var(--gray-900); }
.benefits__float--rating small { display: block; color: var(--gray-500); font-size: .72rem; }
.benefits__float--anre { top: 1.4rem; right: -1rem; background: var(--emerald); color: #fff; display: flex; align-items: center; gap: .55rem; font-weight: 800; font-size: .82rem; line-height: 1.05; }
.benefits__float--anre svg { width: 1.7rem; height: 1.7rem; flex-shrink: 0; }
.benefits__content h2 { font-size: 1.875rem; color: var(--gray-900); }
@media (min-width: 768px) { .benefits__content h2 { font-size: 2.25rem; } }
/* beneficiile grupate 2×2 (4 deodată), compact, și pe telefon */
.benefits__content .benefits__grid { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; }
@media (max-width: 420px) { .benefits__content .benefits__grid { gap: .6rem; } .benefits .benefit { padding: .9rem; } .benefits .benefit h3 { font-size: .95rem; } .benefits .benefit p { font-size: .8rem; } }
/* pe mobil/tabletă: textul + beneficiile primele, poza dedesubt */
@media (max-width: 1023px) { .benefits__media { order: 2; } .benefits__content { order: 1; } }
.benefits .benefit { text-align: left; padding: 1.25rem; border: 1px solid var(--gray-200); border-radius: 1rem; background: #fff; transition: transform .3s, box-shadow .3s, border-color .3s; }
.benefits .benefit:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); border-color: rgba(5,150,105,.35); }
.benefits .benefit__icon { width: 3rem; height: 3rem; margin: 0 0 .85rem; border-radius: .75rem; background: rgba(5,150,105,.1); }
.benefits .benefit__icon svg { width: 1.6rem; height: 1.6rem; }
.benefits .benefit h3 { font-size: 1.05rem; margin-bottom: .25rem; }
.benefits .benefit p { font-size: .875rem; color: var(--gray-600); }

/* ============================================================
   PAGINI LOCALE SEO (oraș hub + serviciu × oraș: Botoșani / Iași)
   ============================================================ */
/* Hero local */
.lp-hero { position: relative; color: #fff; padding: 2.2rem 0 2.8rem; overflow: hidden; }
.lp-hero__bg { position: absolute; inset: 0; background-size: cover; background-position: var(--hero-pos, 75% center); transform: scale(1.05); }
.lp-hero__overlay { position: absolute; inset: 0; background: linear-gradient(120deg, rgba(15,23,28,.94), rgba(20,45,35,.8)); }
/* lp-hero__inner umple container-ul (margine stângă aliniată cu logo-ul din header) */
.lp-hero__inner { position: relative; max-width: var(--container); }
/* conținutul rămâne la lățime de citire, aliniat stânga (nu centrat) */
.lp-hero__inner > * { max-width: 54rem; }
.crumbs { font-size: .8rem; color: rgba(255,255,255,.7); margin-bottom: 1.1rem; }
.crumbs a { color: rgba(255,255,255,.85); }
.crumbs a:hover { color: #fff; text-decoration: underline; }
.crumbs span { margin: 0 .35rem; opacity: .6; }
.lp-hero__badge { display: inline-flex; align-items: center; gap: .4rem; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.28); color: #fff; padding: .4rem .85rem; border-radius: 999px; font-size: .8rem; font-weight: 600; margin-bottom: 1rem; }
.lp-hero__badge svg { width: 16px; height: 16px; }
.lp-hero h1 { font-size: 2rem; font-weight: 800; line-height: 1.15; margin-bottom: 1rem; }
@media (min-width: 768px) { .lp-hero h1 { font-size: 2.7rem; } }
.text-emerald-l { color: #6ee7b7; }
.lp-hero__sub { font-size: 1.05rem; line-height: 1.65; color: rgba(255,255,255,.9); margin-bottom: 1.6rem; }
.lp-hero__cta { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 1.6rem; }
/* flex:1 1 auto + min-width:max-content → butoanele cresc lângă ele, dar nu se taie niciodată
   (textul lung gen „Sună pentru interviu" rămâne pe o linie, fără clip de la btn-shine) */
.lp-hero__cta .btn { flex: 1 1 auto; justify-content: center; white-space: nowrap; min-width: max-content; }
@media (max-width: 599px) { .lp-hero__cta .btn { font-size: 1rem; } .svc-rich .lp-hero__cta .btn { padding: .85rem 1rem; } }
@media (min-width: 600px) { .lp-hero__cta .btn { flex: 0 0 auto; } }
.btn-outline-l { background: transparent; border: 1.5px solid rgba(255,255,255,.6); color: #fff; }
.btn-outline-l:hover { background: #fff; color: var(--emerald-700); border-color: #fff; }
.lp-hero__trust { list-style: none; display: flex; flex-wrap: wrap; gap: 1.2rem 2rem; margin-top: 1.8rem; padding-top: 1.4rem; border-top: 1px solid rgba(255,255,255,.18); }
.lp-hero__trust li { font-size: .88rem; color: rgba(255,255,255,.82); }
.lp-hero__trust b { color: #fff; font-size: 1.15rem; display: block; }

/* Intro local: 2 coloane */
.lp-intro { display: grid; grid-template-columns: 1fr; gap: 2.4rem; align-items: center; }
@media (min-width: 900px) { .lp-intro { grid-template-columns: 1.1fr .9fr; } }
.lp-intro h2, .lp-intro .lp-body h2 { font-size: clamp(1.9rem, 1.2rem + 2.4vw, 2.7rem); font-weight: 800; letter-spacing: -.01em; color: var(--gray-900); margin: .2rem 0 1.1rem; line-height: 1.12; }
.svc-rich .lp-intro .lp-body h2 { position: relative; padding-bottom: .7rem; }
.svc-rich .lp-intro .lp-body h2::after { content: ""; position: absolute; left: 0; bottom: 0; width: 3.2rem; height: 4px; border-radius: 2px; background: linear-gradient(90deg, var(--emerald), var(--emerald-400)); }
.lp-intro p { color: var(--gray-600); line-height: 1.7; margin-bottom: 1rem; }
.lp-intro__media .frame { border-radius: 1rem; overflow: hidden; box-shadow: var(--shadow-xl); border: 1px solid var(--gray-200); }
.lp-intro__media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.lp-intro__cap { margin: .7rem 0 0; text-align: center; font-size: .9rem; color: var(--gray-500); font-style: italic; }
/* Încadrare per-dispozitiv: img-manager setează inline --op-d (desktop) / --op-m (mobil).
   Se aplică DOAR imaginilor care au variabilele setate (restul rămân neatinse). */
img[style*="--op-"] { object-position: var(--op-d, 50% 50%) !important; }
@media (max-width: 899px) { img[style*="--op-"] { object-position: var(--op-m, var(--op-d, 50% 50%)) !important; } }

/* Carduri servicii local */
.lp-cards { display: grid; grid-template-columns: 1fr; gap: 1.25rem; }
@media (min-width: 640px) { .lp-cards { grid-template-columns: repeat(2,1fr); } }
@media (min-width: 1024px) { .lp-cards { grid-template-columns: repeat(3,1fr); } }
/* Pe 2 coloane, dacă ultimul card rămâne singur (număr impar de carduri), îl întindem pe toată lățimea —
   ca să nu rămână un card orfan, înghesuit pe jumătate. Pe 3 coloane (desktop) regula nu se aplică. */
@media (min-width: 640px) and (max-width: 1023.98px) {
  .lp-cards > .lp-card:last-child:nth-child(odd) { grid-column: 1 / -1; }
}
.lp-card { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--gray-200); border-radius: 1rem; padding: 1.4rem; box-shadow: var(--shadow-lg); transition: transform .2s, box-shadow .2s, border-color .2s; }
.lp-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-xl); border-color: rgba(5,150,105,.35); }
.lp-card__ic { display: grid; place-items: center; width: 44px; height: 44px; border-radius: .6rem; background: #ecfdf5; color: var(--emerald); margin-bottom: .9rem; }
.lp-card__ic svg { width: 22px; height: 22px; }
.lp-card h3 { font-size: 1.1rem; color: var(--gray-900); margin-bottom: .45rem; }
.lp-card p { color: var(--gray-600); font-size: .9rem; line-height: 1.5; flex: 1; margin-bottom: .9rem; }
.lp-card__price { font-size: .85rem; color: var(--gray-600); margin-bottom: .55rem; padding-top: .7rem; border-top: 1px dashed var(--gray-200); }
.lp-card__price b { color: var(--emerald-700); font-size: 1.15rem; font-weight: 800; }
.lp-card__more { color: var(--emerald); font-weight: 700; font-size: .88rem; }
.lp-card:hover .lp-card__more { text-decoration: underline; }

/* Pagină serviciu × oraș: corp articol */
.lp-article { display: grid; grid-template-columns: 1fr; gap: 2.5rem; }
@media (min-width: 980px) { .lp-article { grid-template-columns: 1fr 320px; align-items: start; } }
.lp-body h2 { font-size: 1.5rem; color: var(--gray-900); margin: 1.8rem 0 .8rem; }
.lp-body h2:first-child { margin-top: 0; }
.lp-body p { color: var(--gray-600); line-height: 1.75; margin-bottom: 1rem; }
.lp-body ul.lp-check { list-style: none; padding: 0; margin: 0 0 1.2rem; }
/* flow-root DOAR pentru listele de după o poză flotată la STÂNGA (unde bifele ar cădea peste poză).
   Listele de după poze flotate la DREAPTA curg normal sub poză (fără gap). */
.lp-body .post__photo--left ~ ul.lp-check { display: flow-root; }
.lp-body ul.lp-check li { position: relative; padding-left: 1.7rem; color: var(--gray-700); line-height: 1.5; margin-bottom: .6rem; }
.lp-body ul.lp-check li:last-child { margin-bottom: 0; }
.lp-body ul.lp-check li::before { content: "✓"; position: absolute; left: 0; top: 1px; display: grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; background: #ecfdf5; color: var(--emerald); font-size: .7rem; font-weight: 800; }
.lp-price { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1.3rem; width: fit-content; max-width: 100%; background: linear-gradient(135deg, #ecfdf5 0%, #f0fdf4 100%); border: 1px solid rgba(5,150,105,.28); border-radius: 1rem; padding: 1.1rem 1.3rem; margin: .5rem 0 1.5rem; box-shadow: 0 14px 30px -22px rgba(4,70,44,.55); }
.lp-price__txt { display: flex; flex-direction: column; gap: .1rem; }
.lp-price b { font-size: 1.5rem; color: var(--emerald-700); font-weight: 800; line-height: 1.1; }
.lp-price span { color: var(--gray-600); font-size: .9rem; }
.lp-price .btn { margin-left: auto; white-space: nowrap; }
.lp-price__txt strong { color: var(--emerald-700); font-weight: 700; }
.lp-price__note { flex-basis: 100%; margin-top: .1rem; color: var(--gray-600); font-size: .82rem; }
@media (max-width: 520px) { .lp-price { width: auto; } .lp-price .btn { margin-left: 0; width: 100%; justify-content: center; } }
/* Zone deservite (chips cartiere) pe paginile pe oraș */
.lp-areas { display: flex; flex-wrap: wrap; gap: .5rem; margin: .3rem 0 1rem; }
.lp-areas span { background: #ecfdf5; color: var(--emerald-700); border: 1px solid #d1fae5; border-radius: 999px; padding: .35rem .8rem; font-size: .85rem; font-weight: 600; }
.lp-areas__note { color: var(--gray-500); font-size: .9rem; margin-bottom: .6rem; }
.lp-localnav { color: var(--gray-600); font-size: .92rem; line-height: 1.9; margin: 0 0 1.4rem; }
.lp-localnav a { color: var(--emerald-700); font-weight: 600; text-decoration: none; }
.lp-localnav a:hover { text-decoration: underline; }
/* ===== Polish mobil + micro-interacțiuni (iun 2026) ===== */
img { max-width: 100%; }
/* ===== Întărire responsive globală (mobile-first, anti-overflow) ===== */
svg, video, iframe, canvas, table { max-width: 100%; }
/* cuvinte/URL-uri foarte lungi nu rup layout-ul pe ecrane mici */
.lp-body, .faq__a-inner, .post__lead, .post__h1, .guide__body, .lp-hero__sub, h1, h2, h3 { overflow-wrap: break-word; }
@media (max-width: 767px) {
  /* ținte de atingere confortabile pe mobil */
  .btn { min-height: 44px; }
  /* spațiere mai aerisită a secțiunilor pe telefon */
  .faqhub__nav { gap: .4rem; }
}
/* iOS nu mai face zoom la focus pe inputuri mici (font-size >= 16px pe mobil) */
@media (max-width: 767px) {
  input:not([type="checkbox"]):not([type="radio"]), select, textarea,
  .popup__body input, .popup__body select { font-size: 16px; }
}
/* hover subtil pe chip-urile „Zone deservite" de pe paginile pe oraș */
.lp-areas span { transition: background .2s, color .2s, transform .2s, border-color .2s; }
.lp-areas span:hover { background: var(--emerald); color: #fff; border-color: var(--emerald); transform: translateY(-2px); }
/* Blog: card „În curând" (umple grila) + bandă de final cu CTA */
.guide--soon { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; background: #f4faf7; border: 1.5px dashed var(--emerald-300); border-radius: 1rem; padding: 1.8rem 1.5rem; min-height: 220px; }
.guide--soon__ic { width: 54px; height: 54px; display: grid; place-items: center; border-radius: 50%; background: #ecfdf5; color: var(--emerald); margin-bottom: .9rem; }
.guide--soon__ic svg { width: 26px; height: 26px; }
.guide--soon h3 { font-size: 1.05rem; color: var(--gray-800); margin-bottom: .45rem; }
.guide--soon p { font-size: .88rem; color: var(--gray-500); line-height: 1.55; margin: 0; max-width: 26ch; }
.blog-more { margin-top: 2.2rem; padding: 1.5rem 1.4rem; border-radius: 1.1rem; background: linear-gradient(135deg, #ecfdf5, #f0fdf4); border: 1px solid rgba(5,150,105,.2); display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .7rem 1.4rem; text-align: center; }
.blog-more p { color: var(--gray-700); font-size: 1rem; margin: 0; }
.blog-more .btn { white-space: nowrap; }
/* ===== Pagina hub Întrebări frecvente ===== */
.faqhub__navlabel { font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--emerald-700); margin: 0 0 .7rem; }
.faqhub__nav { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0 0 2.2rem; }
.faqhub__nav a { font-size: .85rem; font-weight: 600; color: var(--emerald-700); background: #ecfdf5; border: 1px solid #d1fae5; padding: .45rem .9rem; border-radius: 999px; text-decoration: none; transition: background .2s, color .2s, transform .2s; }
.faqhub__nav a:hover { background: var(--emerald); color: #fff; border-color: var(--emerald); transform: translateY(-2px); }
.faqhub__nav-n { display: inline-grid; place-items: center; min-width: 1.25rem; height: 1.25rem; margin-left: .45rem; padding: 0 .35rem; font-size: .7rem; font-weight: 800; border-radius: 999px; background: var(--emerald); color: #fff; }
.faqhub__nav a:hover .faqhub__nav-n { background: #fff; color: var(--emerald); }
.faqhub__cat-n { display: inline-grid; place-items: center; min-width: 1.6rem; height: 1.6rem; padding: 0 .4rem; font-size: .82rem; font-weight: 800; border-radius: 999px; background: #ecfdf5; color: var(--emerald-700); vertical-align: middle; margin-left: .3rem; }
.faqhub__cat { margin-bottom: 2.4rem; scroll-margin-top: 90px; }
.faqhub__cat > h2 { font-size: 1.4rem; color: var(--gray-900); margin-bottom: 1rem; padding-bottom: .6rem; border-bottom: 2px solid #e8f3ee; position: relative; }
.faqhub__cat > h2::after { content: ""; position: absolute; left: 0; bottom: -2px; width: 3rem; height: 2px; background: var(--emerald); }
.faqhub__cta { margin-top: 1rem; padding: 1.6rem 1.4rem; border-radius: 1.1rem; background: linear-gradient(135deg, #ecfdf5, #f0fdf4); border: 1px solid rgba(5,150,105,.2); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; }
.faqhub__cta p { color: var(--gray-700); margin: 0; }
.faqhub__empty { background: #fffbeb; border: 1px solid #fcd9a8; color: #92400e; border-radius: .8rem; padding: 1rem 1.2rem; margin: 0 0 1.6rem; font-size: .95rem; }
/* hero FAQ — pe baza .lp-hero (imagine + overlay); doar search + chips */
.faq-hero__search { position: relative; max-width: 560px; margin-top: 1.7rem; }
.faq-hero__search svg { position: absolute; left: 1.05rem; top: 50%; transform: translateY(-50%); width: 20px; height: 20px; color: var(--emerald); pointer-events: none; }
.faq-hero__search input { width: 100%; padding: 1rem 1.1rem 1rem 3rem; border: 0; border-radius: .85rem; font-size: 1rem; color: var(--gray-900); background: #fff; box-shadow: 0 18px 40px -20px rgba(0,0,0,.5); outline: none; }
.faq-hero__search input::placeholder { color: var(--gray-400); }
.faq-hero__search input:focus { box-shadow: 0 18px 40px -20px rgba(0,0,0,.5), 0 0 0 3px rgba(255,255,255,.55); }
.faq-hero-kf { display: flex; flex-wrap: wrap; gap: .55rem .7rem; margin-top: 1.4rem; }
/* FAQ hero — fundal distinctiv + conținut centrat (mobile-first) */
.faq-hero2 { padding-top: clamp(2.4rem, 6vw, 4rem); padding-bottom: clamp(2.4rem, 6vw, 4rem); text-align: center; }
.faq-hero2 .lp-hero__bg { background-position: center; }
.faq-hero2 .lp-hero__overlay {
  background:
    radial-gradient(rgba(255,255,255,.045) 1px, transparent 1px) 0 0 / 24px 24px,
    radial-gradient(70% 60% at 85% 8%, rgba(16,185,129,.16), transparent 60%),
    linear-gradient(180deg, rgba(13,18,24,.74) 0%, rgba(9,13,18,.92) 100%);
}
.faq-hero2 .lp-hero__inner { max-width: 760px; margin-inline: auto; }
.faq-hero2 .lp-hero__inner > * { max-width: 760px; margin-inline: auto; }
.faq-hero2 .crumbs { justify-content: center; }
.faq-hero2 .faq-hero__search { margin-inline: auto; }
.faq-hero2 .faq-hero-kf { justify-content: center; }
@media (max-width: 600px) {
  .faq-hero2 .faq-hero__search input { padding: .85rem 1rem .85rem 2.7rem; }
  .faq-hero2 .faq-hero__search svg { left: .85rem; }
  .faq-hero2 .faq-hero-kf { gap: .4rem .8rem; }
  .faq-hero2 .faq-hero-kf .kf { font-size: .8rem; padding: .45rem .8rem .45rem .5rem; }
}
/* Galerie foto reale (lucrări) */
.lp-gallery { margin: .4rem 0 1.7rem; }
.lp-gallery__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: .6rem; }
.lp-gallery figure { margin: 0; position: relative; border-radius: .85rem; overflow: hidden; box-shadow: 0 16px 34px -24px rgba(4,70,44,.6); aspect-ratio: 4 / 3; }
.lp-gallery img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s cubic-bezier(.2,.8,.2,1); }
.lp-gallery figure:hover img { transform: scale(1.06); }
.lp-gallery figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: .8rem .7rem .55rem; font-size: .72rem; font-weight: 600; color: #fff; background: linear-gradient(transparent, rgba(2,33,22,.82)); }
.lp-gallery__cap { display: block; margin-top: .55rem; font-size: .82rem; color: var(--gray-600); }
@media (max-width: 560px) { .lp-gallery__grid { grid-template-columns: 1fr 1fr; } .lp-gallery figcaption { display: none; } }
/* Sidebar sticky CTA */
.lp-aside { position: sticky; top: 90px; background: #fff; border: 1px solid var(--gray-200); border-radius: 1rem; padding: 1.4rem; box-shadow: var(--shadow-lg); }
.lp-aside h3 { font-size: 1.15rem; color: var(--gray-900); margin-bottom: .4rem; }
.lp-aside p { font-size: .9rem; color: var(--gray-600); margin-bottom: 1rem; }
.lp-aside .btn { width: 100%; justify-content: center; margin-bottom: .6rem; }
.lp-aside__phone { display: block; text-align: center; font-weight: 800; font-size: 1.15rem; color: var(--emerald-700); margin-top: .3rem; }
.lp-aside__list { list-style: none; padding: 1rem 0 0; margin: 1rem 0 0; border-top: 1px solid var(--gray-100); font-size: .85rem; color: var(--gray-600); }
.lp-aside__list li { display: flex; gap: .5rem; align-items: center; margin-bottom: .5rem; }
.lp-aside__list svg { width: 16px; height: 16px; color: var(--emerald); flex: 0 0 16px; }
.lp-related { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .5rem; }
.lp-related a { font-size: .82rem; background: var(--gray-100); color: var(--gray-700); padding: .4rem .8rem; border-radius: 999px; transition: background .2s, color .2s; }
.lp-related a:hover { background: var(--emerald); color: #fff; }
/* Sidebar „Articole utile" — listă verticală frumoasă */
.lp-aside__related { margin-top: 1.2rem; padding-top: 1.2rem; border-top: 1px solid var(--gray-100); }
.lp-aside__related-h { display: flex; align-items: center; gap: .45rem; font-size: .72rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; color: var(--emerald-700); margin: 0 0 .75rem; }
.lp-aside__related-h svg { width: 15px; height: 15px; flex: 0 0 15px; }
.lp-related--list { display: flex; flex-direction: column; flex-wrap: nowrap; gap: .45rem; margin-top: 0; }
.lp-related--list a { display: flex; align-items: center; justify-content: space-between; gap: .6rem; background: var(--gray-50); color: var(--gray-800); font-size: .9rem; font-weight: 600; line-height: 1.3; padding: .62rem .85rem; border-radius: .72rem; border: 1px solid var(--gray-100); transition: background .2s, border-color .2s, transform .2s var(--ease-out-quart), color .2s; }
.lp-related--list a::after { content: "›"; font-size: 1.15rem; line-height: 1; color: var(--gray-400); transition: transform .2s, color .2s; }
.lp-related--list a:hover { background: var(--emerald-100); border-color: var(--emerald-300); color: var(--emerald-700); transform: translateX(3px); }
.lp-related--list a:hover::after { color: var(--emerald-500); transform: translateX(2px); }
.lp-related--list a.lp-related__all { background: var(--emerald); color: #fff; border-color: var(--emerald); justify-content: center; font-weight: 700; margin-top: .3rem; }
.lp-related--list a.lp-related__all::after { content: "→"; font-size: 1rem; color: #fff; }
.lp-related--list a.lp-related__all:hover { background: var(--emerald-700); color: #fff; transform: translateX(0); }
.lp-related--list a.lp-related__all:hover::after { transform: translateX(3px); }

/* ============================================================
   FOOTER stil „puncte de lucru" (4 coloane: brand | servicii | puncte | contact)
   ============================================================ */
.footer__grid4 { display: grid; grid-template-columns: 1fr; gap: 2.2rem; padding-block: 3.2rem; }
@media (min-width: 640px) { .footer__grid4 { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .footer__grid4 { grid-template-columns: 1.4fr 1fr 1.1fr 1.1fr; gap: 2.5rem; } }
.footer__col h3 { font-size: 1.05rem; color: var(--gray-900); margin-bottom: 1.1rem; position: relative; padding-bottom: .6rem; }
.footer__col h3::after { content: ""; position: absolute; left: 0; bottom: 0; width: 38px; height: 3px; border-radius: 3px; background: var(--emerald); }
.footer__legal-id { font-size: .76rem; color: var(--gray-500); margin-top: .85rem; letter-spacing: .01em; }
.footer__legal-id b { color: var(--gray-700); font-weight: 700; }
/* Social: listă verticală — pictogramă + nume (Instagram / TikTok / Facebook).
   Numele apare automat din aria-label, deci nu trebuie atinsă nicio pagină HTML. */
.footer--ek .footer__social { flex-direction: column; align-items: flex-start; gap: .55rem; margin-top: 1.1rem; }
.footer--ek .footer__social a { width: auto; height: auto; border-radius: 8px; background: transparent; color: var(--gray-700); display: inline-flex; align-items: center; gap: .6rem; padding: .2rem 0; font-weight: 500; transition: color .2s; }
.footer--ek .footer__social a:hover { background: transparent; color: var(--emerald); }
.footer--ek .footer__social a svg { width: 1.5rem; height: 1.5rem; flex-shrink: 0; }
.footer--ek .footer__social a::after { content: attr(aria-label); font-size: .92rem; }
.footer__pl-intro { color: var(--gray-600); font-size: .9rem; line-height: 1.5; margin-bottom: .8rem; }
.footer__cities { display: flex; align-items: center; gap: .6rem; font-weight: 800; font-size: 1.15rem; letter-spacing: .02em; margin-bottom: .8rem; }
.footer__cities a { color: var(--gray-900); transition: color .2s; }
.footer__cities a:hover { color: var(--emerald); }
.footer__cities span { color: var(--gray-300); font-weight: 400; }
.footer__zones { color: var(--gray-500); font-size: .82rem; line-height: 1.6; margin-bottom: 1rem; }
.footer__localities { border-top: 1px solid rgba(255,255,255,.08); margin-top: 1.5rem; padding-top: 1.25rem; }
.footer__localities p { color: var(--gray-500); font-size: .72rem; line-height: 1.7; margin: 0 0 .5rem; }
.footer__links--legal { margin-top: .4rem; }
.footer__links--legal a { font-size: .85rem; }
.footer__hours { font-size: .85rem; color: var(--gray-600); margin-top: .25rem; }

/* ============================================================
   Secțiunea „Zone deservite" (chips cartiere / localități)
   ============================================================ */
.zones { max-width: 60rem; margin-inline: auto; }
.zones__title { font-size: 1rem; color: var(--gray-700); font-weight: 700; margin-bottom: .9rem; text-align: center; }
.zones__wrap { display: flex; flex-wrap: wrap; gap: .5rem; justify-content: center; }
.zone-chip { display: inline-block; padding: .45rem .9rem; border-radius: 999px; background: #fff; border: 1px solid var(--gray-200); color: var(--gray-700); font-size: .85rem; font-weight: 500; box-shadow: var(--shadow-sm); cursor: default; transition: transform .22s var(--ease-out-quart), box-shadow .22s, border-color .22s, background .22s, color .22s; }
.zone-chip:hover { transform: translateY(-4px); box-shadow: 0 12px 22px -10px rgba(5,150,105,.45); border-color: var(--emerald); background: var(--emerald); color: #fff; }
.zone-chip--out { background: #f0fdf4; border-color: rgba(5,150,105,.2); color: var(--emerald-700); }
.zone-chip--out:hover { background: var(--emerald); color: #fff; border-color: var(--emerald); }
.zones__note { max-width: 60rem; margin: 1.4rem auto 0; text-align: center; color: var(--gray-600); font-size: .92rem; line-height: 1.6; }

/* Bloc urgență „miros de gaz" — accent ambră (semnal de avertizare, deliberat) */
.emergency { display: flex; gap: 1.3rem; align-items: flex-start; max-width: 62rem; margin: 0 auto; background: linear-gradient(135deg, #fff7ed 0%, #fffbeb 100%); border: 1px solid #fcd9a8; border-radius: 1.2rem; padding: 1.6rem 1.7rem; box-shadow: 0 18px 42px -28px rgba(180,83,9,.45); }
.emergency__icon { flex: 0 0 auto; width: 52px; height: 52px; border-radius: 14px; background: linear-gradient(135deg, #f59e0b, #d97706); color: #fff; display: grid; place-items: center; box-shadow: 0 8px 18px -8px rgba(217,119,6,.6); }
.emergency__icon svg { width: 28px; height: 28px; }
.emergency__body h2 { font-size: 1.4rem; color: #92400e; margin-bottom: .55rem; line-height: 1.2; }
.emergency__body p { color: var(--gray-700); line-height: 1.65; margin-bottom: 1.1rem; }
.emergency__actions { display: flex; gap: .6rem; flex-wrap: wrap; }
@media (max-width: 560px) { .emergency { flex-direction: column; gap: 1rem; padding: 1.3rem; } .emergency__body h2 { font-size: 1.2rem; } }

/* ============================================================
   BLOG — articol
   ============================================================ */
.crumbs--dark { color: var(--gray-500); margin-bottom: 1rem; }
.crumbs--dark a { color: var(--gray-600); }
.crumbs--dark a:hover { color: var(--emerald); }
.crumbs--dark span { color: var(--gray-300); }
.post__tag { display: inline-block; background: #ecfdf5; color: var(--emerald-700); font-size: .75rem; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; padding: .35rem .75rem; border-radius: 999px; margin-bottom: .9rem; }
/* data + timp de citire, lângă eticheta de categorie a articolului */
.post__meta { display: inline-flex; flex-wrap: wrap; gap: .25rem .9rem; margin-left: .85rem; vertical-align: middle; font-size: .82rem; color: var(--gray-500); font-weight: 500; }
.post__meta span { display: inline-flex; align-items: center; gap: .35rem; }
.post__meta svg { width: 14px; height: 14px; color: var(--emerald); flex: 0 0 14px; }
@media (max-width: 480px) { .post__meta { margin-left: 0; margin-top: .4rem; } }

/* Badge "Siguranță" cu efect de alertă pulsantă (bip vizual) */
.post__tag--alert { display: inline-flex; align-items: center; gap: .45rem; background: #fef2f2; color: #dc2626; }
.post__tag-dot { position: relative; width: .5rem; height: .5rem; border-radius: 50%; background: #dc2626; flex: 0 0 auto; animation: alertBeat 1.5s ease-in-out infinite; }
.post__tag-dot::after { content: ""; position: absolute; inset: 0; border-radius: 50%; background: #dc2626; animation: alertPulse 1.5s ease-out infinite; }
@keyframes alertBeat { 0%, 100% { transform: scale(1); opacity: 1; } 50% { transform: scale(.78); opacity: .65; } }
@keyframes alertPulse { 0% { transform: scale(1); opacity: .55; } 100% { transform: scale(3.2); opacity: 0; } }

/* Statistici cu count-up pe articol (apar la scroll) */
.post-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 1rem; margin: 1.9rem 0; }
.post-stat { background: linear-gradient(135deg, #ecfdf5, #f0fdf4); border: 1px solid #d1fae5; border-radius: .9rem; padding: 1.35rem 1rem; text-align: center; }
.post-stat b { display: block; font-size: clamp(1.9rem, 1.3rem + 2vw, 2.5rem); font-weight: 800; color: var(--emerald-700); line-height: 1; letter-spacing: -.02em; }
.post-stat__lbl { display: block; margin-top: .55rem; font-size: .82rem; color: var(--gray-600); line-height: 1.35; }
/* [reduce-motion suppression eliminat — owner vrea animatiile active] */
.post__h1 { font-size: 1.8rem; line-height: 1.2; color: var(--gray-900); font-weight: 800; margin-bottom: 1rem; }
@media (min-width: 768px) { .post__h1 { font-size: 2.3rem; } }
.post__lead { font-size: 1.1rem; line-height: 1.7; color: var(--gray-700); margin-bottom: 1.5rem; padding-bottom: 1.5rem; border-bottom: 1px solid var(--gray-100); }
/* Linkuri în corpul articolului: clar clickabile (emerald + subliniere) */
.post__link { color: var(--emerald-700, #047857); font-weight: 600; text-decoration: none; border-bottom: 1px solid rgba(5,150,105,.35); transition: color .2s, border-color .2s; }
.post__link:hover { color: var(--emerald); border-bottom-color: var(--emerald); }
/* Redirect-uri interne în text (spre bloguri/servicii) + surse legale (.src-link) = verde, clar clickabile.
   Scop verificat cu agent: DOAR link-uri din proză (p/li), NU breadcrumb/nav/aside; [href^="/"] exclude extern/tel/mailto. */
.lp-body p a[href^="/"]:not(.btn),
.lp-body li a[href^="/"]:not(.btn),
.kar-split__text p a[href^="/"]:not(.btn),
.faqhub__empty a[href^="/"]:not(.btn),
.src-link {
  color: var(--emerald-700, #047857); font-weight: 600; text-decoration: none;
  border-bottom: 1px solid rgba(5,150,105,.35);
  transition: color .2s, border-color .2s;
}
.lp-body p a[href^="/"]:not(.btn):hover,
.lp-body li a[href^="/"]:not(.btn):hover,
.kar-split__text p a[href^="/"]:not(.btn):hover,
.faqhub__empty a[href^="/"]:not(.btn):hover,
.src-link:hover { color: var(--emerald); border-bottom-color: var(--emerald); }
.lp-steps { counter-reset: step; list-style: none; padding: 0; margin: 0 0 1.4rem; display: flex; flex-direction: column; gap: .8rem; }
.lp-steps li { position: relative; padding-left: 2.6rem; color: var(--gray-700); line-height: 1.6; }
.lp-steps li::before { counter-increment: step; content: counter(step); position: absolute; left: 0; top: -2px; width: 1.9rem; height: 1.9rem; display: grid; place-items: center; border-radius: 50%; background: var(--emerald); color: #fff; font-weight: 800; font-size: .9rem; }
.lp-body ul.lp-check--no li::before { content: "✕"; background: #fef2f2; color: #dc2626; }

/* Pași numerotați în articol (HowTo) */
/* block (nu flex) ca pașii să CURGĂ în jurul/sub imaginea float — altfel rămâne gol în dreapta */
.lp-body ol.post-steps { list-style: none; counter-reset: pstep; padding: 0; margin: 0 0 1.4rem; }
.lp-body ol.post-steps li { counter-increment: pstep; position: relative; padding: .15rem 0 .15rem 2.7rem; margin-bottom: .9rem; color: var(--gray-700); line-height: 1.55; }
.lp-body ol.post-steps li:last-child { margin-bottom: 0; }
.lp-body ol.post-steps li::before { content: counter(pstep); position: absolute; left: 0; top: 0; width: 1.9rem; height: 1.9rem; border-radius: .55rem; background: linear-gradient(135deg, var(--emerald), var(--emerald-700)); color: #fff; font-weight: 800; font-size: .9rem; display: grid; place-items: center; box-shadow: 0 6px 14px -6px rgba(5,150,105,.5); }

/* Dropdown „Info Utile" — listă de articole */
/* dropdown Info Utile: fundal ALB (textul e gri-închis) — altfel era invizibil pe gray-800 */
.dropdown--links { min-width: 250px; padding: .5rem; background: #fff; border-color: var(--gray-200); }
.dropdown--links a { display: block; padding: .55rem .7rem; border-radius: 8px; color: var(--gray-700); font-size: .9rem; font-weight: 500; transition: background .15s, color .15s; }
.dropdown--links a:hover { background: #f0fdf4; color: var(--emerald-700); }
.dropdown--links a:last-child { color: var(--emerald); font-weight: 700; margin-top: .2rem; border-top: 1px solid var(--gray-100); border-radius: 0 0 8px 8px; }

/* ============================================================
   TARIFE — tabel
   ============================================================ */
.tarife { max-width: 56rem; margin: 0 auto; border: 1px solid var(--gray-200); border-radius: 1rem; overflow: hidden; box-shadow: var(--shadow-lg); }
.tarife__row { display: grid; grid-template-columns: 1fr auto; gap: 1rem; align-items: center; padding: 1rem 1.4rem; border-bottom: 1px solid var(--gray-100); }
.tarife__row:last-child { border-bottom: 0; }
.tarife__row:nth-child(even) { background: var(--gray-50); }
.tarife__row--head { background: var(--emerald) !important; color: #fff; font-weight: 700; font-size: .85rem; text-transform: uppercase; letter-spacing: .03em; }
.tarife__row b { display: block; color: var(--gray-900); font-size: 1rem; }
.tarife__row--head span { color: #fff; }
.tarife__row small { display: block; color: var(--gray-500); font-size: .8rem; margin-top: .15rem; }
.tarife__price { text-align: right; font-weight: 800; color: var(--emerald-700); font-size: 1.05rem; white-space: nowrap; }
.tarife__price em { display: block; font-style: normal; font-weight: 500; color: var(--gray-500); font-size: .78rem; }
.tarife__note { max-width: 56rem; margin: 1.2rem auto 0; display: flex; gap: .6rem; align-items: flex-start; color: var(--gray-600); font-size: .9rem; line-height: 1.5; background: #ecfdf5; border: 1px solid rgba(5,150,105,.2); border-radius: .8rem; padding: 1rem 1.2rem; }
.tarife__note svg { color: var(--emerald); flex: 0 0 18px; margin-top: 2px; }
@media (max-width: 540px) { .tarife__price { font-size: .95rem; } .tarife__row { padding: .9rem 1rem; } }

/* ============================================================
   BLOG — imagine articol + carduri cu imagine
   ============================================================ */
.post__img { margin: 0 0 1.5rem; border-radius: 1rem; overflow: hidden; box-shadow: var(--shadow-lg); border: 1px solid var(--gray-200); }
.post__img img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
/* Pentru imagini de produs pe fundal alb (nu decupa, centrează pe alb) */
.post__img--contain { background: #fff; }
.post__img--contain img { object-fit: contain; padding: 1.2rem; }

/* ===== Widget „Centrală LIVE" animat (flacără + temperatură + status) ===== */
.boiler-live { position: absolute; left: -.7rem; bottom: 1.3rem; z-index: 5; display: flex; align-items: center; gap: .75rem; padding: .65rem .9rem .65rem .7rem; border-radius: 1rem; background: rgba(17,24,39,.92); border: 1px solid rgba(255,255,255,.12); box-shadow: 0 20px 44px -18px rgba(0,0,0,.6); color: #fff; backdrop-filter: blur(6px); }
.boiler-live__flame { position: relative; width: 28px; height: 36px; flex: none; }
.boiler-live__flame span { position: absolute; left: 50%; bottom: 0; transform: translateX(-50%); border-radius: 50% 50% 48% 52% / 62% 60% 40% 40%; transform-origin: bottom center; }
.boiler-live__flame span:nth-child(1) { width: 20px; height: 32px; background: linear-gradient(to top, #1e40af, #3b82f6 55%, #93c5fd); animation: blFlame 1.15s ease-in-out infinite; }
.boiler-live__flame span:nth-child(2) { width: 12px; height: 21px; background: linear-gradient(to top, #3b82f6, #bfdbfe); animation: blFlame .85s ease-in-out infinite reverse; }
.boiler-live__flame span:nth-child(3) { width: 6px; height: 10px; bottom: 3px; background: #fff; border-radius: 50%; opacity: .85; animation: blCore 1.4s ease-in-out infinite; }
@keyframes blFlame { 0%,100% { transform: translateX(-50%) scaleY(1) scaleX(1) skewX(0); } 25% { transform: translateX(-50%) scaleY(1.13) scaleX(.9) skewX(3deg); } 50% { transform: translateX(-52%) scaleY(.93) scaleX(1.06) skewX(-3deg); } 75% { transform: translateX(-48%) scaleY(1.07) scaleX(.95) skewX(2deg); } }
@keyframes blCore { 0%,100% { opacity: .65; transform: translate(-50%, 0); } 50% { opacity: 1; transform: translate(-50%, -2px); } }
.boiler-live__txt b { display: block; font-size: 1.2rem; font-weight: 800; line-height: 1; letter-spacing: -.01em; }
.boiler-live__txt > span { display: flex; align-items: center; gap: .35rem; margin-top: .25rem; font-size: .72rem; color: var(--emerald-300); font-weight: 600; }
.boiler-live__dot { width: .5rem; height: .5rem; border-radius: 50%; background: var(--emerald-400); animation: blPulse 1.8s ease-out infinite; }
@keyframes blPulse { 0% { box-shadow: 0 0 0 0 rgba(52,211,153,.55); } 70% { box-shadow: 0 0 0 9px rgba(52,211,153,0); } 100% { box-shadow: 0 0 0 0 rgba(52,211,153,0); } }
@media (max-width: 560px) { .boiler-live { left: .5rem; bottom: .5rem; padding: .5rem .7rem; gap: .55rem; } .boiler-live__flame { width: 22px; height: 30px; } }
/* [reduce-motion suppression eliminat — owner vrea animatiile active] */

/* Imagine în conținut: mică, încadrată, cu legendă (portret SAU landscape) */
.post__photo { max-width: 300px; margin: 1.25rem auto; border-radius: .9rem; overflow: hidden; box-shadow: var(--shadow-md); border: 1px solid var(--gray-200); background: var(--gray-50); }
.post__photo img { display: block; width: 100%; height: auto; }
.post__photo figcaption { padding: .55rem .8rem; font-size: .78rem; line-height: 1.4; color: var(--gray-600); text-align: center; }
.post__photo figcaption:not(:empty)::before { content: ""; }
/* Logo (ex. sigla ANRE) afișat mic în corpul articolului */
.post__logo { max-width: 230px; margin: 1.25rem auto; text-align: center; }
.post__logo img { display: block; width: 150px; height: auto; margin: 0 auto; }
.post__logo figcaption { padding: .55rem .4rem 0; font-size: .78rem; line-height: 1.4; color: var(--gray-600); text-align: center; }
@media (min-width: 640px) {
  .post__photo--right { float: right; margin: .25rem 0 1rem 1.5rem; }
  .post__photo--left { float: left; margin: .25rem 1.5rem 1rem 0; }
  .post__photo--sticky { position: static; }
  .post__logo--right { float: right; margin: .25rem 0 1rem 1.75rem; }
}
.safety__inner p a { color: #fff; font-weight: 800; text-decoration: none; white-space: nowrap; transition: color .2s; }
.safety__inner p a:hover { color: var(--emerald-400); }
.post-stickyzone::after { content: ""; display: block; clear: both; }
/* poză sticky în coloană proprie — text și imagine NU se suprapun niciodată */
.post-split { display: block; }
@media (min-width: 760px) {
  .post-split { display: flex; gap: 2rem; align-items: flex-start; }
  .post-split__main { flex: 1 1 auto; min-width: 0; order: 1; }
  .post-split__media { flex: 0 0 330px; order: 2; }
  .post-split__media .post__photo { float: none; width: 100%; margin: 0; }
  /* sticky DOAR în coloana proprie: rămâne lipită cât există spațiu liber lângă text, fără să-l suprapună (coloane separate) */
  .post-split__media--sticky { position: sticky; top: 90px; align-self: flex-start; }
}
/* în paginile cu și aside (lp-article) coloana imaginii e mai îngustă, ca textul să rămână lizibil */
@media (min-width: 980px) {
  .lp-article .post-split { gap: 1.6rem; }
  .lp-article .post-split__media { flex: 0 0 270px; }
}
@media (max-width: 759px) { .post-split__media { margin: .4rem 0 1.4rem; } .post-split__media .post__photo { float: none; margin: 0; } }

/* Linie verde subtilă între secțiuni — fără punct, integrată în tenta secțiunilor (fără bandă albă) */
.sec-line { display: flex; align-items: center; justify-content: center; padding: .8rem 0; background: transparent; }
/* linie divizoare FIX la delimitarea a două secțiuni colorate diferit (ex: guides gri → whyx alb-verzui) */
.sec-line--flush { padding: 0; }
.svc-rich .sec-line, .svc-bg .sec-line { background: #f3faf6; }
.sec-line::after { content: ""; height: 1px; width: clamp(140px, 32vw, 280px); background: linear-gradient(90deg, transparent, var(--emerald-300) 30%, var(--emerald-300) 70%, transparent); }
/* Imagine de conținut mai mică, centrată */
.post__img--sm { max-width: 440px; margin-left: auto; margin-right: auto; }

/* "Cum decurge" — cifră-watermark pe fiecare pas */
.proc { counter-reset: procn; }
.proc__step { counter-increment: procn; }
.proc__step::before { content: counter(procn); position: absolute; right: .65rem; bottom: .05rem; font-size: 4rem; font-weight: 800; line-height: 1; color: var(--emerald); opacity: .07; pointer-events: none; z-index: 0; }
.proc__step h3, .proc__step p { position: relative; z-index: 1; }
.proc__step:hover::before { opacity: .13; }

/* ================= Despre noi — redesign ================= */
/* Promisiune (în intro) */
.ab-promise { margin-top: 1.5rem; padding: 1.05rem 1.2rem; border-radius: .9rem; background: #ecfdf5; border: 1px solid var(--emerald-100); display: flex; gap: .85rem; align-items: flex-start; }
.ab-promise svg { flex: none; width: 22px; height: 22px; color: var(--emerald); margin-top: .12rem; }
.ab-promise p { margin: 0; color: var(--emerald-700); font-weight: 600; line-height: 1.55; font-size: .96rem; }
.ab-promise b { color: var(--emerald-700); }

/* Cum lucrăm — pași reali */
.steps { display: grid; grid-template-columns: 1fr; gap: 1.6rem 1.1rem; margin-top: 2.6rem; }
@media (min-width: 680px) { .steps { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .steps { grid-template-columns: repeat(4, 1fr); } }
.step { position: relative; background: #fff; border: 1px solid var(--gray-200); border-radius: 1.1rem; padding: 2.6rem 1.5rem 1.7rem; box-shadow: 0 12px 32px -22px rgba(15,23,42,.4); transition: transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s, border-color .35s; }
.step:hover { transform: translateY(-6px); box-shadow: 0 28px 52px -26px rgba(5,150,105,.32); border-color: rgba(5,150,105,.28); }
.step__n { position: absolute; top: -1.05rem; left: 1.35rem; width: 2.6rem; height: 2.6rem; border-radius: .75rem; background: linear-gradient(135deg, var(--emerald), var(--emerald-700)); color: #fff; font-weight: 800; font-size: 1.15rem; display: grid; place-items: center; box-shadow: 0 10px 20px -6px rgba(5,150,105,.55); }
.step h3 { font-size: 1.05rem; margin: 0 0 .45rem; color: var(--gray-900); }
.step p { margin: 0; color: var(--gray-600); font-size: .9rem; line-height: 1.55; }
@media (min-width: 1024px) { .step:not(:last-child)::after { content: ""; position: absolute; top: .25rem; right: -.7rem; width: 1.4rem; height: 2px; background: var(--emerald-300); } }

/* Band de încredere / autorizare */
.trust { display: grid; grid-template-columns: 1fr; gap: 1.6rem; align-items: center; background: linear-gradient(135deg, var(--hero-1), var(--hero-2)); border-radius: 1.4rem; padding: 2.3rem 1.7rem; color: #fff; box-shadow: var(--shadow-2xl); }
@media (min-width: 840px) { .trust { grid-template-columns: 1.4fr 1fr; padding: 2.8rem; } }
.trust h2 { color: #fff !important; margin: 0 0 .8rem; }
.trust p { color: rgba(255,255,255,.82); line-height: 1.65; margin: 0 0 1.2rem; }
.trust__ids { display: flex; flex-wrap: wrap; gap: .55rem; }
.trust__id { background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.16); border-radius: .6rem; padding: .5rem .85rem; font-size: .82rem; color: rgba(255,255,255,.75); }
.trust__id b { color: #fff; font-weight: 700; }
.trust__side { display: flex; flex-direction: column; gap: 1rem; align-items: flex-start; }
@media (min-width: 840px) { .trust__side { align-items: center; text-align: center; } }
.trust__seal { display: flex; align-items: center; gap: .9rem; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.14); border-radius: 1rem; padding: 1rem 1.2rem; width: 100%; }
.trust__seal img { height: 46px; width: auto; }
.trust__seal span { font-size: .9rem; color: rgba(255,255,255,.85); line-height: 1.4; text-align: left; }
.trust__seal b { display: block; color: #fff; }
.trust__verify { display: inline-flex; align-items: center; justify-content: center; gap: .55rem; background: var(--emerald); color: #fff; font-weight: 700; padding: .85rem 1.3rem; border-radius: .7rem; text-decoration: none; width: 100%; transition: transform .2s var(--ease-out-quart), background .2s; }
.trust__verify:hover { transform: translateY(-2px); background: var(--emerald-700); }
.trust__verify svg { width: 18px; height: 18px; }

.guide--img { padding: 0; display: flex; flex-direction: column; }
.guides__grid .guide--img { height: 100%; }
.guide__img { position: relative; aspect-ratio: 16 / 10; overflow: hidden; background: var(--gray-100); }
.guide__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.guide--img:hover .guide__img img { transform: scale(1.06); }
.guide--img .guide__img .guide__tag { position: absolute; left: 12px; top: 12px; background: rgba(5,150,105,.95); color: #fff; }
.guide__body { padding: 1.25rem 1.35rem 1.45rem; display: flex; flex-direction: column; flex: 1; }
.guide__body h3 { font-size: 1.08rem; color: var(--gray-900); margin-bottom: .5rem; line-height: 1.3; transition: color .2s; }
.guide--img:hover .guide__body h3 { color: var(--emerald); }
.guide__body p { color: var(--gray-600); font-size: .9rem; flex: 1; }
.guide__body .guide__more { display: inline-flex; align-items: center; gap: .45rem; margin-top: 1.1rem; font-weight: 700; color: var(--emerald); }
/* Blog mobil: carduri compacte, 2 pe rând, ca să vezi mai multe deodată */
@media (max-width: 640px) {
  .guides__grid .guide__img { aspect-ratio: 16 / 11; }
  .guides__grid .guide__body { padding: .8rem .85rem 1rem; }
  .guides__grid .guide__body h3 { font-size: .92rem; line-height: 1.25; margin-bottom: .35rem; }
  .guides__grid .guide__body p { font-size: .78rem; line-height: 1.4; }
  .guides__grid .guide__body .guide__more { margin-top: .7rem; font-size: .8rem; }
  .guide--img .guide__img .guide__tag { font-size: .58rem; padding: .25rem .5rem; left: 8px; top: 8px; }
  .guides__grid--blog .guide--img .guide__img .guide__tag { bottom: 10px; left: 10px; top: auto; }
}
.guide__body .guide__more svg { transition: transform .3s ease; }
.guide--img:hover .guide__body .guide__more svg { transform: translateX(5px); }
/* Badge mutat în corpul cardului — nu mai acoperă imaginea; card curat, doar titlu */
.guide--img .guide__body .guide__tag { align-self: flex-start; margin-bottom: .6rem; }
.guide--img .guide__body p { display: none; }
.guide--img .guide__body h3 { margin-bottom: 0; }
/* Blog grid: stil identic cu pagina de listing — uppercase bold h3, gradient imagine, tag jos-stânga */
.guides__grid--blog .guide--img .guide__img::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to bottom, transparent 55%, rgba(0,0,0,.42) 100%); pointer-events: none; }
.guides__grid--blog .guide--img .guide__img .guide__tag { bottom: 13px; left: 13px; top: auto; border-radius: .35rem; background: rgba(5,150,105,.9); backdrop-filter: blur(4px); padding: .28rem .65rem; font-size: .64rem; }
.guides__grid--blog .guide--img .guide__body h3 { font-size: .97rem; font-weight: 800; text-transform: uppercase; letter-spacing: .02em; line-height: 1.38; margin-bottom: .65rem; }
.guides__grid--blog .guide--img .guide__body p { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; flex: 0 0 auto; margin-bottom: .2rem; color: var(--gray-500); font-size: .84rem; }
.guide__meta { display: flex; flex-wrap: wrap; gap: .9rem; align-items: center; margin: .55rem 0 .1rem; font-size: .8rem; color: var(--gray-500); font-weight: 500; }
.guide__meta span { display: inline-flex; align-items: center; gap: .35rem; }
.guide__meta svg { width: 14px; height: 14px; color: var(--emerald); flex: 0 0 14px; }
.guides__grid--blog .guide--img .guide__body .guide__more { margin-top: auto; padding-top: .5rem; }
/* Link-text care deschide formularul de programare */
.lk-form { background: none; border: 0; padding: 0; font: inherit; color: var(--emerald); font-weight: 700; cursor: pointer; text-decoration: underline; text-underline-offset: 2px; }
.lk-form:hover { color: var(--emerald-700); }

/* ============================================================
   LOCAȚII — hartă acoperire + carduri județ
   ============================================================ */
/* Harta = accent: full-width, proeminentă, cu județele pe 2 coloane dedesubt */
.cov { display: grid; grid-template-columns: 1fr; gap: 2.6rem; align-items: stretch; }
.cov__map-wrap { position: relative; border-radius: 1.2rem; overflow: hidden; background: #fff; border: 1px solid var(--gray-200); box-shadow: var(--shadow-lg); }
.cov__map-wrap img { display: block; width: 100%; height: auto; }
.map-ping { position: absolute; width: 16px; height: 16px; transform: translate(-50%, -50%); pointer-events: none; }
.map-ping span, .map-ping::after { content: ""; position: absolute; inset: 0; border-radius: 50%; }
.map-ping::after { background: var(--emerald); box-shadow: 0 0 0 3px rgba(255,255,255,.7); }
.map-ping span { border: 2px solid var(--emerald); animation: covPing 2.4s ease-out infinite; }
@keyframes covPing { 0% { transform: scale(.5); opacity: .9; } 100% { transform: scale(4.5); opacity: 0; } }
.map-ping--bt { left: 63%; top: 27%; }
.map-ping--is { left: 70.5%; top: 40%; }
.cov__stats { display: flex; gap: 1rem; margin-top: 1.2rem; }
.cov__btns { display: flex; align-items: center; flex-wrap: wrap; gap: .55rem; margin-bottom: 1rem; }
.cov__btns-label { font-weight: 600; color: var(--gray-700); font-size: .9rem; margin-right: .15rem; }
.cov__btn { font: inherit; font-weight: 700; font-size: .9rem; line-height: 1; padding: .6rem 1.4rem; border-radius: 999px; border: 1.5px solid var(--emerald); background: #fff; color: var(--emerald-700); cursor: pointer; transition: background .2s, color .2s, transform .15s; }
.cov__btn:hover { background: #ecfdf5; }
.cov__btn:active { transform: scale(.96); }
.cov__btn.is-active { background: var(--emerald); color: #fff; box-shadow: 0 6px 16px -6px rgba(5,150,105,.6); }
.cov__btn--ghost { border-color: var(--gray-300); color: var(--gray-600); }
.cov__btn--ghost:hover { background: var(--gray-100); }

.cov__credit { margin-top: .6rem; font-size: .72rem; color: var(--gray-500); }
.cov__credit a { color: inherit; text-decoration: underline; }
.cov__credit a:hover { color: var(--gray-600); }

/* Listă SEO crawlabilă: toate cartierele și localitățile deservite */
.cov-seo { margin-top: 1rem; }
.cov-seo__head { text-align: center; max-width: 62rem; margin: 0 auto 1.9rem; }
.cov-seo__head h2 { font-size: clamp(1.5rem, 1.2rem + 1.2vw, 2rem); color: var(--gray-900); margin-bottom: .7rem; }
.cov-seo__head p { color: var(--gray-600); }
.cov-seo__grid { display: grid; grid-template-columns: 1fr; gap: 2rem; }
@media (min-width: 860px) { .cov-seo__grid { grid-template-columns: 1fr 1fr; gap: 2.5rem; } }
.cov-seo__col h3 { font-size: 1.02rem; color: var(--gray-900); margin: 0 0 .75rem; }
.cov-seo__col h3:not(:first-child) { margin-top: 1.5rem; }
.cov-seo__chips { display: flex; flex-wrap: wrap; gap: .45rem; }
.cov-seo__chips a { font-size: .82rem; background: #fff; border: 1px solid var(--gray-200); color: var(--gray-700); padding: .35rem .78rem; border-radius: 999px; transition: background .2s, border-color .2s, color .2s; }
.cov-seo__chips a:hover { border-color: var(--emerald); color: var(--emerald-700); background: #ecfdf5; }
/* Hartă reală (Leaflet) — înlocuiește radarul */
.covmap { height: 420px; border-radius: 1.4rem; overflow: hidden; box-shadow: 0 30px 80px -30px rgba(5,150,105,.45), var(--shadow-xl); border: 2px solid rgba(5,150,105,.25); position: relative; z-index: 1; }
@media (min-width: 760px) { .covmap { height: 470px; } }
@media (max-width: 560px) { .covmap { height: 320px; } }
.leaflet-container { font: inherit; background: #e9f0ed; }
.leaflet-popup-content { font: inherit; font-size: .9rem; }
.cm-pin { background: var(--emerald); border: 2px solid #fff; border-radius: 50%; box-shadow: 0 1px 4px rgba(0,0,0,.5), 0 0 0 1px rgba(0,0,0,.2); }
.cm-pin--hq { background: #f59e0b; border: 2.5px solid #fff; box-shadow: 0 0 0 4px rgba(245,158,11,.3), 0 1px 5px rgba(0,0,0,.5); }
.cov__stat { flex: 1; text-align: center; background: #f0fdf4; border: 1px solid rgba(5,150,105,.18); border-radius: .9rem; padding: .9rem .5rem; }
.cov__stat b { display: block; font-size: 1.5rem; color: var(--emerald-700); font-weight: 800; }
.cov__stat small { color: var(--gray-600); font-size: .8rem; }

.cov__counties { display: grid; grid-template-columns: 1fr; gap: 1.3rem; }
@media (min-width: 760px) { .cov__counties { grid-template-columns: 1fr 1fr; } }
.cov-county { display: block; background: #fff; border: 1px solid var(--gray-200); border-radius: 1.1rem; padding: 1.4rem; box-shadow: var(--shadow-lg); transition: transform .25s, box-shadow .25s, border-color .25s; position: relative; overflow: hidden; }
.cov-county::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 5px; background: var(--emerald); }
.cov-county:hover { transform: translateY(-4px); box-shadow: var(--shadow-xl); border-color: rgba(5,150,105,.4); }
.cov-county__head { display: flex; align-items: center; gap: .8rem; margin-bottom: .7rem; }
.cov-county__pin { display: grid; place-items: center; width: 42px; height: 42px; flex: 0 0 42px; border-radius: 50%; background: #ecfdf5; color: var(--emerald); }
.cov-county__pin svg { width: 22px; height: 22px; }
.cov-county__head h3 { font-size: 1.2rem; color: var(--gray-900); }
.cov-county__role { font-size: .78rem; font-weight: 700; color: var(--emerald); text-transform: uppercase; letter-spacing: .04em; }
.cov-county p { color: var(--gray-600); font-size: .92rem; line-height: 1.55; margin-bottom: .9rem; }
.cov-county__chips { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: 1rem; }
.cov-county__chips span { font-size: .78rem; background: var(--gray-100); color: var(--gray-700); padding: .3rem .65rem; border-radius: 999px; }
.cov-county__more { display: inline-flex; align-items: center; gap: .4rem; font-weight: 700; color: var(--emerald); }
.cov-county__more svg { transition: transform .3s ease; }
.cov-county:hover .cov-county__more svg { transform: translateX(5px); }

/* ============================================================
   „DE CE NOI" — carusel foto vertical + fundal bogat + iconițe gradient
   ============================================================ */
.whyx { position: relative; overflow: hidden; background: linear-gradient(180deg, #ffffff 0%, #f0fdf4 100%); }
.whyx__deco { position: absolute; border-radius: 50%; filter: blur(90px); z-index: 0; pointer-events: none; }
.whyx__deco--1 { width: 460px; height: 460px; background: rgba(5,150,105,.16); top: -140px; right: -110px; }
.whyx__deco--2 { width: 420px; height: 420px; background: rgba(16,185,129,.13); bottom: -160px; left: -130px; }
.whyx > .container { position: relative; z-index: 1; }

.whyx__marquee { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; height: 460px; overflow: hidden; border-radius: 1.2rem;
  -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 11%, #000 89%, transparent 100%);
          mask-image: linear-gradient(180deg, transparent 0, #000 11%, #000 89%, transparent 100%); }
.whyx__col { display: flex; flex-direction: column; gap: 1rem; will-change: transform; }
.whyx__col img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: .9rem; box-shadow: var(--shadow-lg); }
.whyx__col--up { animation: whyxUp 32s linear infinite; }
.whyx__col--down { animation: whyxDown 32s linear infinite; }
@keyframes whyxUp { from { transform: translateY(0); } to { transform: translateY(-50%); } }
@keyframes whyxDown { from { transform: translateY(-50%); } to { transform: translateY(0); } }
.whyx__marquee:hover .whyx__col { animation-play-state: paused; }
/* [reduce-motion suppression eliminat — owner vrea animatiile active] */

.whyx .benefit__icon { width: 3.2rem; height: 3.2rem; border-radius: 1rem; background: linear-gradient(135deg, var(--emerald), #34d399); color: #fff; box-shadow: 0 10px 20px -8px rgba(5,150,105,.55); transition: transform .3s ease; }
.whyx .benefit__icon svg { width: 1.55rem; height: 1.55rem; }
.whyx .benefit { background: rgba(255,255,255,.78); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); border: 1px solid var(--gray-200); border-radius: 1rem; transition: transform .3s ease, box-shadow .3s ease, border-color .3s; }
.whyx .benefit:hover { transform: translateY(-4px); box-shadow: var(--shadow-xl); border-color: rgba(5,150,105,.35); }
.whyx .benefit:hover .benefit__icon { transform: scale(1.08) rotate(-4deg); }
@media (max-width: 600px) { .whyx__marquee { height: 360px; } }

/* Notă legală în articole */
.post__note { background: #f8fafc; border-left: 3px solid var(--emerald); border-radius: .5rem; padding: .9rem 1.1rem; font-size: .86rem; color: var(--gray-600); line-height: 1.6; margin-top: 1.5rem; }
.post__note strong { color: var(--gray-800); }
.post__sources { margin-top: 1.5rem; font-size: .78rem; color: var(--gray-500); border-top: 1px solid var(--gray-200); padding-top: .75rem; }

/* ===== „De ce noi" — slideshow o singură poză (auto, doar reale) + fundal animat ===== */
/* „De ce noi": MOBIL = poze centrate sus, badge-uri 2×2 sub */
.benefits__media--center { max-width: 400px; margin: 0 auto 3.2rem; }
.benefits__grid--row { grid-template-columns: 1fr 1fr; gap: .9rem; max-width: 60rem; margin: 0 auto; }
/* badge-uri mai mici + floating lent */
/* float LENT + subtil + fluent (translate3d = GPU, fără sacadare) */
.benefits__grid--row .benefit { padding: 1rem 1.1rem; animation: benefitFloat 9s ease-in-out infinite; will-change: transform; }
.benefits__grid--row .benefit:nth-child(1) { animation-delay: 0s; }
.benefits__grid--row .benefit:nth-child(2) { animation-delay: 2.2s; }
.benefits__grid--row .benefit:nth-child(3) { animation-delay: 4.4s; }
.benefits__grid--row .benefit:nth-child(4) { animation-delay: 6.6s; }
.benefits__grid--row .benefit:hover { animation-play-state: paused; }
.benefits__grid--row .benefit .benefit__icon { width: 2.6rem; height: 2.6rem; border-radius: .7rem; }
.benefits__grid--row .benefit .benefit__icon svg { width: 1.3rem; height: 1.3rem; }
.benefits__grid--row .benefit h3 { font-size: .98rem; }
.benefits__grid--row .benefit p { font-size: .82rem; }
@keyframes floatSoft { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-6px); } }
@keyframes benefitFloat { 0%,100% { transform: translate3d(0,0,0); } 50% { transform: translate3d(0,-7px,0); } }
/* [reduce-motion suppression eliminat — owner vrea animatiile active] */

/* ===== WHYX — efecte premium (linii, glow, ramă animată, shine) ===== */
.whyx__grid { position: absolute; inset: 0; pointer-events: none;
  background-image:
    linear-gradient(to right, rgba(5,150,105,.10) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(5,150,105,.10) 1px, transparent 1px);
  background-size: 50px 50px;
  -webkit-mask-image: radial-gradient(135% 100% at 76% 30%, #000 0%, rgba(0,0,0,.55) 48%, transparent 76%);
  mask-image: radial-gradient(135% 100% at 76% 30%, #000 0%, rgba(0,0,0,.55) 48%, transparent 76%); }
.whyx > .whyx__grid { z-index: 0; }
/* linie-accent care traversează sus secțiunea */
.whyx__grid::after { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 2px;
  background: linear-gradient(90deg, transparent, rgba(5,150,105,.6) 35%, rgba(52,211,153,.85) 50%, rgba(5,150,105,.6) 65%, transparent);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 18%, #000 82%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 18%, #000 82%, transparent); }

/* accent fin verde scurt sub eyebrow — peste tot (De ce noi, Despre noi, Echipa din teren, Recenzii Google, Ghiduri utile) */
.whyx .services__head .eyebrow,
.about__label,
.realwork__text .eyebrow,
.reviews__head .eyebrow,
.guides__head .eyebrow { position: relative; padding-bottom: .65rem; }
.whyx .services__head .eyebrow::after,
.about__label::after,
.realwork__text .eyebrow::after,
.reviews__head .eyebrow::after,
.guides__head .eyebrow::after { content: ""; position: absolute; bottom: 0; width: 40px; height: 3px;
  border-radius: 3px; background: linear-gradient(90deg, var(--emerald), #34d399); }
/* aliniat la stânga (text stânga) */
.whyx .services__head .eyebrow::after,
.about__label::after,
.realwork__text .eyebrow::after { left: 0; }
/* centrat sub text (secțiuni centrate) */
.reviews__head .eyebrow::after,
.guides__head .eyebrow::after { left: 50%; transform: translateX(-50%); }
/* mobil: whyx („De ce noi") se centrează sub 920px, deci linia de sub eyebrow trebuie centrată la fel (altfel plutește în stânga) */
@media (max-width: 919px){ .whyx .services__head .eyebrow::after{ left: 50%; transform: translateX(-50%); } }

/* halo emerald difuz în jurul imaginii */
.benefits__media--center::before { content: ""; position: absolute; z-index: 0; inset: -14px;
  border-radius: 1.9rem;
  background: radial-gradient(60% 58% at 52% 44%, rgba(5,150,105,.55), rgba(52,211,153,.22) 55%, transparent 74%);
  filter: blur(30px); opacity: .8; animation: whyxPulse 7s ease-in-out infinite; }
.benefits__media--center .whyx__slideshow { position: relative; z-index: 1; isolation: isolate; }
.benefits__float { z-index: 3; }
@keyframes whyxPulse { 0%,100% { opacity: .55; transform: scale(.97); } 50% { opacity: .9; transform: scale(1.05); } }

/* (eliminat) ramă rotativă + shine — slideshow doar cu fade simplu între poze */
.whyx__slideshow::before { content: none; }
.whyx__slideshow::after { content: none; }

/* card-uri: linie-accent sus la hover + glow emerald */
.benefits__grid--row .benefit { position: relative; }
.benefits__grid--row .benefit::after { content: ""; position: absolute; top: 0; left: 1.1rem; right: 1.1rem; height: 3px;
  border-radius: 0 0 4px 4px; background: linear-gradient(90deg, var(--emerald), #34d399);
  transform: scaleX(0); transform-origin: center; transition: transform .45s var(--ease-out-quart); }
.benefits__grid--row .benefit:hover::after { transform: scaleX(1); }
.whyx .benefit:hover { box-shadow: 0 20px 44px -18px rgba(5,150,105,.5); border-color: rgba(5,150,105,.45); }

/* [reduce-motion suppression eliminat — owner vrea animatiile active] */

/* ===== Chenar premium cu colțuri în „X" (verde pe o diagonală, alb pe cealaltă) ===== */
.imgcar__vp { position: relative; }
.cf { position: absolute; inset: 14px; z-index: 6; pointer-events: none;
  --l: 27px; --t: 3px;
  background:
    /* verde — colț stânga-sus */
    linear-gradient(var(--emerald), var(--emerald)) top left / var(--l) var(--t) no-repeat,
    linear-gradient(var(--emerald), var(--emerald)) top left / var(--t) var(--l) no-repeat,
    /* verde — colț dreapta-jos */
    linear-gradient(var(--emerald), var(--emerald)) bottom right / var(--l) var(--t) no-repeat,
    linear-gradient(var(--emerald), var(--emerald)) bottom right / var(--t) var(--l) no-repeat,
    /* alb — colț dreapta-sus */
    linear-gradient(#fff, #fff) top right / var(--l) var(--t) no-repeat,
    linear-gradient(#fff, #fff) top right / var(--t) var(--l) no-repeat,
    /* alb — colț stânga-jos */
    linear-gradient(#fff, #fff) bottom left / var(--l) var(--t) no-repeat,
    linear-gradient(#fff, #fff) bottom left / var(--t) var(--l) no-repeat;
  filter: drop-shadow(0 1px 2px rgba(4,30,18,.45));
  transition: inset .45s var(--ease-out-quart), opacity .4s; }
.whyx__slideshow:hover .cf,
.imgcar__vp:hover .cf { inset: 9px; }
@media (max-width: 560px) { .cf { --l: 20px; inset: 11px; } }
/* DESKTOP = text + badge-uri în STÂNGA, pozele în DREAPTA, titlu pe un rând */
@media (min-width: 920px) {
  .whyx > .container { display: grid; grid-template-columns: 1.04fr .96fr; grid-template-rows: auto minmax(0, 1fr); gap: 0 3.5rem; align-items: stretch; }
  .whyx .services__head { grid-column: 1; grid-row: 1; text-align: left; margin: 0 0 1.5rem; align-self: start; }
  .whyx .services__head .lead { margin-inline: 0; }
  .whyx .services__head h2 br { display: none; }
  .benefits__media--center { grid-column: 2; grid-row: 1 / 3; max-width: 440px; margin: 0; align-self: stretch; }
  .benefits__media--center .whyx__slideshow { height: 100%; aspect-ratio: auto; }
  .benefits__grid--row { grid-column: 1; grid-row: 2; grid-template-columns: 1fr 1fr; grid-auto-rows: 1fr; gap: 1rem; max-width: none; margin: 0; height: 100%; }
  .benefits__grid--row .benefit { display: flex; flex-direction: column; justify-content: center; }
  /* badge-uri scoase în exterior pe colțurile chenarului (doar desktop, unde e spațiu) */
  .benefits__float--rating { left: -2.2rem; bottom: -2.6rem; }
  .benefits__float--logo { right: -2.2rem; bottom: -2.6rem; }
}

.whyx__slideshow { position: relative; aspect-ratio: 4 / 5; border-radius: 1.2rem; overflow: hidden; box-shadow: var(--shadow-xl); border: 6px solid #fff; background: var(--gray-100); }
/* SLIDE-uri discrete cu fade fin: imaginea completă se schimbă deodată (slide + fade), NU derulare continuă */
/* 12 poze × 3s = ciclu 36s (slide + fade discret, fără pauză albă) */
.whyx__slideshow img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transform: translateX(26px); animation: whyxSlideFade 36s infinite; will-change: opacity, transform; }
.whyx__slideshow img:nth-child(1)  { animation-delay: 0s; }
.whyx__slideshow img:nth-child(2)  { animation-delay: 3s; }
.whyx__slideshow img:nth-child(3)  { animation-delay: 6s; }
.whyx__slideshow img:nth-child(4)  { animation-delay: 9s; }
.whyx__slideshow img:nth-child(5)  { animation-delay: 12s; }
.whyx__slideshow img:nth-child(6)  { animation-delay: 15s; }
.whyx__slideshow img:nth-child(7)  { animation-delay: 18s; }
.whyx__slideshow img:nth-child(8)  { animation-delay: 21s; }
.whyx__slideshow img:nth-child(9)  { animation-delay: 24s; }
.whyx__slideshow img:nth-child(10) { animation-delay: 27s; }
.whyx__slideshow img:nth-child(11) { animation-delay: 30s; }
.whyx__slideshow img:nth-child(12) { animation-delay: 33s; }
.whyx__slideshow:hover img { animation-play-state: paused; }
@keyframes whyxSlideFade {
  0%     { opacity: 0; transform: translateX(26px); }
  1.83%  { opacity: 1; transform: translateX(0); }
  6.88%  { opacity: 1; transform: translateX(0); }
  9.63%  { opacity: 0; transform: translateX(-26px); }
  100%   { opacity: 0; transform: translateX(-26px); }
}
.whyx__deco--1 { animation: whyxFloatA 16s ease-in-out infinite; }
.whyx__deco--2 { animation: whyxFloatB 20s ease-in-out infinite; }
@keyframes whyxFloatA { 0%,100% { transform: translate(0,0) scale(1); } 50% { transform: translate(-30px,28px) scale(1.12); } }
@keyframes whyxFloatB { 0%,100% { transform: translate(0,0) scale(1); } 50% { transform: translate(34px,-26px) scale(1.1); } }
/* slideshow-ul IGN (crossfade blând) rulează și cu Reduce Motion — cerere owner; doar deco statice */
/* [reduce-motion suppression eliminat — owner vrea animatiile active] */

/* ============================================================
   SCÂNTEI VERZI plutitoare (sparks) — accent random pe unele secțiuni
   ============================================================ */
.has-sparks { position: relative; }
.has-sparks > .container, .has-sparks > * { position: relative; z-index: 1; }
.has-sparks::before, .has-sparks::after {
  content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
  -webkit-mask-image: radial-gradient(ellipse 90% 80% at 50% 50%, #000 60%, transparent 100%);
          mask-image: radial-gradient(ellipse 90% 80% at 50% 50%, #000 60%, transparent 100%);
}
.has-sparks::before {
  background-image:
    radial-gradient(2.5px 2.5px at 8% 28%, rgba(16,185,129,.85), transparent),
    radial-gradient(2px 2px at 22% 70%, rgba(52,211,153,.7), transparent),
    radial-gradient(2px 2px at 40% 18%, rgba(16,185,129,.6), transparent),
    radial-gradient(1.6px 1.6px at 63% 55%, rgba(52,211,153,.75), transparent),
    radial-gradient(2.4px 2.4px at 82% 32%, rgba(16,185,129,.7), transparent),
    radial-gradient(1.6px 1.6px at 92% 74%, rgba(52,211,153,.6), transparent),
    radial-gradient(2px 2px at 51% 84%, rgba(16,185,129,.65), transparent);
  animation: sparkDrift 17s linear infinite, sparkTwinkle 4.2s ease-in-out infinite;
}
.has-sparks::after {
  background-image:
    radial-gradient(1.8px 1.8px at 15% 50%, rgba(110,231,183,.7), transparent),
    radial-gradient(2px 2px at 33% 90%, rgba(16,185,129,.55), transparent),
    radial-gradient(1.5px 1.5px at 72% 14%, rgba(110,231,183,.7), transparent),
    radial-gradient(2.2px 2.2px at 88% 60%, rgba(16,185,129,.6), transparent),
    radial-gradient(1.6px 1.6px at 58% 38%, rgba(110,231,183,.6), transparent);
  animation: sparkDrift 23s linear infinite reverse, sparkTwinkle 5.6s ease-in-out infinite .8s;
}
@keyframes sparkDrift { from { transform: translateY(10px); } to { transform: translateY(-22px); } }
@keyframes sparkTwinkle { 0%,100% { opacity: .35; } 50% { opacity: 1; } }
/* [reduce-motion suppression eliminat — owner vrea animatiile active] */

/* ============================================================
   PAGINI LEGALE (confidențialitate, termeni, cookie-uri)
   ============================================================ */
.lp-hero--slim { padding: 2.4rem 0 2.1rem; background: linear-gradient(120deg, #0f1f1a 0%, #143028 100%); }
.lp-hero--slim h1 { font-size: 1.8rem; }
@media (min-width: 768px) { .lp-hero--slim h1 { font-size: 2.2rem; } }
/* Hero VERDE pe paginile legale (confidentialitate, cookie-uri, termeni) */
.lp-hero--green { background: linear-gradient(135deg, #06392a 0%, #064e3b 50%, #0a6350 100%); }
.lp-hero--green .lp-hero__overlay { background: radial-gradient(130% 150% at 50% -25%, rgba(52,211,153,.20), transparent 62%); }
/* Hero centrat — pentru paginile legale (Termeni, Confidențialitate, Cookie-uri) */
.lp-hero--center .lp-hero__inner { text-align: center; }
.lp-hero--center .lp-hero__inner > * { margin-inline: auto; }
/* hero ALB pentru paginile legale (termeni / confidențialitate / cookies): fundal alb, text negru */
.lp-hero--light { background: #fff; color: var(--gray-900); border-bottom: 1px solid var(--gray-200); }
.lp-hero--light .lp-hero__overlay { display: none; }
.lp-hero--light h1 { color: var(--gray-900); }
.lp-hero--light .lp-hero__sub { color: var(--gray-600); }
.lp-hero--light .crumbs { color: var(--gray-500); }
.lp-hero--light .crumbs a { color: var(--gray-600); }
.lp-hero--light .crumbs a:hover { color: var(--emerald); }
.lp-hero--light .crumbs span { color: var(--gray-300); }
.lp-hero--center .crumbs { display: flex; flex-wrap: wrap; justify-content: center; }
.lp-hero--center .lp-hero__cta { justify-content: center; }
.legal { max-width: 52rem; margin: 0 auto; }
.legal h2 { font-size: 1.25rem; color: var(--gray-900); margin: 1.9rem 0 .7rem; }
.legal h2:first-child { margin-top: 0; }
.legal p { color: var(--gray-700); line-height: 1.75; margin-bottom: 1rem; }
.legal ul { margin: 0 0 1.1rem 1.2rem; padding: 0; }
.legal ul li { color: var(--gray-700); line-height: 1.7; margin-bottom: .45rem; }
.legal a { color: var(--emerald); font-weight: 600; }
.legal a:hover { text-decoration: underline; }
.legal__data { list-style: none; margin-left: 0 !important; background: #f8fafc; border: 1px solid var(--gray-200); border-radius: .8rem; padding: 1rem 1.2rem; }
.legal__data li { margin-bottom: .35rem; }
.legal__table { border: 1px solid var(--gray-200); border-radius: .8rem; overflow: hidden; margin: 0 0 1.2rem; }
.legal__trow { display: grid; grid-template-columns: 1fr 2fr 1fr; gap: .8rem; padding: .8rem 1rem; border-bottom: 1px solid var(--gray-100); font-size: .9rem; color: var(--gray-700); align-items: center; }
.legal__trow:last-child { border-bottom: 0; }
.legal__trow--head { background: var(--emerald); font-weight: 700; font-size: .78rem; text-transform: uppercase; letter-spacing: .03em; }
.legal__trow--head span { color: #fff; }
@media (max-width: 560px) { .legal__trow { grid-template-columns: 1fr; gap: .2rem; } }
.legal h3 { font-size: 1.04rem; color: var(--gray-900); font-weight: 700; margin: 1.2rem 0 .5rem; }
.legal__operator { background: linear-gradient(135deg, #ecfdf5 0%, #f0fdf4 100%); border: 1px solid rgba(5,150,105,.22); border-radius: 1rem; padding: 1.3rem 1.5rem; margin-bottom: 2rem; }
.legal__id { list-style: none; margin: 0 !important; padding: 0; display: grid; gap: .55rem; }
.legal__id li { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .3rem 1rem; padding-bottom: .55rem; border-bottom: 1px dashed rgba(5,150,105,.2); margin: 0; }
.legal__id li:last-child { border-bottom: 0; padding-bottom: 0; }
.legal__id span { color: var(--gray-600); font-size: .9rem; }
.legal__id b { color: var(--gray-900); font-weight: 700; font-size: .92rem; text-align: right; }
.legal__id b a { color: var(--emerald-700); }

/* ============ Pagini /servicii/ — elemente premium ============ */
/* Key-facts chips în hero */
.keyfacts { display: flex; flex-wrap: wrap; gap: .55rem; margin: 1.4rem 0 0; }
.kf { display: inline-flex; align-items: center; gap: .5rem; padding: .55rem 1rem .55rem .6rem; border-radius: 999px; background: rgba(255,255,255,.13); border: 1px solid rgba(255,255,255,.3); color: #fff; font-size: .85rem; font-weight: 600; backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); transition: transform .25s var(--ease-out-quart), background .25s; }
.kf:hover { transform: translateY(-2px); background: rgba(255,255,255,.2); }
.kf svg { width: 20px; height: 20px; padding: 3px; border-radius: 50%; background: var(--emerald); color: #fff; flex-shrink: 0; box-shadow: 0 2px 8px rgba(5,150,105,.5); }

/* Eyebrow text (aliniat cu regula de bază — fără uppercase tracked, e un tell AI) */
.eyebrow { font-size: .8125rem; font-weight: 700; letter-spacing: .01em; text-transform: none; color: var(--emerald-700); }

/* Stepper proces „Cum decurge în 4 pași" */
.proc { display: grid; grid-template-columns: 1fr; gap: 1.6rem; margin-top: 2.6rem; }
@media (min-width: 760px) { .proc { grid-template-columns: repeat(4, 1fr); gap: 1.1rem; } }
.proc__step { position: relative; background: #fff; border: 1px solid var(--gray-200); border-radius: 1.1rem; padding: 2.4rem 1.35rem 1.5rem; box-shadow: 0 1px 3px rgba(0,0,0,.06); transition: transform .35s cubic-bezier(.16,1,.3,1), box-shadow .35s; }
.proc__step:hover { transform: translateY(-5px); box-shadow: var(--shadow-xl); border-color: rgba(5,150,105,.3); }
.proc__n { position: absolute; top: -1.15rem; left: 1.35rem; width: 2.7rem; height: 2.7rem; display: grid; place-items: center; border-radius: 50%; background: linear-gradient(135deg, var(--emerald), var(--emerald-700)); color: #fff; font-weight: 800; font-size: 1.15rem; box-shadow: 0 7px 18px rgba(5,150,105,.4); }
.proc__step h3 { font-size: 1.06rem; color: var(--gray-900); margin: .35rem 0 .45rem; line-height: 1.3; }
.proc__step p { color: var(--gray-600); font-size: .92rem; line-height: 1.6; margin: 0; }

/* Related links centrate */
.lp-related--center { justify-content: center; gap: .8rem; }
.svc-rich .lp-related--center a, .svc-bg .lp-related--center a {
  display: inline-flex; align-items: center; gap: .5rem;
  font-size: .95rem; padding: .8rem 1.3rem; font-weight: 700; border-radius: .85rem;
  background: #fff; color: var(--gray-800); border: 1px solid var(--gray-200);
  box-shadow: 0 6px 18px -12px rgba(4,70,44,.4);
  transition: transform .25s var(--ease-out-quart), box-shadow .25s, border-color .25s, color .25s;
}
.svc-rich .lp-related--center a::after, .svc-bg .lp-related--center a::after {
  content: "→"; color: var(--emerald); font-weight: 800; transition: transform .25s var(--ease-out-quart);
}
.svc-rich .lp-related--center a:hover, .svc-bg .lp-related--center a:hover {
  transform: translateY(-4px); border-color: rgba(5,150,105,.45); color: var(--emerald-700);
  box-shadow: 0 16px 30px -16px rgba(4,70,44,.45); background: #fff;
}
.svc-rich .lp-related--center a:hover::after, .svc-bg .lp-related--center a:hover::after { transform: translateX(4px); }
/* CTA „verifică-le pe toate" sub titlul Alte servicii */
.lp-allcta { display: inline-flex; align-items: center; gap: .5rem; margin-top: 1.6rem; font-weight: 700; color: var(--emerald-700); }
.lp-allcta svg { width: 18px; height: 18px; transition: transform .25s var(--ease-out-quart); }
.lp-allcta:hover svg { transform: translateX(4px); }

/* Hero serviciu — puțin mai înalt, pentru chips */
.svcp-hero .lp-hero__inner { padding-top: 2.4rem; padding-bottom: 2.8rem; }

/* Tag preț pe cardurile din /servicii/ */
.lp-card { position: relative; }
.lp-card__tag { position: absolute; top: 1.2rem; right: 1.2rem; font-size: .74rem; font-weight: 700; padding: .28rem .6rem; border-radius: 999px; background: #ecfdf5; color: var(--emerald-700); border: 1px solid #a7f3d0; }
.lp-card__tag--quote { background: var(--gray-100); color: var(--gray-600); border-color: var(--gray-200); }

/* ============ /despre-noi/ ============ */
.vals { display: grid; grid-template-columns: 1fr; gap: 1.25rem; }
@media (min-width: 640px) { .vals { grid-template-columns: repeat(2,1fr); } }
@media (min-width: 1024px) { .vals { grid-template-columns: repeat(4,1fr); } }
.val { position: relative; overflow: hidden; background: #fff; border: 1px solid var(--gray-200); border-radius: 1.1rem; padding: 1.9rem 1.5rem; box-shadow: 0 12px 32px -22px rgba(15,23,42,.4); transition: transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s, border-color .35s; }
.val::before { content: ""; position: absolute; left: 0; top: 0; right: 0; height: 3px; background: linear-gradient(90deg, var(--emerald), #34d399); transform: scaleX(0); transform-origin: left; transition: transform .45s cubic-bezier(.2,.7,.2,1); }
.val:hover { transform: translateY(-6px); box-shadow: 0 28px 52px -26px rgba(5,150,105,.42); border-color: rgba(5,150,105,.3); }
.val:hover::before { transform: scaleX(1); }
.val__ic { display: grid; place-items: center; width: 52px; height: 52px; border-radius: .85rem; background: #ecfdf5; color: var(--emerald); margin-bottom: 1.1rem; transition: background .35s, color .35s, transform .35s; }
.val:hover .val__ic { background: var(--emerald); color: #fff; transform: scale(1.06) rotate(-4deg); }
.val__ic svg { width: 25px; height: 25px; }
.val h3 { font-size: 1.1rem; color: var(--gray-900); margin-bottom: .5rem; }
.val p { color: var(--gray-600); font-size: .92rem; line-height: 1.6; margin: 0; }

.section--emerald { background: linear-gradient(135deg, var(--emerald), var(--emerald-700)); position: relative; overflow: hidden; }
.section--emerald::before { content: ""; position: absolute; top: -40%; right: -8%; width: 460px; height: 460px; border-radius: 50%; background: radial-gradient(circle, rgba(255,255,255,.12), transparent 66%); pointer-events: none; }
.stats2 { display: grid; grid-template-columns: repeat(2,1fr); gap: 0; position: relative; z-index: 1; }
@media (min-width: 768px) { .stats2 { grid-template-columns: repeat(4,1fr); } }
/* Fundal parallax cu sediul IGN pe banda de statistici (ca .stats de pe homepage) */
.stats2-bg { position: absolute; inset: 0; background-size: cover; background-position: center; }
@media (min-width: 768px) { .stats2-bg { background-attachment: fixed; } }
.stats2-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(11,16,16,.5), rgba(11,16,16,.64)); }
.stats2-sec .container { position: relative; z-index: 1; }
.stat2 { text-align: center; color: #fff; padding: 1.7rem 1rem; position: relative; background: none; border: 0; }
/* separatoare fine în loc de carduri-glass */
.stat2:nth-child(even)::before { content: ""; position: absolute; left: 0; top: 22%; bottom: 22%; width: 1px; background: rgba(255,255,255,.16); }
.stat2:nth-child(n+3) { border-top: 1px solid rgba(255,255,255,.14); }
@media (min-width: 768px) {
  .stat2 { padding: 0 1rem; }
  .stat2:nth-child(even)::before { display: none; }
  .stat2:nth-child(n+3) { border-top: 0; }
  .stat2:not(:first-child)::before { content: ""; display: block; position: absolute; left: 0; top: 14%; bottom: 14%; width: 1px; background: rgba(255,255,255,.16); }
}
.stat2 b { display: block; font-size: clamp(2.3rem, 1.7rem + 2vw, 3.1rem); font-weight: 800; line-height: 1; letter-spacing: -.025em; font-variant-numeric: tabular-nums; white-space: nowrap; }
.stat2 b::after { content: ""; display: block; width: 2.1rem; height: 3px; border-radius: 2px; margin: .75rem auto 0; background: rgba(255,255,255,.55); }
.stat2__star { color: #fde047; font-size: .6em; margin-left: .06em; vertical-align: .18em; }
.stat2 > span { font-size: .86rem; color: rgba(255,255,255,.82); line-height: 1.45; display: block; margin-top: .7rem; }

/* Carusel de imagini reutilizabil (ex. „Cine suntem") */
.imgcar { position: relative; }
.imgcar__vp { overflow: hidden; border-radius: 1.2rem; border: 6px solid #fff; box-shadow: 0 34px 64px -28px rgba(4,70,44,.5), 0 0 0 1px rgba(5,150,105,.14); }
.imgcar__track { display: flex; transition: transform .55s cubic-bezier(.4,.2,.2,1); will-change: transform; }
.imgcar__slide { flex: 0 0 100%; }
.imgcar__slide img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; display: block; }
.imgcar__dots { display: flex; justify-content: center; gap: .5rem; margin-top: 1rem; }
.imgcar__dots button { width: 9px; height: 9px; padding: 0; border: 0; border-radius: 999px; background: var(--gray-300); cursor: pointer; transition: background .25s, width .25s; }
.imgcar__dots button.active { background: var(--emerald); width: 24px; }
.imgcar__nav { position: absolute; top: 50%; transform: translateY(-50%); width: 40px; height: 40px; border-radius: 50%; border: 0; background: rgba(255,255,255,.92); color: var(--emerald-700); cursor: pointer; display: grid; place-items: center; box-shadow: var(--shadow-lg); z-index: 2; transition: background .2s, transform .2s; }
.imgcar__nav:hover { background: #fff; transform: translateY(-50%) scale(1.08); }
.imgcar__nav--prev { left: .6rem; }
.imgcar__nav--next { right: .6rem; }
.imgcar__nav svg { width: 20px; height: 20px; }
/* [reduce-motion suppression eliminat — owner vrea animatiile active] */

@media (min-width: 900px) { .lp-intro--rev { grid-template-columns: .9fr 1.1fr; } }

/* ============ /contact-info/ ============ */
.ct-grid { display: grid; grid-template-columns: 1fr; gap: 1.25rem; }
@media (min-width: 640px) { .ct-grid { grid-template-columns: repeat(2,1fr); } }
@media (min-width: 1024px) { .ct-grid { grid-template-columns: repeat(4,1fr); } }
.ct-card { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--gray-200); border-radius: 1rem; padding: 1.7rem 1.35rem; box-shadow: 0 1px 3px rgba(0,0,0,.06); transition: transform .3s, box-shadow .3s, border-color .3s; color: inherit; }
a.ct-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-xl); border-color: rgba(5,150,105,.3); }
.ct-card__ic { display: grid; place-items: center; width: 48px; height: 48px; border-radius: .7rem; background: #ecfdf5; color: var(--emerald); margin-bottom: 1rem; }
.ct-card__ic svg { width: 24px; height: 24px; }
.ct-card h3 { font-size: 1.05rem; color: var(--gray-900); margin-bottom: .45rem; }
.ct-card p { color: var(--gray-600); font-size: .92rem; line-height: 1.6; margin: 0 0 .85rem; flex: 1; }
.ct-card__more { color: var(--emerald); font-weight: 700; font-size: .86rem; }
.ct-card__note { font-size: .8rem; color: var(--gray-600); font-style: italic; }

/* Formular de contact general (pagina Contact) */
.ct-form-wrap { max-width: 760px; margin-inline: auto; background: #fff; border: 1px solid var(--gray-200); border-radius: 1.1rem; box-shadow: var(--shadow-lg); padding: clamp(1.5rem, 1rem + 2.5vw, 2.6rem); position: relative; z-index: 1; }
.ct-form-intro { text-align: center; margin-bottom: 1.7rem; }
.ct-form-intro h2 { font-size: clamp(1.6rem, 1.2rem + 1.5vw, 2.1rem); color: var(--gray-900); margin: .35rem 0 .6rem; }
.ct-form-intro p { color: var(--gray-600); max-width: 52ch; margin-inline: auto; }
.ct-form__grid { display: grid; grid-template-columns: 1fr; gap: 1rem; }
@media (min-width: 640px) { .ct-form__grid { grid-template-columns: 1fr 1fr; } }
.ct-form__grid .full { grid-column: 1 / -1; }
.ct-form label.flbl { display: block; font-size: .875rem; font-weight: 500; color: var(--gray-700); margin-bottom: .25rem; }
.ct-form input, .ct-form select, .ct-form textarea { width: 100%; padding: .75rem 1rem; border: 1px solid var(--gray-300); border-radius: .5rem; outline: none; transition: border-color .2s, box-shadow .2s; font: inherit; background: #fff; color: var(--gray-900); }
.ct-form input:focus, .ct-form select:focus, .ct-form textarea:focus { border-color: var(--emerald); box-shadow: 0 0 0 2px rgba(5,150,105,.25); }
.ct-form textarea { resize: vertical; }
.ct-form > .btn { width: 100%; justify-content: center; margin-top: 1.2rem; }
.ct-form__ok { max-width: 760px; margin: 1rem auto 0; text-align: center; background: rgba(5,150,105,.1); color: var(--emerald-700); padding: 1rem; border-radius: .7rem; font-weight: 600; }

.ct-bottom { display: grid; grid-template-columns: 1fr; gap: 2.4rem; align-items: center; }
@media (min-width: 900px) { .ct-bottom { grid-template-columns: 1fr 1fr; } }
.ct-bottom__text h2 { font-size: 1.75rem; color: var(--gray-900); margin: .4rem 0 1rem; }
.ct-bottom__text p { color: var(--gray-600); line-height: 1.7; margin-bottom: 1rem; }
.ct-map { border-radius: 1rem; overflow: hidden; box-shadow: var(--shadow-xl); border: 1px solid var(--gray-200); min-height: 340px; }
.ct-map iframe { display: block; width: 100%; height: 100%; min-height: 340px; border: 0; }

/* === Contact: panou unit premium (info emerald + formular) === */
.contact-split { display: grid; grid-template-columns: 1fr; gap: 0; border-radius: 1.6rem; overflow: hidden; background: #fff; border: 1px solid var(--gray-200); box-shadow: 0 44px 90px -48px rgba(4,40,28,.45); position: relative; z-index: 1; }
@media (min-width: 940px) { .contact-split { grid-template-columns: .8fr 1.2fr; } }
.contact-aside { position: relative; overflow: hidden; background: linear-gradient(158deg, #0c4233 0%, #064e3b 52%, var(--emerald-700) 100%); color: #fff; padding: clamp(1.9rem, 1.2rem + 2.4vw, 3rem); display: flex; flex-direction: column; }
.contact-aside__glow { position: absolute; top: -18%; right: -18%; width: 320px; height: 320px; border-radius: 50%; background: radial-gradient(circle, rgba(110,231,183,.32), transparent 66%); pointer-events: none; }
.contact-aside h2 { color: #fff; font-size: clamp(1.45rem, 1.2rem + 1.1vw, 1.95rem); line-height: 1.18; margin: 0 0 .6rem; position: relative; z-index: 1; }
.contact-aside > p { color: rgba(255,255,255,.82); line-height: 1.6; margin: 0 0 1.8rem; max-width: 36ch; position: relative; z-index: 1; }
.contact-aside__list { list-style: none; margin: 0 0 auto; padding: 0; display: flex; flex-direction: column; gap: .35rem; position: relative; z-index: 1; }
.contact-aside__list a, .contact-aside__static { display: flex; align-items: center; gap: .9rem; padding: .7rem .75rem; border-radius: .9rem; color: #fff; text-decoration: none; transition: background .25s; }
.contact-aside__list a:hover { background: rgba(255,255,255,.09); }
.contact-aside__ic { width: 44px; height: 44px; flex: none; border-radius: .75rem; background: rgba(110,231,183,.14); color: #6ee7b7; display: grid; place-items: center; }
.contact-aside__ic svg { width: 20px; height: 20px; }
.contact-aside__list span:last-child { font-size: .94rem; font-weight: 600; line-height: 1.3; }
.contact-aside__static a { color: inherit; text-decoration: none; border-bottom: 1px solid rgba(110,231,183,.5); transition: color .2s; }
.contact-aside__static a:hover { color: #6ee7b7; }
.contact-aside__list b { display: block; font-size: .72rem; font-weight: 700; color: #6ee7b7; text-transform: uppercase; letter-spacing: .05em; margin-bottom: .15rem; }
.contact-aside__foot { margin-top: 1.9rem; position: relative; z-index: 1; }
.contact-aside__badge { display: inline-flex; align-items: center; gap: .5rem; background: rgba(255,255,255,.1); border: 1px solid rgba(110,231,183,.32); padding: .5rem .9rem; border-radius: 999px; font-size: .82rem; font-weight: 600; }
.contact-aside__badge svg { width: 16px; height: 16px; color: #6ee7b7; flex: none; }
.contact-aside__social { display: flex; gap: .55rem; margin-top: 1.1rem; }
.contact-aside__social a { width: 38px; height: 38px; border-radius: .7rem; background: rgba(255,255,255,.1); display: grid; place-items: center; color: #fff; transition: background .25s, transform .25s; }
.contact-aside__social a:hover { background: rgba(255,255,255,.2); transform: translateY(-2px); }
.contact-aside__social svg { width: 17px; height: 17px; }
.contact-form-card { padding: clamp(1.9rem, 1.2rem + 2.4vw, 3rem); }
.contact-form-card > h2 { font-size: clamp(1.5rem, 1.2rem + 1.2vw, 2rem); color: var(--gray-900); margin: 0 0 .4rem; }
.contact-form-card > p { color: var(--gray-600); line-height: 1.6; margin: 0 0 1.6rem; }
.contact-form-card .ct-form > .btn { width: 100%; justify-content: center; margin-top: 1.3rem; }

/* ============================================================
   CONTACT — redesign luminos + animații (2026-07-08)
   Form-ul primul (stânga, mai lat); coloana de contact devine
   un card „glass" deschis în loc de slab-ul verde închis.
   ============================================================ */
.contact-split { box-shadow: 0 30px 72px -44px rgba(4,40,28,.28); }
@media (min-width: 940px) { .contact-split { grid-template-columns: 1.18fr .82fr; } }
/* coloana de contact — din slab închis în glass deschis, friendly */
.contact-aside { background: linear-gradient(165deg, #f4fbf7 0%, #ecfdf5 55%, #eef8f2 100%); color: var(--gray-700); border-left: 1px solid var(--gray-100); }
@media (max-width: 939px) { .contact-aside { border-left: 0; border-top: 1px solid var(--gray-100); } }
.contact-aside h2 { color: var(--gray-900); }
.contact-aside > p { color: var(--gray-600); }
.contact-aside__list a, .contact-aside__static { color: var(--gray-800); }
.contact-aside__list a:hover { background: rgba(5,150,105,.08); }
.contact-aside__ic { background: rgba(5,150,105,.12); color: var(--emerald-700); box-shadow: 0 8px 18px -12px rgba(5,150,105,.6); transition: transform .3s var(--ease-out-quart), box-shadow .3s; }
.contact-aside__list b { color: var(--emerald-700); }
.contact-aside__static a { color: var(--emerald-700); border-bottom-color: rgba(5,150,105,.35); }
.contact-aside__static a:hover { color: var(--emerald); }
.contact-aside__badge { background: rgba(5,150,105,.09); border-color: rgba(5,150,105,.28); color: var(--emerald-700); }
.contact-aside__badge svg { color: var(--emerald-700); }
.contact-aside__social a { background: #fff; border: 1px solid var(--gray-200); color: var(--gray-500); }
.contact-aside__social a:hover { background: var(--emerald); border-color: var(--emerald); color: #fff; transform: translateY(-3px); }
.contact-aside__glow { background: radial-gradient(circle, rgba(16,185,129,.18), transparent 68%); }

/* micro-interacțiuni delicate */
.contact-aside__list a:hover .contact-aside__ic,
.contact-aside__static:hover .contact-aside__ic { transform: translateY(-2px) scale(1.09) rotate(-5deg); }
.ct-form input, .ct-form select, .ct-form textarea { transition: border-color .2s, box-shadow .2s, transform .2s; }
.ct-form input:focus, .ct-form select:focus, .ct-form textarea:focus { transform: translateY(-1px); box-shadow: 0 0 0 3px rgba(5,150,105,.16), 0 10px 22px -14px rgba(5,150,105,.6); }
.ct-form label.flbl { transition: color .2s; }
.ct-form__grid > div:focus-within label.flbl { color: var(--emerald-700); }
.contact-form-card > h2 .ct-wave { display: inline-block; transform-origin: 70% 70%; }
.contact-intro__gas .gaschip { transition: transform .25s var(--ease-out-quart), background .25s, border-color .25s; }
.contact-intro__gas .gaschip:hover { transform: translateY(-3px); background: rgba(255,255,255,.18); border-color: rgba(110,231,183,.6); }

/* animații drăguțe (dezactivate la reduced-motion) */
/* [reduce-motion suppression eliminat — owner vrea animatiile active] */
@keyframes ctFloat { 0%,100% { transform: translate(0,0); } 50% { transform: translate(-16px,14px); } }
@keyframes ctWave { 0%,60%,100% { transform: rotate(0); } 10%,30%,50% { transform: rotate(16deg); } 20%,40% { transform: rotate(-10deg); } }

/* ------------------------------------------------------------------ */
/* MOTION — micro-interacțiuni globale                                 */
/* ------------------------------------------------------------------ */
/* feedback la apăsare: butonul „cedează" scurt sub deget */
.btn:active, .navbar .navbtn:active, .cookie__btns button:active, .modal__submit:active { transform: translateY(0) scale(.97); }
/* butonul flotant de telefon: puls discret de inel, la 3s */
@keyframes fabPulse {
  0%   { box-shadow: 0 4px 20px rgba(37,211,102,.4), 0 0 0 0 rgba(37,211,102,.45); }
  55%  { box-shadow: 0 4px 20px rgba(37,211,102,.4), 0 0 0 14px rgba(37,211,102,0); }
  100% { box-shadow: 0 4px 20px rgba(37,211,102,.4), 0 0 0 0 rgba(37,211,102,0); }
}
.fab-call { animation: fabPulse 3s var(--ease-out-quart) infinite; }
.fab-call:active { transform: scale(.94); }
/* navbar: umbră mai adâncă după ce pagina e derulată */
.navbar { transition: box-shadow .3s var(--ease-out-quart); }
.navbar.scrolled { box-shadow: 0 6px 18px -4px rgba(0,0,0,.3); }

/* ------------------------------------------------------------------ */
/* A11Y — focus vizibil la tastatură (WCAG 2.4.7)                      */
/* ------------------------------------------------------------------ */
/* Inel de focus pe suprafețe deschise (alb/gri) — emerald pe alb e vizibil */
a:focus-visible,
button:focus-visible,
.btn:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible,
summary:focus-visible {
  outline: 3px solid var(--emerald);
  outline-offset: 2px;
  border-radius: 4px;
}
/* Pe suprafețe verzi/închise (nav, hero, footer, popup/modal, benzi) → inel alb */
.navbar a:focus-visible,
.navbar .navbtn:focus-visible,
.mobile-menu a:focus-visible,
.hero :focus-visible,
.dropdown :focus-visible,
.footer :focus-visible,
.stats :focus-visible,
.safety :focus-visible,
.popup__head :focus-visible,
.modal__head :focus-visible,
.btn-emerald:focus-visible {
  outline-color: #fff;
  outline-offset: 3px;
}

/* ------------------------------------------------------------------ */
/* A11Y — respectă prefers-reduced-motion                             */
/* ------------------------------------------------------------------ */
@media (prefers-reduced-motion: reduce) {
  /* Cerere owner (2026-07-14): TOATE animațiile decorative (reveal la scroll GSAP, animații de
     intrare, slideshow-uri, carousele, elemente floating) rulează ȘI cu Reduce Motion activat.
     Păstrăm doar scroll-ul instant (fără smooth-scroll), ca să nu deranjeze navigarea. */
  html { scroll-behavior: auto; }
}

/* ============================================================
   SVC-RICH — tratament vizual îmbogățit pentru paginile de serviciu.
   Scopat sub .svc-rich (pe <main>) ca restul site-ului să rămână neatins.
   ============================================================ */

/* --- Hero: overlay direcțional (text lizibil stânga, imaginea respiră dreapta) + accent jos --- */
.svc-rich .lp-hero__overlay {
  background: linear-gradient(100deg, rgba(13,22,18,.95) 0%, rgba(13,22,18,.84) 42%, rgba(16,40,30,.5) 80%, rgba(16,40,30,.34) 100%);
}
/* fără topire/fade sub hero: margine curată hero -> conținut */
.svc-rich .lp-hero::after { content: none; }
.svc-rich .lp-hero__cta .btn { padding: .9rem 1.6rem; }
.svc-rich .lp-hero__cta .btn-outline-l { background: rgba(255,255,255,.1); backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); }

/* --- Fundal cu contrast: tentă emerald + glow-uri radiale + grid tehnic fin (în loc de alb sec) --- */
/* Fundal CONTINUU, identic pe alb și gri → secțiunile curg una în alta, fără linie tăiată.
   Adâncimea vine din glow-urile radiale + grila fină, nu din schimbarea de culoare. */
.svc-rich .section--white,
.svc-bg .section--white {
  position: relative; overflow: clip; /* clip (nu hidden) ca să NU strice position:sticky pe aside */
  background-color: #f3faf6;
  /* glow-uri ÎN INTERIOR (laterale, centrate vertical) → nu mai creează bandă verde la marginea de sus/jos */
  background-image:
    radial-gradient(800px 420px at 96% 50%, rgba(5,150,105,.06), transparent 62%),
    radial-gradient(700px 420px at 4% 55%, rgba(5,150,105,.04), transparent 62%);
}
.svc-rich .section--gray,
.svc-bg .section--gray {
  position: relative;
  background-color: #f3faf6;
}
/* orice secțiune specială din interiorul paginilor svc curge în aceeași tentă → fără tăietură */
.svc-rich .recruit,
.svc-bg .recruit { background-color: #f3faf6; }
/* Grila decorativă scoasă: crea o „bandă albă" la cusătura dintre secțiuni
   (centrul secțiunii avea grilă → părea mai verde, cusătura fără grilă părea albă).
   Fundal uniform → separatorul e DOAR linia/flacăra, fără bandă. */
.svc-rich .section--white::before,
.svc-bg .section--white::before { content: none; }
.svc-rich .section > .container,
.svc-bg .section > .container { position: relative; z-index: 1; }

/* --- Badge-uri floating în hero (variate, plutesc) — umplu spațiul, dau viață (desktop) --- */
.svc-hero-badges { display: none; }
/* badge-uri flotante scoase de pe toate hero-urile (decorative, aria-hidden) */
.svc-hero-badges, .pj-hero-floats { display: none !important; }
@media (min-width: 1120px) {
  .svc-hero-badges { display: block; position: absolute; right: 1.5rem; top: 0; bottom: 0; width: 17rem; z-index: 3; pointer-events: none; }
  .shb { position: absolute; right: 0; display: inline-flex; align-items: center; gap: .45rem; background: rgba(255,255,255,.14); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); border: 1px solid rgba(110,231,183,.45); color: #fff; padding: .55rem 1rem; border-radius: 999px; font-size: .84rem; font-weight: 600; box-shadow: 0 10px 28px -12px rgba(0,0,0,.6); white-space: nowrap; }
  .shb svg { width: 16px; height: 16px; color: #6ee7b7; flex: 0 0 16px; }
  .shb b { color: #6ee7b7; }
  .shb--1 { top: 16%; right: 12px; animation: svcFloat 7s var(--ease-out-quart) infinite; }
  .shb--2 { top: 38%; right: 78px; animation: svcFloat 9s var(--ease-out-quart) infinite reverse; }
  .shb--3 { top: 58%; right: 24px; animation: svcFloat 8s var(--ease-out-quart) infinite; }
  .shb--4 { top: 78%; right: 96px; animation: svcFloat 10s var(--ease-out-quart) infinite reverse; }
}
/* [reduce-motion suppression eliminat — owner vrea animatiile active] */

/* --- Forme floating decorative (blob-uri verzi, blur, plutesc) --- */
.svc-blob { position: absolute; border-radius: 50%; filter: blur(40px); z-index: 0; pointer-events: none; }
.svc-blob--1 { width: 220px; height: 220px; background: rgba(16,185,129,.14); top: 18%; right: 4%; animation: svcFloat 9s var(--ease-out-quart) infinite; }
.svc-blob--2 { width: 180px; height: 180px; background: rgba(110,231,183,.16); bottom: 16%; left: 3%; animation: svcFloat 11s var(--ease-out-quart) infinite reverse; }
@keyframes svcFloat { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-24px); } }
@keyframes svcFloatFine { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-7px); } }

/* --- Intro media: chenar bogat, colț-accent emerald, badge floating --- */
.svc-rich .lp-intro__media { position: relative; }
.svc-rich .lp-intro__media .frame {
  position: relative; border: 7px solid #fff; border-radius: 1.1rem;
  box-shadow: 0 34px 64px -28px rgba(4,70,44,.5), 0 0 0 1px rgba(5,150,105,.16);
}
/* plafon înălțime imagine intro: imaginile portret nu mai fac „turn”, rămân la nivelul textului
   → divizorul (sec-line) stă perfect poziționat între secțiuni pe toate paginile de servicii */
@media (min-width: 900px) {
  .svc-rich .lp-intro__media .frame { max-height: 420px; }
  .svc-rich .lp-intro__media .frame img { object-position: center 28%; }
}
/* mobil/tabletă: poza intro devine LANDSCAPE (banner lat, scund) → fără „turn", scroll minim */
@media (max-width: 899px) {
  .svc-rich .lp-intro__media .frame { aspect-ratio: 2 / 1; }
  .svc-rich .lp-intro__media .frame img { object-position: center 32%; }
}
.svc-rich .lp-intro__media::after {
  content: ""; position: absolute; width: 7.5rem; height: 7.5rem; border-radius: 1.1rem; z-index: -1;
  background: linear-gradient(135deg, var(--emerald), var(--emerald-700));
  bottom: -1.2rem; right: -1.2rem;
}
.svc-float-badge {
  position: absolute; left: -.9rem; top: 1.3rem; z-index: 3;
  display: inline-flex; align-items: center; gap: .6rem;
  background: #fff; border-radius: .95rem; padding: .6rem .95rem;
  box-shadow: 0 10px 26px -14px rgba(4,70,44,.28); border: 1px solid rgba(5,150,105,.1);
  font-weight: 700; color: var(--gray-900); font-size: .9rem; line-height: 1.15;
  animation: svcFloatFine 7s var(--ease-out-quart) infinite;
}
.svc-float-badge svg { width: 24px; height: 24px; color: var(--emerald); flex: 0 0 24px; }
.svc-float-badge small { display: block; font-weight: 500; color: var(--gray-500); font-size: .72rem; }
@media (max-width: 560px) { .svc-float-badge { left: .5rem; top: .6rem; padding: .55rem .8rem; font-size: .82rem; } }

/* ---- MOBIL: badge-uri "Autorizat ANRE" mai mici peste tot (cerere user 2026-07-14) ---- */
@media (max-width: 600px) {
  .hero__badge { padding: .32rem .72rem; font-size: .72rem; gap: .32rem; margin-bottom: 1.1rem; }
  .hero__badge svg { width: 15px; height: 15px; }
  .lp-hero__badge { padding: .3rem .66rem; font-size: .68rem; gap: .32rem; }
  .lp-hero__badge svg { width: 13px; height: 13px; }
  .benefits__float--anre { padding: .45rem .66rem; font-size: .66rem; gap: .4rem; }
  .benefits__float--anre svg { width: 1.25rem; height: 1.25rem; }
  .benefits__float--rating { padding: .5rem .72rem; }
  .benefits__float--rating b { font-size: .92rem; }
  .benefits__float--rating small { font-size: .62rem; }
  .svc-float-badge { padding: .42rem .62rem; gap: .45rem; }
  .svc-float-badge svg { width: 19px; height: 19px; flex-basis: 19px; }
  .svc-float-badge small { font-size: .64rem; }
}

/* --- Highlight box de text (umple + accent, pentru a îmbogăți coloana) --- */
.svc-note { display: flex; gap: .9rem; align-items: flex-start; background: #ecfdf5; border-radius: 1rem; padding: 1.05rem 1.25rem; margin: 1.3rem 0; }
.svc-note svg { width: 24px; height: 24px; color: var(--emerald); flex: 0 0 24px; margin-top: 1px; }
.svc-note p { margin: 0 !important; color: var(--gray-700) !important; font-size: .96rem; line-height: 1.6; }
.svc-note b { color: var(--emerald-700); }

/* [reduce-motion suppression eliminat — owner vrea animatiile active] */

/* --- Particule verzi floating în hero (peste fundalul închis, subtile) --- */
.svc-rich .lp-hero__inner { position: relative; z-index: 2; }
.svc-rich .lp-hero::before {
  content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; opacity: .55;
  background-image:
    radial-gradient(2px 2px at 18% 32%, rgba(110,231,183,.7), transparent),
    radial-gradient(2px 2px at 72% 58%, rgba(110,231,183,.55), transparent),
    radial-gradient(1.5px 1.5px at 42% 78%, rgba(110,231,183,.5), transparent),
    radial-gradient(2px 2px at 86% 22%, rgba(110,231,183,.6), transparent),
    radial-gradient(1.5px 1.5px at 56% 14%, rgba(110,231,183,.45), transparent),
    radial-gradient(1.5px 1.5px at 30% 62%, rgba(110,231,183,.5), transparent);
  animation: particleDrift 14s linear infinite;
}
@keyframes particleDrift { from { transform: translateY(8px); } to { transform: translateY(-22px); } }

/* --- Tarife premium: carduri separate, clickabile, cu accent top la hover --- */
.ratecards { display: grid; grid-template-columns: 1fr; gap: 1.1rem; max-width: 66rem; margin: 0 auto; }
@media (min-width: 600px) { .ratecards { grid-template-columns: repeat(2,1fr); } }
@media (min-width: 1024px) { .ratecards { grid-template-columns: repeat(3,1fr); } }
/* Pe 2 coloane, dacă ultimul card rămâne singur (număr impar), îl întindem pe toată lățimea. */
@media (min-width: 600px) and (max-width: 1023.98px) {
  .ratecards > .ratecard:last-child:nth-child(odd) { grid-column: 1 / -1; }
}
/* Aceeași regulă „ultimul card orfan pe 2 coloane → pe toată lățimea", aplicată și pe celelalte
   grile de tip listă de carduri. Scopat strict la zona de 2 coloane a fiecăreia, ca să nu afecteze
   grila de 3 (ex. guides--3 de pe homepage). */
@media (max-width: 767.98px) {
  .guides__grid--blog:not(.guides__grid--3) > .guide:last-child:nth-child(odd) { grid-column: 1 / -1; }
}
/* Homepage „Ghiduri utile" pe mobil: cele 3 carduri stau pe UN rând (unul lângă altul),
   deci le facem compacte și lizibile ca titlurile UPPERCASE să nu se rupă la mijloc de cuvânt. */
@media (max-width: 767.98px) {
  .guides__grid--3.guides__grid--blog { gap: .5rem; }
  .guides__grid--3.guides__grid--blog .guide--img .guide__body { padding: .6rem .55rem .7rem; }
  .guides__grid--3.guides__grid--blog .guide--img .guide__body h3 { font-size: .64rem; line-height: 1.18; letter-spacing: 0; margin-bottom: .3rem; overflow-wrap: break-word; }
  .guides__grid--3.guides__grid--blog .guide--img .guide__body p { font-size: .58rem; line-height: 1.3; -webkit-line-clamp: 2; margin-bottom: .1rem; }
  .guides__grid--3.guides__grid--blog .guide--img .guide__body .guide__more { font-size: .6rem; padding-top: .35rem; gap: .2rem; }
  .guides__grid--3.guides__grid--blog .guide--img .guide__more svg { width: 13px; height: 13px; }
  .guides__grid--3.guides__grid--blog .guide--img .guide__img .guide__tag { font-size: .5rem; padding: .2rem .42rem; left: 8px; bottom: 8px; }
}
@media (max-width: 400px) {
  .guides__grid--3.guides__grid--blog .guide--img .guide__body h3 { font-size: .58rem; }
  .guides__grid--3.guides__grid--blog .guide--img .guide__body p { font-size: .54rem; }
}
@media (min-width: 620px) and (max-width: 979.98px) {
  .pj-grid > .pj-card:last-child:nth-child(odd) { grid-column: 1 / -1; }
}
.ratecard {
  position: relative; display: flex; flex-direction: column; overflow: hidden; color: inherit;
  background: #fff; border: 1px solid var(--gray-200); border-radius: 1.1rem; padding: 1.5rem 1.4rem 1.4rem;
  box-shadow: 0 10px 26px -18px rgba(4,70,44,.4);
  transition: transform .3s var(--ease-out-quart), box-shadow .3s, border-color .3s;
}
.ratecard::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, var(--emerald), var(--emerald-400)); transform: scaleX(0); transform-origin: left; transition: transform .35s var(--ease-out-quart); }
.ratecard:hover { transform: translateY(-6px); box-shadow: 0 26px 46px -22px rgba(4,70,44,.5); border-color: rgba(5,150,105,.4); }
.ratecard:hover::before { transform: scaleX(1); }
.ratecard h3 { font-size: 1.18rem; font-weight: 800; color: var(--gray-900); margin-bottom: .35rem; line-height: 1.2; }
.ratecard__desc { color: var(--gray-500); font-size: .88rem; line-height: 1.5; margin-bottom: 1.1rem; flex: 1; }
.ratecard__price { display: flex; align-items: baseline; gap: .45rem; padding-top: 1rem; border-top: 1px dashed var(--gray-200); }
.ratecard__price b { font-size: 1.75rem; font-weight: 800; color: var(--emerald-700); line-height: 1; }
.ratecard__price span { color: var(--gray-500); font-size: .82rem; }
.ratecard__price--quote b { font-size: 1.3rem; }
.ratecard__cta { margin-top: 1rem; width: 100%; justify-content: center; font-size: .9rem; padding: .7rem 1rem; position: relative; z-index: 2; }
.ratecard h3 a { color: inherit; }
/* tot cardul e clickabil spre pagina serviciului (link întins), iar butonul stă deasupra */
.ratecard h3 a::after { content: ""; position: absolute; inset: 0; z-index: 1; border-radius: inherit; }
.ratecard:hover h3 a { color: var(--emerald-700); }

/* [reduce-motion suppression eliminat — owner vrea animatiile active] */

/* ================================================================== */
/* CONTACT — intro centrat (fără hero cu poză), direct spre formular   */
/* ================================================================== */
.contact-intro { position: relative; overflow: hidden; text-align: center; background: #0b1010; padding: 1.5rem 0 2.4rem; }
@media (min-width: 768px) { .contact-intro { padding: 2.6rem 0 3rem; } }
.contact-intro__decor { position: absolute; inset: 0; z-index: 0; pointer-events: none; background-size: cover; background-position: center 30%; }
@media (min-width: 768px) { .contact-intro__decor { background-attachment: fixed; } }
.contact-intro__decor::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(11,16,16,.58) 0%, rgba(11,16,16,.72) 100%); }
.contact-intro__inner { position: relative; z-index: 2; }
.contact-intro .crumbs { justify-content: center; margin-bottom: .6rem; color: rgba(255,255,255,.55); }
.contact-intro .crumbs a { color: rgba(255,255,255,.55); }
.contact-intro .crumbs a:hover { color: #fff; }
.contact-intro .hero__badge { background: var(--emerald); color: #fff; margin: 0 auto 1rem; box-shadow: 0 10px 24px -10px rgba(5,150,105,.55); }
.contact-intro h1 { font-size: clamp(1.9rem, 4.4vw, 3rem); letter-spacing: -.02em; line-height: 1.12; text-wrap: balance; margin-bottom: .9rem; color: #fff; }
.contact-intro h1 .text-emerald { color: var(--emerald); }
.contact-intro__sub { color: rgba(255,255,255,.75); font-size: 1.05rem; max-width: 56ch; margin: 0 auto 1.4rem; }
.contact-intro__gas { display: flex; flex-wrap: wrap; gap: .5rem; justify-content: center; margin-bottom: 1.5rem; }
.contact-intro__gas .gaschip { display: inline-flex; align-items: center; gap: .4rem; font-size: .8rem; font-weight: 600; color: #fff; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.2); padding: .42rem .72rem; border-radius: 999px; }
.contact-intro__gas .gaschip svg { width: 1rem; height: 1rem; flex-shrink: 0; }
.contact-intro__cta { display: flex; flex-wrap: wrap; gap: .7rem; justify-content: center; }

/* === Contact hero — redesign profesionist, fundal ALB (2026-07-08): alb + textură fină de puncte + halo verde subtil + punct „live" === */
.contact-intro--pro { background: linear-gradient(180deg, #ffffff 0%, #f1faf5 100%); padding-bottom: 2.8rem; }
@media (min-width: 768px) { .contact-intro--pro { padding: 3.4rem 0 3.8rem; } }
.contact-intro--pro::before {
  content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background-image: radial-gradient(rgba(6,78,59,.06) 1px, transparent 1.6px);
  background-size: 22px 22px;
  -webkit-mask-image: radial-gradient(ellipse 85% 80% at 50% 32%, #000 30%, transparent 100%);
          mask-image: radial-gradient(ellipse 85% 80% at 50% 32%, #000 30%, transparent 100%);
}
.contact-intro__glow {
  position: absolute; z-index: 0; pointer-events: none; border-radius: 50%;
  width: min(680px, 130vw); aspect-ratio: 1; top: -50%; left: 50%; transform: translateX(-50%);
  background: radial-gradient(circle, rgba(16,185,129,.18), rgba(16,185,129,.05) 46%, transparent 66%);
}
.contact-intro--pro .crumbs, .contact-intro--pro .crumbs a { color: var(--gray-500); }
.contact-intro--pro .crumbs a:hover { color: var(--emerald-700); }
.contact-intro--pro h1 { color: var(--gray-900); }
.contact-intro--pro h1 .text-emerald { color: var(--emerald-700); }
.contact-intro--pro .contact-intro__sub { color: var(--gray-600); }
.contact-intro--pro .hero__badge { display: inline-flex; align-items: center; gap: .5rem; background: rgba(5,150,105,.1); border: 1px solid rgba(5,150,105,.25); color: var(--emerald-700); box-shadow: 0 6px 20px -12px rgba(5,150,105,.5); }
.contact-intro--pro .hero__badge::after { display: none; }
.contact-intro--pro .hero__badge .live-dot { width: 9px; height: 9px; border-radius: 50%; background: #10b981; flex: 0 0 auto; box-shadow: 0 0 0 0 rgba(16,185,129,.55); }
/* [reduce-motion suppression eliminat — owner vrea animatiile active] */
@keyframes ciFloat { 0%, 100% { transform: translate(-50%, 0); } 50% { transform: translate(-50%, 22px); } }
@keyframes livePulse { 0% { box-shadow: 0 0 0 0 rgba(16,185,129,.5); } 70% { box-shadow: 0 0 0 8px rgba(16,185,129,0); } 100% { box-shadow: 0 0 0 0 rgba(16,185,129,0); } }
.delay-100 { animation-delay: .1s; } .delay-300 { animation-delay: .3s; } .delay-500 { animation-delay: .5s; }
/* [reduce-motion suppression eliminat — owner vrea animatiile active] */

/* Recrutare homepage — intro deasupra celor 2 chenare (CE CEREM / CE OFERIM) */
.recruit__intro { margin-bottom: 1.5rem; }
.recruit__intro p { color: var(--gray-600); font-size: 1.18rem; line-height: 1.65; }

/* BLOG-TAG-COLORS */
.guide__tag[class*="guide__tag--"]{position:relative;border-style:solid;border-width:1px;transition:transform .18s ease}
.guide__tag--pret{color:#b45309;background:rgba(245,158,11,.13);border-color:rgba(245,158,11,.30)}      /* PRETURI - auriu/amber */
.guide__tag--firme{color:#1d4ed8;background:rgba(37,99,235,.11);border-color:rgba(37,99,235,.24)}       /* FIRME - albastru corporate */
.guide__tag--oblig{color:#4338ca;background:rgba(79,70,229,.10);border-color:rgba(79,70,229,.22)}       /* OBLIGATII/LEGAL - indigo serios */
.guide__tag--centrale{color:#0e7490;background:rgba(8,145,178,.12);border-color:rgba(8,145,178,.26)}    /* CENTRALE - teal tehnic */
.guide__tag--ghid{color:var(--emerald);background:rgba(5,150,105,.10);border-color:rgba(5,150,105,.22)} /* GHID - verde brand */
.guide__tag--safe{color:#dc2626;background:rgba(220,38,38,.10);border-color:rgba(220,38,38,.30);padding-left:1.5rem} /* SIGURANTA - rosu + punct pulsant */
.guide__tag--safe::before{content:"";position:absolute;left:.62rem;top:50%;width:7px;height:7px;margin-top:-3.5px;border-radius:50%;background:#dc2626;animation:safePulse 1.5s ease-out infinite}
@keyframes safePulse{0%{box-shadow:0 0 0 0 rgba(220,38,38,.55)}70%{box-shadow:0 0 0 6px rgba(220,38,38,0)}100%{box-shadow:0 0 0 0 rgba(220,38,38,0)}}
.guide:hover .guide__tag[class*="guide__tag--"]{transform:translateY(-1px)}
/* [reduce-motion suppression eliminat — owner vrea animatiile active] */


/* PJ-CARD PREMIUM */
.pj-card{padding:1.6rem 1.45rem;box-shadow:0 1px 2px rgba(15,23,42,.04),0 12px 30px -22px rgba(15,23,42,.5);transition:transform .45s cubic-bezier(.16,1,.3,1),box-shadow .45s cubic-bezier(.16,1,.3,1),border-color .45s}
.pj-card::after{content:"";position:absolute;top:0;bottom:0;left:-45%;width:38%;background:linear-gradient(110deg,transparent,rgba(16,185,129,.10) 42%,rgba(255,255,255,.55) 50%,transparent 60%);transform:skewX(-16deg);opacity:0;pointer-events:none}
.pj-card:hover{transform:translateY(-7px);box-shadow:0 1px 2px rgba(15,23,42,.05),0 30px 56px -28px rgba(5,150,105,.50);border-color:rgba(5,150,105,.35)}
.pj-card:hover::after{opacity:1;animation:pjSheen .9s cubic-bezier(.16,1,.3,1)}
@keyframes pjSheen{0%{left:-45%}100%{left:135%}}
.pj-card__ic{position:relative;width:50px;height:50px;border-radius:14px;transition:background .4s,color .4s,transform .45s cubic-bezier(.16,1,.3,1),box-shadow .45s}
.pj-card:hover .pj-card__ic{background:var(--emerald);color:#fff;transform:translateY(-2px) scale(1.06);box-shadow:0 9px 22px -6px rgba(5,150,105,.6),0 0 0 6px rgba(16,185,129,.10)}
.pj-card__ic svg{transition:transform .45s cubic-bezier(.16,1,.3,1)}
.pj-card:hover .pj-card__ic svg{transform:rotate(-6deg)}
.pj-card h3{padding-right:1.7rem;transition:color .3s}
.pj-card:hover h3{color:#047857}
.pj-card__go{position:absolute;top:1.55rem;right:1.4rem;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;color:var(--emerald);background:rgba(16,185,129,.10);opacity:0;transform:translateX(-6px);transition:opacity .4s,transform .4s,background .4s,color .4s}
.pj-card__go svg{width:15px;height:15px}
.pj-card:hover .pj-card__go{opacity:1;transform:translateX(0);background:var(--emerald);color:#fff}
/* [reduce-motion suppression eliminat — owner vrea animatiile active] */


/* B2B-HERO-ZIGZAG */
/* zigzag */
.zz__head{text-align:center;max-width:46rem;margin:0 auto clamp(2.4rem,5vw,3.6rem)}
.zz__row{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center;margin-bottom:clamp(3rem,7vw,5.5rem)}
.zz__row:last-child{margin-bottom:0}
.zz__row--rev .zz__media{order:2}
.zz__media{position:relative;isolation:isolate}
.zz__media>img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:1.25rem;box-shadow:0 30px 60px -30px rgba(15,23,42,.5);display:block;position:relative;z-index:1}
.zz__media::before{content:"";position:absolute;z-index:0;width:60%;height:76%;border-radius:1.25rem;background:linear-gradient(135deg,rgba(5,150,105,.18),rgba(5,150,105,.03));bottom:-16px;left:-16px}
.zz__row--rev .zz__media::before{left:auto;right:-16px}
.zz__badge{position:absolute;z-index:2;bottom:16px;right:16px;display:flex;align-items:center;gap:.55rem;background:#fff;border-radius:.85rem;padding:.65rem .9rem;box-shadow:0 16px 34px -16px rgba(15,23,42,.5);font-weight:700;font-size:.9rem;color:var(--gray-900)}
.zz__row--rev .zz__badge{right:auto;left:16px}
.zz__badge svg{width:19px;height:19px;color:var(--emerald);flex:none}
.zz__ic{width:48px;height:48px;border-radius:13px;background:#ecfdf5;color:var(--emerald);display:grid;place-items:center;margin-bottom:1.05rem}
.zz__ic svg{width:24px;height:24px}
.zz__text h3{font-size:clamp(1.4rem,2.6vw,1.95rem);color:var(--gray-900);margin:0 0 .7rem;letter-spacing:-.015em;line-height:1.15;text-wrap:balance}
.zz__text p{font-size:1.02rem;color:var(--gray-600);line-height:1.62;margin:0 0 1.15rem;max-width:34rem}
.zz__check{display:flex;flex-wrap:wrap;gap:.55rem 1rem;list-style:none;padding:0;margin:0}
.zz__check li{display:flex;align-items:center;gap:.4rem;font-size:.9rem;font-weight:600;color:#047857}
.zz__check svg{width:15px;height:15px;flex:none}
@media(max-width:760px){.zz__row{grid-template-columns:1fr;gap:1.5rem}.zz__row--rev .zz__media{order:0}.zz__media::before{width:55%;height:70%}}




/* CONTRACT-MOCKUP */
.contract{position:relative;padding:10px 14px 14px;animation:cFloat 7s ease-in-out infinite;will-change:transform}
.contract__sheet{position:relative;background:linear-gradient(180deg,#fff,#fbfdfb);border:1px solid #e7ece9;border-radius:15px;padding:1.5rem 1.6rem 1.65rem;box-shadow:0 30px 60px -28px rgba(15,23,42,.5),0 10px 22px -16px rgba(5,150,105,.4);transition:transform .55s cubic-bezier(.16,1,.3,1),box-shadow .55s}
.contract__sheet::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;border-radius:15px 15px 0 0;background:linear-gradient(90deg,var(--emerald),#34d399)}
.contract:hover .contract__sheet{transform:perspective(1100px) rotateX(2.5deg) rotateY(-3.5deg) translateY(-5px);box-shadow:0 44px 74px -30px rgba(15,23,42,.55),0 14px 28px -16px rgba(5,150,105,.5)}
.contract__head{padding-bottom:.85rem;margin-bottom:.95rem;border-bottom:1px solid #eef2f0}
.contract .contract__logo{height:30px!important;width:auto!important;max-width:165px;display:block;margin-bottom:.5rem;aspect-ratio:auto;border-radius:0;box-shadow:none}.contract__legal{font-size:.7rem;color:#6b7c75;letter-spacing:.01em}
.contract__co b{display:block;font-size:.82rem;color:var(--gray-900)}
.contract__co span{font-size:.72rem;color:#6b7c75}
.contract__title{margin-bottom:1.05rem}
.contract__title span{display:block;font-weight:800;font-size:1.08rem;color:var(--gray-900);letter-spacing:-.01em}
.contract__title small{font-size:.71rem;color:#93a39b;letter-spacing:.05em}
.contract__terms{list-style:none;padding:0;margin:0 0 1.15rem;display:flex;flex-direction:column;gap:.5rem}
.contract__terms li{display:flex;align-items:center;gap:.55rem;font-size:.86rem;color:#374842}
.contract__terms svg{width:16px;height:16px;color:var(--emerald);flex:none}
.contract__sign{display:flex;gap:1.5rem;padding-top:.5rem}
.contract__sigcol{flex:1;display:flex;flex-direction:column;gap:.25rem}
.contract__sig{font-family:"Segoe Script","Brush Script MT","Bradley Hand",cursive;font-size:1.35rem;color:#0f3d2e;line-height:1.1;transform:rotate(-4deg);transform-origin:left}
.contract__sigline{height:1.45rem}
.contract__siglbl{font-size:.64rem;text-transform:uppercase;letter-spacing:.12em;color:#9aa8a1;border-top:1px solid #e2e8e4;padding-top:.3rem}
.contract__stamp{position:absolute;right:-2px;bottom:4px;width:94px;height:94px;border-radius:50%;display:grid;place-content:center;text-align:center;color:#047857;background:rgba(16,185,129,.13);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);border:2px solid rgba(5,150,105,.55);transform:rotate(-14deg);animation:cStamp 2.8s ease-out infinite}
.contract__stamp b{font-size:1.3rem;font-weight:900;letter-spacing:.05em;line-height:1}
.contract__stamp i{font-size:.58rem;text-transform:uppercase;letter-spacing:.16em;font-style:normal;display:block;margin-top:3px}
@keyframes cFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes cStamp{0%{box-shadow:0 8px 22px -10px rgba(5,150,105,.5),0 0 0 0 rgba(5,150,105,.4)}70%{box-shadow:0 8px 22px -10px rgba(5,150,105,.5),0 0 0 13px rgba(5,150,105,0)}100%{box-shadow:0 8px 22px -10px rgba(5,150,105,.5),0 0 0 0 rgba(5,150,105,0)}}
/* [reduce-motion suppression eliminat — owner vrea animatiile active] */
@media(max-width:760px){.contract__stamp{width:80px;height:80px;right:2px}.contract__sheet{padding:1.3rem}}


/* SVC-PAGE-PREMIUM */
/* pasii numerotati: hover premium (bara-accent + ridicare + badge cu glow) */
.proc__step:hover{transform:translateY(-6px);box-shadow:0 26px 50px -26px rgba(5,150,105,.5);border-color:rgba(5,150,105,.32)}
.proc__n{transition:transform .42s cubic-bezier(.16,1,.3,1),box-shadow .42s}
.proc__step:hover .proc__n{transform:scale(1.1) translateY(-2px);box-shadow:0 10px 24px rgba(5,150,105,.55),0 0 0 6px rgba(16,185,129,.12)}
.proc__step::before{transition:opacity .4s}
.proc__step:hover::before{opacity:.14}
/* linkuri alte servicii: hover cu ridicare + umbra */
.lp-related a{transition:background .25s,color .25s,transform .28s cubic-bezier(.16,1,.3,1),box-shadow .28s}
.lp-related a:hover{transform:translateY(-2px);box-shadow:0 10px 22px -10px rgba(5,150,105,.5)}
/* [reduce-motion suppression eliminat — owner vrea animatiile active] */


/* NO-TOP-BAR */
.pj-card::before,.guide::before{display:none}


/* STATS-FLAME */
.stats__vid{width:100%;height:100%;object-fit:cover;object-position:center;animation:flameLive 5s ease-in-out infinite;transform-origin:center}
@keyframes flameLive{0%,100%{filter:brightness(1) saturate(1.05);transform:scale(1.02)}35%{filter:brightness(1.13) saturate(1.12);transform:scale(1.035)}65%{filter:brightness(.97) saturate(1)} }
.stats .stats__overlay{background:linear-gradient(180deg,rgba(9,15,12,.72),rgba(9,15,12,.82))}
/* [reduce-motion suppression eliminat — owner vrea animatiile active] */
/* MOBIL — cifre stivuite, centrate, cu liniuța verde (ca pe poză) */
@media(max-width:760px){
  .stats{padding-block:2.6rem}
  .stats__grid{gap:1.8rem}
  .stat b{font-size:2.5rem;line-height:1;text-shadow:0 0 22px rgba(16,185,129,.5),0 2px 12px rgba(0,0,0,.55)}
  .stat .line{display:block}
  .stat .label{font-size:1.02rem;color:#fff;text-align:center;text-shadow:0 1px 8px rgba(0,0,0,.6)}
}


/* RATING-FLOAT */
.reviews__rating{margin-left:auto;margin-right:auto;margin-top:1.4rem;animation:ratingFloat 4s ease-in-out infinite;will-change:transform}
@keyframes ratingFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
/* [reduce-motion suppression eliminat — owner vrea animatiile active] */


/* MOBILE-MENU-OVERLAY — secțiunile încep de sus, nu centrate vertical */
.mobile-menu.open{position:fixed;left:0;right:0;top:5rem;bottom:0;z-index:54;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;justify-content:flex-start}
.mobile-menu.open nav{margin:0;padding-top:1.75rem;padding-bottom:2rem}
/* când meniul mobil e deschis, ascunde butonul flotant de apel */
body.menu-open .fab-call{display:none}


/* STAT-NUM-GLOW */
.stat b{text-shadow:0 0 26px rgba(16,185,129,.45),0 3px 16px rgba(0,0,0,.5)}
.stat .label{text-shadow:0 1px 10px rgba(0,0,0,.55)}


/* GLOSAR-FAQ — definiții termeni (citabile de AI) */
.faqgloss{display:grid;grid-template-columns:1fr;gap:.9rem;margin-top:1.3rem}
@media(min-width:720px){.faqgloss{grid-template-columns:1fr 1fr}}
.faqgloss__item{background:#fff;border:1px solid var(--gray-200);border-radius:.85rem;padding:1rem 1.15rem;box-shadow:var(--shadow-lg);transition:transform .2s,box-shadow .2s}
.faqgloss__item:hover{transform:translateY(-3px);box-shadow:var(--shadow-xl)}
.faqgloss__item dt{font-weight:700;color:var(--gray-900);margin-bottom:.32rem;font-size:1.02rem}
.faqgloss__item dt b{color:var(--emerald-700)}
.faqgloss__item dd{margin:0;color:var(--gray-600);font-size:.95rem;line-height:1.6}


/* DATA-TABLE — pagina cifre verificate (tabele reale, citabile de AI) */
.datatbl-wrap{border:1px solid var(--gray-200);border-radius:.85rem;overflow:hidden;margin:0 0 1.5rem;box-shadow:var(--shadow-lg)}
.datatbl{width:100%;border-collapse:collapse;font-size:.95rem}
.datatbl thead th{background:var(--emerald);color:#fff;text-align:left;font-size:.76rem;text-transform:uppercase;letter-spacing:.03em;padding:.78rem .95rem}
.datatbl td,.datatbl th{padding:.72rem .95rem;border-bottom:1px solid var(--gray-100);vertical-align:top;text-align:left}
.datatbl tbody tr:last-child td{border-bottom:0}
.datatbl tbody tr:nth-child(even){background:var(--gray-50)}
.datatbl tbody td:first-child{font-weight:600;color:var(--gray-900)}
.datatbl tbody td{color:var(--gray-700)}
.datatbl b{color:var(--emerald-700)}
@media(max-width:600px){.datatbl{font-size:.85rem}.datatbl td,.datatbl th{padding:.55rem .6rem}}


/* LP-ASIDE PREMIUM — sidebar rafinat (accent, umbră, aer) */
.lp-aside{border:1px solid var(--gray-200);border-radius:1.2rem;padding:1.6rem 1.5rem;
  background:linear-gradient(180deg,#ffffff 0%,#fbfdfc 100%);
  box-shadow:0 26px 60px -30px rgba(17,24,39,.3),0 2px 10px -5px rgba(17,24,39,.07),inset 0 1px 0 rgba(255,255,255,.6)}
.lp-aside h3{font-size:1.24rem;letter-spacing:-.01em;color:var(--gray-900);display:flex;align-items:center;gap:.55rem;margin-bottom:.5rem}
.lp-aside h3::before{content:"";flex:none;width:.32rem;height:1.18rem;border-radius:3px;background:linear-gradient(180deg,var(--emerald-400),var(--emerald-700))}
.lp-aside p{font-size:.93rem;line-height:1.62;color:var(--gray-600);margin-bottom:1.15rem}
.lp-aside .lp-aside__cta{box-shadow:0 16px 32px -14px rgba(5,150,105,.65);letter-spacing:.01em}
.lp-aside__related{margin-top:1.35rem;padding-top:1.35rem;border-top:1px solid var(--gray-200)}
.lp-aside__related-h{font-size:.7rem;letter-spacing:.13em;margin-bottom:.85rem}
.lp-related--list a{padding:.72rem .95rem;font-size:.91rem;box-shadow:0 1px 2px rgba(17,24,39,.04)}
.lp-related--list a:hover{box-shadow:0 10px 22px -12px rgba(5,150,105,.45)}

/* ====== Pagini joburi pe oras: zigzag "De ce" (stanga) + formular (dreapta) ====== */
.jobzig{display:grid;grid-template-columns:1.02fr .98fr;gap:2.75rem;align-items:start}
.jobzig__why .jobzig__head{text-align:left;margin-bottom:.5rem}
.jobzig__why .jobzig__head h2{margin-bottom:.6rem}
.jobzig__why .jobzig__head .lead{margin-inline:0;max-width:34rem}
.jobzig__benefits{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;margin-top:1.85rem}
.jobzig__benefits .benefit{margin:0;height:100%}
.jobzig__form{position:sticky;top:90px}
.jobzig__form .recruit-form-card{margin-top:0}
@media (max-width:980px){.jobzig{grid-template-columns:1fr;gap:2.25rem}.jobzig__form{position:static}}
@media (max-width:520px){.jobzig__benefits{grid-template-columns:1fr}}

/* Sectiune SEO sub kar-split pe paginile de joburi */
.jobseo{max-width:60rem;margin:2.75rem auto 0;padding-top:2.25rem;border-top:1px solid var(--gray-200)}
.jobseo h2{margin-bottom:.9rem}
.jobseo p{color:var(--gray-600);line-height:1.8;margin-bottom:1rem}
.jobseo p:last-child{margin-bottom:0}
.jobseo a{color:var(--emerald-700,#047857);font-weight:600;text-decoration:none;border-bottom:1px solid rgba(5,150,105,.25)}
.jobseo a:hover{border-bottom-color:rgba(5,150,105,.7)}

/* Linie verde sub eyebrow pe paginile de joburi (ca la "De ce noi") */
.jobzig__head .eyebrow{position:relative;padding-bottom:.65rem}
.jobzig__head .eyebrow::after{content:"";position:absolute;bottom:0;left:0;width:40px;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--emerald),#34d399)}
/* Utilitar reutilizabil — eyebrow cu linie verde, orice secțiune */
.eyebrow--lined{position:relative;padding-bottom:.65rem}
.eyebrow--lined::after{content:"";position:absolute;bottom:0;left:0;width:40px;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--emerald),#34d399)}
/* Linie verde standalone — UN singur pattern, gap FIX 7px sub text/titlu (ca la eyebrow-ul original).
   :has() anulează margin-bottom-ul elementului precedent → gap-ul e mereu exact 7px, indiferent de context. */
:is(h1,h2,h3,h4,h5,.eyebrow,.about__label):has(+ .eyebrow--lined-c, + .eyebrow--lined-l, + .eyebrow--lined-r){margin-bottom:0}
.eyebrow--lined-c,.eyebrow--lined-l,.eyebrow--lined-r{display:block;width:40px;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--emerald),#34d399)}
.eyebrow--lined-c{margin:7px auto .85rem}
.eyebrow--lined-l{margin:7px 0 .85rem}
.eyebrow--lined-r{margin:7px 0 .85rem auto}
/* Lista profesionala de motive (fara iconite/simboluri) */
.jobzig__pts{list-style:none;margin:1.85rem 0 0;padding:0;display:grid;gap:1.05rem}
.jobzig__pts li{position:relative;padding:0 0 1.05rem 1.15rem;border-bottom:1px solid var(--gray-200)}
.jobzig__pts li:last-child{border-bottom:0;padding-bottom:0}
.jobzig__pts li::before{content:"";position:absolute;left:0;top:.28rem;width:3px;height:1.05rem;border-radius:3px;background:linear-gradient(180deg,var(--emerald),#34d399)}
.jobzig__pts b{display:block;color:var(--gray-900);font-size:1.02rem;font-weight:700;margin-bottom:.2rem}
.jobzig__pts span{color:var(--gray-600);line-height:1.65}

/* Bloc SEO documentat pe paginile de servicii */
.svc-seo{margin-top:2.5rem;padding-top:1.85rem;border-top:1px solid var(--gray-200)}
.svc-seo h2{margin-bottom:.9rem}
.svc-seo p{margin-bottom:1rem}
.svc-seo > p:last-child{margin-bottom:0}
.svc-seo a{color:var(--emerald-700,#047857);font-weight:600;text-decoration:none;border-bottom:1px solid rgba(5,150,105,.28)}
.svc-seo a:hover{border-bottom-color:rgba(5,150,105,.7)}
.svc-seo .post__note a{font-weight:600}

/* ================================================================ */
/* DESPRE NOI — Premium redesign                                     */
/* ================================================================ */

/* Stat pills inside lp-hero */
.lp-hero__stat-pills{display:flex;flex-wrap:wrap;gap:.55rem;margin:1.5rem 0 .5rem}
.lp-hero__pill{display:inline-flex;align-items:center;gap:.42rem;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(8px);color:rgba(255,255,255,.92);padding:.42rem .95rem;border-radius:999px;font-size:.78rem;font-weight:600;line-height:1}
.lp-hero__pill b{color:#4ade80;font-size:.94rem}

/* About split with photo collage */
.dn-split{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
@media(max-width:860px){.dn-split{grid-template-columns:1fr;gap:2.5rem}}
.dn-split__text .eyebrow{margin-bottom:.7rem}
.dn-split__text h2{font-size:clamp(1.65rem,3vw,2.3rem);margin-bottom:1rem}
.dn-split__collage{position:relative;padding-bottom:2.5rem;padding-right:2rem}
@media(max-width:860px){.dn-split__collage{padding-bottom:2rem;padding-right:1rem}}
.dn-split__main{border-radius:1.25rem;overflow:hidden;aspect-ratio:3/4;max-height:520px;box-shadow:0 24px 64px -16px rgba(0,0,0,.22)}
.dn-split__main img{width:100%;height:100%;object-fit:cover;display:block}
.dn-split__sm{position:absolute;bottom:0;right:0;width:48%;border-radius:1rem;overflow:hidden;border:4px solid #fff;box-shadow:0 16px 40px rgba(0,0,0,.18);aspect-ratio:1}
.dn-split__sm img{width:100%;height:100%;object-fit:cover;display:block}
.dn-split__badge{position:absolute;top:1.6rem;left:-1rem;background:var(--emerald);color:#fff;padding:.65rem 1rem;border-radius:.65rem;font-size:.78rem;font-weight:700;display:inline-flex;align-items:center;gap:.4rem;box-shadow:0 12px 30px -6px rgba(5,150,105,.52);z-index:2;white-space:nowrap}
.dn-split__badge svg{width:1rem;height:1rem;flex-shrink:0}
@media(max-width:860px){.dn-split__badge{display:none}}

/* ===== Despre noi — carousel (whyx) în split + colaj poze suprapuse (zig-zag) ===== */
/* ATENȚIE: e item de GRID (.dn-split) → margin:0 auto ar anula stretch-ul și l-ar strânge la fit-content
   (copiii sunt toți absolute → lățime 0). De aceea: width:100% + justify-self:center, fără margin auto. */
.dn-carousel.benefits__media--center{width:100%;max-width:420px;margin:0;justify-self:center}
/* neutralizează regulile whyx-desktop (grid/stretch) care ar dimensiona greșit carouselul în afara secțiunii .whyx */
@media (min-width:920px){
  .dn-carousel.benefits__media--center{grid-column:auto;grid-row:auto;align-self:center;justify-self:center;width:100%;max-width:440px;margin:0}
  .dn-carousel .whyx__slideshow{height:auto;aspect-ratio:4 / 5}
}
/* colaj 2 poze suprapuse în chenare (secțiunea Acoperire) */
.dn-collage2{position:relative;padding:0 2.2rem 2.6rem 0}
.dn-collage2 .dn-c2__main{border-radius:1.15rem;overflow:hidden;aspect-ratio:4/3;box-shadow:0 26px 60px -18px rgba(2,32,22,.28);border:1px solid rgba(0,0,0,.05);transition:transform .5s cubic-bezier(.22,1,.36,1),box-shadow .5s cubic-bezier(.22,1,.36,1)}
.dn-collage2 .dn-c2__main img,.dn-collage2 .dn-c2__over img{width:100%;height:100%;object-fit:cover;display:block}
.dn-collage2 .dn-c2__over{position:absolute;right:0;bottom:0;width:46%;aspect-ratio:1;border-radius:1rem;overflow:hidden;border:5px solid #fff;box-shadow:0 18px 44px -12px rgba(2,32,22,.32);animation:dnFloat 7s ease-in-out infinite;will-change:transform}
.dn-collage2 .dn-c2__chip{position:absolute;left:-.9rem;top:1.4rem;background:linear-gradient(135deg,#10b981,#059669);color:#fff;padding:.55rem .95rem;border-radius:.7rem;font-size:.82rem;font-weight:700;letter-spacing:.01em;box-shadow:0 14px 30px -8px rgba(5,150,105,.5);z-index:3}
.dn-collage2 .dn-c2__chip b{font-weight:800}
.dn-collage2:hover .dn-c2__main{transform:translateY(-4px);box-shadow:0 34px 70px -18px rgba(2,32,22,.34)}
@keyframes dnFloat{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-9px,0)}}
@media(max-width:860px){.dn-collage2{padding:0 1.1rem 1.7rem 0}.dn-collage2 .dn-c2__over{width:44%}}
/* [reduce-motion suppression eliminat — owner vrea animatiile active] */

/* Enhanced dark stats band */
.dn-stats-sec{position:relative;overflow:hidden}
.dn-stats-bg{position:absolute;inset:0;background-size:cover;background-position:center}
@media(min-width:768px){.dn-stats-bg{background-attachment:fixed}}
.dn-stats-ov{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(11,16,16,.6),rgba(11,16,16,.78))}
.dn-stats-sec .container{position:relative;z-index:1;padding-top:3.5rem;padding-bottom:3.5rem}
.dn-stats-grid{display:grid;grid-template-columns:repeat(2,1fr)}
@media(min-width:768px){.dn-stats-grid{grid-template-columns:repeat(4,1fr)}}
.dn-stat{text-align:center;color:#fff;padding:1.8rem 1rem;border-right:1px solid rgba(255,255,255,.1)}
.dn-stat:last-child,.dn-stat:nth-child(2){border-right:0}
@media(min-width:768px){.dn-stat:nth-child(2){border-right:1px solid rgba(255,255,255,.1)}}
.dn-stat:nth-child(n+3){border-top:1px solid rgba(255,255,255,.1)}
@media(min-width:768px){.dn-stat:nth-child(n+3){border-top:0}}
.dn-stat__num{display:block;font-size:clamp(2.4rem,5vw,3.4rem);font-weight:900;line-height:1.08;color:#fff;margin-bottom:.28rem;letter-spacing:-.025em}
.dn-stat__star{color:#fbbf24}
.dn-stat__label{display:block;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--emerald);margin-bottom:.2rem}
.dn-stat__sub{display:block;font-size:.75rem;color:rgba(255,255,255,.48)}

/* Premium value cards with number backdrop */
.dn-vals-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem}
@media(min-width:900px){.dn-vals-grid{grid-template-columns:repeat(4,1fr);gap:1.5rem}}
.dn-val-card{position:relative;background:#fff;border-radius:1.25rem;padding:2rem 1.6rem 1.8rem;border:1px solid var(--gray-200);overflow:hidden;transition:transform .3s ease,box-shadow .3s ease,border-color .3s;cursor:default}
.dn-val-card:hover{transform:translateY(-5px);box-shadow:0 24px 52px -12px rgba(5,150,105,.18);border-color:rgba(5,150,105,.22)}
.dn-val-card__bg{position:absolute;top:-.5rem;right:.6rem;font-size:5.5rem;font-weight:900;color:rgba(5,150,105,.055);line-height:1;pointer-events:none;user-select:none;font-variant-numeric:tabular-nums}
.dn-val-card__ic{width:48px;height:48px;background:rgba(5,150,105,.1);border-radius:.75rem;display:grid;place-items:center;margin-bottom:1.1rem;color:var(--emerald);transition:background .25s,color .25s}
.dn-val-card__ic svg{width:22px;height:22px}
.dn-val-card:hover .dn-val-card__ic{background:var(--emerald);color:#fff}
.dn-val-card h3{font-size:1rem;font-weight:700;margin-bottom:.45rem;color:var(--gray-900)}
.dn-val-card p{font-size:.87rem;color:var(--gray-600);line-height:1.65;margin:0}

/* Galerie „din teren": chenare rotunjite cu spații, decalate în zig-zag (nu fâșie lipită) */
.dn-photo-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:1.1rem;max-width:var(--container);margin:0 auto;padding:1.4rem 1rem 2.6rem}
.dn-ps-img{overflow:hidden;border-radius:1rem;border:4px solid #fff;background:var(--gray-100);box-shadow:0 18px 40px -14px rgba(2,32,22,.22);aspect-ratio:3/4;transition:transform .5s cubic-bezier(.22,1,.36,1),box-shadow .5s cubic-bezier(.22,1,.36,1)}
.dn-ps-img:nth-child(odd){transform:translateY(14px)}
.dn-ps-img:nth-child(even){transform:translateY(-8px)}
.dn-ps-img:hover{transform:translateY(0) scale(1.03);box-shadow:0 26px 54px -16px rgba(2,32,22,.3);z-index:2;position:relative}
.dn-ps-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .65s ease}
.dn-ps-img:hover img{transform:scale(1.07)}
@media(max-width:640px){
  .dn-photo-strip{grid-template-columns:repeat(3,1fr);gap:.7rem;padding:1rem .9rem 1.8rem}
  .dn-ps-img{border-width:3px;border-radius:.75rem}
  .dn-ps-img:nth-child(odd){transform:translateY(8px)}
  .dn-ps-img:nth-child(even){transform:translateY(-5px)}
  .dn-ps-img:nth-child(n+4){display:none}
}
/* [reduce-motion suppression eliminat — owner vrea animatiile active] */

/* Horizontal timeline */
.dn-process-wrap{padding:3rem 0 2rem;position:relative}
.dn-timeline{display:grid;grid-template-columns:repeat(4,1fr);position:relative;gap:0}
@media(max-width:720px){.dn-timeline{grid-template-columns:1fr 1fr;gap:2rem}}
@media(max-width:440px){.dn-timeline{grid-template-columns:1fr}}
.dn-timeline::before{content:'';position:absolute;top:1.5rem;left:12.5%;right:12.5%;height:2px;background:linear-gradient(90deg,transparent,var(--emerald) 10%,var(--emerald) 90%,transparent);z-index:0}
@media(max-width:720px){.dn-timeline::before{display:none}}
.dn-tl-step{padding:0 1.2rem;text-align:center;position:relative;z-index:1}
.dn-tl-dot{width:3rem;height:3rem;background:var(--emerald);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.88rem;font-weight:800;margin:0 auto 1.5rem;box-shadow:0 8px 22px -6px rgba(5,150,105,.55);position:relative;z-index:2}
.dn-tl-tag{display:inline-block;font-size:.67rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--emerald);margin-bottom:.35rem}
.dn-tl-step h3{font-size:.97rem;font-weight:700;margin-bottom:.4rem;color:var(--gray-900)}
.dn-tl-step p{font-size:.85rem;color:var(--gray-600);line-height:1.65;margin:0}

/* Trust dark premium */
.dn-trust-dark{background:linear-gradient(135deg,#070f0a 0%,#0c2318 50%,#070f0a 100%);padding:4.5rem 0;overflow:hidden;position:relative}
.dn-trust-dark::before{content:'';position:absolute;top:-40%;right:-10%;width:500px;height:500px;background:radial-gradient(circle,rgba(5,150,105,.1),transparent 65%);pointer-events:none}
.dn-trust-dark__grid{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:center}
@media(max-width:720px){.dn-trust-dark__grid{grid-template-columns:1fr;gap:2.5rem}}
.dn-trust-dark h2{color:#fff;font-size:clamp(1.7rem,3.2vw,2.3rem);margin-bottom:1rem}
.dn-trust-dark p{color:rgba(255,255,255,.7);line-height:1.7}
.eyebrow--light{color:var(--emerald) !important}
.dn-trust-ids{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.6rem}
.dn-trust-id{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.13);padding:.42rem .85rem;border-radius:.45rem;font-size:.79rem;color:rgba(255,255,255,.75)}
.dn-trust-id b{color:#fff}
.dn-trust-seal{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:1.25rem;padding:2.5rem 2rem;text-align:center}
.dn-trust-seal img{width:90px;height:90px;filter:brightness(0) invert(1);opacity:.85;margin-bottom:.8rem}
.dn-trust-seal strong{display:block;color:#fff;font-size:1.05rem;margin-bottom:.35rem}
.dn-trust-seal p{font-size:.84rem;margin-bottom:1.5rem;margin-top:0}
.dn-trust-verify{display:inline-flex;align-items:center;gap:.5rem;background:transparent;color:var(--emerald);font-weight:700;font-size:.88rem;border:2px solid var(--emerald);padding:.65rem 1.3rem;border-radius:.5rem;transition:all .22s;text-decoration:none}
.dn-trust-verify:hover{background:var(--emerald);color:#fff}
.dn-trust-verify svg{width:1rem;height:1rem}

/* Section heading helper */
.dn-head{margin-bottom:2.5rem}
.dn-head--center{text-align:center}
.dn-head .eyebrow{margin-bottom:.5rem}
.dn-head h2{font-size:clamp(1.65rem,3vw,2.2rem)}

/* ================================================================ */
/* DESPRE NOI — WOW premium (micro-interacțiuni discrete, scoped dn-*) */
/* ================================================================ */

/* Bară fină de progres la scroll (doar pe paginile care au elementul) */
.dn-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:130;pointer-events:none}
.dn-progress__bar{display:block;height:100%;width:100%;transform:scaleX(0);transform-origin:0 50%;background:linear-gradient(90deg,#059669,#10b981 55%,#34d399);box-shadow:0 0 8px rgba(16,185,129,.4);will-change:transform}

/* Hero: pastile cu cascadă (badgePop pe fiecare) + hover fin */
.delay-700{animation-delay:.7s}
.lp-hero__pill{transition:transform .25s var(--ease-out-quart),background .25s,border-color .25s}
.lp-hero__pill:hover{transform:translateY(-2px);background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.4)}

/* Hero: subliniere care se desenează sub „ANRE" */
.dn-hl{position:relative;display:inline-block}
.dn-hl::after{content:"";position:absolute;left:0;right:0;bottom:-.14em;height:3px;border-radius:3px;background:linear-gradient(90deg,#34d399,#6ee7b7);transform:scaleX(0);transform-origin:0 50%;animation:dnHl .7s var(--ease-out-expo) 1.2s forwards}
@keyframes dnHl{to{transform:scaleX(1)}}

/* Carusel „Cine suntem": badge-urile plutesc discret, defazat */
.dn-carousel .benefits__float{animation:dnFloat 6s ease-in-out infinite;will-change:transform}
/* pe ecrane mici, sigiliul ANRE nu se mai lipește de marginea ecranului */
@media(max-width:560px){.dn-carousel .benefits__float--anre{right:-.35rem}}
.dn-carousel .benefits__float--anre{animation-duration:7s;animation-delay:1.1s}
.dn-carousel .benefits__float--logo{animation-duration:8s;animation-delay:2.1s}
/* sigiliul ANRE: puls de aură emerald, calm */
.dn-carousel .benefits__float--anre::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:0 0 0 0 rgba(16,185,129,.45);animation:dnSealPulse 3.6s ease-out infinite;pointer-events:none}
@keyframes dnSealPulse{0%{box-shadow:0 0 0 0 rgba(16,185,129,.45)}70%{box-shadow:0 0 0 11px rgba(16,185,129,0)}100%{box-shadow:0 0 0 0 rgba(16,185,129,0)}}

/* Cartonaș promisiune: lift fin la hover */
.ab-promise{transition:transform .3s var(--ease-out-quart),border-color .3s,box-shadow .3s}
.ab-promise:hover{transform:translateY(-2px);border-color:rgba(5,150,105,.35);box-shadow:0 14px 30px -18px rgba(5,150,105,.35)}

/* Statistici: steaua respiră discret */
.dn-stat__star{display:inline-block;animation:dnStarTwinkle 3.2s ease-in-out infinite;transform-origin:50% 55%;will-change:opacity,transform}
@keyframes dnStarTwinkle{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.9)}}

/* Carduri valori: linie-accent care se aprinde sus + iconiță cu pop la hover */
.dn-val-card::after{content:"";position:absolute;top:0;left:1.2rem;right:1.2rem;height:3px;border-radius:0 0 4px 4px;background:linear-gradient(90deg,var(--emerald),#34d399);transform:scaleX(0);transform-origin:center;transition:transform .45s var(--ease-out-quart)}
.dn-val-card:hover::after{transform:scaleX(1)}
.dn-val-card__bg{transition:transform .45s var(--ease-out-quart),color .45s}
.dn-val-card:hover .dn-val-card__bg{transform:translateY(-4px);color:rgba(5,150,105,.1)}
.dn-val-card:hover .dn-val-card__ic svg{animation:dnIcPop .45s var(--ease-out-quart)}
@keyframes dnIcPop{0%{transform:scale(1)}50%{transform:scale(1.16) rotate(-5deg)}100%{transform:scale(1)}}

/* Timeline: linia se desenează la intrare + puls unic pe puncte, în secvență.
   Starea ascunsă e armată DOAR din JS (is-armed), deci fără JS totul rămâne vizibil. */
.dn-timeline.is-armed::before{transform:scaleX(0);transform-origin:0 50%;transition:transform 1.5s var(--ease-out-expo) .25s}
.dn-timeline.is-armed.in::before{transform:scaleX(1)}
.dn-tl-dot{transition:transform .3s var(--ease-out-quart)}
.dn-tl-step:hover .dn-tl-dot{transform:scale(1.1)}
.dn-timeline.in .dn-tl-dot::after{content:"";position:absolute;inset:0;border-radius:50%;animation:dnDotPing 1.1s ease-out 1 both;pointer-events:none}
.dn-timeline.in .dn-tl-step:nth-child(1) .dn-tl-dot::after{animation-delay:.4s}
.dn-timeline.in .dn-tl-step:nth-child(2) .dn-tl-dot::after{animation-delay:.75s}
.dn-timeline.in .dn-tl-step:nth-child(3) .dn-tl-dot::after{animation-delay:1.1s}
.dn-timeline.in .dn-tl-step:nth-child(4) .dn-tl-dot::after{animation-delay:1.45s}
@keyframes dnDotPing{0%{box-shadow:0 0 0 0 rgba(16,185,129,.5)}100%{box-shadow:0 0 0 15px rgba(16,185,129,0)}}

/* Colaj acoperire: puls „live" pe chip + zoom lent pe poza mare la hover */
.dn-c2__ping{display:inline-block;width:.5rem;height:.5rem;border-radius:50%;background:#fff;margin-right:.5rem;vertical-align:middle;box-shadow:0 0 0 0 rgba(255,255,255,.6);animation:dnChipPing 2.6s ease-out infinite}
@keyframes dnChipPing{0%{box-shadow:0 0 0 0 rgba(255,255,255,.6)}70%{box-shadow:0 0 0 7px rgba(255,255,255,0)}100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}}
.dn-collage2 .dn-c2__main img{transition:transform .8s var(--ease-out-quart)}
.dn-collage2:hover .dn-c2__main img{transform:scale(1.04)}

/* Trust: sheen periodic discret pe sigiliul ANRE + chips reactive */
.dn-trust .trust__seal{position:relative;overflow:hidden}
.dn-trust .trust__seal::after{content:"";position:absolute;top:0;bottom:0;left:-45%;width:36%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.13),transparent);transform:skewX(-18deg);animation:dnSheen 6s ease-in-out infinite;pointer-events:none}
@keyframes dnSheen{0%,58%{left:-45%}88%,100%{left:140%}}
.dn-trust .trust__id{transition:background .25s,border-color .25s,transform .25s}
.dn-trust .trust__id:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.3);transform:translateY(-1px)}

/* Reduced motion: totul static și vizibil */
/* [reduce-motion suppression eliminat — owner vrea animatiile active] */

/* ===================================================================== */
/* B2B v2, pas "wow" pagina firme (scoped .pj-premium / pj-*)            */
/* ===================================================================== */

/* --- Marquee sectoare, sub hero --- */
.pj-marquee { position: relative; overflow: hidden; background: linear-gradient(90deg, #04261b, #0a3b2b 50%, #04261b); border-block: 1px solid rgba(110,231,183,.18); padding: .8rem 0; }
.pj-marquee::before, .pj-marquee::after { content: ""; position: absolute; top: 0; bottom: 0; width: 90px; z-index: 1; pointer-events: none; }
.pj-marquee::before { left: 0; background: linear-gradient(90deg, #04261b, transparent); }
.pj-marquee::after { right: 0; background: linear-gradient(270deg, #04261b, transparent); }
.pj-marquee__track { display: flex; width: max-content; animation: pjMarquee 36s linear infinite; }
.pj-marquee__group { display: flex; align-items: center; flex: none; }
.pj-marquee__item { display: inline-flex; align-items: center; gap: .55rem; padding: 0 1.4rem; color: #d9fbe9; font-size: .87rem; font-weight: 600; letter-spacing: .02em; white-space: nowrap; }
.pj-marquee__item svg { width: 14px; height: 14px; color: #34d399; flex: none; }
@keyframes pjMarquee { to { transform: translateX(-50%); } }
.pj-marquee:hover .pj-marquee__track { animation-play-state: paused; }
/* [reduce-motion suppression eliminat — owner vrea animatiile active] */

/* --- Subliniere desenata sub "Firme" in H1 --- */
.pj-hl { position: relative; display: inline-block; }
.pj-hl__stroke { position: absolute; left: 2%; right: 2%; bottom: -.28em; width: 96%; height: .34em; color: #34d399; overflow: visible; pointer-events: none; }
.pj-hl__stroke path { stroke-dasharray: 100; stroke-dashoffset: 100; animation: pjHl 1s var(--ease-out-expo) 1.05s forwards; }
@keyframes pjHl { to { stroke-dashoffset: 0; } }
/* [reduce-motion suppression eliminat — owner vrea animatiile active] */

/* --- Banda de cifre (proof) --- */
.pj-proof-wrap { margin-top: 3rem; }

/* --- Panoul de conformitate (manometre) --- */
.pj-dash { position: relative; background: radial-gradient(130% 90% at 50% -10%, #f1faf5 0%, var(--gray-50) 55%); overflow: hidden; }
.pj-dash > .container { position: relative; z-index: 1; }
.pj-dials { display: grid; grid-template-columns: 1fr; gap: 1.2rem; }
@media (min-width: 860px) { .pj-dials { grid-template-columns: 1fr 1fr 1fr; } }
.pj-dial { position: relative; background: linear-gradient(180deg, rgba(255,255,255,.85), rgba(255,255,255,.58)); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border: 1px solid rgba(17,24,39,.07); border-radius: 1.2rem; padding: 1.6rem 1.4rem 1.5rem; text-align: center; box-shadow: 0 16px 36px -30px rgba(15,23,42,.45), inset 0 1px 0 rgba(255,255,255,.95); transition: border-color .3s, transform .3s var(--ease-out-quart), box-shadow .3s; }
.pj-dial:hover { border-color: rgba(5,150,105,.22); transform: translateY(-3px); box-shadow: 0 24px 46px -30px rgba(5,150,105,.35), inset 0 1px 0 #fff; }
.pj-dial__svg { width: min(220px, 76%); height: auto; margin: 0 auto; display: block; overflow: visible; }
.pj-dial__arc-bg { stroke: #e7f0ea; }
.pj-dial__ticks { stroke: #c8d8cf; }
.pj-dial__arc { stroke: var(--emerald); stroke-dasharray: 0 100; transition: stroke-dasharray 1.7s var(--ease-out-expo) .15s; }
.pj-dial.is-on .pj-dial__arc--62 { stroke-dasharray: 62 100; }
.pj-dial.is-on .pj-dial__arc--88 { stroke-dasharray: 88 100; }
.pj-dial__needle { transform-origin: 110px 112px; transform: rotate(-88deg); transition: transform 1.7s var(--ease-out-expo) .15s; }
.pj-dial.is-on .pj-dial__needle--62 { transform: rotate(21.6deg); }
.pj-dial.is-on .pj-dial__needle--88 { transform: rotate(68.4deg); }
/* [reduce-motion suppression eliminat — owner vrea animatiile active] */
.pj-dial__body { position: relative; margin-top: .9rem; }
.pj-dial h3 { color: var(--gray-900); font-size: 1.08rem; margin: 0 0 .3rem; }
.pj-dial p { color: var(--gray-600); font-size: .87rem; line-height: 1.55; margin: 0; }
.pj-dial__chip { display: inline-flex; align-items: center; gap: .4rem; margin-top: .85rem; padding: .38rem .8rem; border-radius: 999px; background: #ecfdf5; border: 1px solid #d1fae5; color: var(--emerald-700); font-size: .74rem; font-weight: 700; }
.pj-dial__chip svg { width: 13px; height: 13px; }
.pj-dial__chip--warn { background: #fffbeb; border-color: #fde68a; color: #92400e; }
/* panoul detector */
.pj-det { position: relative; width: 128px; height: 128px; margin: 20px auto 12px; }
.pj-det__ring { position: absolute; inset: 0; border-radius: 50%; border: 1.5px solid rgba(5,150,105,.32); animation: pjPing 2.8s cubic-bezier(0,0,.2,1) infinite; }
.pj-det__ring--2 { animation-delay: 1.4s; }
@keyframes pjPing { 0% { transform: scale(.62); opacity: 0; } 22% { opacity: .8; } 100% { transform: scale(1.16); opacity: 0; } }
/* [reduce-motion suppression eliminat — owner vrea animatiile active] */
.pj-det__dev { position: absolute; inset: 20px; border-radius: 24px; background: #fff; border: 1px solid rgba(17,24,39,.08); box-shadow: inset 0 1px 0 #fff, 0 14px 28px -18px rgba(15,23,42,.5); display: grid; place-items: center; }
.pj-det__dev svg { width: 60px; height: 60px; }
.pj-det__led { animation: pjLed 1.9s ease-in-out infinite; transform-origin: center; }
@keyframes pjLed { 0%, 100% { opacity: 1; } 50% { opacity: .25; } }
/* [reduce-motion suppression eliminat — owner vrea animatiile active] */
.pj-dash__cta { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: .9rem; margin-top: 2.4rem; }
.pj-dash__note { text-align: center; color: var(--gray-500); font-size: .8rem; margin: 1.1rem auto 0; max-width: 62ch; }

/* --- Traseul contractului: conducta + pasi --- */
.pj-flow { position: relative; max-width: 900px; margin: .5rem auto 0; }
.pj-flow__pipe { position: absolute; top: 4px; bottom: 4px; left: 21px; width: 22px; height: calc(100% - 8px); transform: translateX(-50%); overflow: visible; }
@media (min-width: 760px) { .pj-flow__pipe { left: 50%; } }
.pj-flow__pipe-bg { stroke: #dcefe6; stroke-width: 7; stroke-linecap: round; }
.pj-flow__pipe-fill { stroke: var(--emerald); stroke-width: 7; stroke-linecap: round; stroke-dasharray: 100 100; stroke-dashoffset: 100; }
.pj-flow.flow-static .pj-flow__pipe-fill { stroke-dashoffset: 0; }
.pj-flow__spark { position: absolute; left: 21px; top: 0; width: 14px; height: 14px; margin: -7px 0 0 -7px; border-radius: 50%; background: radial-gradient(circle at 35% 35%, #b9f7de, #10b981); box-shadow: 0 0 10px 3px rgba(16,185,129,.45); pointer-events: none; opacity: 0; will-change: transform; }
@media (min-width: 760px) { .pj-flow__spark { left: 50%; } }
.pj-flow.flow-live .pj-flow__spark { opacity: 1; }
.pj-flow__item { position: relative; margin: 0 0 1.35rem 56px; }
.pj-flow__item:last-child { margin-bottom: 0; }
.pj-flow__node { position: absolute; top: 14px; left: -56px; width: 42px; height: 42px; border-radius: 50%; background: #fff; border: 2px solid #cde9dc; color: var(--emerald-700); font-weight: 800; font-size: 1rem; display: grid; place-items: center; z-index: 1; transition: background .45s, border-color .45s, color .45s, box-shadow .45s, transform .45s var(--ease-out-quart); }
.pj-flow__item.is-lit .pj-flow__node { background: linear-gradient(160deg, #34d399, var(--emerald)); border-color: #fff; color: #fff; box-shadow: 0 0 0 5px rgba(16,185,129,.18), 0 12px 24px -10px rgba(5,150,105,.8); transform: scale(1.08); }
.pj-flow__card { position: relative; background: linear-gradient(135deg, rgba(255,255,255,.65) 0%, rgba(255,255,255,0) 26%), linear-gradient(180deg, #ffffff 0%, #f7fdfb 100%); border: 1px solid var(--gray-200); border-radius: 1rem; padding: 1.15rem 1.3rem; box-shadow: 0 12px 32px -22px rgba(15,23,42,.5), inset 0 1px 0 rgba(255,255,255,.95); transition: transform .3s var(--ease-out-quart), box-shadow .3s, border-color .3s, opacity .5s; }
.pj-flow__card b { display: block; color: var(--gray-900); font-size: 1rem; margin-bottom: .2rem; }
.pj-flow__card p { margin: 0; font-size: .88rem; color: var(--gray-600); line-height: 1.55; }
.pj-flow__card:hover { transform: translateY(-4px); box-shadow: 0 22px 42px -26px rgba(5,150,105,.45); border-color: rgba(5,150,105,.3); }
.pj-flow__item:not(.is-lit) .pj-flow__card { opacity: .72; }
.pj-flow.flow-static .pj-flow__card, .no-js .pj-flow__card { opacity: 1; }
.no-js .pj-flow__pipe-fill { stroke-dashoffset: 0; }
@media (min-width: 760px) {
  .pj-flow__item { width: calc(50% - 52px); margin-left: 0; margin-bottom: .4rem; }
  .pj-flow__item:nth-child(odd) .pj-flow__card { text-align: right; }
  .pj-flow__item:nth-child(odd) { margin-right: auto; }
  .pj-flow__item:nth-child(even) { margin-left: auto; transform: translateY(46px); }
  .pj-flow__item:nth-child(odd) .pj-flow__node { left: auto; right: -73px; }
  .pj-flow__item:nth-child(even) .pj-flow__node { left: -73px; }
  .pj-flow { padding-bottom: 46px; }
}

/* --- Spotlight cursor pe pachete si carduri --- */
.pj-spot { position: absolute; inset: 0; border-radius: inherit; opacity: 0; transition: opacity .45s; pointer-events: none; z-index: 0;
  background: radial-gradient(260px circle at var(--mx, 50%) var(--my, 50%), rgba(16,185,129,.16), transparent 65%); }
.pj-pack:hover .pj-spot, .pj-card:hover .pj-spot { opacity: 1; }

/* text în interiorul cadranelor SVG */
.pj-dial__t-num { font-size: 38px; font-weight: 800; fill: var(--gray-900); letter-spacing: -1px; font-family: inherit; }
.pj-dial__t-lbl { font-size: 11px; font-weight: 700; fill: var(--emerald-700); letter-spacing: 2.5px; font-family: inherit; }

/* ===================================================================== */
/* iOS-clean pass — pagina firme (suprascrie stratul v2, scoped)         */
/* ===================================================================== */

/* fundaluri plate, fara gradiente, blob-uri, grile sau puncte */
.pj-premium .section--white { background: #fff; }
.pj-premium .section--gray { background: #f5f6f7; }
.pj-dash { background: #f5f6f7; }
.pj-premium .section--white::before { content: none; }
.pj-premium .lp-hero::before { content: none; }

/* marquee luminos, discret */
.pj-marquee { background: #fff; border-block: 1px solid rgba(17,24,39,.07); padding: .95rem 0; }
.pj-marquee::before { background: linear-gradient(90deg, #fff, transparent); }
.pj-marquee::after { background: linear-gradient(270deg, #fff, transparent); }
.pj-marquee__item { color: var(--gray-600); }
.pj-marquee__item svg { color: var(--emerald); }

/* hero: elemente statice, frosted subtil */
.pj-premium .shb, .pj-scrollcue, .pj-hf { animation: none; }
.pj-hf { background: rgba(255,255,255,.82); -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); border: 1px solid rgba(255,255,255,.55); border-radius: 16px; box-shadow: 0 10px 30px -14px rgba(0,0,0,.4); }

/* butoane plate: fara shine, fara lift, fara umbre colorate */
.pj-premium .btn { border-radius: 13px; }
.pj-premium .btn-shine::before { display: none; }
.pj-premium .btn-emerald { background-image: none; box-shadow: 0 1px 2px rgba(0,0,0,.12); }
.pj-premium .btn-emerald:hover { transform: none; box-shadow: 0 2px 6px rgba(0,0,0,.14); }
.pj-premium .lp-hero__cta .btn-lg { box-shadow: 0 1px 3px rgba(0,0,0,.2); }
.pj-premium .pj-pack--featured .btn-emerald { background-image: none; box-shadow: 0 1px 2px rgba(0,0,0,.12); }
.pj-premium .btn-outline:hover, .pj-premium .btn-outline-l:hover { transform: none; }

/* carduri: alb plat, hairline, umbre neutre difuze, raza mare */
.pj-premium .pj-pack, .pj-premium .pj-card, .pj-premium .pj-space, .pj-premium .pj-step, .pj-premium .pj-flow__card {
  background: #fff; border: 1px solid rgba(17,24,39,.07); border-radius: 1.25rem;
  box-shadow: 0 1px 2px rgba(0,0,0,.03), 0 10px 30px -24px rgba(0,0,0,.18); }
.pj-premium .pj-card::before, .pj-premium .pj-pack::after, .pj-premium .pj-pack--featured::before { display: none; }
.pj-premium .pj-card:hover, .pj-premium .pj-flow__card:hover, .pj-premium .pj-pack:hover {
  transform: translateY(-3px); border-color: rgba(17,24,39,.12);
  box-shadow: 0 2px 4px rgba(0,0,0,.04), 0 18px 40px -24px rgba(0,0,0,.2); }
.pj-premium .pj-pack--featured { background: #fff; border: 1.5px solid rgba(5,150,105,.5); box-shadow: 0 2px 4px rgba(0,0,0,.04), 0 18px 44px -26px rgba(5,150,105,.3); }
.pj-premium .pj-pack--featured:hover { transform: translateY(-3px); box-shadow: 0 2px 4px rgba(0,0,0,.04), 0 22px 48px -26px rgba(5,150,105,.34); }
@media (min-width: 880px) {
  .pj-premium .pj-pack--featured { transform: scale(1.03); }
  .pj-premium .pj-pack--featured:hover { transform: scale(1.03) translateY(-3px); }
}
.pj-premium .pj-pack__tag { background: var(--emerald); box-shadow: 0 0 0 3px #fff; }

/* iconite plate, stil app-icon */
.pj-premium .pj-card__ic, .pj-premium .pj-space__ic { background: #ecfdf5; box-shadow: none; border-radius: 12px; }
.pj-premium .pj-card:hover .pj-card__ic, .pj-premium .pj-space:hover .pj-space__ic { background: var(--emerald); box-shadow: none; transform: none; }
.pj-premium .pj-step__n { background: var(--emerald); box-shadow: none; }

/* spotlight abia perceptibil */
.pj-spot { background: radial-gradient(240px circle at var(--mx, 50%) var(--my, 50%), rgba(5,150,105,.07), transparent 65%); }

/* configurator: card alb cu hairline, fara halouri */
.pj-premium .cfg { background: #fff; border: 1px solid rgba(17,24,39,.07); border-radius: 1.5rem; box-shadow: 0 1px 2px rgba(0,0,0,.03), 0 14px 36px -28px rgba(0,0,0,.18); }
.pj-premium .cfg::before, .pj-premium .cfg::after { display: none; }
.pj-premium .cfg__result { background: #f5f6f7; border: 1px solid rgba(17,24,39,.08); border-radius: 1rem; box-shadow: none; }
.pj-premium .cfg__result .btn { animation: none; }
.pj-premium .cfg-chip { border-color: rgba(17,24,39,.12); }
.pj-premium .cfg-chip.active { box-shadow: none; transform: none; }
.pj-premium .cfg-step { box-shadow: none; border-color: rgba(17,24,39,.12); }

/* proof + manometre: alb plat (blur-ul nu mai are ce difuza, doar costa) */
.pj-proof { background: rgba(255,255,255,.9); -webkit-backdrop-filter: none; backdrop-filter: none; border-color: rgba(17,24,39,.06); border-radius: 1.25rem; box-shadow: 0 1px 2px rgba(0,0,0,.03), 0 12px 32px -26px rgba(0,0,0,.16); }
.pj-dial { background: #fff; -webkit-backdrop-filter: none; backdrop-filter: none; border-color: rgba(17,24,39,.07); box-shadow: 0 1px 2px rgba(0,0,0,.03), 0 12px 32px -26px rgba(0,0,0,.16); }
.pj-dial:hover { transform: translateY(-2px); border-color: rgba(17,24,39,.12); box-shadow: 0 2px 4px rgba(0,0,0,.04), 0 16px 36px -26px rgba(0,0,0,.2); }

/* media: umbre neutre, raze aliniate */
.pj-premium .pj-zig__media { box-shadow: 0 24px 48px -32px rgba(0,0,0,.3); border-radius: 1.25rem; }
.pj-premium .biz-tile { border-radius: 1.25rem; box-shadow: 0 14px 34px -26px rgba(0,0,0,.3); }
.pj-premium .contract { animation: none; }
.pj-premium .lp-price { background: #f0fdf4; border: 1px solid #d1fae5; box-shadow: none; }

/* pipeline: aprindere fina */
.pj-premium .pj-flow__item.is-lit .pj-flow__node { box-shadow: 0 0 0 4px rgba(16,185,129,.14); transform: scale(1.05); }

/* ===================================================================== */
/* Share articol (blog) — copiere link + Facebook + Instagram, iOS-clean */
/* ===================================================================== */
.share { margin-top: 1.35rem; padding-top: 1.35rem; border-top: 1px solid var(--gray-200); }
.share__label { display: block; font-size: .7rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; color: var(--emerald-700); margin-bottom: .8rem; }
.share__btns { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 3fr) minmax(0, 3fr); align-items: stretch; gap: .5rem; }
.share-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .45rem;
  height: 44px; padding: 0 .6rem; border: 1px solid rgba(17,24,39,.1); border-radius: 13px;
  background: #fff; color: var(--gray-700); font-size: .88rem; font-weight: 600; font-family: inherit;
  cursor: pointer; text-decoration: none; white-space: nowrap; -webkit-tap-highlight-color: transparent;
  transition: background .18s, border-color .18s, color .18s, transform .18s var(--ease-out-quart), box-shadow .18s;
}
.share-btn svg { width: 18px; height: 18px; flex: none; }
.share-btn:hover { border-color: rgba(17,24,39,.18); transform: translateY(-1px); box-shadow: 0 6px 16px -10px rgba(17,24,39,.35); }
.share-btn:active { transform: translateY(0); }
.share-btn:focus-visible { outline: 2px solid var(--emerald); outline-offset: 2px; }

/* cele 3 butoane egale (o treime fiecare, via grid); principalul = primul */
.share-btn--copy:hover { color: var(--emerald-700); border-color: rgba(5,150,105,.4); background: #f0fdf4; }
.share-btn.is-done { background: var(--emerald); border-color: var(--emerald); color: #fff; }
.share-btn.is-done .share-btn__ic-copy { display: none; }
.share-btn__ic-check { display: none; }
.share-btn.is-done .share-btn__ic-check { display: inline-flex; }

/* iconițe brand: umplu aceeași treime ca butonul principal */
.share-btn--icon { padding: 0; }
.share-btn--fb:hover { color: #fff; background: #1877f2; border-color: #1877f2; }
.share-btn--ig:hover { color: #fff; background: #d6249f;
  background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fd5949 45%, #d6249f 60%, #285AEB 90%); border-color: transparent; }
.share-btn--wa:hover { color: #fff; background: #25D366; border-color: #25D366; }

/* [reduce-motion suppression eliminat — owner vrea animatiile active] */

/* varianta standalone (articol fără sidebar) — centrat, cu ramă proprie */
.share--block { max-width: 46rem; margin: 2.5rem auto 0; padding: 1.5rem 1.6rem; border: 1px solid var(--gray-200); border-top: 1px solid var(--gray-200); border-radius: 1.2rem; background: #fff; box-shadow: 0 1px 2px rgba(0,0,0,.03), 0 12px 32px -26px rgba(0,0,0,.16); }
.share--block .share__btns { max-width: 27rem; }
