/* ============================================================
   PAGINI — Despre noi, Contact, Autorizații și certificări, harta
   de pe prima pagină (documentul „GRS SITE SECTIUNI", oct. 2026).
   Se încarcă după acasa.css și înainte de dark.css.
   ============================================================ */

/* ============================================================
   DESPRE NOI
   ============================================================ */
.grs-ab{ border-bottom: 0; padding-bottom: 0; }

/* hero: eticheta mică, titlul pe două voci, textul de prezentare */
.grs-ab-hero__label{
  display: inline-flex; align-items: center; gap: .85rem; margin: 0 0 1.25rem;
  font-family: var(--grs-sans); font-size: .75rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase;
  color: var(--grs-terra);
  opacity: 0; animation: car-in .55s var(--grs-ease) .05s forwards;
}
.grs-ab-hero__label::before,
.grs-ab-hero__label::after{ content: ""; width: 28px; height: 1px; background: currentColor; opacity: .7; }
.grs-ab-hero .grs-car-hero__title{ margin-bottom: 1.6rem; text-wrap: balance; }
.grs-ab-hero__sub{
  margin-top: .45em; font-size: .52em; font-style: italic; line-height: 1.25; letter-spacing: -.012em;
  color: #5d6673;
}
.grs-ab-hero .grs-car-hero__note{ max-width: 640px; }

/* fotografia de grup a echipei, întreagă: colțuri rotunjite, umbră și o placă crem
   decalată în spate; eticheta stă în colțul de sus, pe peretele alb (nu peste oameni) */
.grs-ab-foto{
  --r: clamp(14px, 1.8vw, 22px); --off: clamp(10px, 2vw, 26px);
  position: relative; padding: 0 var(--off) var(--off) 0;
  margin: clamp(.25rem, 1.5vw, 1rem) 0 clamp(2.25rem, 4.5vw, 3.5rem);
}
.grs-ab-foto::before{
  content: ""; position: absolute; left: var(--off); top: var(--off); right: 0; bottom: 0;
  border-radius: var(--r); background: var(--grs-ivory); border: 1px solid var(--grs-line);
}
.grs-ab-foto__fig{
  position: relative; margin: 0; border-radius: var(--r); overflow: hidden;
  box-shadow: 0 28px 60px -30px rgba(15,26,42,.5), 0 6px 16px -10px rgba(15,26,42,.22);
}
.grs-ab-foto__fig img{ display: block; width: 100%; height: auto; background: var(--grs-ivory); }
.grs-ab-foto__chip{
  position: absolute; left: clamp(.75rem, 2vw, 1.5rem); top: clamp(.75rem, 2vw, 1.5rem);
  display: inline-flex; align-items: center; gap: .65rem;
  padding: .6rem 1rem .6rem .8rem; border-radius: 999px;
  background: rgba(30,55,78,.88); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
  font-family: var(--grs-sans); font-size: .72rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase;
  color: #fff;
}
.grs-ab-foto__chip i{ width: 8px; height: 8px; border-radius: 50%; background: #e58a64; }
@media (max-width: 600px){
  .grs-ab-foto__chip{ font-size: .65rem; padding: .45rem .8rem .45rem .65rem; }
}

/* două coloane: titlul stă pe loc în stânga, textul curge în dreapta */
.grs-ab-split{
  display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: clamp(2rem, 6vw, 6rem); align-items: start;
  padding: clamp(.5rem, 1.5vw, 1rem) 0 clamp(3.5rem, 6vw, 5.5rem);
  scroll-margin-top: 7rem;
}
.grs-ab-split__head{ position: sticky; top: 8.5rem; }
.grs-ab-split__title{
  margin: 0; font-family: var(--grs-serif); font-weight: 400;
  font-size: clamp(2rem, 3.6vw, 3.1rem); line-height: 1.06; letter-spacing: -.025em;
  color: var(--grs-cont); text-wrap: balance;
}
.grs-ab-split__title em{ display: block; font-style: italic; color: #5d6673; }

.grs-ab-txt{ max-width: 64ch; }
.grs-ab-txt p{ margin: 0 0 1.25rem; font-size: clamp(1rem, 1.15vw, 1.08rem); line-height: 1.8; color: #333c49; }
.grs-ab-txt p:last-child{ margin-bottom: 0; }
/* evidențierile: puține, în italic serif — nu bold peste tot */
.grs-ab-txt em{ font-family: var(--grs-serif); font-style: italic; font-size: 1.08em; color: var(--grs-cont); }
.grs-ab-quote{ margin: 2.25rem 0; padding: .2rem 0 .2rem clamp(1.1rem, 2vw, 1.6rem); border-left: 2px solid var(--grs-terra); }
.grs-ab-txt .grs-ab-quote p{
  margin: 0; font-family: var(--grs-serif); font-size: clamp(1.3rem, 2vw, 1.65rem); line-height: 1.4;
  letter-spacing: -.01em; color: var(--grs-cont);
}
.grs-ab-txt .grs-ab-quote:last-child{ margin-bottom: 0; }

/* Inovație și tehnologie: bandă pe fond cald, cu un model desenat */
.grs-ab-band{
  background: var(--grs-page); border-top: 1px solid var(--grs-line); border-bottom: 1px solid var(--grs-line);
  padding: clamp(3.5rem, 7vw, 6rem) 0;
  scroll-margin-top: 5rem;
}
.grs-ab-band .grs-ab-split{ padding: 0; }
.grs-ab-model{ display: block; width: min(300px, 100%); height: auto; margin-top: clamp(1.75rem, 3vw, 2.75rem); color: var(--grs-cont); }
.grs-ab-model__edges{ stroke-width: 1.1; }
.grs-ab-model__hidden{ stroke-width: .8; opacity: .35; }
.grs-ab-model__grid{ stroke-width: .7; opacity: .4; }
.grs-ab-model__check{ stroke: var(--grs-terra); stroke-width: 1.5; }
.grs-ab-model__dim{ stroke-width: .8; opacity: .45; }

/* De la proiect la realitate */
.grs-ab--rest{ padding-top: clamp(3.5rem, 7vw, 6rem); }
.grs-ab-real{ padding: 0 0 clamp(3rem, 5vw, 4.5rem); }
.grs-ab-real__lead{
  margin: 1rem auto 0; max-width: 36ch;
  font-family: var(--grs-serif); font-style: italic; font-size: clamp(1.2rem, 1.8vw, 1.5rem); line-height: 1.45; color: #5d6673;
}
.grs-ab-real__cols{
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.5rem, 3vw, 3rem);
  max-width: 1100px; margin: 0 auto;
}
.grs-ab-real__cols p{ margin: 0; padding-top: 1.25rem; border-top: 1px solid var(--grs-line); font-size: 1rem; line-height: 1.75; color: #333c49; }
.grs-ab-values{
  max-width: 1100px; margin: clamp(3rem, 5vw, 4.5rem) auto 0;
  padding: clamp(2rem, 4vw, 3rem) clamp(1.25rem, 3vw, 2.5rem);
  background: var(--grs-page); border: 1px solid var(--grs-line); text-align: center;
}
.grs-ab-values__list{ list-style: none; margin: 0 0 1.25rem; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; row-gap: .35rem; }
.grs-ab-values__list li{
  font-family: var(--grs-serif); font-size: clamp(1.3rem, 2.4vw, 2.1rem); line-height: 1.25; letter-spacing: -.015em;
  color: var(--grs-cont);
}
.grs-ab-values__list li + li::before{
  content: ""; display: inline-block; width: 6px; height: 6px; margin: 0 clamp(.65rem, 1.6vw, 1.35rem);
  border-radius: 50%; background: var(--grs-terra); vertical-align: middle; transform: translateY(-.12em);
}
.grs-ab-values__note{ margin: 0 auto; max-width: 62ch; font-size: 1rem; line-height: 1.7; color: var(--grs-mute); }
.grs-ab-values__sign{ margin: 1.5rem 0 0; font-size: .75rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--grs-terra); }
.grs-ab-values__sign span{ margin: 0 .4em; }

/* cifrele (tabelul de pe prima pagină) */
.grs-ab-cifre{ padding-bottom: clamp(1rem, 2vw, 1.5rem); }
.grs-ab-cifre .grs-intro__facts{ margin-top: 0; }

/* expertiza: lipită de cifre, fără etichetă deasupra titlului */
.grs-ab-expertiza{ padding-top: clamp(1.5rem, 3vw, 2.25rem); scroll-margin-top: 7rem; }
.grs-ab-expertiza .grs-cop-head{ margin-bottom: clamp(1.5rem, 2.5vw, 2rem); }

/* De ce GRS-GRUP? — rânduri unul sub altul */
.grs-ab-why .grs-cop-head__title{ font-size: clamp(2.4rem, 4.6vw, 3.8rem); }
.grs-ab-why__list{ list-style: none; margin: 0 auto; padding: 0; max-width: 1000px; border-top: 1px solid var(--grs-line); }
.grs-ab-why__list li{
  display: grid; grid-template-columns: 3rem minmax(0, 4fr) minmax(0, 7fr); gap: clamp(1rem, 3vw, 2.5rem); align-items: baseline;
  padding: clamp(1.4rem, 2.6vw, 2rem) clamp(.25rem, 1vw, 1rem);
  border-bottom: 1px solid var(--grs-line); transition: background-color .3s;
}
.grs-ab-why__list li:hover{ background: var(--grs-page); }
.grs-ab-why__num{ font-size: .75rem; font-weight: 700; letter-spacing: .14em; color: var(--grs-terra); }
.grs-ab-why__title{
  margin: 0; font-family: var(--grs-sans); font-size: .9rem; font-weight: 700; line-height: 1.4;
  letter-spacing: .14em; text-transform: uppercase; color: var(--grs-cont);
}
.grs-ab-why__body{ margin: 0; font-size: 1.02rem; line-height: 1.7; color: #333c49; }

@media (max-width: 900px){
  .grs-ab-split{ grid-template-columns: minmax(0, 1fr); }
  .grs-ab-split__head{ position: static; }
  .grs-ab-model{ width: min(240px, 70%); }
  .grs-ab-real__cols{ grid-template-columns: minmax(0, 1fr); gap: 1.25rem; }
}
@media (max-width: 640px){
  .grs-ab-why__list li{ grid-template-columns: 2.25rem minmax(0, 1fr); row-gap: .5rem; }
  .grs-ab-why__body{ grid-column: 2; }
  .grs-ab-values__list li + li::before{ margin: 0 .55rem; }
}

/* ============================================================
   AUTORIZAȚII ȘI CERTIFICĂRI — pagina din meniul Compania
   (modulele sunt cele de pe prima pagină; titlul lor e în hero)
   ============================================================ */
.grs-aut-page .grs-car-hero{ padding-bottom: clamp(2rem, 4vw, 3rem); }
body:has(.grs-aut-page) .grs-cert{ background: var(--grs-page); border-top: 1px solid var(--grs-line); }
body:has(.grs-aut-page) .grs-cert__head{ display: none; }

/* ============================================================
   CONTACT
   ============================================================ */
/* titlul, liniuța teracotă și desenul halei */
.grs-contact-page__title{ margin-bottom: 1rem; }
.grs-contact-page__accent{ display: block; width: 56px; height: 2px; margin: 0 auto clamp(1.25rem, 2.5vw, 2rem); background: var(--grs-terra); }

/* overflow ascuns: pe telefon desenul e decupat pe corpul principal, restul nu are voie să lățească pagina */
.grs-cadru{ display: block; width: 100%; height: auto; margin: 0 auto; color: var(--grs-cont); overflow: hidden; }
.grs-cadru--m{ display: none; }
@media (max-width: 780px){
  .grs-cadru--d{ display: none; }
  .grs-cadru--m{ display: block; }
}
.grs-cadru path, .grs-cadru circle{ vector-effect: non-scaling-stroke; }
.grs-cadru .cd-axe{ stroke-width: .7; opacity: .3; }
.grs-cadru .cd-ghid{ stroke-width: .7; opacity: .35; }
.grs-cadru .cd-sol{ stroke-width: 1.2; }
.grs-cadru .cd-fund{ stroke-width: .7; opacity: .55; }
.grs-cadru .cd-spate{ stroke-width: .7; opacity: .3; }
.grs-cadru .cd-str{ stroke-width: 1.5; }
.grs-cadru .cd-ferma{ stroke-width: .9; opacity: .8; }
.grs-cadru .cd-sec{ stroke-width: .8; opacity: .6; }
.grs-cadru .cd-cote{ stroke-width: .7; opacity: .7; }
.grs-cadru .cd-bul{ stroke-width: .8; }
.grs-cadru text{ font-family: var(--grs-sans); fill: var(--grs-mute); stroke: none; letter-spacing: .02em; }
.grs-cadru .cd-ax{ fill: var(--grs-terra); font-weight: 700; dominant-baseline: central; }
@media (prefers-reduced-motion: no-preference){
  .grs-cadru .cd{ animation: grs-cd-in .7s var(--grs-ease) both; }
  .grs-cadru :is(.cd-axe, .cd-sol){ animation-delay: .15s; }
  .grs-cadru .cd-str{ animation-delay: .35s; }
  .grs-cadru :is(.cd-ferma, .cd-sec){ animation-delay: .6s; }
  .grs-cadru :is(.cd-spate, .cd-ghid){ animation-delay: .8s; }
  .grs-cadru :is(.cd-cote, .cd-bul){ animation-delay: 1s; }
  .grs-cadru .cd-txt{ animation-delay: 1.15s; }
}
@keyframes grs-cd-in{ from{ opacity: 0; transform: translateY(4px); } }

/* trei chenare: Sediu Central | formular | hartă */
.grs-contact-page__main--3{
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr) minmax(0, 1fr);
  gap: clamp(1.25rem, 2vw, 1.75rem);
  align-items: stretch;
}
.grs-contact-page__main--3 .grs-studio{ padding: 2.25rem 1.75rem 1.75rem; }
.grs-contact-page__main--3 .grs-studio__title{ margin: 0 0 .5rem; }
.grs-contact-page__main--3 .grs-formsheet{ padding: 2.25rem clamp(1.5rem, 2.4vw, 2.5rem); }

.grs-cmap{
  position: relative; overflow: hidden; min-height: 520px;
  background: var(--grs-ivory); border: 1px solid var(--wp--preset--color--line);
  scroll-margin-top: 7rem;
}
.grs-cmap__frame{
  position: absolute; inset: 0; width: 100%; height: 100%; border: 0;
  filter: grayscale(35%) contrast(1.02); transition: filter .3s ease;
}
.grs-cmap:hover .grs-cmap__frame{ filter: none; }
.grs-cmap__card{
  position: absolute; left: 1rem; right: 1rem; bottom: 1rem; z-index: 1;
  padding: 1.35rem 1.4rem 1.25rem;
  background: rgba(255,255,255,.96); box-shadow: 0 20px 40px -24px rgba(15,26,42,.45);
}
.grs-cmap__label{
  display: flex; align-items: center; gap: .6rem; margin: 0 0 .55rem;
  font-size: .72rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--grs-terra);
}
.grs-cmap__label::before{ content: ""; width: 24px; height: 1px; background: currentColor; }
.grs-cmap__title{ margin: 0 0 .5rem; font-family: var(--grs-serif); font-weight: 400; font-size: 1.6rem; line-height: 1.1; letter-spacing: -.015em; color: var(--grs-cont); }
.grs-cmap__addr{ margin: 0 0 1rem; font-size: .92rem; line-height: 1.55; color: var(--grs-mute); }
.grs-cmap__link{
  display: inline-flex; align-items: center; gap: .6rem; padding-bottom: .3rem;
  border-bottom: 1px solid var(--grs-terra);
  font-size: .72rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
  color: var(--grs-cont); text-decoration: none; transition: color .25s;
}
.grs-cmap__link svg{ transition: transform .3s var(--grs-ease); }
.grs-cmap__link:hover{ color: var(--grs-terra); }
.grs-cmap__link:hover svg{ transform: translateX(3px); }

@media (max-width: 1200px){
  .grs-contact-page__main--3{ grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); }
  .grs-contact-page__main--3 .grs-cmap{ grid-column: 1 / -1; min-height: 420px; }
  .grs-cmap__card{ right: auto; width: min(360px, calc(100% - 2rem)); }
}
@media (max-width: 900px){
  .grs-contact-page__main--3{ grid-template-columns: minmax(0, 1fr); }
  .grs-contact-page__main--3 .grs-cmap{ min-height: 460px; }
}

/* ============================================================
   ACASĂ — HARTA (înainte de subsol)
   Județele cu proiecte în portocaliul firmei; se colorează de la
   vest la est când harta intră în ecran.
   ============================================================ */
.grs-harta{
  --on: #b95136; --on-h: #8f3b22; --off: #ebe7e0;
  background: var(--grs-paper); padding: clamp(4rem, 8vw, 6.5rem) 0; border-top: 1px solid var(--grs-line);
}
.grs-harta__grid{ display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: clamp(2rem, 5vw, 5rem); align-items: center; }
.grs-harta__num{
  margin: .25rem 0 .75rem; font-family: var(--grs-serif); font-weight: 400;
  font-size: clamp(4rem, 9vw, 7.5rem); line-height: .9; letter-spacing: -.04em; color: var(--grs-cont);
}
.grs-harta__title{
  margin: 0 0 1.1rem; max-width: 24ch;
  font-family: var(--grs-sans); font-size: clamp(.95rem, 1.3vw, 1.1rem); font-weight: 700; line-height: 1.45;
  letter-spacing: .12em; text-transform: uppercase; color: var(--grs-cont);
}
.grs-harta__lede{ margin: 0 0 1.5rem; max-width: 40ch; font-size: 1rem; line-height: 1.7; color: var(--grs-mute); }
.grs-harta__legend{ list-style: none; margin: 0 0 1.75rem; padding: 0; font-size: .85rem; color: var(--grs-mute); }
.grs-harta__legend li{ display: flex; align-items: center; gap: .6rem; }
.grs-harta__key{ width: 14px; height: 14px; background: var(--off); }
.grs-harta__key.is-on{ background: var(--on); }

.grs-harta__map{ position: relative; margin: 0; }
.grs-harta__map svg{ display: block; width: 100%; height: auto; overflow: visible; }
.grs-harta__judete path{
  stroke: var(--grs-paper); stroke-width: 1.1; stroke-linejoin: round; vector-effect: non-scaling-stroke;
  transition: fill .2s ease; cursor: default;
}
.grs-harta__judete .is-off{ fill: var(--off); }
.grs-harta__judete .is-on{ fill: var(--on); }
.grs-harta.is-wait .grs-harta__judete .is-on{ fill: var(--off); }
.grs-harta.is-rev .grs-harta__judete .is-on{ transition: fill .6s ease var(--d, 0ms); }
.grs-harta__judete .is-on:hover{ fill: var(--on-h); }
.grs-harta__judete .is-off:hover{ fill: #ddd7cd; }
.grs-harta__vecini text{
  font-family: var(--grs-sans); font-size: 15px; font-weight: 700; letter-spacing: .14em;
  fill: var(--grs-mute); opacity: .55; text-anchor: middle;
}
.grs-harta__vecini .is-mare{ font-family: var(--grs-serif); font-size: 18px; font-style: italic; font-weight: 400; letter-spacing: .02em; }
.grs-harta__tip{
  position: absolute; left: 0; top: 0; z-index: 2; pointer-events: none;
  transform: translate(-50%, calc(-100% - 14px));
  padding: .45rem .75rem; background: var(--grs-navy); color: #fff;
  font-size: .8rem; font-weight: 600; white-space: nowrap;
  opacity: 0; transition: opacity .15s;
}
.grs-harta__tip.is-vis{ opacity: 1; }
.grs-harta__tip.is-on::before{ content: ""; display: inline-block; width: 8px; height: 8px; margin-right: .5rem; background: var(--on); }

@media (max-width: 900px){
  .grs-harta__grid{ grid-template-columns: minmax(0, 1fr); }
  .grs-harta__text{ text-align: center; }
  .grs-harta__text .grs-pf__eyebrow{ justify-content: center; }
  .grs-harta__title, .grs-harta__lede{ margin-inline: auto; }
  .grs-harta__legend li{ justify-content: center; }
}
@media (max-width: 600px){
  .grs-harta__vecini{ display: none; }
}

/* ---------- Inovație și tehnologie (BIM): mai puțin spațiu între „Ce este BIM?" și „Cum folosim BIM?" ---------- */
.grs-bim .grs-ab-split{ padding-bottom: clamp(1.5rem, 3vw, 2.5rem); }
.grs-bim .grs-ab-why{ padding-top: clamp(1rem, 2vw, 1.5rem); }

/* ---------- Portofoliu: rânduri alternante (.grs-fp din acasa.css) pe fond crem, ca pe prima pagină ---------- */
/* !important: grupul din template are padding-top: 0 inline */
.grs-page-body:has(.grs-fp--portofoliu){ background: var(--grs-page); padding-top: clamp(2.5rem, 5vw, 4rem) !important; }
.grs-fp--portofoliu .grs-fp__row{ scroll-margin-top: 7rem; }
.grs-fp--portofoliu + .grs-proj-pager{ margin-top: clamp(2.5rem, 5vw, 4rem); }
/* pioneza proiectelor fixate sus — doar în Portofoliu (pe prima pagină toate trei sunt fixate) */
.grs-fp__pin{ display: none; }
.grs-fp--portofoliu .grs-fp__pin{
  display: grid; place-items: center; position: absolute;
  top: clamp(1.25rem, 2.6vw, 2.25rem); right: clamp(1.25rem, 2.6vw, 2.25rem);
  width: 44px; height: 44px; border-radius: 50%;
  background: var(--grs-page); color: #6f7680;
}
.grs-fp--portofoliu .grs-fp__pin svg{ width: 24px; height: 24px; }
