/* ==========================================================================
   GTS Company - stil global
   Bază: preview-ul aprobat. Extins pentru structura pe pagini.
   ========================================================================== */

/* GTS Traduceri, tokeni din manualul de brand (planşa 04 Culoare, 05 Tipografie).
   O singură paletă. Accentul de cupru apare restrâns: butonul principal,
   muchia G-ului, rigla de sub titluri. Nu se foloseşte pe fundaluri mari. */
:root{
  /* paleta de brand */
  --cerneala:#2B3A4A;      /* literele, rigla, textul principal */
  --fond:#1A242E;          /* fond închis: coperte, hero, subsol */
  --hartie:#F4F2EE;        /* fundal deschis */
  --accent:#A2603A;        /* accentul de brand: rigla, muchia logotipului */
  --accent-deschis:#D8BCAC;
  --accent-inchis:#6B3F26;
  /* Cupru închis cu câteva procente, folosit NUMAI pe suprafeţele de buton,
     unde stă text alb. Urcă contrastul de la 4.92 la ~5.9, fără să schimbe
     accentul de brand, care rămâne #A2603A pe riglă şi pe logotip. */
  --accent-buton:#95562F;
  /* rândul doi, detalii. Închis faţă de manual, ca să treacă pragul de
     contrast si pe hârtie (#F4F2EE), nu doar pe alb. */
  --text-secundar:#58636F;

  /* text pe fundal închis: o singură scară, ca detaliile să nu pară şterse */
  --pe-fond:#EDF1F5;        /* text principal pe cerneală/fond */
  --pe-fond-doi:#C4CFDB;    /* rândul doi pe fond închis */

  /* aliasuri semantice folosite în componente */
  --blue-900:var(--fond); --blue-700:var(--cerneala); --blue-600:#3B4E63; --blue-400:#8FA0B8;
  --gold:var(--accent); --gold-soft:#F0E2D8;
  --ink:var(--cerneala); --text:#33404E; --muted:var(--text-secundar);
  --line:#E2DED7; --bg:#ffffff; --soft:var(--hartie);

  --radius:14px; --radius-sm:9px;
  --shadow:0 10px 30px -12px rgba(43,58,74,.24);
  --maxw:1180px;
  /* Source Sans 3, găzduit local (assets/css/fonts.css). Umanist ca şi Corbel
     din manual, dar desenat pentru ecran. Corbel rămâne primul fallback,
     ca documentele din birou să rămână vizual în aceeaşi familie. */
  --font:"Source Sans 3",Corbel,"Segoe UI",Candara,-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
  --font-logo:"Palatino Linotype","Book Antiqua",Palatino,"URW Palladio L",Georgia,serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
/* Fără -webkit-font-smoothing:antialiased. Subţiază literele pe macOS
   şi este una dintre cauzele frecvente de „text şters". */
body{font-family:var(--font);color:var(--text);background:var(--bg);line-height:1.65;font-size:16.5px;
  text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px}
h1,h2,h3,h4{color:var(--ink);line-height:1.2;letter-spacing:-.005em;font-weight:700}
/* rigla de sub titlurile de secţiune, semnătura vizuală a mărcii */
.rigla::after{content:"";display:block;width:52px;height:2px;background:var(--accent);margin-top:.85rem}
.sec-head:not(.left) .rigla::after{margin-left:auto;margin-right:auto}
section{scroll-margin-top:124px}
#oferta{scroll-margin-top:132px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:.55rem;font-weight:700;font-size:1rem;
  padding:.8rem 1.5rem;border-radius:999px;border:1.5px solid transparent;cursor:pointer;
  transition:transform .15s ease, box-shadow .2s ease, background .2s ease;white-space:nowrap;line-height:1}
.btn:active{transform:translateY(1px)}
/* Accentul de cupru: un singur loc, acţiunea principală.
   Fără halo difuz de culoare, care făcea marginea să pară murdară si textul
   pixelat. Muchie proprie, umbră scurtă neutră, literă puţin mai fermă. */
.btn-primary{background:var(--accent-buton);color:#fff;font-weight:700;letter-spacing:.005em;
  border-color:#7C4526;box-shadow:0 1px 0 rgba(255,255,255,.18) inset,0 2px 5px rgba(26,36,46,.22)}
.btn-primary:hover{background:#A2603A;border-color:#8B5230;box-shadow:0 1px 0 rgba(255,255,255,.22) inset,0 3px 8px rgba(26,36,46,.26)}
.btn-ghost{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.45)}
.btn-ghost:hover{background:rgba(255,255,255,.16)}
.btn-dark{background:var(--cerneala);color:#fff}
.btn-dark:hover{background:#35485C}
.btn-line{background:#fff;color:var(--cerneala);border-color:var(--line)}
.btn-line:hover{border-color:var(--accent);background:var(--hartie)}
.btn-block{width:100%;justify-content:center}

/* ---------- Top utility bar ---------- */
/* Numerele de telefon sunt informaţie principală, nu decor:
   mai mari, mai ferme şi mai luminoase decât restul barei. */
.topbar{background:var(--blue-900);color:var(--pe-fond-doi);font-size:.9rem}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;gap:1rem;min-height:42px;flex-wrap:wrap}
.topbar a{display:inline-flex;align-items:center;gap:.4rem;color:var(--pe-fond);font-weight:600}
.topbar a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
.topbar .lang b{color:#fff}
.topbar .sep{opacity:.45;margin:0 .45rem;color:var(--pe-fond-doi)}
/* Comutatorul de limba RO / EN, la capatul barei de sus. */
.topbar .lang-switch{gap:.35rem;margin-left:.9rem;padding:.14rem .62rem;border:1px solid rgba(237,241,245,.32);
  border-radius:999px;color:#fff;font-weight:700;letter-spacing:.01em}
.topbar .lang-switch:hover{background:rgba(255,255,255,.1);text-decoration:none}

/* ---------- Header / Nav ---------- */
header.site{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;min-height:116px}
/* Logotipul: fişierele originale din pachetul de brand, folosite ca atare.
   Varianta pe cerneală în antet, varianta albă în subsol. */
.brand{display:inline-flex;align-items:center;flex:0 0 auto}
.brand img{height:100px;width:auto;display:block}
footer .brand img{height:52px}
@media(max-width:720px){.brand img{height:82px}.nav{min-height:98px}}
/* Cu logo-ul de 100 px, pe ecranele mici de desktop meniul s-ar inghesui intre logo si butoane.
   Numarul din antet dispare aici: ambele numere raman vizibile in bara de sus. */
@media(max-width:1080px){.nav-cta .nav-phone{display:none}}
.nav-links{display:flex;align-items:center;gap:1.6rem}
.nav-links > a,.nav-item > a{font-weight:600;color:var(--text);font-size:.97rem;display:inline-flex;align-items:center;gap:.3rem}
.nav-links a:hover{color:var(--blue-600)}
.nav-links a.active{color:var(--blue-600)}
.nav-item{position:relative}
.nav-item > a::after{content:"";width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;
  transform:rotate(45deg) translateY(-2px);opacity:.55}
.dropdown{position:absolute;top:calc(100% + 10px);left:50%;transform:translateX(-50%) translateY(6px);
  background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 22px 45px -20px rgba(43,58,74,.45);
  padding:.6rem;min-width:280px;opacity:0;visibility:hidden;transition:.18s ease;z-index:60}
.nav-item:hover .dropdown,.nav-item:focus-within .dropdown{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.dropdown a{display:block;padding:.5rem .7rem;border-radius:9px;font-size:.92rem;font-weight:600;color:var(--text)}
.dropdown a small{display:block;font-weight:500;font-size:.82rem;color:var(--muted);margin-top:.1rem}
.dropdown a:hover{background:var(--soft);color:var(--blue-700)}
.dropdown .sep{height:1px;background:var(--line);margin:.4rem .5rem}
.nav-cta{display:flex;align-items:center;gap:.9rem}
.nav-phone{font-weight:700;color:var(--cerneala);display:inline-flex;align-items:center;gap:.45rem;
  font-size:1.02rem;letter-spacing:.005em}
.nav-phone:hover{color:var(--accent)}
.burger{display:none;background:none;border:none;cursor:pointer;padding:.4rem}
.burger span{display:block;width:24px;height:2.5px;background:var(--ink);border-radius:2px;margin:5px 0;transition:.25s}

/* ---------- Hero (home) ---------- */
.hero{position:relative;color:#fff;overflow:hidden;background-color:var(--fond);
  background-image:linear-gradient(105deg,rgba(26,36,46,.96) 0%,rgba(28,40,52,.9) 42%,rgba(43,58,74,.74) 72%,rgba(43,58,74,.52) 100%),url('../hero.jpg');
  background-size:cover;background-position:center right;background-repeat:no-repeat}
.hero::after{content:"";position:absolute;inset:0;opacity:.28;pointer-events:none;
  background:radial-gradient(circle at 82% 18%,rgba(162,96,58,.35),transparent 42%),
             radial-gradient(circle at 8% 92%,rgba(162,96,58,.18),transparent 40%)}
.hero .wrap{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .95fr;gap:2.6rem;align-items:center;
  padding:clamp(2.2rem,5vw,3.6rem) 20px}
/* Certificarea ISO este argument de încredere, nu notă de subsol:
   insigna e mărită cu 50% faţă de varianta iniţială (.82rem -> 1.23rem),
   cu clamp ca să nu spargă rândul pe telefon. */
.hero .eyebrow{display:inline-flex;align-items:center;gap:.72rem;background:rgba(255,255,255,.14);
  border:1px solid rgba(216,188,172,.42);color:#F2EFEA;font-weight:600;
  font-size:clamp(.95rem,2.4vw,1.23rem);
  padding:.6rem 1.3rem;border-radius:999px;margin-bottom:1.35rem;line-height:1.25}
.hero .eyebrow .dot{width:10px;height:10px;border-radius:50%;background:var(--gold);flex:0 0 auto;
  box-shadow:0 0 0 3px rgba(162,96,58,.28)}
/* Certificarea si experienta stau alaturi; cand nu incap pe un rand, se aseaza una sub alta. */
.hero .eyebrows{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.6rem;margin-bottom:1.35rem}
.hero .eyebrows .eyebrow{margin-bottom:0}

/* ---------- Despre noi, pe prima pagina ---------- */
.despre-text{max-width:760px;margin:0 auto;text-align:center;font-size:1.08rem;color:var(--text)}
.despre-text p+p{margin-top:.9rem}
.standarde-head{margin-top:3.2rem}
.hero h1{color:#fff;font-size:clamp(1.9rem,4.2vw,3.05rem);margin-bottom:.9rem}
.hero h1 .hl{color:var(--accent-deschis)}
.hero p.lead{font-size:clamp(1.05rem,1.7vw,1.2rem);color:var(--pe-fond);max-width:40ch;margin-bottom:1.5rem}
.hero .chips{display:flex;gap:1.2rem;flex-wrap:wrap;color:var(--pe-fond);font-size:.95rem;font-weight:600;margin-bottom:1.4rem}
.hero .chips span{display:inline-flex;align-items:center;gap:.45rem}
.hero .chips svg{color:var(--accent-deschis);flex:0 0 auto}
.hero .actions{display:flex;gap:.9rem;flex-wrap:wrap}

/* ---------- Page hero (interior) ---------- */
.phero{background:var(--blue-900);color:#fff;position:relative;overflow:hidden}
.phero::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background:radial-gradient(circle at 88% 10%,rgba(162,96,58,.25),transparent 45%)}
.phero .wrap{position:relative;z-index:1;padding:clamp(1.8rem,4vw,3rem) 20px}
.phero h1{color:#fff;font-size:clamp(1.7rem,3.6vw,2.6rem);margin:.5rem 0 .7rem;max-width:22ch}
.phero p{color:#C9D2DC;font-size:1.05rem;max-width:62ch}
.phero .actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.3rem}
.crumbs{font-size:.83rem;color:#8FA0B8;display:flex;gap:.45rem;flex-wrap:wrap;align-items:center}
.crumbs a{color:#B7C0CB}
.crumbs a:hover{color:#fff}
.crumbs span{opacity:.5}

/* ---------- Quote form ---------- */
.form-card{background:#fff;color:var(--text);border-radius:20px;padding:1.5rem;box-shadow:0 30px 60px -25px rgba(0,0,0,.5)}
.form-card.flat{box-shadow:var(--shadow);border:1px solid var(--line)}
.form-card h2,.form-card h3{font-size:1.2rem;margin-bottom:.25rem}
.form-card .sub{color:var(--muted);font-size:.9rem;margin-bottom:1.1rem}
.field{margin-bottom:.85rem}
.field label{display:block;font-weight:600;font-size:.86rem;color:var(--ink);margin-bottom:.35rem}
.field input,.field select,.field textarea{width:100%;padding:.72rem .9rem;border:1.5px solid var(--line);
  border-radius:var(--radius-sm);font-family:inherit;font-size:.95rem;color:var(--text);background:#fdfefe;
  transition:border .15s ease,box-shadow .15s ease}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--blue-400);box-shadow:0 0 0 3px rgba(162,96,58,.25)}
.field textarea{resize:vertical;min-height:88px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.file{border:1.6px dashed #CFC9C0;border-radius:var(--radius-sm);padding:.85rem;text-align:center;color:var(--muted);
  cursor:pointer;transition:.15s;background:var(--soft);display:block}
.file:hover{border-color:var(--blue-400);color:var(--blue-600)}
.file input{display:none}
.file b{color:var(--blue-700);font-weight:700}
.file small{display:block;font-size:.82rem;margin-top:.25rem}
.consent{display:flex;gap:.6rem;align-items:flex-start;font-size:.83rem;color:var(--muted);margin:.6rem 0 1rem}
.consent input{margin-top:.2rem;width:16px;height:16px;flex:0 0 16px}
.consent a{color:var(--blue-600);font-weight:600}
.form-note{font-size:.83rem;color:var(--muted);text-align:center;margin-top:.7rem}

/* ---------- Trust strip ---------- */
.trust-strip{background:var(--soft);border-bottom:1px solid var(--line)}
.trust-strip .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;padding:1.1rem 20px}
.trust-item{display:flex;gap:.7rem;align-items:center}
/* Acelasi tratament ca pictogramele de pe prima pagina: placa, desen in
   cerneala si rigla de cupru dedesubt. Placa este alba, nu hartie, pentru ca
   banda sta deja pe fundal de hartie si are nevoie de contrast. */
.trust-item .ic{position:relative;flex:0 0 40px;height:40px;border-radius:12px;
  background:#fff;border:1px solid var(--line);color:var(--cerneala);
  display:grid;place-items:center;box-shadow:inset 0 1px 0 #fff}
.trust-item .ic::after{content:"";position:absolute;left:9px;right:9px;bottom:-1px;height:2px;
  background:var(--accent);border-radius:2px}
.trust-item b{display:block;color:var(--ink);font-size:.95rem;line-height:1.25}
.trust-item span{font-size:.82rem;color:var(--muted)}

/* ---------- Sections ---------- */
.sec{padding:clamp(2.6rem,5vw,4.2rem) 0}
.sec.soft{background:var(--soft)}
.sec.tight{padding:clamp(1.8rem,3.5vw,2.8rem) 0}
.sec-head{max-width:660px;margin:0 auto 2.2rem;text-align:center}
.sec-head.left{margin-left:0;text-align:left}
.sec-head h2{font-size:clamp(1.6rem,3.2vw,2.25rem);margin-bottom:.6rem}
.sec-head p{color:var(--muted);font-size:1.03rem}

/* ---------- Prose (interior copy) ---------- */
.prose{max-width:72ch}
.prose h2{font-size:clamp(1.35rem,2.6vw,1.75rem);margin:2rem 0 .7rem}
.prose h2:first-child{margin-top:0}
.prose h3{font-size:1.12rem;margin:1.5rem 0 .5rem;color:var(--blue-700)}
.prose p{margin-bottom:.9rem}
.prose ul,.prose ol{margin:0 0 1rem 1.15rem}
.prose li{margin-bottom:.4rem}
.prose strong{color:var(--ink)}
.prose a:not(.btn){color:var(--blue-600);font-weight:600;border-bottom:1px solid var(--line)}
.prose a:not(.btn):hover{border-color:var(--blue-400)}
.layout{display:grid;grid-template-columns:1fr 360px;gap:2.6rem;align-items:start}
.aside{position:sticky;top:136px;display:grid;gap:1rem}

/* ---------- Cards ---------- */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.4rem;
  transition:transform .18s ease,box-shadow .2s ease,border-color .2s ease}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--line)}
/* Pictogramele intră în limbajul mărcii: placă de hârtie, desen în cerneală
   şi rigla de cupru dedesubt, acelaşi gest ca rigla de sub logotip.
   Desenele rămân neschimbate, se schimbă doar tratamentul. */
.card .ic{position:relative;width:52px;height:52px;border-radius:12px;display:grid;place-items:center;
  margin-bottom:1.05rem;background:var(--hartie);border:1px solid var(--line);color:var(--cerneala);
  box-shadow:inset 0 1px 0 #fff;transition:background .18s ease,border-color .18s ease}
.card .ic::after{content:"";position:absolute;left:11px;right:11px;bottom:-1px;height:2px;
  background:var(--accent);border-radius:2px}
.card:hover .ic{background:#fff;border-color:var(--accent-deschis)}
.card h3{font-size:1.08rem;margin-bottom:.35rem}
.card p{font-size:.92rem;color:var(--muted);margin-bottom:.8rem}
/* Interpretariat: cele doua tipuri, in carduri cu iconita, ca serviciile de pe prima pagina.
   Titlurile raman h2 (structura paginii nu se schimba), dar la marimea unui titlu de card. */
.interp-carduri{margin:2rem 0 .5rem}
.prose .interp-carduri .card h2{font-size:1.15rem;margin:0 0 .45rem}
.prose .interp-carduri .card p{font-size:1rem;color:var(--text);margin-bottom:0}
.card .go{font-weight:700;color:var(--blue-600);font-size:.9rem;display:inline-flex;align-items:center;gap:.35rem}
.card:hover .go{gap:.6rem}

/* ---------- Info box ---------- */
.note{background:var(--soft);border-left:4px solid var(--blue-600);padding:1rem 1.1rem;border-radius:0 12px 12px 0;margin:1.2rem 0}
.note.warn{background:var(--gold-soft);border-left-color:var(--gold)}
.note p:last-child{margin-bottom:0}
.note b{color:var(--ink)}

/* ---------- Steps ---------- */
.steps{counter-reset:s;display:grid;gap:1rem}
.step{position:relative;padding-left:3.1rem}
.step::before{counter-increment:s;content:counter(s);position:absolute;left:0;top:0;width:2.2rem;height:2.2rem;
  border-radius:50%;background:var(--blue-700);color:#fff;display:grid;place-items:center;font-weight:800;font-size:.95rem}
.step h3{font-size:1.02rem;margin-bottom:.2rem}
.step p{font-size:.93rem;color:var(--muted)}

/* ---------- Table ---------- */
.tbl{width:100%;border-collapse:collapse;font-size:.94rem;background:#fff;
  border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.tbl th{background:var(--blue-900);color:#fff;text-align:left;padding:.75rem .9rem;font-size:.86rem;font-weight:700}
.tbl td{padding:.7rem .9rem;border-top:1px solid var(--line);vertical-align:top}
.tbl tr:nth-child(even) td{background:#fbfdff}
.tbl-wrap{overflow-x:auto}

/* ---------- Values ---------- */
.values{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem;text-align:center}
.value .num{font-size:2.2rem;font-weight:800;color:var(--blue-700);line-height:1}
.value .num .u{color:var(--gold)}
.value p{margin-top:.3rem;color:var(--muted);font-size:.93rem}

/* ---------- Reviews ---------- */
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.review{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.4rem;display:flex;flex-direction:column;gap:.85rem}
.stars{color:var(--gold);letter-spacing:1px;font-size:.95rem}
.review p{color:var(--text);font-size:.95rem}
.review .who{display:flex;align-items:center;gap:.7rem;margin-top:auto}
.review .av{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--blue-600),var(--blue-400));
  color:#fff;display:grid;place-items:center;font-weight:700;flex:0 0 38px}
.review .who b{color:var(--ink);font-size:.92rem;display:block}
.review .who span{color:var(--muted);font-size:.82rem}
.g-badge{display:flex;align-items:center;gap:.5rem;justify-content:center;margin:1.6rem auto 0;color:var(--muted);font-size:.9rem;font-weight:600}

/* ---------- Offices ---------- */
.office{border:1px solid var(--line);border-radius:var(--radius);padding:1.2rem;background:#fff}
.office h3{font-size:1.05rem;display:flex;align-items:center;gap:.5rem;margin-bottom:.6rem;color:var(--blue-700)}
.office ul{list-style:none;display:grid;gap:.45rem;font-size:.92rem;color:var(--text)}
.office li{display:flex;gap:.6rem;align-items:flex-start}
.office li svg{flex:0 0 18px;color:var(--blue-400);margin-top:.15rem}
.office a:hover{color:var(--blue-600)}
/* Nota Google a fiecarui birou, mutata de pe fostele pagini de birou. */
.office-rating{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem;margin:0 0 1rem;font-size:.95rem;color:var(--text-secundar)}
.office-rating .stars{color:var(--accent);font-size:1.05rem;line-height:1}
.office-rating b{color:var(--cerneala);font-weight:700}
.office-rating .sep{color:var(--line)}
.office-rating a{color:var(--blue-600);text-decoration:underline}
.map{border:0;width:100%;height:260px;border-radius:var(--radius);filter:grayscale(.25)}

/* ---------- Harta se incarca doar la cerere ----------
   Un iframe Google incarcat automat ar pune cookies la fiecare vizita, ceea ce
   ar obliga la un banner de consimtamant. Asa, pagina nu cere nimic de la
   Google pana cand vizitatorul apasa butonul, deci nu e nevoie de banner. */
.harta-cerere{width:100%;min-height:260px;box-sizing:border-box;
  border:1px dashed var(--line);border-radius:var(--radius);background:var(--hartie);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:.6rem;text-align:center;padding:1.6rem}
.harta-cerere .harta-pin{color:var(--accent);flex:0 0 auto}
.harta-cerere .harta-loc{margin:0;font-weight:700;color:var(--cerneala)}
.harta-cerere .harta-nota{margin:0;font-size:.88rem;line-height:1.5;color:var(--text-secundar);max-width:46ch}
.harta-cerere .btn{margin-top:.2rem}
.harta-cerere .harta-extern{font-size:.88rem;color:var(--blue-600);text-decoration:underline}
.harta-cerere .harta-extern:hover{color:var(--accent-buton)}

/* ---------- FAQ ---------- */
.faq{display:grid;gap:.6rem}
.faq details{background:#fff;border:1px solid var(--line);border-radius:12px;padding:.9rem 1.1rem}
.faq summary{font-weight:700;color:var(--ink);cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:1rem;font-size:.98rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--blue-600);font-weight:800;font-size:1.2rem;line-height:1}
.faq details[open] summary::after{content:"\2013"}
.faq details p{margin-top:.6rem;font-size:.94rem;color:var(--muted)}
/* Domeniile de traducere: titluri mai mari, descrierea = lista de documente, deci citibila. */
.faq.domenii details{padding:1.05rem 1.3rem;scroll-margin-top:132px}
.faq.domenii summary{font-size:1.06rem}
.faq.domenii details[open]{border-color:var(--accent-deschis)}
.faq.domenii details p{font-size:1rem;color:var(--text);line-height:1.65}
.faq summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px;border-radius:6px}

/* ---------- CTA band ---------- */
.cta{background:linear-gradient(120deg,var(--blue-700),var(--blue-900));color:#fff;border-radius:var(--radius);
  padding:clamp(1.6rem,3vw,2.4rem);display:grid;grid-template-columns:1fr auto;gap:1.4rem;align-items:center}
.cta h2{color:#fff;font-size:clamp(1.3rem,2.4vw,1.7rem);margin-bottom:.35rem}
.cta p{color:var(--line);font-size:.98rem}
.cta .actions{display:flex;gap:.8rem;flex-wrap:wrap}

/* ---------- Related links ---------- */
.rel{display:flex;flex-wrap:wrap;gap:.55rem}
.rel a{background:#fff;border:1px solid var(--line);border-radius:999px;padding:.45rem .9rem;font-size:.88rem;font-weight:600;color:var(--blue-700)}
.rel a:hover{border-color:var(--blue-400);background:var(--soft)}

/* Lista limbilor: coloane care se rearanjeaza singure dupa latime, fara ruperi in interiorul unui nume. */
.prose ul.limbi-lista{list-style:none;padding:0;margin:1.2rem 0 2rem;columns:3 11rem;column-gap:1.6rem}
.prose ul.limbi-lista li{break-inside:avoid;position:relative;padding:.38rem 0 .38rem 1.15rem;margin:0;
  border-bottom:1px solid var(--line);font-weight:600;color:var(--cerneala)}
.prose ul.limbi-lista li::before{content:"";position:absolute;left:0;top:50%;width:6px;height:6px;margin-top:-3px;
  border-radius:50%;background:var(--accent)}

/* ---------- Footer ---------- */
/* Pe fond închis totul se declară explicit, ca nicio regulă globală de text
   închis să nu mai poată ajunge aici. */
footer{background:var(--blue-900);color:var(--pe-fond-doi);padding:3rem 0 1.4rem;font-size:.95rem;margin-top:3rem}
footer p,footer li,footer span,footer div{color:var(--pe-fond-doi)}
footer a{color:var(--pe-fond)}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:2rem;padding-bottom:2rem;border-bottom:1px solid rgba(255,255,255,.12)}
footer h4{color:#fff;font-size:.98rem;margin-bottom:.9rem}
footer .brand{color:#fff}
footer .brand small{color:#8FA0B8}
footer ul{list-style:none;display:grid;gap:.5rem}
footer a:hover{color:#fff}
.foot-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.6rem;padding-top:1.2rem;font-size:.83rem;color:#8FA0B8}
.foot-bottom a{color:#8FA0B8}

/* ---------- Mobile sticky ---------- */
.mobile-bar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:none;gap:.7rem;padding:.7rem;
  background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-top:1px solid var(--line);box-shadow:0 -6px 20px -10px rgba(0,0,0,.25)}
.mobile-bar .btn{flex:1;font-size:.95rem;padding:.8rem}
.wa{background:#0F7B6C;color:#fff}
.mobile-bar .wa .wa-marca{flex:0 0 18px;width:18px;height:18px;display:block}

/* ---------- Carduri de articol pe /blog/ ---------- */
.art-card{display:block;text-decoration:none;color:inherit;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.art-card:hover{border-color:var(--accent);box-shadow:var(--shadow);transform:translateY(-2px)}
.art-card h3{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap}
.art-card:hover h3{color:var(--accent-buton)}
.art-lang{flex:0 0 auto;font-size:.66rem;font-weight:800;letter-spacing:.06em;
  background:var(--hartie);border:1px solid var(--line);color:var(--text-secundar);
  padding:.1rem .38rem;border-radius:4px}
.prose .inapoi{margin-top:2rem;padding-top:1.2rem;border-top:1px solid var(--line)}

/* ---------- Buton flotant WhatsApp ----------
   Verdele e inchis fata de cel oficial WhatsApp, ca sa treaca contrastul AA
   cu text alb (5,16:1). Pe mobil butonul exista deja in bara fixa de jos. */
/* Metrici in pixeli intregi si NICIO animatie continua: o animatie infinita
   promoveaza butonul pe un strat compus, iar textul isi pierde netezirea
   pe subpixeli si pare pixelat. Din acelasi motiv, hoverul schimba doar
   culoarea si umbra, fara transform. */
.wa-float{position:fixed;right:24px;bottom:24px;z-index:55;
  display:inline-flex;align-items:center;gap:10px;
  height:52px;padding:0 22px;border-radius:26px;
  background:#0F7B6C;color:#fff;border:0;
  font-family:var(--font);font-size:15px;font-weight:600;line-height:1;
  letter-spacing:.005em;white-space:nowrap;text-decoration:none;
  box-shadow:0 8px 20px -8px rgba(26,36,46,.5),0 0 0 1px rgba(11,95,84,.45);
  transition:background .18s ease,box-shadow .18s ease,bottom .22s ease}
.wa-float:hover{background:#0C6A5D;color:#fff;
  box-shadow:0 12px 26px -8px rgba(26,36,46,.55),0 0 0 1px rgba(11,95,84,.55)}
.wa-float:active{background:#0A5A4F}
.wa-float:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
/* Marca sta intr-o cutie proprie de dimensiune fixa, centrata pe verticala
   fata de inaltimea butonului, nu fata de cutia textului, care e mai scunda. */
.wa-float .wa-marca{flex:0 0 20px;width:20px;height:20px;display:block}
.wa-float .wa-text{display:block}
/* Se ridica atunci cand ar acoperi butonul de trimitere al formularului.
   Clasa e pusa din JS, dupa masurarea reala a celor doua dreptunghiuri. */
.wa-float.ridicat{bottom:calc(24px + var(--wa-salt, 72px))}

/* ---------- Afirmatii de confirmat (doar in modul de verificare) ----------
   In productie clasa .review lipseste de pe <html>, deci textul apare normal. */
.review-mode .tbc{background:#fff3cd;box-shadow:0 0 0 2px #fff3cd;border-bottom:2px dotted #b8860b;border-radius:2px}
.review-mode .tbc::after{content:"de confirmat";display:inline-block;vertical-align:super;
  font-size:.62em;font-weight:800;letter-spacing:.04em;text-transform:uppercase;
  background:#F0C24B;color:#1A242E;padding:.08em .4em;border-radius:3px;margin-left:.3em;white-space:nowrap}
.review-mode .tbc *{background:transparent}
.review-bar{background:#F0C24B;color:#1A242E;font-size:.86rem;font-weight:600;text-align:center;padding:.6rem 20px;line-height:1.4}
.review-bar b{color:#1A242E}

/* ---------- Reveal ----------
   Ascundem doar daca JS chiar ruleaza (clasa .js e pusa de un script inline din <head>).
   Fara asta, o eroare de JS ar face continutul invizibil. */
.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.js .reveal.in{opacity:1;transform:none}

/* ---------- Responsive ---------- */
@media(max-width:1000px){
  .layout{grid-template-columns:1fr}
  .aside{position:static;grid-template-columns:1fr 1fr;display:grid}
}
@media(max-width:960px){
  .hero .wrap{grid-template-columns:1fr;gap:1.8rem}
  .grid-3,.reviews,.grid-4{grid-template-columns:repeat(2,1fr)}
  .values{grid-template-columns:repeat(2,1fr);gap:1.6rem}
  .trust-strip .wrap{grid-template-columns:repeat(2,1fr)}
  .cta{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr 1fr;gap:1.6rem}
}
@media(max-width:720px){
  .hero{background-image:linear-gradient(180deg,rgba(26,36,46,.95),rgba(43,58,74,.88)),url('../hero.jpg');background-position:center}
  /* Pe mobil formularul trebuie sa vina cat mai sus, deci compactam zona de deasupra lui */
  .hero .wrap{padding-top:1.4rem;padding-bottom:1.8rem;gap:1.3rem}
  .hero .eyebrow{margin-bottom:.9rem}
  .hero .eyebrows{margin-bottom:.9rem}
  .hero p.lead{margin-bottom:1rem}
  .hero .chips{gap:.5rem 1rem;margin-bottom:0;font-size:.86rem}
  .hero .chips span:nth-child(n+3){display:none}
  .hero .actions{display:none}
  .form-card{padding:1.2rem}
  .nav-links,.nav-cta .nav-phone{display:none}
  .burger{display:block}
  .nav-links.open{display:flex;position:absolute;top:99px;left:0;right:0;flex-direction:column;align-items:stretch;
    background:#fff;padding:1rem 20px;gap:.9rem;border-bottom:1px solid var(--line);box-shadow:var(--shadow);max-height:75vh;overflow:auto}
  .nav-links.open .nav-item > a::after{display:none}
  .nav-links.open .dropdown{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;
    padding:.3rem 0 .3rem .8rem;min-width:0;border-left:2px solid var(--line);border-radius:0;margin-top:.4rem}
  .grid-3,.grid-2,.reviews,.grid-4,.two,.aside{grid-template-columns:1fr}
  .mobile-bar{display:flex}
  .wa-float{display:none}
  body{padding-bottom:64px}
  /* Pe telefon numerele birourilor raman vizibile: primul rand, centrate.
     Pe ecranele foarte inguste trec unul sub altul, fara sa se rupa. */
  .topbar{font-size:.86rem}
  .topbar .wrap{justify-content:center;gap:.1rem 1rem;padding-top:.4rem;padding-bottom:.4rem}
  .topbar .topbar-tel{display:flex;flex-wrap:wrap;justify-content:center;gap:0 1.1rem;width:100%}
  .topbar .topbar-tel .sep{display:none}
  .topbar .topbar-tel a{white-space:nowrap;padding:.2rem 0}
  .topbar .lang{width:100%;display:flex;justify-content:center;align-items:center;flex-wrap:wrap}
  /* „Oferta in maxim 2 ore" apare oricum in banda de incredere de dedesubt; pe telefon
     il scoatem din bara, ca e-mailul si butonul de limba sa incapa pe acelasi rand. */
  .topbar .lang > span{display:none}
  .foot-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.js .reveal{opacity:1;transform:none;transition:none}*{scroll-behavior:auto}
  .wa-float{transition:none}}

/* ---------- Blocul de rating pe paginile de birou ----------
   Nota reala din fisa Google a fiecarui birou, cu trimitere la sursa. */
.rating-box{max-width:620px;margin:0 auto;text-align:center;background:#fff;border:1px solid var(--line);
  border-radius:var(--radius);padding:1.6rem}
.rating-score{display:flex;flex-direction:column;align-items:center;gap:.25rem;margin-bottom:.9rem}
.rating-score b{font-size:2.6rem;line-height:1;color:var(--ink);font-weight:700}
.rating-score .stars{color:var(--accent);font-size:1.05rem;letter-spacing:2px}
.rating-score span:last-child{color:var(--muted);font-size:.95rem}
.rating-box p{color:var(--muted);font-size:.95rem;margin-bottom:1.1rem}
