/*
Theme Name: Grescu
Theme URI: https://grescu.local/
Description: Temă custom pentru GRS — arhitectură, proiectare și execuție. Child theme peste Twenty Twenty-Five.
Author: GRS
Version: 0.4.0
Requires at least: 6.5
Tested up to: 6.7
Requires PHP: 7.4
Template: twentytwentyfive
Text Domain: grescu
Tags: block-theme, architecture, construction
*/

/* ============================================================
   PLACEHOLDER — foto arhitectură (SVG inline, monocrom)
   ============================================================ */
.grescu-placeholder{
  position:relative;
  overflow:hidden;
  aspect-ratio: 4 / 3;
  background:
    linear-gradient(135deg, #2a3648 0%, #131c2b 100%);
  color: rgba(255,255,255,.35);
  font-family: var(--wp--preset--font-family--vollkorn, serif);
  font-size: .85rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  display:flex;
  align-items:flex-end;
  justify-content:flex-start;
  padding: 1.25rem;
}
.grescu-placeholder::before{
  content:"";
  position:absolute; inset:0;
  background-image:
    /* linii orizontale subțiri (etaje) */
    linear-gradient(to bottom, transparent 0, transparent calc(100% / 8 - 1px), rgba(255,255,255,.04) calc(100% / 8 - 1px), rgba(255,255,255,.04) calc(100% / 8), transparent calc(100% / 8)),
    /* linii verticale (structură) */
    linear-gradient(to right, transparent 0, transparent calc(100% / 12 - 1px), rgba(255,255,255,.04) calc(100% / 12 - 1px), rgba(255,255,255,.04) calc(100% / 12), transparent calc(100% / 12));
  background-size: 100% calc(100% / 8), calc(100% / 12) 100%;
}
.grescu-placeholder::after{
  content:"";
  position:absolute; inset:0;
  background:
    radial-gradient(ellipse 60% 40% at 30% 30%, rgba(255,220,180,.08), transparent 60%),
    radial-gradient(ellipse 40% 40% at 80% 70%, rgba(194,96,63,.08), transparent 60%);
  pointer-events:none;
}
.grescu-placeholder span{ position:relative; z-index:2 }

.grescu-placeholder--tall{ aspect-ratio: 3 / 4; }
.grescu-placeholder--wide{ aspect-ratio: 16 / 9; }
.grescu-placeholder--hero{
  aspect-ratio: 21 / 9;
  min-height: 68vh;
  padding: 3rem;
}
.grescu-placeholder--light{
  background: linear-gradient(135deg, #e8e5db 0%, #d4cfc0 100%);
  color: rgba(30,45,70,.35);
}

/* ============================================================
   HERO FULL-BLEED cu overlay + text
   ============================================================ */
.grescu-hero{
  position: relative;
  min-height: 78vh;
  display: flex;
  align-items: flex-end;
  color: #fff;
  overflow: hidden;
}
.grescu-hero__bg{
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #1a2230 0%, #0a0f18 100%);
  z-index: 0;
  overflow: hidden;
}

/* Video de fundal */
.grescu-hero__video{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  z-index: 0;
  opacity: 0;
  transition: opacity 1.2s ease .3s;
}
.grescu-hero--video .grescu-hero__video{
  opacity: 1;
}
/* Când video-ul e activ, gradient-ul devine overlay peste el */
.grescu-hero--video .grescu-hero__bg{
  background: transparent;
}
.grescu-hero--video .grescu-hero__bg::after{
  background:
    radial-gradient(ellipse 45% 55% at 20% 30%, rgba(0,0,0,.15), transparent 60%),
    radial-gradient(ellipse 40% 40% at 85% 75%, rgba(194,96,63,.1), transparent 55%),
    linear-gradient(to top, rgba(0,0,0,.75) 0%, rgba(0,0,0,.35) 60%, rgba(0,0,0,.55) 100%);
  z-index: 1;
}
.grescu-hero--video .grescu-hero__inner{ z-index: 2; }
.grescu-hero--video .grescu-hero__scroll{ z-index: 3; }

/* Respect reduced motion — nu autoplay */
@media (prefers-reduced-motion: reduce){
  .grescu-hero__video{ display: none; }
  .grescu-hero--video .grescu-hero__bg{
    background: linear-gradient(135deg, #1a2230 0%, #0a0f18 100%);
  }
}
.grescu-hero__bg::before{
  content:"";
  position:absolute; inset:0;
  /* Grid subtile — doar când NU e video (când e video, arată neplăcut peste imagine) */
  background-image:
    linear-gradient(to bottom, transparent 0, transparent calc(100% / 10 - 1px), rgba(255,255,255,.03) calc(100% / 10 - 1px), rgba(255,255,255,.03) calc(100% / 10), transparent calc(100% / 10)),
    linear-gradient(to right, transparent 0, transparent calc(100% / 16 - 1px), rgba(255,255,255,.03) calc(100% / 16 - 1px), rgba(255,255,255,.03) calc(100% / 16), transparent calc(100% / 16));
  background-size: 100% calc(100% / 10), calc(100% / 16) 100%;
}
.grescu-hero--video .grescu-hero__bg::before{
  display: none; /* fără grid când e video */
}
.grescu-hero__bg::after{
  content:"";
  position:absolute; inset:0;
  /* Overlay implicit — pentru versiunea FĂRĂ video (gradient dark discret) */
  background:
    radial-gradient(ellipse 45% 55% at 20% 30%, rgba(255,220,180,.06), transparent 60%),
    radial-gradient(ellipse 40% 40% at 85% 75%, rgba(194,96,63,.08), transparent 55%),
    linear-gradient(to top, rgba(0,0,0,.35) 0%, rgba(0,0,0,.08) 60%, rgba(0,0,0,.25) 100%);
}
/* Overlay pentru versiunea CU VIDEO — asimetric, dark stânga, transparent dreapta */
.grescu-hero--video .grescu-hero__bg::after{
  background:
    /* Fade top — tranziție dinspre header, subtile */
    linear-gradient(to bottom,
      rgba(246, 245, 242, .12) 0%,
      rgba(8, 18, 24, 0) 15%,
      rgba(8, 18, 24, 0) 85%,
      rgba(8, 18, 24, .55) 100%),
    /* Overlay orizontal asimetric — cinematic */
    linear-gradient(90deg,
      rgba(8, 18, 24, .82) 0%,
      rgba(8, 18, 24, .62) 38%,
      rgba(8, 18, 24, .20) 75%,
      rgba(8, 18, 24, .08) 100%);
}
.grescu-hero__inner{
  position: relative; z-index: 2;
  width: 100%;
  max-width: 1240px;
  margin: 0 auto;
  padding: 6rem clamp(1.5rem, 4vw, 3rem) 5rem;
}
.grescu-hero__eyebrow{
  display:inline-block;
  font-size:.8rem;
  letter-spacing:.32em;
  text-transform:uppercase;
  color: #ffffff;
  opacity: 1;
  font-weight: 700;
  padding-bottom: .55rem;
  border-bottom: 1px solid rgba(201, 101, 67, .85);
  margin-bottom: 1.5rem;
  text-shadow: 0 1px 2px rgba(0, 0, 0, .35);
}
.grescu-hero__title{
  font-family: var(--wp--preset--font-family--vollkorn);
  font-size: clamp(2.75rem, 6.5vw, 5.5rem);
  font-weight: 400;
  line-height: 1.02;
  letter-spacing: -0.025em;
  margin: 0 0 1.5rem;
  max-width: 820px;
  color: #f2f0eb; /* warm off-white în loc de alb pur */
}
.grescu-hero__title em{
  font-style: normal;
  color: #c96543; /* muted terracotta — mai elegant decât accent brut */
  font-size: .95em; /* ușor mai mic — balans între cele 2 rânduri */
}
.grescu-hero__lead{
  font-size: 1.1rem;
  line-height: 1.6;
  max-width: 540px;
  color: #ffffff;
  font-weight: 500;
  margin: 0 0 2.5rem;
  text-shadow: 0 1px 3px rgba(0, 0, 0, .35);
}
.grescu-hero__scroll{
  position:absolute;
  bottom: 1.5rem;
  right: clamp(1.5rem, 4vw, 3rem);
  z-index: 3;
  font-size: .7rem;
  letter-spacing: .3em;
  text-transform: uppercase;
  color: rgba(242, 240, 235, .35);
  writing-mode: vertical-rl;
  transform: rotate(180deg);
}

/* CTA în hero — outline terracotta puternic, text alb dens */
.grescu-hero__cta{
  display: inline-flex;
  align-items: center;
  gap: .85rem;
  padding: 0 2rem;
  height: 52px;
  border: 1.5px solid #c96543;
  background: transparent;
  color: #ffffff;
  font-family: var(--wp--preset--font-family--manrope);
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  text-decoration: none;
  position: relative;
  overflow: hidden;
  transition: color .35s ease, border-color .35s ease;
}
.grescu-hero__cta::before{
  content: "";
  position: absolute; inset: 0;
  background: #c96543;
  transform: translateX(-101%);
  transition: transform .45s cubic-bezier(.7,.05,.3,1);
  z-index: 0;
}
.grescu-hero__cta:hover,
.grescu-hero__cta:focus-visible{
  color: #f2f0eb;
  border-color: #c96543;
}
.grescu-hero__cta:hover::before,
.grescu-hero__cta:focus-visible::before{ transform: translateX(0); }
.grescu-hero__cta span,
.grescu-hero__cta svg{ position: relative; z-index: 1; }
.grescu-hero__cta svg{
  color: #c96543;
  transition: color .3s ease, transform .3s cubic-bezier(.7,.05,.3,1);
}
.grescu-hero__cta:hover svg,
.grescu-hero__cta:focus-visible svg{
  color: #f2f0eb;
  transform: translateX(4px);
}
.grescu-hero__cta:focus-visible{
  outline: 2px solid rgba(201, 101, 67, .8);
  outline-offset: 3px;
}

/* ============================================================
   TOP UTILITY BAR
   ============================================================ */
.grescu-utility{
  background: var(--wp--preset--color--contrast);
  color: rgba(255,255,255,.9);
  font-size: .74rem;
  font-weight: 500;
  letter-spacing: .06em;
  padding: .62rem 0;
}
.grescu-utility a{
  color: #fff;
  font-weight: 600;
  text-decoration: none;
  transition: color .25s cubic-bezier(.4,0,.2,1);
}
.grescu-utility a:hover{ color: var(--wp--preset--color--accent); }
.grescu-utility__inner{
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 clamp(1.5rem, 4vw, 3rem);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
}
.grescu-utility__contact,
.grescu-utility__meta{ display: flex; align-items: center; gap: 1.6rem; }

/* fără separatoare decorative — doar spațiu între informații */
.grescu-utility__contact{ gap: 1.9rem; }

/* ============================================================
   SITE HEADER
   ============================================================ */
.grescu-site-header{
  position: relative;
  /* trecere graduală: ivory sus → alb la bază, ca să nu existe muchie bruscă */
  background: linear-gradient(180deg,
    #f6f5f2 0%,
    #f6f5f2 42%,
    #f9f8f6 72%,
    #ffffff 100%);
  /* linie subțire, discretă — navy desaturat */
  border-bottom: 1px solid rgba(15, 26, 42, .18);
}
/* Grid de planșă tehnică — textură subliminală, se stinge spre bază */
.grescu-site-header::before{
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background-image:
    repeating-linear-gradient(90deg, rgba(15, 26, 42, .030) 0 1px, transparent 1px 68px),
    repeating-linear-gradient(90deg, rgba(15, 26, 42, .016) 0 1px, transparent 1px 17px);
  -webkit-mask-image: linear-gradient(to bottom, transparent 0, rgba(0,0,0,.95) 26%, rgba(0,0,0,.95) 62%, transparent 97%);
  mask-image: linear-gradient(to bottom, transparent 0, rgba(0,0,0,.95) 26%, rgba(0,0,0,.95) 62%, transparent 97%);
}
/* conținutul stă peste textură */
.grescu-site-header > *{ position: relative; z-index: 1; }

.wp-block-site-title a{
  text-decoration: none !important;
  color: var(--wp--preset--color--contrast) !important;
}

/* Logo GRS SVG — înlocuiește wordmark-ul */
.grs-logo{
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  line-height: 1;
}
.grs-logo__mark{
  height: 48px;
  width: auto;
  display: block;
}
/* Logo real (PNG cu fundal transparent) */
.grs-logo__img{
  display: block;
  height: 82px;
  width: auto;
  max-width: 100%;
}
@media (max-width: 1100px){ .grs-logo__img{ height: 70px; } }
@media (max-width: 900px){  .grs-logo__img{ height: 60px; } }
@media (max-width: 480px){  .grs-logo__img{ height: 48px; } }
.grs-logo__sr{
  position: absolute !important;
  width: 1px; height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}
@media (max-width: 768px){
  .grs-logo__mark{ height: 40px; }
}

/* Cariere page — variant fără border-bottom pentru zona footer CTA */
.grs-car-page--no-border{
  border-bottom: 0;
  padding-top: 0;
  padding-bottom: clamp(3rem, 5vw, 5rem);
  border-top: 1px solid var(--wp--preset--color--line);
  margin-top: 2rem;
}

/* Meniu principal — minimalist, aproape-negru cu underline hover teracotă */
.grescu-site-header .wp-block-navigation .wp-block-navigation-item__content{
  position: relative;
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: 1.12rem;
  font-weight: 500;
  color: var(--wp--preset--color--contrast);
  padding: .4rem 0 .85rem;
  border-bottom: 0 !important;
  text-decoration: none !important;
  outline: none;
  transition: color .28s cubic-bezier(.4,0,.2,1);
}

/* ---- INDICATOR ACTIV ----
   O singură linie, care se construiește de la stânga la dreapta. */
.grescu-site-header .wp-block-navigation .wp-block-navigation-item__content::before{
  content: "";
  position: absolute;
  left: 0; width: 100%; bottom: 0;
  height: 1.5px;
  background: var(--wp--preset--color--accent);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s cubic-bezier(.4, 0, .2, 1);
  pointer-events: none;
}
.grescu-site-header .wp-block-navigation .wp-block-navigation-item__content::after{ content: none; }
.grescu-site-header .wp-block-navigation .wp-block-navigation-item__content:hover::before,
.grescu-site-header .wp-block-navigation .wp-block-navigation-item__content:focus-visible::before,
.grescu-site-header .wp-block-navigation .current-menu-item .wp-block-navigation-item__content::before{
  transform: scaleX(1);
}
/* fără chenar negru la click — underline teracotă pentru tastatură */
.grescu-site-header .wp-block-navigation .wp-block-navigation-item__content:focus{
  outline: none !important;
  box-shadow: none !important;
}
.grescu-site-header .wp-block-navigation .wp-block-navigation-item__content:focus-visible{
  outline: none !important;
  border-bottom-color: var(--wp--preset--color--accent);
}
.grescu-site-header .wp-block-navigation .wp-block-navigation-item__content:hover,
.grescu-site-header .wp-block-navigation .wp-block-navigation-item__content:focus,
.grescu-site-header .wp-block-navigation .current-menu-item .wp-block-navigation-item__content{
  color: var(--wp--preset--color--contrast);
  text-decoration: none !important;
}

/* ---- Ritm: micro-treaptă între itemi, aproape subliminală ---- */
@media (min-width: 1001px){
  .grescu-site-header .wp-block-navigation__container > .wp-block-navigation-item{ position: relative; }
  .grescu-site-header .wp-block-navigation__container > .wp-block-navigation-item + .wp-block-navigation-item::before,
  .grescu-site-header .wp-block-navigation__container > .wp-block-navigation-item + .wp-block-navigation-item::after{
    content: "";
    position: absolute;
    top: 50%;
    width: 5px;
    height: 1px;
    background: rgba(15, 26, 42, .14);
  }
  .grescu-site-header .wp-block-navigation__container > .wp-block-navigation-item + .wp-block-navigation-item::before{
    left: -1.75rem; margin-top: 1px;
  }
  .grescu-site-header .wp-block-navigation__container > .wp-block-navigation-item + .wp-block-navigation-item::after{
    left: -1.25rem; margin-top: -2px;
  }
}

/* ============================================================
   MENIU MOBIL (overlay) — fundal alb, curat, în tema site-ului
   ============================================================ */
/* overlay fix pe tot ecranul, opac, cu scroll propriu —
   altfel conținutul mai înalt decât ecranul iese din fundal
   și se suprapune peste pagina de dedesubt */
.grescu-site-header .wp-block-navigation__responsive-container.is-menu-open{
  position: fixed !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  background: #f6f5f2 !important;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  z-index: 9999;
}
/* lanțul interior: umple ecranul, dar crește dacă e nevoie */
.grescu-site-header .is-menu-open .wp-block-navigation__responsive-close,
.grescu-site-header .is-menu-open .wp-block-navigation__responsive-dialog,
.grescu-site-header .is-menu-open .wp-block-navigation__responsive-container-content{
  height: auto !important;
  min-height: 100% !important;
  width: 100% !important;
  max-width: none !important;
}
/* conținutul centrat vertical */
.grescu-site-header .is-menu-open .wp-block-navigation__responsive-container-content{
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  padding: 3.6rem 1.75rem 1.4rem !important;
  box-sizing: border-box;
}
.grescu-site-header .is-menu-open .wp-block-navigation__container{
  flex: 0 0 auto !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  gap: 0 !important;
  width: 100% !important;
  max-width: 520px !important;
  margin: 0 auto !important;
}
.grescu-site-header .is-menu-open .wp-block-navigation-item{
  display: block !important;
  width: 100%;
  border-bottom: 1px solid var(--wp--preset--color--line);
  opacity: 0;
  animation: mmenuIn .5s cubic-bezier(.7,.05,.3,1) forwards;
}
.grescu-site-header .is-menu-open .wp-block-navigation-item:first-child{
  border-top: 1px solid var(--wp--preset--color--line);
}
.grescu-site-header .is-menu-open .wp-block-navigation-item:nth-child(1){ animation-delay: .04s; }
.grescu-site-header .is-menu-open .wp-block-navigation-item:nth-child(2){ animation-delay: .09s; }
.grescu-site-header .is-menu-open .wp-block-navigation-item:nth-child(3){ animation-delay: .14s; }
.grescu-site-header .is-menu-open .wp-block-navigation-item:nth-child(4){ animation-delay: .19s; }
.grescu-site-header .is-menu-open .wp-block-navigation-item:nth-child(5){ animation-delay: .24s; }
.grescu-site-header .is-menu-open .wp-block-navigation-item:nth-child(6){ animation-delay: .29s; }
@keyframes mmenuIn{
  from{ opacity: 0; transform: translateY(12px); }
  to{ opacity: 1; transform: none; }
}
.grescu-site-header .wp-block-navigation .is-menu-open .wp-block-navigation-item__content{
  display: block !important;
  width: 100%;
  text-align: left !important;
  padding: .92rem .25rem !important;
  margin: 0 !important;
  border: 0 !important;
  color: var(--wp--preset--color--contrast) !important;
  font-family: var(--wp--preset--font-family--vollkorn) !important;
  font-size: clamp(1.65rem, 8vw, 2.1rem) !important;
  font-weight: 400 !important;
  letter-spacing: -.01em !important;
  text-transform: none !important;
  transition: color .3s ease, padding-left .3s ease;
}
.grescu-site-header .wp-block-navigation .is-menu-open .wp-block-navigation-item__content:hover,
.grescu-site-header .wp-block-navigation .is-menu-open .wp-block-navigation-item__content:focus,
.grescu-site-header .wp-block-navigation .is-menu-open .current-menu-item .wp-block-navigation-item__content{
  color: var(--wp--preset--color--accent) !important;
  padding-left: 1rem !important;
}
/* logo în capul meniului mobil */
.grs-mnav-logo{ display: none; }
.grescu-site-header .is-menu-open .grs-mnav-logo{
  display: block;
  width: 100%;
  max-width: 520px;
  margin: 0 auto 1.25rem;
  opacity: 0;
  animation: mmenuIn .5s cubic-bezier(.7,.05,.3,1) forwards;
}
.grs-mnav-logo img{ display: block; height: 60px; width: auto; max-width: 100%; }

/* bloc de contact în josul meniului — umple ecranul cu ceva util */
.grs-mnav-foot{
  display: none;
  margin-top: auto;
  width: 100%;
  max-width: 520px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 1.3rem;
  border-top: 1px solid var(--wp--preset--color--line);
  opacity: 0;
  animation: mmenuIn .5s cubic-bezier(.7,.05,.3,1) .3s forwards;
}
.grescu-site-header .is-menu-open .grs-mnav-foot{ display: block; }
.grs-mnav-foot__lbl{
  display: block;
  font-family: var(--wp--preset--font-family--manrope);
  font-size: .66rem; letter-spacing: .28em; text-transform: uppercase;
  color: var(--wp--preset--color--accent); font-weight: 700;
  margin-bottom: .9rem;
}
.grs-mnav-foot a{
  display: block;
  font-family: var(--wp--preset--font-family--vollkorn);
  font-size: 1.35rem; line-height: 1.35;
  color: var(--wp--preset--color--contrast);
  text-decoration: none;
  letter-spacing: -.01em;
}
.grs-mnav-foot a + a{ margin-top: .2rem; }
.grs-mnav-foot__addr{
  margin: .75rem 0 0;
  font-family: var(--wp--preset--font-family--manrope);
  font-size: .82rem; line-height: 1.5;
  color: var(--wp--preset--color--muted);
}

/* hamburgerul — doar culoarea, dimensiunea vine din media query */
.grescu-site-header .wp-block-navigation__responsive-container-open{
  color: var(--wp--preset--color--contrast);
}

/* butonul X — pătrat cu chenar fin, suficient de mare ca țintă de atingere */
.grescu-site-header .is-menu-open .wp-block-navigation__responsive-container-close{
  position: absolute;
  /* pe verticala logoului din overlay (logo 46px, marca 52px sub 560px) */
  top: 68px;
  right: clamp(1rem, 4vw, 1.75rem);
  z-index: 10;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  padding: 0;
  color: var(--wp--preset--color--contrast);
  background: transparent;
  border: 1px solid rgba(15, 26, 42, .25);
  border-radius: 0;
  cursor: pointer;
  transition: color .25s ease, background-color .25s ease, border-color .25s ease;
}
.grescu-site-header .is-menu-open .wp-block-navigation__responsive-container-close svg{
  width: 24px;
  height: 24px;
  fill: currentColor;
}
.grescu-site-header .is-menu-open .wp-block-navigation__responsive-container-close:hover,
.grescu-site-header .is-menu-open .wp-block-navigation__responsive-container-close:focus-visible{
  color: #fff;
  background: var(--wp--preset--color--accent);
  border-color: var(--wp--preset--color--accent);
  outline: none;
}
/* colțare aurii discrete, ca pe cardurile de proiect */
.grescu-site-header .is-menu-open .wp-block-navigation__responsive-container-close::before,
.grescu-site-header .is-menu-open .wp-block-navigation__responsive-container-close::after{
  content: "";
  position: absolute;
  width: 9px;
  height: 9px;
  border: 0 solid var(--wp--preset--color--accent);
  transition: width .3s ease, height .3s ease;
}
.grescu-site-header .is-menu-open .wp-block-navigation__responsive-container-close::before{
  top: -1px; left: -1px;
  border-top-width: 1px; border-left-width: 1px;
}
.grescu-site-header .is-menu-open .wp-block-navigation__responsive-container-close::after{
  bottom: -1px; right: -1px;
  border-bottom-width: 1px; border-right-width: 1px;
}
.grescu-site-header .is-menu-open .wp-block-navigation__responsive-container-close:hover::before,
.grescu-site-header .is-menu-open .wp-block-navigation__responsive-container-close:hover::after{
  width: 16px; height: 16px;
}

@media (prefers-reduced-motion: reduce){
  .grescu-site-header .is-menu-open .wp-block-navigation-item{ opacity: 1; animation: none; }
}

/* Logo GRS wordmark */
.grs-mark{
  display: inline-flex;
  align-items: baseline;
  font-family: var(--wp--preset--font-family--vollkorn);
  font-size: 1.85rem;
  font-weight: 500;
  letter-spacing: .08em;
  color: var(--wp--preset--color--contrast);
  line-height: 1;
  text-decoration: none;
}
.grs-mark em{
  font-style: normal;
  color: var(--wp--preset--color--accent);
}
.grs-mark small{
  font-family: var(--wp--preset--font-family--manrope);
  font-size: .55rem;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--wp--preset--color--muted);
  margin-left: .75rem;
  padding-left: .85rem;
  border-left: 1px solid var(--wp--preset--color--line);
  align-self: center;
  line-height: 1.4;
  font-weight: 500;
}

/* ============================================================
   FEATURETTE — 3 bloculețe sub hero (ca la TheBuilt)
   ============================================================ */
.grescu-features{
  background: #f6f5f2; /* warm off-white — tranziție blândă din hero-ul video */
  border-bottom: 1px solid rgba(15, 26, 42, .06);
}
.grescu-features__inner{
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 clamp(1.5rem, 4vw, 3rem);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}
.grescu-feature{
  padding: 2.5rem 2rem;
  border-left: 1px solid var(--wp--preset--color--line);
  position: relative;
}
.grescu-feature:first-child{ border-left: 0; padding-left: 0; }
.grescu-feature:last-child{ padding-right: 0; }
.grescu-feature__label{
  font-size: .7rem;
  letter-spacing: .3em;
  text-transform: uppercase;
  color: var(--wp--preset--color--muted);
  margin: 0 0 .5rem;
  font-weight: 600;
}
.grescu-feature__title{
  font-family: var(--wp--preset--font-family--vollkorn);
  font-size: 1.35rem;
  font-weight: 500;
  color: var(--wp--preset--color--contrast);
  margin: 0;
  line-height: 1.25;
}

/* ============================================================
   COMPONENTE
   ============================================================ */
.grescu-eyebrow{
  display: inline-block;
  font-size: .72rem;
  letter-spacing: .3em;
  text-transform: uppercase;
  color: var(--wp--preset--color--muted);
  padding-bottom: .35rem;
  border-bottom: 1px solid var(--wp--preset--color--accent);
  margin-bottom: 1.5rem;
  font-weight: 600;
}

.grescu-service-card{
  padding: 2.5rem 2rem;
  border-top: 1px solid var(--wp--preset--color--line);
  background: transparent;
  transition: background-color .3s ease;
}
.grescu-service-card:hover{
  background: var(--wp--preset--color--surface);
}
.grescu-service-card .grescu-service-num{
  font-family: var(--wp--preset--font-family--vollkorn);
  color: var(--wp--preset--color--accent);
  font-size: .8rem;
  letter-spacing: .3em;
  display: block;
  margin-bottom: 1rem;
  font-weight: 500;
}
.grescu-service-card h3, .grescu-service-card h4{
  font-family: var(--wp--preset--font-family--vollkorn);
  font-weight: 500;
  color: var(--wp--preset--color--contrast);
  margin: 0 0 .75rem 0;
}
.grescu-service-card p{
  color: var(--wp--preset--color--muted);
  font-size: .98rem;
  line-height: 1.7;
  margin: 0;
}

.grescu-stat-num{
  font-family: var(--wp--preset--font-family--vollkorn);
  font-weight: 400;
  font-size: clamp(2.75rem, 5vw, 4.25rem);
  line-height: 1;
  color: var(--wp--preset--color--accent);
  letter-spacing: -0.02em;
}
.grescu-stat-lbl{
  font-size: .72rem;
  letter-spacing: .25em;
  text-transform: uppercase;
  color: var(--wp--preset--color--muted);
  margin: .75rem 0 0;
  font-weight: 600;
}

/* Link „citește mai mult" cu săgeată */
.grescu-arrow-link{
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  font-size: .78rem;
  letter-spacing: .25em;
  text-transform: uppercase;
  color: var(--wp--preset--color--contrast);
  text-decoration: none;
  padding-bottom: .3rem;
  border-bottom: 1px solid var(--wp--preset--color--accent);
  font-weight: 600;
  transition: gap .25s ease;
}
.grescu-arrow-link:hover{ gap: 1rem; }
.grescu-arrow-link::after{ content: "→"; color: var(--wp--preset--color--accent); }

/* Section pattern helper */
.is-narrow{ max-width: 720px; }

/* Fine tuning existing WP blocks */
.wp-block-buttons .wp-block-button__link{
  border-radius: 0;
  transition: background-color .2s ease, color .2s ease;
  min-height: 44px;
}

/* ============================================================
   CONTACT PAGE — v0.8: disciplină, container unic 1360px
   Un singur limbaj grafic. 80% site premium, 20% referință arhitecturală.
   ============================================================ */

.grs-contact-page{
  background: #ffffff;
  border-bottom: 1px solid var(--wp--preset--color--line);
  padding: clamp(1.5rem, 2.5vw, 2.5rem) 0 clamp(2.5rem, 4vw, 4rem);
}
.grs-contact-page__container{
  max-width: 1360px;
  margin: 0 auto;
  padding: 0 clamp(1.5rem, 4vw, 3.5rem);
}

/* HEAD — schiță skyline care se construiește + titlu */
.grs-contact-page__head{
  text-align: center;
  margin: 0;
  padding: 0;
  position: relative;
}

.grs-skyline{
  display: block;
  width: 100%;
  max-width: 1360px;
  height: auto;
  margin: 0 auto;
  overflow: visible;
}

/* ---- ANIMAȚIE SKYLINE (~2.5s total, discret) ---- */

/* Toate rects/lines/paths pornesc invizibile */
.grs-skyline g > line,
.grs-skyline g > rect,
.grs-skyline g > polyline,
.grs-skyline g > polygon,
.grs-skyline .sk-b line,
.grs-skyline .sk-b rect,
.grs-skyline .sk-b polyline,
.grs-skyline .sk-b polygon,
.grs-skyline .sk-crane line,
.grs-skyline .sk-scaffold line,
.grs-skyline .sk-trees circle,
.grs-skyline .sk-trees line{
  opacity: 0;
  animation: sk-fade-up .4s ease forwards;
}

/* 1. Solul primul — 0.1s */
.sk-ground{ animation-delay: .1s !important; animation-duration: .8s !important; }

/* 2. Soarele — apare devreme, subtile */
.sk-sun{ animation-delay: .2s !important; }

/* 3. Clădirile — se ridică staggered, de la stânga la dreapta */
.sk-b1 rect, .sk-b1 polyline{ animation-delay: .35s; }
.sk-b1 rect:nth-of-type(n+2){ animation-delay: .45s; }

.sk-b2 rect:first-of-type{ animation-delay: .5s; }
.sk-b2 line{ animation-delay: .6s; }
.sk-b2 rect:not(:first-of-type){ animation-delay: .7s; }

/* Clădirea 3 — în construcție, ridicare progresivă cu structuri */
.sk-b3 line[y1="170"]{ animation-delay: .7s; } /* coloane */
.sk-b3 line[y1="35"]{ animation-delay: .95s; }  /* planșee de sus */
.sk-b3 rect{ animation-delay: 1.1s; } /* ferestre parțiale */

/* Schela alături */
.sk-scaffold line{ animation-delay: 1.2s; }
.sk-scaffold line:nth-child(n+7){ animation-delay: 1.3s; }

/* Macara — construită la final peste toate */
.sk-crane line[y1="170"]{ animation-delay: 1.05s; }
.sk-crane line[y1="22"], .sk-crane line[y1="18"]{ animation-delay: 1.5s; }
.sk-crane .sk-crane-jib{ animation-delay: 1.5s; }
.sk-crane .sk-crane-cjib{ animation-delay: 1.55s; }
.sk-crane .sk-crane-cable{ animation-delay: 1.75s; }
.sk-crane .sk-crane-hook{ animation-delay: 1.85s; }

/* Clădirile 4-7 — apar din nou staggered spre dreapta */
.sk-b4 rect:first-of-type{ animation-delay: .8s; }
.sk-b4 line{ animation-delay: .9s; }
.sk-b4 rect:not(:first-of-type){ animation-delay: 1s; }

.sk-b5 rect:first-of-type{ animation-delay: .95s; }
.sk-b5 polygon{ animation-delay: 1.05s; }
.sk-b5 line{ animation-delay: 1.1s; }
.sk-b5 rect:not(:first-of-type){ animation-delay: 1.2s; }

.sk-b6 rect:first-of-type{ animation-delay: 1.1s; }
.sk-b6 line{ animation-delay: 1.2s; }
.sk-b6 rect:not(:first-of-type){ animation-delay: 1.3s; }

.sk-b7 rect, .sk-b7 polyline{ animation-delay: 1.25s; }

/* Copaci / detalii — ultimele */
.sk-trees circle, .sk-trees line{ animation-delay: 1.9s; }

/* Cârligul macaralei — swing subtile după ce s-a construit */
.sk-crane-cable, .sk-crane-hook{
  transform-origin: 420px 22px;
  animation-name: sk-fade-up, sk-hook-swing;
  animation-duration: .4s, 4s;
  animation-delay: 1.75s, 2.5s;
  animation-fill-mode: forwards, none;
  animation-iteration-count: 1, infinite;
  animation-timing-function: ease, ease-in-out;
}
@keyframes sk-hook-swing{
  0%,100%{ transform: translateX(0); }
  50%{ transform: translateX(4px); }
}

@keyframes sk-fade-up{
  from{ opacity: 0; transform: translateY(3px); }
  to  { opacity: 1; transform: translateY(0); }
}

/* Titlul — apare primul, deasupra skyline-ului */
.grs-contact-page__title{
  font-family: var(--wp--preset--font-family--vollkorn);
  font-size: clamp(2.25rem, 4vw, 3.5rem);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -.03em;
  color: var(--wp--preset--color--contrast);
  margin: 0 0 2rem;
  display: block;
  opacity: 0;
  animation: grs-title-in .7s cubic-bezier(.7,.05,.3,1) .1s forwards;
}
@keyframes grs-title-in{
  from{ opacity: 0; transform: translateY(4px); letter-spacing: -.05em; }
  to  { opacity: 1; transform: translateY(0); letter-spacing: -.03em; }
}

/* Divider subtil */
.grs-contact-page__rule{
  border: 0;
  border-top: 1px solid var(--wp--preset--color--line);
  margin: 1.5rem 0 2rem;
}

/* ============================================================
   MAIN SPLIT — Studio Card + Formular
   ============================================================ */
.grs-contact-page__main{
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
  gap: clamp(2.5rem, 5vw, 5rem);
  align-items: stretch;
}

/* ---------- STUDIO CARD (business card arhitectural) ---------- */
.grs-studio{
  position: relative;
  padding: 2.5rem 2rem 1.75rem;
  background: #faf9f6;
  border: 1px solid var(--wp--preset--color--line);
  display: flex;
  flex-direction: column;
}
/* Items list se întinde ca să umple spațiul */
.grs-studio__items{
  flex: 1;
  justify-content: space-between;
}
/* Colțuri arhitecturale teracotă */
.grs-studio::before,
.grs-studio::after{
  content: "";
  position: absolute;
  width: 14px;
  height: 14px;
  border-color: var(--wp--preset--color--accent);
  z-index: 2;
}
.grs-studio::before{
  top: -6px; left: -6px;
  border-top: 1.5px solid;
  border-left: 1.5px solid;
}
.grs-studio::after{
  bottom: -6px; right: -6px;
  border-bottom: 1.5px solid;
  border-right: 1.5px solid;
}

/* HEADER cu ref + tagline */
.grs-studio__header{
  margin-bottom: 2rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid var(--wp--preset--color--line);
  position: relative;
}
.grs-studio__ref-badge{
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  margin-bottom: 1rem;
}
.grs-studio__ref-num{
  font-family: var(--wp--preset--font-family--vollkorn);
  font-size: .85rem;
  font-weight: 700;
  color: var(--wp--preset--color--accent);
  letter-spacing: .05em;
  padding: .2rem .5rem;
  border: 1px solid var(--wp--preset--color--accent);
  line-height: 1;
}
.grs-studio__ref-sep{
  width: 24px;
  height: 1px;
  background: var(--wp--preset--color--accent);
}
.grs-studio__ref-name{
  font-family: var(--wp--preset--font-family--manrope);
  font-size: .65rem;
  letter-spacing: .3em;
  text-transform: uppercase;
  color: var(--wp--preset--color--muted);
  font-weight: 600;
}
.grs-studio__title{
  font-family: var(--wp--preset--font-family--vollkorn);
  font-size: 1.9rem;
  font-weight: 500;
  color: var(--wp--preset--color--contrast);
  line-height: 1.05;
  letter-spacing: -.02em;
  margin: 0 0 .55rem;
}
.grs-studio__tagline{
  margin: 0;
  font-family: var(--wp--preset--font-family--vollkorn);
  font-size: .95rem;
  color: #4f5863;
  font-style: italic;
  line-height: 1.4;
}

/* ITEMS list */
.grs-studio__items{
  display: flex;
  flex-direction: column;
  gap: 0;
}
.grs-studio__item{
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: .6rem;
  row-gap: .4rem;
  align-items: baseline;
  padding: 1rem 0;
  border-bottom: 1px dashed rgba(15, 26, 42, .1);
}
.grs-studio__item:last-of-type{ border-bottom: 0; }

.grs-studio__item-index{
  font-family: var(--wp--preset--font-family--manrope);
  font-size: .62rem;
  color: var(--wp--preset--color--accent);
  font-weight: 700;
  letter-spacing: .15em;
  line-height: 1;
  grid-column: 1;
  grid-row: 1;
}
/* corpul se "dizolvă" în grilă, ca valoarea să pornească de la marginea cardului */
.grs-studio__item-body{ display: contents; }
.grs-studio__item-label{
  grid-column: 2;
  grid-row: 1;
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  font-size: .62rem;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--wp--preset--color--muted);
  font-weight: 600;
  margin-bottom: 0;
}
.grs-studio__item-icon{
  color: var(--wp--preset--color--accent);
  flex-shrink: 0;
}
.grs-studio__item-value{
  grid-column: 1 / -1;
  grid-row: 2;
  display: block;
  font-family: var(--wp--preset--font-family--vollkorn);
  font-size: 1.15rem;
  font-weight: 500;
  color: var(--wp--preset--color--contrast);
  line-height: 1.4;
  letter-spacing: -.005em;
  text-decoration: none;
  margin: 0;
}
.grs-studio__item-value--link{ transition: color .2s ease; }
.grs-studio__item-value--link:hover{ color: var(--wp--preset--color--accent); }

/* FOOTER cu link hartă + social */
.grs-studio__footer{
  margin-top: 1.75rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--wp--preset--color--line);
}
.grs-studio__map{
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  font-size: .72rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--wp--preset--color--contrast);
  text-decoration: none;
  padding-bottom: .3rem;
  border-bottom: 1.5px solid var(--wp--preset--color--accent);
  transition: gap .25s ease;
  margin-bottom: 1.75rem;
}
.grs-studio__map:hover{ gap: .95rem; }
.grs-studio__map svg{ color: var(--wp--preset--color--accent); }

/* Social */
.grs-studio__social{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-top: 1.25rem;
  border-top: 1px dashed rgba(15, 26, 42, .1);
}
.grs-studio__social-label{
  font-size: .62rem;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--wp--preset--color--muted);
  font-weight: 600;
}
.grs-studio__social-icons{
  display: flex;
  gap: .4rem;
}
/* Social icons mai mici în studio card */
.grs-studio__social .grs-social-icon{
  width: 34px;
  height: 34px;
}
.grs-social-icon{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 1px solid var(--wp--preset--color--line);
  color: var(--wp--preset--color--contrast);
  text-decoration: none;
  transition: color .2s ease, background-color .2s ease, border-color .2s ease, transform .25s ease;
}
.grs-social-icon:hover{
  color: #ffffff;
  background: var(--wp--preset--color--contrast);
  border-color: var(--wp--preset--color--contrast);
  transform: translateY(-2px);
}
.grs-social-icon:focus-visible{
  outline: 2px solid var(--wp--preset--color--accent);
  outline-offset: 2px;
}

/* Variantă pentru footer dark */
.grs-social-icon--dark{
  border-color: rgba(255, 255, 255, .18);
  color: rgba(255, 255, 255, .85);
}
.grs-social-icon--dark:hover{
  color: #ffffff;
  background: var(--wp--preset--color--accent);
  border-color: var(--wp--preset--color--accent);
}

/* Bloc social pentru footer */
.grs-footer-social{
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(255, 255, 255, .08);
}
.grs-footer-social__label{
  display: block;
  font-size: .68rem;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--wp--preset--color--accent);
  font-weight: 600;
  margin-bottom: .85rem;
}
.grs-footer-social__icons{
  display: flex;
  gap: .5rem;
}

/* ---------- FORMULAR (dreapta) ca planșă discretă ---------- */
.grs-formsheet{
  position: relative;
  padding: 2.5rem 3rem;
  background: #ffffff;
  border: 1px solid var(--wp--preset--color--line);
  /* Grid tehnic aproape imperceptibil */
  background-image:
    linear-gradient(to right, rgba(15,26,42,.015) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(15,26,42,.015) 1px, transparent 1px);
  background-size: 40px 40px;
}
.grs-formsheet::before,
.grs-formsheet::after{
  content: "";
  position: absolute;
  width: 12px;
  height: 12px;
  border: 1px solid var(--wp--preset--color--accent);
}
.grs-formsheet::before{
  top: -6px;
  left: -6px;
  border-right: 0;
  border-bottom: 0;
}
.grs-formsheet::after{
  bottom: -6px;
  right: -6px;
  border-left: 0;
  border-top: 0;
}

/* Head-ul formularului: singura referință arhitecturală */
.grs-formsheet__head{
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 1rem;
}
.grs-formsheet__ref{
  font-family: var(--wp--preset--font-family--manrope);
  font-size: .75rem;
  letter-spacing: .3em;
  text-transform: uppercase;
  color: var(--wp--preset--color--contrast);
  font-weight: 700;
}
.grs-formsheet__meta{
  font-family: var(--wp--preset--font-family--manrope);
  font-size: .68rem;
  letter-spacing: .3em;
  text-transform: uppercase;
  color: var(--wp--preset--color--muted);
  font-weight: 600;
}
.grs-formsheet__rule{
  display: flex;
  align-items: center;
  gap: .5rem;
  margin-bottom: 2rem;
}
.grs-formsheet__rule i{
  width: 6px;
  height: 6px;
  border: 1px solid var(--wp--preset--color--accent);
  transform: rotate(45deg);
  flex-shrink: 0;
}
.grs-formsheet__rule span{
  flex: 1;
  height: 1px;
  background: var(--wp--preset--color--accent);
}

/* Grila subtilă în fundal (ștearsă, înlocuită cu background-image de mai sus) */
.grs-blueprint-form__grid{ display: none; }

/* ============================================================
   FOOTER — refinat, compact, editorial architectural
   ============================================================ */

.grs-footer{
  background: var(--wp--preset--color--contrast);
  color: #b8c1cf;
  margin-top: 0; /* valul face singur tranzitia - vezi .grs-footer__wave */
  padding: 0 0 0;
  position: relative;
}

/* WAVE — tranziția organică între light și navy */
.grs-footer__wave{
  position: relative;
  display: block;
  width: 100%;
  height: clamp(50px, 7vw, 90px);
  /* valul urca peste sectiunea de deasupra, dar mai putin decat inaltimea lui,
     ca restul sa cada pe navy - fara banda alba intre ele */
  margin-top: calc(-1 * clamp(36px, 4vw, 56px));
  pointer-events: none;
  overflow: hidden;
  line-height: 0;
}
.grs-footer__wave svg{
  display: block;
  width: 100%;
  height: 100%;
}

/* Animație subtile: wave-ul principal apare cu un fade + slide up scurt */
.grs-footer__wave-main,
.grs-footer__wave-back{
  transform: translateY(6px);
  opacity: 0;
  animation: grs-wave-in 800ms cubic-bezier(.7,.05,.3,1) forwards;
}
.grs-footer__wave-back{
  animation-delay: 50ms;
}
.grs-footer__wave-main{
  animation-delay: 150ms;
}
@keyframes grs-wave-in{
  to{ transform: translateY(0); opacity: 1; }
}

/* Content-ul footer-ului începe după wave, cu padding normal */
.grs-footer > .grs-footer__container{
  padding-top: clamp(1.5rem, 3vw, 2.5rem);
}

@media (prefers-reduced-motion: reduce){
  .grs-footer__wave-main,
  .grs-footer__wave-back{
    animation: none;
    transform: none;
    opacity: 1;
  }
}
.grs-footer__container{
  max-width: 1360px;
  margin: 0 auto;
  padding: clamp(2rem, 3.5vw, 3rem) clamp(1.5rem, 4vw, 3.5rem) 0;
  position: relative;
  z-index: 2;
}

/* MAIN — grid 3 coloane (45/27.5/27.5) */
.grs-footer__main{
  display: grid;
  grid-template-columns: minmax(0, 45fr) minmax(0, 27fr) minmax(0, 28fr);
  gap: clamp(2.5rem, 5vw, 4.5rem);
  align-items: start;
  padding-bottom: clamp(2rem, 3.5vw, 2.75rem);
}

/* COL 1 — BRAND */
.grs-footer__col--brand{ max-width: 460px; }
.grs-footer__brand{
  font-family: var(--wp--preset--font-family--vollkorn);
  font-size: clamp(1.75rem, 2.5vw, 2.15rem);
  font-weight: 500;
  color: #ffffff;
  letter-spacing: -.02em;
  line-height: 1;
  margin: 0 0 .75rem;
}
.grs-footer__brand-dash{
  color: var(--wp--preset--color--accent);
  font-weight: 400;
  margin: 0 .05em;
}
.grs-footer__tagline{
  margin: 0 0 1.15rem;
  font-family: var(--wp--preset--font-family--vollkorn);
  font-size: 1rem;
  color: var(--wp--preset--color--accent);
  line-height: 1.3;
  letter-spacing: -.005em;
}
.grs-footer__tagline em{ font-style: italic; font-weight: 400; }
.grs-footer__desc{
  margin: 0;
  font-family: var(--wp--preset--font-family--manrope);
  font-size: .9rem;
  line-height: 1.55;
  color: #9aa3b0;
  max-width: 400px;
}

/* LABELS mici, uppercase, teracotă */
.grs-footer__label{
  margin: 0 0 1rem;
  font-family: var(--wp--preset--font-family--manrope);
  font-size: .62rem;
  letter-spacing: .3em;
  text-transform: uppercase;
  color: var(--wp--preset--color--accent);
  font-weight: 700;
}
.grs-footer__label--social{
  margin-top: 1.75rem;
}

/* COL 2 — CONTACT */
.grs-footer__contact{
  font-style: normal;
}
.grs-footer__addr{
  margin: 0 0 1rem;
  font-family: var(--wp--preset--font-family--manrope);
  font-size: .9rem;
  line-height: 1.55;
  color: #b8c1cf;
}
.grs-footer__links{
  list-style: none;
  margin: 0;
  padding: 0;
}
.grs-footer__links li{
  margin-bottom: .3rem;
}
.grs-footer__links a{
  color: #ffffff;
  text-decoration: none;
  font-family: var(--wp--preset--font-family--manrope);
  font-size: .9rem;
  line-height: 1.5;
  font-weight: 500;
  transition: color .2s ease;
  display: inline-block;
}
.grs-footer__links a:hover,
.grs-footer__links a:focus-visible{
  color: var(--wp--preset--color--accent);
}
.grs-footer__links a:focus-visible{
  outline: 2px solid var(--wp--preset--color--accent);
  outline-offset: 2px;
}

/* COL 3 — NAVIGARE + SOCIAL */
.grs-footer__nav{
  display: flex;
  flex-direction: column;
  gap: .55rem;
}
.grs-footer__nav a{
  color: #ffffff;
  text-decoration: none;
  font-family: var(--wp--preset--font-family--manrope);
  font-size: .9rem;
  font-weight: 500;
  line-height: 1.4;
  position: relative;
  transition: color .2s ease, transform .25s cubic-bezier(.7,.05,.3,1);
  align-self: flex-start;
  padding-bottom: 1px;
}
.grs-footer__nav a::after{
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 100%;
  height: 1px;
  background: var(--wp--preset--color--accent);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .3s cubic-bezier(.7,.05,.3,1);
}
.grs-footer__nav a:hover,
.grs-footer__nav a:focus-visible{
  color: var(--wp--preset--color--accent);
  transform: translateX(3px);
}
.grs-footer__nav a:hover::after,
.grs-footer__nav a:focus-visible::after{ transform: scaleX(1); }
.grs-footer__nav a:focus-visible{
  outline: 2px solid var(--wp--preset--color--accent);
  outline-offset: 4px;
}

/* SOCIAL icons — 38px, subtile */
.grs-footer__social{
  display: flex;
  gap: .5rem;
}
.grs-footer__social a{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  color: rgba(255,255,255,.85);
  border: 1px solid rgba(255,255,255,.14);
  background: transparent;
  text-decoration: none;
  transition: color .25s ease, border-color .25s ease, background-color .25s ease, transform .25s cubic-bezier(.7,.05,.3,1);
}
.grs-footer__social a:hover,
.grs-footer__social a:focus-visible{
  color: #ffffff;
  background: var(--wp--preset--color--accent);
  border-color: var(--wp--preset--color--accent);
  transform: translateY(-2px);
}
.grs-footer__social a:focus-visible{
  outline: 2px solid var(--wp--preset--color--accent);
  outline-offset: 3px;
}

/* BOTTOM BAR — copyright + certificări */
.grs-footer__bottom{
  border-top: 1px solid rgba(255,255,255,.08);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  min-height: 60px;
  padding: 1.15rem 0;
  flex-wrap: wrap;
}
.grs-footer__copy{
  font-family: var(--wp--preset--font-family--manrope);
  font-size: .72rem;
  color: #7a828e;
  letter-spacing: .02em;
  font-weight: 500;
}

/* Reveal animation (folosește data-reveal deja existent) */
/* Nu adaug reguli custom — folosește [data-reveal] din CSS-ul global */

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  .grs-footer__nav a,
  .grs-footer__social a,
  .grs-footer__links a{
    transition: none !important;
  }
  .grs-footer__nav a::after{ display: none; }
}

/* RESPONSIVE */
@media (max-width: 900px){
  .grs-footer__main{
    grid-template-columns: 1fr 1fr;
    gap: 2.5rem 2rem;
  }
  .grs-footer__col--brand{
    grid-column: 1 / -1;
    max-width: none;
  }
  .grs-footer__brand{ font-size: 1.85rem; }
  .grs-footer__desc{ max-width: 540px; }
}
@media (max-width: 640px){
  .grs-footer{ padding-top: 2.5rem; }
  .grs-footer__main{
    grid-template-columns: 1fr;
    gap: 2rem;
    padding-bottom: 1.75rem;
  }
  .grs-footer__brand{ font-size: 1.65rem; }
  .grs-footer__label--social{ margin-top: 1.5rem; }
  .grs-footer__bottom{
    flex-direction: column;
    align-items: flex-start;
    gap: .5rem;
    padding: 1rem 0;
  }
}

/* ============================================================
   PAGINI COMPANIA + SERVICII (aceleași reguli editoriale ca Cariere)
   ============================================================ */

/* Section head — folosit la Compania + Servicii */
.grs-cop-head{
  max-width: 900px;
  margin: 0 auto clamp(2rem, 3.5vw, 3rem);
  text-align: center;
}
.grs-cop-head--split{
  max-width: none;
  margin: 0 0 clamp(2rem, 3.5vw, 3rem);
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 2rem;
  flex-wrap: wrap;
  text-align: left;
}
.grs-cop-head__label{
  margin: 0 0 .85rem;
  font-family: var(--wp--preset--font-family--manrope);
  font-size: .7rem;
  letter-spacing: .3em;
  text-transform: uppercase;
  color: var(--wp--preset--color--muted);
  font-weight: 700;
}
.grs-cop-head__title{
  font-family: var(--wp--preset--font-family--vollkorn);
  font-size: clamp(2rem, 3.5vw, 3rem);
  font-weight: 400;
  line-height: 1.05;
  letter-spacing: -.025em;
  color: var(--wp--preset--color--contrast);
  margin: 0;
}

/* Toate secțiunile Compania — padding vertical consistent */
.grs-cop-stats,
.grs-cop-depts,
.grs-cop-auth,
.grs-cop-why,
.grs-cop-services,
.grs-cop-projects{
  padding: clamp(2.5rem, 4vw, 4rem) 0;
}

/* ---------- CIFRE (4 KPI mari) ---------- */
.grs-cop-stats__grid{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  border-top: 1px solid var(--wp--preset--color--line);
  border-bottom: 1px solid var(--wp--preset--color--line);
}
.grs-cop-stat{
  padding: 2rem 1.5rem;
  text-align: center;
  border-right: 1px solid var(--wp--preset--color--line);
}
.grs-cop-stat:last-child{ border-right: 0; }
.grs-cop-stat__num{
  display: block;
  font-family: var(--wp--preset--font-family--vollkorn);
  font-size: clamp(2.5rem, 4vw, 3.5rem);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -.03em;
  color: var(--wp--preset--color--contrast);
  margin-bottom: .85rem;
}
.grs-cop-stat__num em{
  font-style: normal;
  color: var(--wp--preset--color--accent);
}
.grs-cop-stat__lbl{
  display: block;
  font-family: var(--wp--preset--font-family--manrope);
  font-size: .68rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--wp--preset--color--muted);
  font-weight: 700;
  line-height: 1.5;
}
@media (max-width: 900px){
  .grs-cop-stats__grid{ grid-template-columns: 1fr 1fr; }
  .grs-cop-stat:nth-child(2n){ border-right: 0; }
  .grs-cop-stat:nth-child(-n+2){ border-bottom: 1px solid var(--wp--preset--color--line); }
}
@media (max-width: 480px){
  .grs-cop-stats__grid{ grid-template-columns: 1fr; }
  .grs-cop-stat{ border-right: 0 !important; border-bottom: 1px solid var(--wp--preset--color--line); }
  .grs-cop-stat:last-child{ border-bottom: 0; }
}

/* ---------- DEPARTAMENTE (listă 2 coloane cu numere) ---------- */
.grs-cop-depts__list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  border-top: 1px solid var(--wp--preset--color--line);
  max-width: 900px;
  margin: 0 auto;
}
.grs-cop-depts__list li{
  display: flex;
  align-items: baseline;
  gap: 1.5rem;
  padding: 1.15rem 1.25rem;
  border-bottom: 1px solid var(--wp--preset--color--line);
  transition: padding-left .25s ease, color .25s ease;
}
.grs-cop-depts__list li:hover{
  padding-left: 1.75rem;
  color: var(--wp--preset--color--accent);
}
.grs-cop-depts__list li:hover .grs-cop-depts__name{ color: var(--wp--preset--color--accent); }
.grs-cop-depts__list li:nth-child(odd){ border-right: 1px solid var(--wp--preset--color--line); }
.grs-cop-depts__num{
  font-family: var(--wp--preset--font-family--manrope);
  font-size: .7rem;
  letter-spacing: .2em;
  color: var(--wp--preset--color--accent);
  font-weight: 700;
  flex-shrink: 0;
}
.grs-cop-depts__name{
  font-family: var(--wp--preset--font-family--vollkorn);
  font-size: 1.15rem;
  font-weight: 500;
  color: var(--wp--preset--color--contrast);
  letter-spacing: -.01em;
  transition: color .25s ease;
}
@media (max-width: 640px){
  .grs-cop-depts__list{ grid-template-columns: 1fr; }
  .grs-cop-depts__list li:nth-child(odd){ border-right: 0; }
}

/* ---------- AUTORIZAȚII & CERTIFICĂRI ---------- */
.grs-cop-auth__groups{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2.5rem 3rem;
}
.grs-cop-auth__group{
  padding: 1.5rem 0 0;
  border-top: 1px solid var(--wp--preset--color--line);
}
.grs-cop-auth__label{
  margin: 0 0 1.25rem;
  font-family: var(--wp--preset--font-family--manrope);
  font-size: .68rem;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--wp--preset--color--accent);
  font-weight: 700;
}
.grs-cop-auth__list{
  list-style: none;
  margin: 0;
  padding: 0;
}
.grs-cop-auth__list li{
  padding: .55rem 0 .55rem 1.15rem;
  position: relative;
  font-size: .95rem;
  line-height: 1.55;
  color: #3a4553;
  border-bottom: 1px dashed rgba(15, 26, 42, .08);
}
.grs-cop-auth__list li:last-child{ border-bottom: 0; }
.grs-cop-auth__list li::before{
  content: "+";
  position: absolute;
  left: 0;
  top: .55rem;
  font-family: var(--wp--preset--font-family--manrope);
  font-weight: 700;
  color: var(--wp--preset--color--accent);
  font-size: .85rem;
}
.grs-cop-auth__list li strong{
  font-family: var(--wp--preset--font-family--vollkorn);
  font-weight: 500;
  color: var(--wp--preset--color--contrast);
  letter-spacing: -.005em;
}
@media (max-width: 900px){
  .grs-cop-auth__groups{ grid-template-columns: 1fr; gap: 2rem; }
}

/* ---------- DE CE GRS (grid 2×2) ---------- */
.grs-cop-why__grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  border-top: 1px solid var(--wp--preset--color--line);
  border-left: 1px solid var(--wp--preset--color--line);
}
.grs-cop-why__item{
  padding: 2rem 1.75rem 2.25rem;
  border-right: 1px solid var(--wp--preset--color--line);
  border-bottom: 1px solid var(--wp--preset--color--line);
  transition: background-color .3s ease;
}
.grs-cop-why__item:hover{ background: rgba(245, 240, 232, .35); }
.grs-cop-why__num{
  display: block;
  font-family: var(--wp--preset--font-family--manrope);
  font-size: .7rem;
  letter-spacing: .28em;
  color: var(--wp--preset--color--accent);
  font-weight: 700;
  margin-bottom: 1rem;
}
.grs-cop-why__title{
  font-family: var(--wp--preset--font-family--vollkorn);
  font-size: 1.35rem;
  font-weight: 500;
  color: var(--wp--preset--color--contrast);
  line-height: 1.15;
  letter-spacing: -.015em;
  margin: 0 0 .75rem;
}
.grs-cop-why__body{
  margin: 0;
  font-size: .96rem;
  line-height: 1.6;
  font-weight: 500;
  color: #333c49;
}
@media (max-width: 640px){
  .grs-cop-why__grid{ grid-template-columns: 1fr; }
}

/* ---------- SERVICII (listă editorial mare) ---------- */
.grs-cop-services__list{
  border-top: 1px solid var(--wp--preset--color--contrast);
}
.grs-cop-service{
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 2rem;
  padding: 2.5rem 0;
  border-bottom: 1px solid var(--wp--preset--color--line);
}
.grs-cop-service__num{
  font-family: var(--wp--preset--font-family--manrope);
  font-size: .78rem;
  letter-spacing: .18em;
  color: var(--wp--preset--color--accent);
  font-weight: 700;
  padding-top: .55rem;
}
.grs-cop-service__num::after{
  content: " /";
  color: var(--wp--preset--color--accent);
}
.grs-cop-service__title{
  font-family: var(--wp--preset--font-family--vollkorn);
  font-size: clamp(1.5rem, 2.2vw, 1.85rem);
  font-weight: 500;
  color: var(--wp--preset--color--contrast);
  line-height: 1.15;
  letter-spacing: -.02em;
  margin: 0 0 1rem;
}
.grs-cop-service__lead{
  margin: 0 0 1.25rem;
  font-family: var(--wp--preset--font-family--vollkorn);
  font-size: 1.05rem;
  line-height: 1.55;
  color: #4f5863;
  max-width: 720px;
  letter-spacing: -.005em;
}
.grs-cop-service__bullets{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .35rem 2rem;
}
.grs-cop-service__bullets li{
  padding: .35rem 0 .35rem 1.15rem;
  position: relative;
  font-size: .92rem;
  line-height: 1.55;
  color: #3a4553;
}
.grs-cop-service__bullets li::before{
  content: "+";
  position: absolute;
  left: 0;
  top: .35rem;
  font-family: var(--wp--preset--font-family--manrope);
  font-weight: 700;
  color: var(--wp--preset--color--accent);
  font-size: .85rem;
}
@media (max-width: 900px){
  .grs-cop-service{ grid-template-columns: 48px 1fr; gap: 1rem; }
  .grs-cop-service__bullets{ grid-template-columns: 1fr; }
}

/* ---------- PROIECTE (rows editorial) ---------- */
.grs-cop-projects__count{
  display: inline-flex;
  align-items: baseline;
  gap: .85rem;
}
.grs-cop-projects__count-num{
  font-family: var(--wp--preset--font-family--vollkorn);
  font-size: 2.5rem;
  line-height: 1;
  font-weight: 400;
  color: var(--wp--preset--color--accent);
  letter-spacing: -.03em;
}
.grs-cop-projects__count-num em{
  font-style: normal;
  font-size: 1rem;
  color: var(--wp--preset--color--accent);
  margin-left: .2rem;
}
.grs-cop-projects__count-lbl{
  font-family: var(--wp--preset--font-family--manrope);
  font-size: .62rem;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--wp--preset--color--muted);
  font-weight: 700;
  line-height: 1.5;
}

.grs-cop-projects__list{
  border-top: 1px solid var(--wp--preset--color--contrast);
}
.grs-cop-project{
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr);
  gap: 1.5rem;
  padding: 1.5rem 0;
  border-bottom: 1px solid var(--wp--preset--color--line);
}
.grs-cop-project__num{
  font-family: var(--wp--preset--font-family--manrope);
  font-size: .78rem;
  letter-spacing: .18em;
  color: var(--wp--preset--color--accent);
  font-weight: 700;
  padding-top: .35rem;
}
.grs-cop-project__title{
  font-family: var(--wp--preset--font-family--vollkorn);
  font-size: clamp(1.25rem, 1.75vw, 1.5rem);
  font-weight: 500;
  color: var(--wp--preset--color--contrast);
  line-height: 1.15;
  letter-spacing: -.015em;
  margin: 0 0 .55rem;
}
.grs-cop-project__meta{
  display: flex;
  flex-wrap: wrap;
  gap: .35rem .5rem;
}
.grs-cop-project__meta span{
  font-family: var(--wp--preset--font-family--manrope);
  font-size: .65rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #3a4553;
  font-weight: 700;
  padding: .3rem .55rem;
  background: rgba(15, 26, 42, .04);
  border: 1px solid rgba(15, 26, 42, .1);
  line-height: 1;
}

/* ============================================================
   PAGINA CARIERE v0.12 — editorial + technical drawing composition
   Sequence: metadata → headline → note → tech drawing
   Motion: one-shot, static after. Respectă prefers-reduced-motion.
   ============================================================ */

.grs-car-page{
  background: #ffffff;
  border-bottom: 1px solid var(--wp--preset--color--line);
  padding: 0 0 clamp(3rem, 5vw, 5rem);
}
.grs-car-page__container{
  max-width: 1360px;
  margin: 0 auto;
  padding: 0 clamp(1.5rem, 4vw, 3.5rem);
}

/* ---------- METADATA ROW (top) ---------- */
.grs-car-meta{
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding-bottom: .85rem;
  border-bottom: 1px dashed rgba(15, 26, 42, .14);
  margin-bottom: clamp(2rem, 3.5vw, 3rem);
}
.grs-car-meta__left,
.grs-car-meta__right{
  margin: 0;
  font-family: var(--wp--preset--font-family--manrope);
  font-size: .68rem;
  letter-spacing: .3em;
  text-transform: uppercase;
  font-weight: 700;
  opacity: 0;
  transform: translateY(6px);
  animation: car-in .55s cubic-bezier(.7,.05,.3,1) 0s forwards;
}
.grs-car-meta__left{ color: var(--wp--preset--color--muted); }
.grs-car-meta__right{ color: var(--wp--preset--color--accent); animation-delay: .06s; }

@keyframes car-in{
  to{ opacity: 1; transform: translateY(0); }
}

/* ---------- HERO — centrat, single column, doar tipografie ---------- */
.grs-car-hero{
  text-align: center;
  padding: clamp(1.5rem, 2.5vw, 2.5rem) 0 clamp(2.5rem, 4vw, 3.5rem);
  max-width: 900px;
  margin: 0 auto;
}
.grs-car-hero__title{
  font-family: var(--wp--preset--font-family--vollkorn);
  font-size: clamp(2.5rem, 5vw, 4.5rem);
  font-weight: 400;
  line-height: 1.03;
  letter-spacing: -.035em;
  color: var(--wp--preset--color--contrast);
  margin: 0 0 2rem;
}
.grs-car-hero__line{
  display: block;
  opacity: 0;
  transform: translateY(8px);
  animation: car-in .65s cubic-bezier(.7,.05,.3,1) forwards;
}
.grs-car-hero__line:nth-child(1){ animation-delay: .1s; }
.grs-car-hero__line:nth-child(2){ animation-delay: .18s; }

.grs-car-hero__note{
  font-family: var(--wp--preset--font-family--vollkorn);
  font-size: clamp(1rem, 1.2vw, 1.15rem);
  line-height: 1.6;
  color: #4f5863;
  margin: 0 auto;
  max-width: 620px;
  letter-spacing: -.005em;
  opacity: 0;
  transform: translateY(8px);
  animation: car-in .65s cubic-bezier(.7,.05,.3,1) .3s forwards;
}

/* ---------- TECHNICAL DRAWING ANIMATION ----------
   Sequence starts at ~0.35s (after content revealed).
   Total ~3s. One-shot, static after. */

.grs-td line,
.grs-td rect,
.grs-td path,
.grs-td circle,
.grs-td polygon,
.grs-td text{
  animation-fill-mode: forwards;
  animation-timing-function: cubic-bezier(.7,.05,.3,1);
}

/* Stage 1 — axe/construction lines */
.td-a--h1{
  stroke-dasharray: 620; stroke-dashoffset: 620;
  animation: td-draw .7s ease .35s forwards;
}
.td-a--v1, .td-a--v2{
  opacity: 0;
  animation: td-fade .35s ease .55s forwards;
}
@keyframes td-draw{ to{ stroke-dashoffset: 0; } }
@keyframes td-fade{ to{ opacity: 1; } }

/* Stage 2 — dimension lines + labels */
.td-d line{
  stroke-dasharray: 470; stroke-dashoffset: 470;
  animation: td-draw .55s ease .75s forwards;
}
.td-d--left line{ animation-delay: .85s; }
.td-lbl{ opacity: 0; animation: td-fade .3s ease 1.05s forwards; }

/* Stage 3 — reference points */
.td-r-p{
  opacity: 0;
  transform-box: fill-box;
  transform-origin: center;
  transform: scale(0);
  animation: td-pop .4s cubic-bezier(.5, 1.5, .4, 1) forwards;
}
.td-r-p:nth-child(1){ animation-delay: 1.1s; }
.td-r-p:nth-child(2){ animation-delay: 1.16s; }
.td-r-p:nth-child(3){ animation-delay: 1.22s; }
.td-r-p:nth-child(4){ animation-delay: 1.28s; }
@keyframes td-pop{
  to{ opacity: 1; transform: scale(1); }
}

/* Stage 4 — foundation + volume outline */
.td-fdn{
  stroke-dasharray: 480; stroke-dashoffset: 480;
  animation: td-draw .55s ease 1.35s forwards;
}
.td-outline{
  stroke-dasharray: 960; stroke-dashoffset: 960;
  animation: td-draw 1.1s cubic-bezier(.6,.1,.4,1) 1.55s forwards;
}

/* Stage 5 — structure */
.td-col{
  stroke-dasharray: 260; stroke-dashoffset: 260;
  animation: td-draw .5s ease forwards;
}
.td-cols .td-col:nth-child(1){ animation-delay: 1.85s; }
.td-cols .td-col:nth-child(2){ animation-delay: 1.95s; }
.td-cols .td-col:nth-child(3){ animation-delay: 2.05s; }

.td-sl{
  stroke-dasharray: 440; stroke-dashoffset: 440;
  animation: td-draw .5s ease forwards;
}
.td-slabs .td-sl:nth-child(1){ animation-delay: 2.15s; }
.td-slabs .td-sl:nth-child(2){ animation-delay: 2.22s; }
.td-slabs .td-sl:nth-child(3){ animation-delay: 2.29s; }

/* Stage 6 — facade */
.td-w{ opacity: 0; animation: td-fade .25s ease forwards; }
.td-fac .td-w:nth-child(1) { animation-delay: 2.4s; }
.td-fac .td-w:nth-child(2) { animation-delay: 2.42s; }
.td-fac .td-w:nth-child(3) { animation-delay: 2.44s; }
.td-fac .td-w:nth-child(4) { animation-delay: 2.46s; }
.td-fac .td-w:nth-child(5) { animation-delay: 2.48s; }
.td-fac .td-w:nth-child(6) { animation-delay: 2.5s; }
.td-fac .td-w:nth-child(7) { animation-delay: 2.52s; }
.td-fac .td-w:nth-child(8) { animation-delay: 2.54s; }
.td-fac .td-w:nth-child(9) { animation-delay: 2.56s; }
.td-fac .td-w:nth-child(10){ animation-delay: 2.58s; }
.td-fac .td-w:nth-child(11){ animation-delay: 2.6s; }
.td-fac .td-w:nth-child(12){ animation-delay: 2.62s; }
.td-fac .td-w:nth-child(13){ animation-delay: 2.64s; }
.td-fac .td-w:nth-child(14){ animation-delay: 2.66s; }
.td-fac .td-w:nth-child(15){ animation-delay: 2.68s; }
.td-fac .td-w:nth-child(16){ animation-delay: 2.7s; }

/* Stage 7 — orange accents */
.td-ac--1{
  stroke-dasharray: 260; stroke-dashoffset: 260;
  animation: td-draw .5s ease 2.8s forwards;
}
.td-ac--2{ opacity: 0; animation: td-fade .35s ease 2.95s forwards; }
.td-ac--3{
  opacity: 0;
  transform-box: fill-box; transform-origin: center; transform: scale(0);
  animation: td-pop .35s cubic-bezier(.5, 1.5, .4, 1) 3.1s forwards;
}

/* Microdetails — crosshair + index */
.td-cross line, .td-index{
  opacity: 0;
  animation: td-fade .35s ease 3.25s forwards;
}

/* ---------- SEPARATOR HERO → JOBS (scaleX reveal la intrare) ---------- */
.grs-car-sep{
  border: 0;
  border-top: 1px solid var(--wp--preset--color--contrast);
  margin: 0 0 clamp(2rem, 3.5vw, 3rem);
  transform: scaleX(0);
  transform-origin: left;
  animation: car-line .7s cubic-bezier(.7,.05,.3,1) .8s forwards;
}
@keyframes car-line{
  to{ transform: scaleX(1); }
}

/* ---------- ANIMAȚIE TEHNICĂ (~2.5s, one-shot, static after) ---------- */

/* Toate liniile/pathurile pornesc ascunse — animation-fill-mode: forwards */
.grs-tech-drawing line,
.grs-tech-drawing rect,
.grs-tech-drawing path,
.grs-tech-drawing circle,
.grs-tech-drawing polygon,
.grs-tech-drawing text{
  opacity: 0;
  animation-fill-mode: forwards;
  animation-timing-function: cubic-bezier(.7,.05,.3,1);
}

/* Pentru linii lungi folosim stroke-dasharray + dashoffset */

/* 1. Axa orizontală de sol — 0.0s → 0.6s */
.td-axis--h{
  stroke-dasharray: 680;
  stroke-dashoffset: 680;
  opacity: 1;
  animation: td-draw .7s cubic-bezier(.7,.05,.3,1) 0s forwards;
}
/* 2. Axele verticale de referință (dashed) — 0.3s */
.td-axis--v1{
  stroke-dasharray: 410;
  stroke-dashoffset: 410;
  opacity: 1;
  animation: td-draw .5s ease .35s forwards;
}
.td-axis--v2{
  stroke-dasharray: 410;
  stroke-dashoffset: 410;
  opacity: 1;
  animation: td-draw .5s ease .45s forwards;
}
@keyframes td-draw{ to { stroke-dashoffset: 0; } }

/* 3. Cotele + labels cote — 0.6s */
.td-dim line{
  stroke-dasharray: 450;
  stroke-dashoffset: 450;
  opacity: 1;
  animation: td-draw .5s ease .6s forwards;
}
.td-dim--left line{ animation-delay: .7s; }
.td-dim-label{ animation: td-fade .3s ease 1s forwards; }

/* 4. Puncte de referință — colțuri clădire — 0.85s */
.td-ref{ animation: td-pop .35s cubic-bezier(.5, 1.5, .4, 1) forwards; }
.td-ref--1{ animation-delay: .85s; }
.td-ref--2{ animation-delay: .95s; }
.td-ref--3{ animation-delay: 1.05s; }
.td-ref--4{ animation-delay: 1.15s; }
@keyframes td-pop{
  from{ opacity: 0; transform: scale(0); transform-origin: center; transform-box: fill-box; }
  to  { opacity: 1; transform: scale(1); }
}

/* 5. Contur clădire — desenat continuu — 1.2s */
.td-outline{
  stroke-dasharray: 960;
  stroke-dashoffset: 960;
  opacity: 1;
  animation: td-draw 1.1s cubic-bezier(.6,.1,.4,1) 1.2s forwards;
}

/* 6. Stâlpi — se ridică de jos în sus, staggered — 1.5s */
.td-col{
  stroke-dasharray: 260;
  stroke-dashoffset: 260;
  opacity: 1;
  animation: td-draw .55s ease forwards;
}
.td-col--1{ animation-delay: 1.5s; }
.td-col--2{ animation-delay: 1.6s; }
.td-col--3{ animation-delay: 1.7s; }

/* 7. Planșee — orizontale, staggered — 1.85s */
.td-slab{
  stroke-dasharray: 440;
  stroke-dashoffset: 440;
  opacity: 1;
  animation: td-draw .5s ease forwards;
}
.td-slab--1{ animation-delay: 1.85s; }
.td-slab--2{ animation-delay: 1.95s; }
.td-slab--3{ animation-delay: 2.05s; }

/* 8. Fațadă — ferestre apar cascada — 2.15s */
.td-win{ animation: td-fade .3s ease forwards; }
.td-facade rect:nth-child(1) { animation-delay: 2.15s; }
.td-facade rect:nth-child(2) { animation-delay: 2.17s; }
.td-facade rect:nth-child(3) { animation-delay: 2.19s; }
.td-facade rect:nth-child(4) { animation-delay: 2.21s; }
.td-facade rect:nth-child(5) { animation-delay: 2.23s; }
.td-facade rect:nth-child(6) { animation-delay: 2.25s; }
.td-facade rect:nth-child(7) { animation-delay: 2.27s; }
.td-facade rect:nth-child(8) { animation-delay: 2.29s; }
.td-facade rect:nth-child(9) { animation-delay: 2.31s; }
.td-facade rect:nth-child(10){ animation-delay: 2.33s; }
.td-facade rect:nth-child(11){ animation-delay: 2.35s; }
.td-facade rect:nth-child(12){ animation-delay: 2.37s; }
.td-facade rect:nth-child(13){ animation-delay: 2.39s; }
.td-facade rect:nth-child(14){ animation-delay: 2.41s; }
.td-facade rect:nth-child(15){ animation-delay: 2.43s; }
.td-facade rect:nth-child(16){ animation-delay: 2.45s; }
@keyframes td-fade{ to { opacity: 1; } }

/* 9. Accente portocalii — 2.55s */
.td-accent--1{
  stroke-dasharray: 260;
  stroke-dashoffset: 260;
  opacity: 1;
  animation: td-draw .5s ease 2.55s forwards;
}
.td-accent--2{ animation: td-fade .35s ease 2.7s forwards; }

/* 10. Etichete + nord — 2.75s */
.td-labels text,
.td-north circle,
.td-north polygon,
.td-north text{ animation: td-fade .35s ease 2.75s forwards; }
.td-labels text{ opacity: 0; animation: td-fade .35s ease 2.75s forwards; }

/* ---------- JOBS HEADER ---------- */
.grs-car-jobs__head{
  display: flex;
  justify-content: space-between;
  align-items: end;
  margin-bottom: 1.5rem;
  gap: 1.5rem;
  flex-wrap: wrap;
}
.grs-car-jobs__title{
  margin: 0 0 .4rem;
  font-family: var(--wp--preset--font-family--vollkorn);
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  font-weight: 500;
  color: var(--wp--preset--color--contrast);
  line-height: 1;
  letter-spacing: -.02em;
}
.grs-car-jobs__update{
  margin: 0;
  font-family: var(--wp--preset--font-family--manrope);
  font-size: .65rem;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--wp--preset--color--muted);
  font-weight: 600;
}
.grs-car-jobs__count{
  display: inline-flex;
  align-items: baseline;
  gap: .85rem;
}
.grs-car-jobs__count-num{
  font-family: var(--wp--preset--font-family--vollkorn);
  font-size: 3rem;
  line-height: 1;
  font-weight: 400;
  color: var(--wp--preset--color--accent);
  letter-spacing: -.03em;
}
.grs-car-jobs__count-lbl{
  font-family: var(--wp--preset--font-family--manrope);
  font-size: .6rem;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--wp--preset--color--muted);
  font-weight: 700;
  line-height: 1.5;
}

.grs-car-jobs__list{
  border-top: 1px solid var(--wp--preset--color--line);
}
/* Fix wpautop — elimină <p> reziduale generate de WP în wrapper */
.grs-jobs-wrap > p:empty,
.grs-jobs-wrap p:empty{ display: none; }
.grs-jobs-wrap br{ display: none; }
.grs-jobs-wrap{ display: block; }

/* ---------- FILTRE ---------- */
.grs-car-filters{
  display: flex;
  flex-wrap: wrap;
  gap: 2rem 3rem;
  padding: 1.25rem 0 1.5rem;
  margin-bottom: .5rem;
  border-bottom: 1px dashed rgba(15, 26, 42, .14);
}
.grs-car-filter{
  display: flex;
  align-items: center;
  gap: .85rem;
  flex-wrap: wrap;
}
.grs-car-filter__label{
  font-family: var(--wp--preset--font-family--manrope);
  font-size: .62rem;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--wp--preset--color--muted);
  font-weight: 700;
}
.grs-car-filter__opts{
  display: flex;
  gap: .35rem;
  flex-wrap: wrap;
}
.grs-car-filter__btn{
  font-family: var(--wp--preset--font-family--manrope);
  font-size: .72rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-weight: 600;
  color: #4f5863;
  background: transparent;
  border: 1px solid rgba(15, 26, 42, .18);
  padding: .45rem .85rem;
  cursor: pointer;
  transition: color .2s ease, background-color .2s ease, border-color .2s ease;
  line-height: 1;
  min-height: 32px;
  outline: none; /* nu arată focus ring la click cu mouse */
  -webkit-tap-highlight-color: transparent;
}
.grs-car-filter__btn:focus{ outline: none; }
.grs-car-filter__btn:hover{
  color: var(--wp--preset--color--contrast);
  border-color: rgba(15, 26, 42, .45);
}
.grs-car-filter__btn.is-active{
  color: #ffffff;
  background: var(--wp--preset--color--contrast);
  border-color: var(--wp--preset--color--contrast);
}
.grs-car-filter__btn:focus-visible{
  outline: 2px solid var(--wp--preset--color--accent);
  outline-offset: 2px;
}

/* Empty state */
.grs-car-empty{
  margin: 2rem 0 0;
  padding: 3rem 1.5rem;
  text-align: center;
  color: var(--wp--preset--color--muted);
  font-family: var(--wp--preset--font-family--vollkorn);
  font-size: 1.05rem;
  font-style: italic;
  border-bottom: 1px solid var(--wp--preset--color--line);
}

/* Fiecare job = <details> — row editorial, ~108px, cu indicators hover */
.grs-job{
  position: relative;
  border-bottom: 1px solid var(--wp--preset--color--line);
  transition: background-color .35s cubic-bezier(.7,.05,.3,1);
}

/* Indicator STÂNGA — 2px orange, height 0 → 100% pe hover */
.grs-job::before{
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 2px;
  background: var(--wp--preset--color--accent);
  transform: scaleY(0);
  transform-origin: top;
  transition: transform .35s cubic-bezier(.7,.05,.3,1);
  z-index: 2;
}

/* Line JOS — 1px orange, se desenează stânga → dreapta pe hover */
.grs-job::after{
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  height: 1px;
  width: 100%;
  background: var(--wp--preset--color--accent);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .4s cubic-bezier(.7,.05,.3,1);
  z-index: 2;
}

.grs-job:hover{ background: rgba(245, 240, 232, .35); }
.grs-job:hover::before{ transform: scaleY(1); }
.grs-job:hover::after{ transform: scaleX(1); }
.grs-job[open]{ background: rgba(245, 240, 232, .55); }
.grs-job[open]::before{ transform: scaleY(1); }
.grs-job[open]::after{ transform: scaleX(1); }

/* Row-ul (summary) */
.grs-job > summary{
  list-style: none;
  cursor: pointer;
  padding: 1rem clamp(.75rem, 1.5vw, 1.25rem);
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr) 44px;
  gap: clamp(1rem, 2vw, 2rem);
  align-items: center;
  min-height: 76px;
  transition: padding-left .3s cubic-bezier(.7,.05,.3,1);
}
.grs-job > summary::-webkit-details-marker{ display: none; }
.grs-job:hover > summary,
.grs-job[open] > summary{ padding-left: clamp(1.5rem, 2.5vw, 2.5rem); }
.grs-job > summary{
  outline: none;
  -webkit-tap-highlight-color: transparent;
}
.grs-job > summary:focus{ outline: none; }

/* Numărul "01 /" — text din data-num + slash orange */
.grs-job__num{
  font-family: var(--wp--preset--font-family--manrope);
  font-size: .82rem;
  font-weight: 700;
  color: #4f5863;
  line-height: 1;
  letter-spacing: .12em;
  transition: color .3s ease;
  display: inline-block;
}
.grs-job__num::before{
  content: attr(data-num);
}
.grs-job__num::after{
  content: " /";
  color: var(--wp--preset--color--accent);
  margin-left: 3px;
  font-weight: 400;
}
.grs-job:hover .grs-job__num,
.grs-job[open] .grs-job__num{ color: var(--wp--preset--color--accent); }

/* Body — titlu ABOVE meta (stack vertical, nu grid inline) */
.grs-job__body{
  display: block;
  min-width: 0;
}
.grs-job__title{
  font-family: var(--wp--preset--font-family--vollkorn);
  font-size: clamp(1.15rem, 1.5vw, 1.35rem);
  font-weight: 500;
  color: var(--wp--preset--color--contrast);
  line-height: 1.15;
  letter-spacing: -.015em;
  margin: 0 0 .45rem;
  transition: transform .3s cubic-bezier(.7,.05,.3,1);
}
.grs-job:hover .grs-job__title,
.grs-job[open] .grs-job__title{ transform: translateX(6px); }

.grs-job__meta{
  display: flex;
  gap: .5rem;
  flex-wrap: wrap;
}
.grs-job__meta span{
  font-family: var(--wp--preset--font-family--manrope);
  font-size: .65rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #3a4553;
  font-weight: 700;
  padding: .3rem .55rem;
  background: rgba(15, 26, 42, .04);
  border: 1px solid rgba(15, 26, 42, .1);
  line-height: 1;
  transition: background-color .3s ease, border-color .3s ease, color .3s ease;
}
/* La hover pe row, tag-urile devin puțin mai vii */
.grs-job:hover .grs-job__meta span,
.grs-job[open] .grs-job__meta span{
  background: #ffffff;
  border-color: rgba(15, 26, 42, .2);
  color: var(--wp--preset--color--contrast);
}

/* SVG arrow — line se extinde + head glisează la hover */
.grs-job__arrow{
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  color: #7a828e;
  transition: color .35s ease, transform .35s cubic-bezier(.7,.05,.3,1);
}
.grs-job__arrow-line{
  transform-origin: left center;
  transition: transform .35s cubic-bezier(.7,.05,.3,1);
}
.grs-job__arrow-head{
  transition: transform .35s cubic-bezier(.7,.05,.3,1);
}
.grs-job:hover .grs-job__arrow{
  color: var(--wp--preset--color--accent);
}
.grs-job:hover .grs-job__arrow-line{ transform: scaleX(1.25); }
.grs-job:hover .grs-job__arrow-head{ transform: translateX(5px); }
.grs-job[open] .grs-job__arrow{
  color: var(--wp--preset--color--accent);
  transform: rotate(90deg);
}

/* Detaliul jobului (deschis) */
.grs-job__detail{
  padding: .5rem .5rem 2.25rem 3.75rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2.5rem 3rem;
  animation: grs-job-open .35s ease forwards;
}
/* 3 coloane egale — toate cu același stil editorial */
.grs-job__detail--3col{
  grid-template-columns: 1fr 1fr 1fr;
  gap: 2rem 2.5rem;
}
@media (max-width: 900px){
  .grs-job__detail--3col{ grid-template-columns: 1fr; gap: 1.5rem; }
}
@keyframes grs-job-open{
  from{ opacity: 0; transform: translateY(-4px); }
  to  { opacity: 1; transform: translateY(0); }
}
.grs-job__col-label{
  font-family: var(--wp--preset--font-family--manrope);
  font-size: .65rem;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--wp--preset--color--accent);
  font-weight: 700;
  margin: 0 0 .85rem;
  padding-bottom: .5rem;
  border-bottom: 1px solid var(--wp--preset--color--line);
}
.grs-job__list{
  margin: 0;
  padding: 0;
  list-style: none;
}
.grs-job__list li{
  position: relative;
  padding: .35rem 0 .35rem 1.4rem;
  font-size: .92rem;
  line-height: 1.55;
  color: #3a4553;
}
.grs-job__list li::before{
  content: "+";
  position: absolute;
  left: 0;
  top: .35rem;
  font-family: var(--wp--preset--font-family--manrope);
  font-size: .85rem;
  font-weight: 700;
  color: var(--wp--preset--color--accent);
  line-height: 1.55;
}
/* Buton Aplică — text link editorial cu subliniere teracotă + săgeată */
.grs-job__apply{
  grid-column: 1 / -1;
  justify-self: start;
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  color: var(--wp--preset--color--contrast);
  font-family: var(--wp--preset--font-family--manrope);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  text-decoration: none;
  padding: 0 0 .35rem 0;
  border-bottom: 1.5px solid var(--wp--preset--color--accent);
  margin-top: 1.25rem;
  transition: color .25s ease, gap .3s cubic-bezier(.7,.05,.3,1);
}
.grs-job__apply:hover{
  color: var(--wp--preset--color--accent);
  gap: 1rem;
}
.grs-job__apply svg{
  color: var(--wp--preset--color--accent);
  transition: transform .3s cubic-bezier(.7,.05,.3,1);
}
.grs-job__apply:hover svg{ transform: translateX(3px); }

/* ---------- FOOTER CTA discret ---------- */
.grs-car-foot{
  margin-top: 3.5rem;
  padding-top: 2rem;
  border-top: 1px dashed rgba(15, 26, 42, .14);
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}
.grs-car-foot__text{
  margin: 0;
  font-family: var(--wp--preset--font-family--vollkorn);
  font-size: 1rem;
  line-height: 1.5;
  color: #4f5863;
  font-style: italic;
}
.grs-car-foot__link{
  display: inline-flex;
  align-items: center;
  gap: .75rem;
  color: var(--wp--preset--color--contrast);
  text-decoration: none;
  font-family: var(--wp--preset--font-family--manrope);
  font-weight: 700;
  font-size: .75rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  padding-bottom: .35rem;
  border-bottom: 1.5px solid var(--wp--preset--color--accent);
  transition: color .3s ease, gap .3s ease;
  position: relative;
}
.grs-car-foot__link:hover{
  color: var(--wp--preset--color--accent);
  gap: 1rem;
}
.grs-car-foot__arrow-line{
  transform-origin: left center;
  transition: transform .3s cubic-bezier(.7,.05,.3,1);
}
.grs-car-foot__arrow-head{
  transition: transform .3s cubic-bezier(.7,.05,.3,1);
}
.grs-car-foot__link:hover .grs-car-foot__arrow-line{ transform: scaleX(1.2); }
.grs-car-foot__link:hover .grs-car-foot__arrow-head{ transform: translateX(4px); }
.grs-car-foot__link:focus-visible{
  outline: 2px solid var(--wp--preset--color--accent);
  outline-offset: 4px;
}

/* ============================================================
   REDUCED MOTION — starea finală instant, fără animații
   ============================================================ */
@media (prefers-reduced-motion: reduce){
  .grs-car-meta__left,
  .grs-car-meta__right,
  .grs-car-hero__line,
  .grs-car-hero__note,
  .grs-car-hero__visual,
  .grs-td line,
  .grs-td rect,
  .grs-td path,
  .grs-td circle,
  .grs-td polygon,
  .grs-td text{
    opacity: 1 !important;
    transform: none !important;
    stroke-dashoffset: 0 !important;
    animation: none !important;
  }
  .grs-car-sep{ transform: scaleX(1) !important; animation: none !important; }
  [data-reveal]{ opacity: 1 !important; transform: none !important; }
}

/* ---------- Apply buton în detail — reformat SVG arrow ---------- */
.grs-job__apply svg{
  transition: transform .3s cubic-bezier(.7,.05,.3,1);
}
.grs-job__apply:hover svg{ transform: translateX(4px); }

/* ---------- RESPONSIVE ---------- */
@media (max-width: 900px){
  /* titlu stânga / contor dreapta, aliniate pe aceeași linie de bază */
  .grs-car-jobs__head{
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
  }
  .grs-car-jobs__count{ flex: 0 0 auto; gap: .6rem; }
  .grs-car-jobs__count-num{ font-size: 2.25rem; }
  .grs-car-jobs__count-lbl{ font-size: .55rem; letter-spacing: .2em; }
  .grs-job__body{
    grid-template-columns: 1fr;
    gap: .35rem;
    align-items: start;
  }
  .grs-car-filters{
    flex-direction: column;
    gap: 1.25rem;
    padding: 1rem 0 1.25rem;
  }
  .grs-car-filter{ width: 100%; }
}
@media (max-width: 640px){
  .grs-job__meta{ gap: .35rem; }
  .grs-job__meta span{
    font-size: .65rem;
    padding: .35rem .6rem;
    letter-spacing: .14em;
  }
  .grs-car-filter__btn{
    font-size: .68rem;
    padding: .4rem .7rem;
  }
}
@media (max-width: 768px){
  .grs-car-hero{ padding: 2rem 0 3rem; }
  .grs-car-hero__title{ font-size: 2.25rem; }
  .grs-car-hero__note{ font-size: .95rem; }
  /* filtre — eticheta MEREU deasupra butoanelor */
  .grs-car-filters{
    flex-direction: column;
    gap: 1.35rem;
    padding: 1rem 0 1.25rem;
  }
  .grs-car-filter{
    width: 100%;
    flex-direction: column;
    align-items: flex-start;
    gap: .6rem;
  }
  .grs-car-filter__opts{ width: 100%; gap: .4rem; }
  .grs-job > summary{
    grid-template-columns: 32px minmax(0, 1fr) 32px;
    gap: 1rem;
    padding: 1.25rem 0;
    min-height: 72px;
  }
  .grs-job__num{ font-size: 1rem; }
  .grs-job__meta{ gap: 1rem; margin-top: .15rem; }
  .grs-job__meta span + span::before{ left: -.55rem; }
  .grs-job__title{ font-size: 1.1rem; }
  .grs-job__detail{
    grid-template-columns: 1fr;
    gap: 1.75rem;
    /* aliniat cu conținutul din summary (același indent) */
    padding: .9rem clamp(1rem, 3vw, 1.5rem) 1.9rem clamp(1.5rem, 2.5vw, 2.5rem);
  }
  .grs-job__col-label{ margin-bottom: .7rem; }
  .grs-job__apply{ margin-top: .5rem; }
  .grs-car-foot{
    flex-direction: column;
    align-items: start;
    gap: .75rem;
  }
}

/* ============================================================
   PAGINA CARIERE — vechi (dezactivat pentru compat)
   ============================================================ */
.grs-cariere-page,
.grs-car-intro,
.grs-car-values,
.grs-car-positions,
.grs-car-cta{ /* Clase vechi neutilizate acum */ }

/* ============================================================
   Legacy careers (deprecated) — mostenire clase din versiuni vechi
   ============================================================ */

.grs-cariere-page{
  background: #ffffff;
  border-bottom: 1px solid var(--wp--preset--color--line);
  padding: clamp(1.5rem, 2.5vw, 2.5rem) 0 clamp(2.5rem, 4vw, 4rem);
}
.grs-cariere-page__container{
  max-width: 1360px;
  margin: 0 auto;
  padding: 0 clamp(1.5rem, 4vw, 3.5rem);
}
.grs-cariere-page__head{
  text-align: center;
}
.grs-cariere-page__title{
  font-family: var(--wp--preset--font-family--vollkorn);
  font-size: clamp(2.25rem, 4vw, 3.5rem);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -.03em;
  color: var(--wp--preset--color--contrast);
  margin: 0 0 2rem;
  opacity: 0;
  animation: grs-title-in .7s cubic-bezier(.7,.05,.3,1) .1s forwards;
}

/* ---- TREPTE CARIERĂ (animație) ---- */
.grs-steps{
  display: block;
  width: 100%;
  max-width: 1360px;
  height: auto;
  margin: 0 auto;
  overflow: visible;
}
.st-ground{
  stroke-dasharray: 1200; stroke-dashoffset: 1200;
  animation: sk-fade-up .6s ease .2s forwards, st-draw .8s ease .2s forwards;
}
@keyframes st-draw{ to { stroke-dashoffset: 0; } }

/* Fiecare treaptă apare de jos în sus, staggered */
.st-step rect,
.st-step circle,
.st-step line{
  opacity: 0;
  transform-box: fill-box;
  transform-origin: bottom center;
  animation: st-rise .55s cubic-bezier(.5, 1.4, .4, 1) forwards;
}
.st-step--1 rect,
.st-step--1 circle,
.st-step--1 line{ animation-delay: .5s; }
.st-step--2 rect,
.st-step--2 circle,
.st-step--2 line{ animation-delay: .75s; }
.st-step--3 rect,
.st-step--3 circle,
.st-step--3 line{ animation-delay: 1s; }
.st-step--4 rect,
.st-step--4 circle,
.st-step--4 line{ animation-delay: 1.25s; }
.st-step--5 rect,
.st-step--5 circle,
.st-step--5 line{ animation-delay: 1.55s; }

@keyframes st-rise{
  from{ opacity: 0; transform: translateY(20px); }
  to  { opacity: 1; transform: translateY(0); }
}

/* Label-urile deasupra treptelor */
.st-label{
  opacity: 0;
  animation: sk-fade-up .3s ease forwards;
}
.st-label--1{ animation-delay: .8s; }
.st-label--2{ animation-delay: 1.05s; }
.st-label--3{ animation-delay: 1.3s; }
.st-label--4{ animation-delay: 1.55s; }
.st-label--5{
  animation: sk-fade-up .3s ease 1.85s forwards, st-pulse 2.5s ease-in-out infinite 2.5s;
}
@keyframes st-pulse{
  0%,100%{ opacity: 1; }
  50%    { opacity: .55; }
}

/* Linia de evoluție — se desenează după ce toate treptele sunt sus */
.st-line{
  stroke-dasharray: 850; stroke-dashoffset: 850;
  animation: st-draw 1.1s cubic-bezier(.7,.05,.3,1) 1.7s forwards;
}
/* Cota + săgeata direcției apar la final */
.st-dim, .st-arrow{
  opacity: 0;
  animation: sk-fade-up .4s ease 2.3s forwards;
}

/* ---- INTRO — un rând de text mare, full width ---- */
.grs-car-intro{
  padding: clamp(2rem, 4vw, 3.5rem) 0 clamp(2rem, 4vw, 3rem);
  border-bottom: 1px solid var(--wp--preset--color--line);
  max-width: 1000px;
  margin: 0 auto;
  text-align: center;
}
.grs-car-intro .grs-contact__eyebrow{
  margin-bottom: 1.25rem;
}
.grs-car-intro__lead{
  margin: 0;
  font-family: var(--wp--preset--font-family--vollkorn);
  font-size: clamp(1.35rem, 2vw, 1.75rem);
  line-height: 1.5;
  color: var(--wp--preset--color--contrast);
  letter-spacing: -.005em;
  font-weight: 400;
}
.grs-car-intro__lead em{
  font-style: normal;
  color: var(--wp--preset--color--accent);
  border-bottom: 2px solid var(--wp--preset--color--accent);
  padding-bottom: .1rem;
}

/* ---- VALUES GRID — 4 carduri orizontal, full width ---- */
.grs-car-values{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  border-bottom: 1px solid var(--wp--preset--color--line);
}
.grs-car-value{
  padding: 2.5rem 1.75rem 2.75rem;
  border-right: 1px solid var(--wp--preset--color--line);
  transition: background-color .3s ease;
  position: relative;
}
.grs-car-value:last-child{ border-right: 0; }
.grs-car-value:hover{ background: #faf9f6; }
.grs-car-value__index{
  display: block;
  font-family: var(--wp--preset--font-family--manrope);
  font-size: .68rem;
  letter-spacing: .3em;
  text-transform: uppercase;
  color: var(--wp--preset--color--accent);
  font-weight: 700;
  margin-bottom: 1rem;
}
.grs-car-value__title{
  font-family: var(--wp--preset--font-family--vollkorn);
  font-size: 1.4rem;
  font-weight: 500;
  color: var(--wp--preset--color--contrast);
  line-height: 1.15;
  letter-spacing: -.015em;
  margin: 0 0 .75rem;
}
.grs-car-value__body{
  margin: 0;
  font-size: .92rem;
  line-height: 1.6;
  color: #4f5863;
}

/* ---- POZIȚII DESCHISE — expanded full width ---- */
.grs-car-positions{
  padding: clamp(3rem, 5vw, 4.5rem) 0;
  border-bottom: 1px solid var(--wp--preset--color--line);
}
.grs-car-positions__head{
  display: flex;
  justify-content: space-between;
  align-items: end;
  margin-bottom: 2.5rem;
  gap: 2rem;
  flex-wrap: wrap;
}
.grs-car-positions__title{
  font-family: var(--wp--preset--font-family--vollkorn);
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  font-weight: 500;
  line-height: 1.05;
  letter-spacing: -.02em;
  color: var(--wp--preset--color--contrast);
  margin: 0;
}
.grs-car-positions__meta{
  display: flex;
  align-items: baseline;
  gap: .5rem;
}
.grs-car-positions__count{
  font-family: var(--wp--preset--font-family--vollkorn);
  font-size: 3rem;
  font-weight: 400;
  color: var(--wp--preset--color--accent);
  line-height: 1;
  letter-spacing: -.03em;
}
.grs-car-positions__count-lbl{
  font-family: var(--wp--preset--font-family--manrope);
  font-size: .7rem;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--wp--preset--color--muted);
  font-weight: 600;
}

.grs-car-positions__list{
  border-top: 1px solid var(--wp--preset--color--contrast);
}
.grs-car-position{
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: 3rem;
  padding: 2.25rem 0;
  border-bottom: 1px solid var(--wp--preset--color--line);
  align-items: start;
  transition: padding-left .3s ease;
}
.grs-car-position:hover{ padding-left: .5rem; }
.grs-car-position__left{
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 1rem;
  align-items: start;
}
.grs-car-position__index{
  font-family: var(--wp--preset--font-family--vollkorn);
  font-size: 1.6rem;
  color: var(--wp--preset--color--accent);
  line-height: 1;
  padding-top: .15rem;
  font-weight: 400;
}
.grs-car-position__title{
  font-family: var(--wp--preset--font-family--vollkorn);
  font-size: 1.55rem;
  font-weight: 500;
  color: var(--wp--preset--color--contrast);
  line-height: 1.15;
  letter-spacing: -.015em;
  margin: 0 0 .85rem;
}
.grs-car-position__tags{
  display: flex;
  flex-wrap: wrap;
  gap: .4rem .5rem;
}
.grs-car-position__tags span{
  font-family: var(--wp--preset--font-family--manrope);
  font-size: .62rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: #4f5863;
  font-weight: 600;
  padding: .3rem .6rem;
  border: 1px solid var(--wp--preset--color--line);
  background: #fafaf7;
}
.grs-car-position__right{
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  padding-top: .5rem;
}
.grs-car-position__body{
  margin: 0;
  font-size: 1rem;
  line-height: 1.65;
  color: #4f5863;
}
.grs-car-position__apply{
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  font-family: var(--wp--preset--font-family--manrope);
  font-size: .72rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--wp--preset--color--contrast);
  text-decoration: none;
  padding-bottom: .3rem;
  border-bottom: 1.5px solid var(--wp--preset--color--accent);
  transition: gap .25s ease, color .2s ease;
}
.grs-car-position__apply:hover{
  gap: .95rem;
  color: var(--wp--preset--color--accent);
}
.grs-car-position__apply svg{ color: var(--wp--preset--color--accent); }

/* ---- CTA final — bandă cu accent, full width ---- */
.grs-car-cta{
  margin-top: clamp(3rem, 5vw, 4rem);
  padding: clamp(2.5rem, 4vw, 3.5rem) clamp(2rem, 4vw, 3.5rem);
  background: var(--wp--preset--color--contrast);
  color: #ffffff;
  position: relative;
}
/* Colțuri teracotă pe bandă */
.grs-car-cta::before,
.grs-car-cta::after{
  content: "";
  position: absolute;
  width: 14px;
  height: 14px;
  border-color: var(--wp--preset--color--accent);
}
.grs-car-cta::before{
  top: -6px; left: -6px;
  border-top: 1.5px solid;
  border-left: 1.5px solid;
}
.grs-car-cta::after{
  bottom: -6px; right: -6px;
  border-bottom: 1.5px solid;
  border-right: 1.5px solid;
}

.grs-car-cta__inner{
  display: grid;
  grid-template-columns: minmax(0, 7fr) auto;
  gap: 3rem;
  align-items: center;
}
.grs-car-cta__text .grs-contact__eyebrow{
  color: var(--wp--preset--color--accent);
  border-bottom-color: var(--wp--preset--color--accent);
}
.grs-car-cta__title{
  font-family: var(--wp--preset--font-family--vollkorn);
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  font-weight: 500;
  line-height: 1.15;
  letter-spacing: -.015em;
  color: #ffffff;
  margin: 0 0 .85rem;
}
.grs-car-cta__body{
  margin: 0;
  font-size: .95rem;
  line-height: 1.65;
  color: rgba(255, 255, 255, .75);
  max-width: 640px;
}
.grs-car-cta__btn{
  display: inline-flex;
  align-items: center;
  gap: .85rem;
  padding: 0 1.75rem;
  height: 52px;
  background: transparent;
  border: 1.5px solid var(--wp--preset--color--accent);
  color: #ffffff;
  font-family: var(--wp--preset--font-family--manrope);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  text-decoration: none;
  position: relative;
  overflow: hidden;
  transition: color .3s ease;
}
.grs-car-cta__btn::before{
  content: "";
  position: absolute; inset: 0;
  background: var(--wp--preset--color--accent);
  transform: translateX(-101%);
  transition: transform .45s cubic-bezier(.7,.05,.3,1);
  z-index: 0;
}
.grs-car-cta__btn:hover::before{ transform: translateX(0); }
.grs-car-cta__btn span, .grs-car-cta__btn svg{ position: relative; z-index: 1; }
.grs-car-cta__btn svg{ color: var(--wp--preset--color--accent); transition: transform .3s ease, color .3s ease; }
.grs-car-cta__btn:hover svg{ transform: translateX(4px); color: #ffffff; }

/* ---- RESPONSIVE Cariere ---- */
@media (max-width: 1024px){
  .grs-car-values{ grid-template-columns: 1fr 1fr; }
  .grs-car-values .grs-car-value:nth-child(2){ border-right: 0; }
  .grs-car-values .grs-car-value:nth-child(-n+2){ border-bottom: 1px solid var(--wp--preset--color--line); }
  .grs-car-position{ grid-template-columns: 1fr; gap: 1.5rem; }
}
@media (max-width: 768px){
  .grs-cariere-page__title{ font-size: 2.25rem; }
  .grs-car-values{ grid-template-columns: 1fr; }
  .grs-car-values .grs-car-value{ border-right: 0; border-bottom: 1px solid var(--wp--preset--color--line); }
  .grs-car-values .grs-car-value:last-child{ border-bottom: 0; }
  .grs-car-position__left{ grid-template-columns: 36px 1fr; gap: .75rem; }
  .grs-car-position__title{ font-size: 1.3rem; }
  .grs-car-positions__head{ align-items: start; }
  .grs-car-positions__count{ font-size: 2.25rem; }
  .grs-car-cta__inner{ grid-template-columns: 1fr; gap: 1.75rem; }
  .grs-car-cta__btn{ width: 100%; justify-content: center; }
}

/* Legacy — rack de căști dispărut, dar păstrez clase în caz de reactivare */
.grs-helmet-rack{
  display: block;
  width: 100%;
  max-width: 1360px;
  height: auto;
  margin: 0 auto;
  overflow: visible;
}

/* Grinda apare prima, se desenează stânga-dreapta */
.hr-beam{
  stroke-dasharray: 1220;
  stroke-dashoffset: 1220;
  animation: hr-draw 1s cubic-bezier(.7,.05,.3,1) .2s forwards;
}
.hr-beam-support{
  opacity: 0;
  animation: hr-fade-in .3s ease 1.1s forwards;
}
@keyframes hr-draw{ to { stroke-dashoffset: 0; } }
@keyframes hr-fade-in{ to { opacity: 1; } }

/* Cârligele apar unul câte unul */
.hr-hook{
  opacity: 0;
  animation: hr-fade-in .25s ease forwards;
}
.hr-hook--1{ animation-delay: .8s; }
.hr-hook--2{ animation-delay: .88s; }
.hr-hook--3{ animation-delay: .96s; }
.hr-hook--4{ animation-delay: 1.04s; }
.hr-hook--5{ animation-delay: 1.12s; }
.hr-hook--6{ animation-delay: 1.2s; }
.hr-hook--7{ animation-delay: 1.28s; }
.hr-hook--8{ animation-delay: 1.36s; }

/* Căștile cad de sus pe cârlig */
.hr-helmet{
  opacity: 0;
  transform-box: fill-box;
  transform-origin: center 25%;
  animation: hr-drop .5s cubic-bezier(.5, 1.6, .4, 1) forwards;
}
.hr-helmet--1{ animation-delay: 1.1s; }
.hr-helmet--2{ animation-delay: 1.22s; }
.hr-helmet--3{ animation-delay: 1.34s; }
.hr-helmet--4{ animation-delay: 1.46s; }
.hr-helmet--5{ animation-delay: 1.58s; }
.hr-helmet--6{ animation-delay: 1.7s; }
.hr-helmet--7{ animation-delay: 1.85s; }
.hr-helmet--8{ animation-delay: 2s; }

@keyframes hr-drop{
  0%   { opacity: 0; transform: translateY(-25px); }
  60%  { opacity: 1; transform: translateY(2px); }
  100% { opacity: 1; transform: translateY(0); }
}

/* Căștile deschise (7 și 8) au un swing subtile continuu */
.hr-helmet--open{
  animation: hr-drop .5s cubic-bezier(.5, 1.6, .4, 1) forwards,
             hr-sway 3s ease-in-out infinite;
  animation-delay: 1.85s, 2.5s;
}
.hr-helmet--8{
  animation-delay: 2s, 2.8s;
}
@keyframes hr-sway{
  0%, 100% { transform: rotate(0deg); }
  50%      { transform: rotate(3deg); }
}

/* Eticheta „ANGAJĂM" apare la final */
.hr-label{
  opacity: 0;
  animation: hr-fade-in .4s ease 2.3s forwards;
}

/* Solul */
.hr-ground{
  stroke-dasharray: 1360;
  stroke-dashoffset: 1360;
  animation: hr-draw .6s ease .1s forwards;
}

/* ============================================================
   JOB CARDS — listă de poziții deschise
   ============================================================ */
.grs-jobs{
  display: flex;
  flex-direction: column;
  gap: 1.75rem;
}
.grs-job{
  position: relative;
  padding: 1.5rem 0;
  border-bottom: 1px solid var(--wp--preset--color--line);
}
.grs-job:last-of-type{ border-bottom: 0; }

.grs-job__head{
  display: grid;
  grid-template-columns: 40px 1fr;
  gap: 1rem;
  align-items: start;
  margin-bottom: .85rem;
}
.grs-job__index{
  font-family: var(--wp--preset--font-family--vollkorn);
  font-size: 1.2rem;
  font-weight: 500;
  color: var(--wp--preset--color--accent);
  letter-spacing: 0;
  padding-top: .1rem;
  line-height: 1;
}
.grs-job__title{
  font-family: var(--wp--preset--font-family--vollkorn);
  font-size: 1.4rem;
  font-weight: 500;
  color: var(--wp--preset--color--contrast);
  line-height: 1.15;
  letter-spacing: -.015em;
  margin: 0 0 .55rem;
}
.grs-job__meta{
  display: flex;
  flex-wrap: wrap;
  gap: .35rem .5rem;
}
.grs-job__tag{
  font-family: var(--wp--preset--font-family--manrope);
  font-size: .62rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: #4f5863;
  font-weight: 600;
  padding: .3rem .55rem;
  border: 1px solid var(--wp--preset--color--line);
  background: #fafaf7;
}
.grs-job__body{
  margin: 0 0 1rem 3.5rem;
  font-size: .95rem;
  line-height: 1.65;
  color: #4f5863;
}
.grs-job__apply{
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  margin-left: 3.5rem;
  font-family: var(--wp--preset--font-family--manrope);
  font-size: .72rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--wp--preset--color--contrast);
  text-decoration: none;
  padding-bottom: .3rem;
  border-bottom: 1.5px solid var(--wp--preset--color--accent);
  transition: gap .25s ease, color .2s ease;
}
.grs-job__apply:hover{
  gap: .95rem;
  color: var(--wp--preset--color--accent);
}
.grs-job__apply svg{ color: var(--wp--preset--color--accent); }

/* Footnote la sfârșitul listei */
.grs-jobs__footnote{
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px dashed rgba(15, 26, 42, .15);
  text-align: center;
}
.grs-jobs__footnote p{
  margin: 0;
  font-size: .85rem;
  line-height: 1.6;
  color: #4f5863;
  font-style: italic;
  font-family: var(--wp--preset--font-family--vollkorn);
}
.grs-jobs__footnote a{
  color: var(--wp--preset--color--contrast);
  border-bottom: 1px solid var(--wp--preset--color--accent);
  text-decoration: none;
  font-style: normal;
  font-family: var(--wp--preset--font-family--manrope);
  font-weight: 600;
  letter-spacing: .05em;
  transition: color .2s ease;
}
.grs-jobs__footnote a:hover{ color: var(--wp--preset--color--accent); }

/* Responsive job cards */
@media (max-width: 768px){
  .grs-job__head{ grid-template-columns: 30px 1fr; gap: .75rem; }
  .grs-job__title{ font-size: 1.2rem; }
  .grs-job__body,
  .grs-job__apply{ margin-left: 0; }
  .grs-job__tag{ font-size: .58rem; padding: .25rem .45rem; }
  .grs-helmet-rack{ max-width: 100%; }
}

/* ---------- ELEMENTE VECHI ELIMINATE VIZUAL (păstrate în CSS pt. compat) ---------- */
.grs-dim,
.grs-callouts,
.grs-callout,
.grs-legend,
.grs-scale,
.grs-north,
.grs-workers,
.grs-worker{ display: none !important; }

/* ---------- COTE (dimension lines) — legacy, unused ---------- */
.grs-dim{
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #c2603f;
  font-family: var(--wp--preset--font-family--manrope);
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
  z-index: 2;
  pointer-events: none;
}
.grs-dim__tick{
  display: block;
  background: currentColor;
  flex-shrink: 0;
}
.grs-dim__line{
  display: block;
  background: currentColor;
  flex: 1;
}
.grs-dim__label{
  background: #ffffff;
  padding: 0 .5rem;
  position: absolute;
  color: #c2603f;
  letter-spacing: .2em;
}

/* Cota SUS orizontală */
.grs-dim--top{
  top: 1.5rem;
  left: 5rem;
  right: 5rem;
  height: 12px;
}
.grs-dim--top .grs-dim__tick{ width: 1px; height: 10px; }
.grs-dim--top .grs-dim__line{ height: 1px; margin: 0 2px; }
.grs-dim--top .grs-dim__label{
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* Cota STÂNGA verticală */
.grs-dim--left{
  top: 3.5rem;
  bottom: 4.5rem;
  left: 1.75rem;
  width: 12px;
  flex-direction: column;
}
.grs-dim--left .grs-dim__tick{ height: 1px; width: 10px; }
.grs-dim--left .grs-dim__line{ width: 1px; margin: 2px 0; }
.grs-dim--left .grs-dim__label{
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-90deg);
  transform-origin: center;
  white-space: nowrap;
}

/* ---------- CALLOUTS (A/B/C/D/E în cerc) ---------- */
.grs-callouts{
  position: absolute;
  top: 3.5rem;
  right: 1.5rem;
  bottom: 4.5rem;
  width: 2rem;
  pointer-events: none;
  z-index: 3;
}
.grs-callout{
  position: absolute;
  right: 0;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 1.5px solid #c2603f;
  background: #ffffff;
  color: #c2603f;
  font-family: var(--wp--preset--font-family--vollkorn);
  font-size: .8rem;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  transform: translateY(-50%);
  opacity: 0;
  animation: grs-callout-in .5s cubic-bezier(.7,.05,.3,1) forwards;
}
.grs-callout:nth-child(1){ animation-delay: .8s; }
.grs-callout:nth-child(2){ animation-delay: .9s; }
.grs-callout:nth-child(3){ animation-delay: 1s; }
.grs-callout:nth-child(4){ animation-delay: 1.1s; }
.grs-callout:nth-child(5){ animation-delay: 1.2s; }
@keyframes grs-callout-in{
  from{ opacity: 0; transform: translate(20px, -50%); }
  to  { opacity: 1; transform: translate(0, -50%); }
}

/* Legenda callout-urilor JOS */
.grs-legend{
  position: absolute;
  bottom: .75rem;
  left: 5rem;
  right: 5rem;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: .5rem 1rem;
  font-size: .62rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--wp--preset--color--muted);
  font-weight: 500;
  z-index: 2;
}
.grs-legend span b{
  color: #c2603f;
  font-weight: 700;
  margin-right: .3rem;
  font-family: var(--wp--preset--font-family--vollkorn);
}

/* Scara + N — colț dreapta jos */
.grs-scale{
  position: absolute;
  bottom: 2.25rem;
  right: 5rem;
  display: none; /* opțional pe desktop mic, hidden aici pentru curățenie */
}
.grs-scale__ruler{
  display: inline-flex;
  border: 1px solid #0f1a2a;
  height: 6px;
  margin-right: .5rem;
}
.grs-scale__ruler i{
  display: block;
  width: 8px;
  height: 100%;
  border-right: 1px solid #0f1a2a;
}
.grs-scale__ruler i:nth-child(odd){ background: #0f1a2a; }
.grs-scale__label{
  font-size: .6rem;
  letter-spacing: .15em;
  color: var(--wp--preset--color--muted);
}
.grs-north{
  position: absolute;
  top: 1.5rem;
  right: 1.5rem;
  color: #0f1a2a;
  z-index: 4;
  opacity: 0;
  animation: grs-fade-in .6s ease 1.4s forwards;
}
@keyframes grs-fade-in{ to{ opacity: 1; } }

/* ---------- MUNCITORII ---------- */
.grs-workers{
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 4;
}
.grs-worker{
  position: absolute;
  opacity: 0;
  animation: grs-fade-in .4s ease forwards;
  color: #0f1a2a;
}
/* 1. Surveyor cu ruleta — deasupra formularului, măsoară cota superioară */
.grs-worker--surveyor{
  top: 2.4rem;
  left: 28%;
  animation-delay: 1.5s;
}
.grs-worker--surveyor .grs-worker__arm{
  transform-origin: 0 -10px;
  animation: grs-measure 3s ease-in-out infinite 2s;
}
.grs-worker--surveyor .grs-worker__tape{
  transform-origin: 10px -13px;
  animation: grs-tape-extend 3s ease-in-out infinite 2s;
}
@keyframes grs-measure{
  0%,100%{ transform: rotate(0deg); }
  50%{ transform: rotate(-25deg); }
}
@keyframes grs-tape-extend{
  0%,100%{ transform: scaleY(.3); }
  50%{ transform: scaleY(1); }
}

/* 2. Inspector cu clipboard — dreapta pe callout-urile A/B */
.grs-worker--inspector{
  top: 30%;
  right: 3.5rem;
  animation-delay: 1.7s;
}
.grs-worker--inspector .grs-worker__pen{
  transform-origin: -2px -12px;
  animation: grs-write 2s ease-in-out infinite 2.5s;
}
@keyframes grs-write{
  0%,100%{ transform: rotate(0deg) translate(0,0); }
  25%{ transform: rotate(-15deg) translate(-2px, 1px); }
  50%{ transform: rotate(5deg) translate(2px, -1px); }
  75%{ transform: rotate(-8deg) translate(-1px, 1px); }
}

/* 3. Walker — pe cota de sus, merge dreapta-stânga */
.grs-worker--walker{
  top: 1.15rem;
  left: 5rem;
  animation:
    grs-fade-in .4s ease 1.9s forwards,
    grs-walk 10s linear infinite 2.5s;
}
@keyframes grs-walk{
  0%   { transform: translateX(0); }
  48%  { transform: translateX(calc(100vw - 15rem)); }
  50%  { transform: translateX(calc(100vw - 15rem)) scaleX(-1); }
  98%  { transform: translateX(0) scaleX(-1); }
  100% { transform: translateX(0); }
}
/* Limitează cursa walker-ului la maxim 500px */
@media (min-width: 720px){
  @keyframes grs-walk{
    0%   { transform: translateX(0); }
    48%  { transform: translateX(500px); }
    50%  { transform: translateX(500px) scaleX(-1); }
    98%  { transform: translateX(0) scaleX(-1); }
    100% { transform: translateX(0); }
  }
}
.grs-walker-leg-l{ transform-origin: 0 -2px; animation: grs-leg .35s ease-in-out infinite 2.5s; }
.grs-walker-leg-r{ transform-origin: 0 -2px; animation: grs-leg .35s ease-in-out infinite 2.68s; }
.grs-walker-arm-l{ transform-origin: 0 -8px; animation: grs-arm .35s ease-in-out infinite 2.68s; }
.grs-walker-arm-r{ transform-origin: 0 -8px; animation: grs-arm .35s ease-in-out infinite 2.5s; }
@keyframes grs-leg{ 0%,100%{transform:rotate(25deg);} 50%{transform:rotate(-25deg);} }
@keyframes grs-arm{ 0%,100%{transform:rotate(-18deg);} 50%{transform:rotate(18deg);} }

/* 4. Sitter — jos-stânga lângă legendă */
.grs-worker--sitter{
  bottom: 2.25rem;
  left: 3.5rem;
  animation-delay: 2.1s;
}

/* ---------- FORMULARUL ---------- */
.grs-blueprint-form .grs-form{
  position: relative;
  z-index: 1;
  gap: 1.15rem;
  background: transparent;
}
.grs-blueprint-form .grs-field{ padding-top: 1.2rem; }
.grs-blueprint-form .grs-field textarea{ min-height: 90px; }
.grs-blueprint-form .grs-field label{ top: 2.05rem; }

/* Row-urile capătă un mic tick pe stânga */
.grs-form__row[data-section],
.grs-field[data-section],
.grs-form__footer[data-section]{
  position: relative;
}

/* Footer form: consent + submit pe același rând */
.grs-form__footer{
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1.5rem;
  margin-top: .5rem;
}
.grs-form__footer .grs-checkbox{
  margin-top: 0;
  flex: 1;
  font-size: .78rem;
}
.grs-form__footer .grs-submit{
  margin-top: 0;
  flex-shrink: 0;
}

/* Footer form: consent + submit pe același rând */
.grs-form__footer{
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1.5rem;
  margin-top: .5rem;
}
.grs-form__footer .grs-checkbox{
  margin-top: 0;
  flex: 1;
  font-size: .78rem;
}
.grs-form__footer .grs-submit{
  margin-top: 0;
  flex-shrink: 0;
}

/* ============================================================
   ANIMAȚIA CLĂDIRII — rapidă (~4s total)
   ============================================================ */

.bp line, .bp rect, .bp path{
  stroke-dasharray: 600;
  stroke-dashoffset: 600;
  animation: bp-draw .5s cubic-bezier(.7,.05,.3,1) forwards;
}
.bp circle{
  opacity: 0;
  animation: bp-fade .4s ease forwards;
}

/* Sun (accent teracotă) */
.bp-sun{
  stroke-dasharray: 345;
  stroke-dashoffset: 345;
  animation: bp-draw 1s ease .1s forwards;
  opacity: 1;
}

/* 1. Sol — 0s */
.bp-ground{ animation-duration: .5s; animation-delay: 0s; }

/* 2. Fundație — 0.3s */
.bp-foundation rect{ stroke-dasharray: 950; stroke-dashoffset: 950; animation-duration: .35s; animation-delay: .25s; }

/* 3. Coloane — 0.5s, staggered rapid */
.bp-columns .bp-col{ stroke-dasharray: 720; stroke-dashoffset: 720; animation-duration: .4s; }
.bp-columns .bp-col:nth-child(1){ animation-delay: .5s; }
.bp-columns .bp-col:nth-child(2){ animation-delay: .55s; }
.bp-columns .bp-col:nth-child(3){ animation-delay: .6s; }
.bp-columns .bp-col:nth-child(4){ animation-delay: .65s; }

/* 4. Planșee — 0.9s cascadă rapidă */
.bp-floors .bp-floor{ stroke-dasharray: 420; stroke-dashoffset: 420; animation-duration: .3s; }
.bp-floors .bp-floor:nth-child(1){ animation-delay: .9s; }
.bp-floors .bp-floor:nth-child(2){ animation-delay: .96s; }
.bp-floors .bp-floor:nth-child(3){ animation-delay: 1.02s; }
.bp-floors .bp-floor:nth-child(4){ animation-delay: 1.08s; }
.bp-floors .bp-floor:nth-child(5){ animation-delay: 1.14s; }
.bp-floors .bp-floor:nth-child(6){ animation-delay: 1.2s; }
.bp-floors .bp-floor:nth-child(7){ animation-delay: 1.26s; }

/* 5. Contravântuiri — 1.4s */
.bp-brace .bp-x{ stroke-dasharray: 220; stroke-dashoffset: 220; animation-duration: .3s; }
.bp-brace .bp-x:nth-child(1){ animation-delay: 1.4s; }
.bp-brace .bp-x:nth-child(2){ animation-delay: 1.45s; }
.bp-brace .bp-x:nth-child(3){ animation-delay: 1.5s; }
.bp-brace .bp-x:nth-child(4){ animation-delay: 1.55s; }

/* 6. Ferestre — apar toate în ~0.9s */
.bp-windows .bp-win{ stroke-dasharray: 400; stroke-dashoffset: 400; animation-duration: .3s; }
.bp-windows .bp-win:nth-child(1){ animation-delay: 1.7s; }
.bp-windows .bp-win:nth-child(2){ animation-delay: 1.73s; }
.bp-windows .bp-win:nth-child(3){ animation-delay: 1.76s; }
.bp-windows .bp-win:nth-child(4){ animation-delay: 1.79s; }
.bp-windows .bp-win:nth-child(5){ animation-delay: 1.82s; }
.bp-windows .bp-win:nth-child(6){ animation-delay: 1.85s; }
.bp-windows .bp-win:nth-child(7){ animation-delay: 1.88s; }
.bp-windows .bp-win:nth-child(8){ animation-delay: 1.91s; }
.bp-windows .bp-win:nth-child(9){ animation-delay: 1.94s; }
.bp-windows .bp-win:nth-child(10){ animation-delay: 1.97s; }
.bp-windows .bp-win:nth-child(11){ animation-delay: 2s; }
.bp-windows .bp-win:nth-child(12){ animation-delay: 2.03s; }
.bp-windows .bp-win:nth-child(13){ animation-delay: 2.06s; }
.bp-windows .bp-win:nth-child(14){ animation-delay: 2.09s; }
.bp-windows .bp-win:nth-child(15){ animation-delay: 2.12s; }
.bp-windows .bp-win:nth-child(16){ animation-delay: 2.15s; }
.bp-windows .bp-win:nth-child(17){ animation-delay: 2.18s; }
.bp-windows .bp-win:nth-child(18){ animation-delay: 2.21s; }

/* 7. MACARĂ — începe în paralel cu planșeele — 1.2s */
.bp-crane .bp-crane-mast{ stroke-dasharray: 830; stroke-dashoffset: 830; animation-duration: .8s; animation-delay: 1.2s; }
.bp-crane .bp-crane-lattice line{ stroke-dasharray: 45; stroke-dashoffset: 45; animation-duration: .25s; animation-delay: 1.8s; }
.bp-crane .bp-crane-cabin{ stroke-dasharray: 140; stroke-dashoffset: 140; animation-duration: .3s; animation-delay: 2.1s; }
.bp-crane .bp-crane-mast-top{ stroke-dasharray: 60; stroke-dashoffset: 60; animation-duration: .2s; animation-delay: 2.2s; }
.bp-crane .bp-crane-jib{ stroke-dasharray: 620; stroke-dashoffset: 620; animation-duration: .5s; animation-delay: 2.3s; }
.bp-crane .bp-crane-cjib{ stroke-dasharray: 120; stroke-dashoffset: 120; animation-duration: .3s; animation-delay: 2.3s; }
.bp-crane .bp-crane-tie{ stroke-dasharray: 550; stroke-dashoffset: 550; animation-duration: .4s; animation-delay: 2.7s; }
.bp-crane .bp-crane-cw{ stroke-dasharray: 160; stroke-dashoffset: 160; animation-duration: .3s; animation-delay: 2.8s; }

/* Load — trolley + cable + hook + grinda */
.bp-crane-load .bp-trolley,
.bp-crane-load .bp-cable,
.bp-crane-load .bp-hook-h,
.bp-crane-load .bp-hook-v,
.bp-crane-load .bp-load rect{
  stroke-dasharray: 200; stroke-dashoffset: 200;
  animation: bp-draw .3s cubic-bezier(.7,.05,.3,1) 3.1s forwards;
}

/* 8. Site (container + stivă) — 3.5s */
.bp-site rect, .bp-site line{ stroke-dasharray: 200; stroke-dashoffset: 200; animation-duration: .35s; animation-delay: 3.5s; }

/* 9. Muncitori — apar la final, apoi se animează */
.bp-worker line, .bp-worker path{ stroke-dasharray: 30; stroke-dashoffset: 30; animation-duration: .25s; animation-delay: 3.7s; animation-fill-mode: forwards; }
.bp-worker circle{ animation-delay: 3.7s; }

/* 10. Cote — 4s (final) */
.bp-dims line{ stroke-dasharray: 420; stroke-dashoffset: 420; animation-duration: .4s; animation-delay: 4s; }
.bp-dim-labels text{ opacity: 0; animation: bp-fade .3s ease 4.4s forwards; }

@keyframes bp-draw{
  to{ stroke-dashoffset: 0; }
}
@keyframes bp-fade{
  to{ opacity: 1; }
}

/* ============================================================
   MUNCITORI ANIMAȚI — LOOP (după ce desenul e gata)
   ============================================================ */

/* Container SVG pentru muncitor - poziționare + walk cycle */

/* 1. Walker — merge dreapta-stânga pe sol */
.bp-worker--walker{
  animation: bp-walker-move 8s linear infinite 4.5s;
}
@keyframes bp-walker-move{
  0%   { transform: translate(250px, 985px); }
  48%  { transform: translate(620px, 985px); }
  50%  { transform: translate(620px, 985px) scale(-1, 1); }
  98%  { transform: translate(250px, 985px) scale(-1, 1); }
  100% { transform: translate(250px, 985px); }
}
/* Picioare care se mișcă alternativ */
.bp-worker--walker .bp-leg-l{
  transform-origin: 0px 6px;
  animation: bp-leg-swing 0.4s ease-in-out infinite 4.5s;
}
.bp-worker--walker .bp-leg-r{
  transform-origin: 0px 6px;
  animation: bp-leg-swing 0.4s ease-in-out infinite 4.7s;
}
@keyframes bp-leg-swing{
  0%,100%{ transform: rotate(20deg); }
  50%{ transform: rotate(-20deg); }
}
.bp-worker--walker .bp-arm-l{
  transform-origin: 0px 0px;
  animation: bp-arm-swing 0.4s ease-in-out infinite 4.7s;
}
.bp-worker--walker .bp-arm-r{
  transform-origin: 0px 0px;
  animation: bp-arm-swing 0.4s ease-in-out infinite 4.5s;
}
@keyframes bp-arm-swing{
  0%,100%{ transform: rotate(-15deg); }
  50%{ transform: rotate(15deg); }
}

/* 2. Hammer worker — bate cu ciocanul */
.bp-worker--hammer .bp-hammer{
  transform-origin: 0 0;
  animation: bp-hammer-swing .6s ease-in-out infinite 4.5s;
}
@keyframes bp-hammer-swing{
  0%,100%{ transform: rotate(0deg); }
  30%{ transform: rotate(-45deg); }
  60%{ transform: rotate(5deg); }
}

/* 3. Scaffold worker — își întoarce capul */
.bp-worker--scaffold .bp-head{
  transform-origin: 0 -10px;
  animation: bp-head-turn 4s ease-in-out infinite 4.5s;
}
@keyframes bp-head-turn{
  0%,100%{ transform: rotate(0deg) translateX(0); }
  25%{ transform: translateX(-2px); }
  75%{ transform: translateX(2px); }
}

/* 4. Carrier worker — ridică marfă (mișcare verticală subtilă) */
.bp-worker--carrier .bp-arms-carrying{
  transform-origin: 0 0;
  animation: bp-lift 2s ease-in-out infinite 4.5s;
}
@keyframes bp-lift{
  0%,100%{ transform: translateY(0); }
  50%{ transform: translateY(-3px); }
}

/* ============================================================
   MACARA — încărcătură care coboară/urcă continuu
   ============================================================ */
.bp-crane-load{
  transform-origin: 395px 197px;
  animation:
    bp-load-move 8s cubic-bezier(.5,.05,.5,.95) infinite 4s,
    bp-trolley-slide 12s ease-in-out infinite 4s;
}
@keyframes bp-load-move{
  0%   { transform: translateY(0); }
  25%  { transform: translateY(-180px); }
  55%  { transform: translateY(-180px); }
  80%  { transform: translateY(0); }
  100% { transform: translateY(0); }
}
@keyframes bp-trolley-slide{
  0%,100%{ transform: translateX(0); }
  50%{ transform: translateX(-180px); }
}

/* Titlul respiră subtil în timp ce clădirea se ridică */
.grs-contact-page__title{
  overflow: hidden;
}

/* Contact — split principal (curge direct sub hero, fără padding-top mare) */
.grs-contact{
  padding: 4rem 0 6rem;
  background: var(--wp--preset--color--base);
}
.grs-contact__inner{
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 clamp(1.25rem, 4vw, 3rem);
  display: grid;
  grid-template-columns: 5fr 6fr;
  gap: 6rem;
  align-items: start;
}

.grs-contact__lead{
  font-size: .8rem;
  letter-spacing: .25em;
  text-transform: uppercase;
  color: var(--wp--preset--color--muted);
  margin: 0 0 2rem;
  font-weight: 600;
}

.grs-info-block{
  padding: 1.5rem 0;
  border-top: 1px solid var(--wp--preset--color--line);
}
.grs-info-block:last-of-type{ border-bottom: 1px solid var(--wp--preset--color--line); }
.grs-info-block__label{
  font-size: .68rem;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--wp--preset--color--muted);
  margin: 0 0 .6rem;
  font-weight: 600;
}
.grs-info-block__value{
  display: inline-flex;
  align-items: center;
  gap: .85rem;
  font-family: var(--wp--preset--font-family--vollkorn);
  font-size: 1.35rem;
  font-weight: 500;
  color: var(--wp--preset--color--contrast);
  text-decoration: none;
  letter-spacing: -.01em;
  line-height: 1.3;
  transition: color .2s ease, gap .3s ease;
}
.grs-info-block__value:hover:not(.grs-info-block__value--static){
  color: var(--wp--preset--color--accent);
  gap: 1.1rem;
}
.grs-info-block__value .grs-icon{
  color: var(--wp--preset--color--accent);
  flex-shrink: 0;
}

.grs-contact__hint{
  margin-top: 2.5rem;
  font-size: .95rem;
  color: var(--wp--preset--color--muted);
  line-height: 1.7;
  font-style: italic;
}
.grs-hint-accent{
  color: var(--wp--preset--color--contrast);
  border-bottom: 1px solid var(--wp--preset--color--accent);
  padding-bottom: 1px;
  font-style: normal;
  font-weight: 500;
}

/* FORMULAR — contrast crescut, tipografie mai mare */
.grs-form{
  display: flex;
  flex-direction: column;
  gap: 1.4rem;
}
.grs-form__row{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.75rem;
}
.grs-field{
  position: relative;
  padding-top: 1.5rem;
}
.grs-field input,
.grs-field textarea{
  display: block;
  width: 100%;
  padding: .9rem 0 .8rem;
  border: 0;
  background: transparent;
  border-bottom: 1px solid rgba(15, 26, 42, .28);
  font-family: var(--wp--preset--font-family--manrope);
  font-size: 1.02rem;
  color: var(--wp--preset--color--contrast);
  outline: none;
  caret-color: var(--wp--preset--color--accent);
  transition: border-color .2s;
  resize: none;
}
.grs-field input:hover,
.grs-field textarea:hover{ border-bottom-color: rgba(15, 26, 42, .5); }
.grs-field textarea{ min-height: 90px; padding-top: 1rem; }
.grs-field label{
  position: absolute;
  left: 0;
  top: 2.35rem;
  font-size: 1rem;
  color: #4f5863;
  pointer-events: none;
  transition: transform .25s ease, font-size .25s ease, color .2s ease, letter-spacing .25s ease;
  transform-origin: left top;
  font-weight: 500;
}
.grs-field input:focus,
.grs-field textarea:focus{
  border-bottom-color: var(--wp--preset--color--accent);
}
.grs-field input:focus + label,
.grs-field input:not(:placeholder-shown) + label,
.grs-field textarea:focus + label,
.grs-field textarea:not(:placeholder-shown) + label{
  transform: translateY(-1.6rem);
  font-size: .7rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--wp--preset--color--accent);
  font-weight: 700;
}
.grs-field__line{
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 2px;
  background: var(--wp--preset--color--accent);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .4s cubic-bezier(.7,.05,.3,1);
}
.grs-field input:focus ~ .grs-field__line,
.grs-field textarea:focus ~ .grs-field__line{ transform: scaleX(1); }

.grs-form__consent{
  margin-top: .5rem;
}
.grs-checkbox{
  display: inline-flex;
  align-items: flex-start;
  gap: 1rem;
  cursor: pointer;
  font-size: .82rem;
  color: #4f5863;
  line-height: 1.55;
  position: relative;
  font-weight: 500;
}
.grs-checkbox input{
  position: absolute; opacity: 0; pointer-events: none;
}
.grs-checkbox__box{
  width: 18px; height: 18px; flex-shrink: 0;
  border: 1.5px solid rgba(15, 26, 42, .55);
  position: relative;
  transition: border-color .2s, background-color .2s;
  margin-top: 2px;
}
.grs-checkbox__box::after{
  content: "";
  position: absolute;
  /* bifa se centreaza fata de interiorul casetei, nu cu offseturi fixe */
  left: 50%; top: 50%;
  width: 5px; height: 9px;
  border-right: 1.75px solid #fff;
  border-bottom: 1.75px solid #fff;
  transform: translate(-50%, -55%) rotate(45deg) scale(0);
  transition: transform .18s ease;
}
.grs-checkbox input:checked + .grs-checkbox__box{
  background: var(--wp--preset--color--accent);
  border-color: var(--wp--preset--color--accent);
}
.grs-checkbox input:checked + .grs-checkbox__box::after{
  transform: translate(-50%, -55%) rotate(45deg) scale(1);
}
.grs-checkbox input:focus-visible + .grs-checkbox__box{
  outline: 2px solid var(--wp--preset--color--accent);
  outline-offset: 2px;
}
.grs-checkbox a{
  color: var(--wp--preset--color--contrast);
  border-bottom: 1px solid var(--wp--preset--color--accent);
  transition: color .2s ease;
}
.grs-checkbox a:hover{ color: var(--wp--preset--color--accent); }

/* Buton — outline navy, hover fill orange */
.grs-submit{
  position: relative;
  margin-top: 1.5rem;
  padding: 0 2rem;
  min-width: 200px;
  height: 48px;
  border: 1.5px solid var(--wp--preset--color--contrast);
  background: transparent;
  color: var(--wp--preset--color--contrast);
  font-family: var(--wp--preset--font-family--manrope);
  font-size: .8rem;
  font-weight: 600;
  letter-spacing: .2em;
  text-transform: uppercase;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .85rem;
  overflow: hidden;
  transition: color .3s ease, border-color .3s ease;
}
.grs-submit::before{
  content: "";
  position: absolute; inset: 0;
  background: var(--wp--preset--color--accent);
  transform: translateX(-101%);
  transition: transform .45s cubic-bezier(.7,.05,.3,1);
  z-index: 0;
}
.grs-submit:hover{
  color: #ffffff;
  border-color: var(--wp--preset--color--accent);
}
.grs-submit:hover::before{ transform: translateX(0); }
.grs-submit span, .grs-submit svg{ position: relative; z-index: 1; }
.grs-submit svg{ transition: transform .3s ease; }
.grs-submit:hover svg{ transform: translateX(4px); }

/* Trimiterea formularului de contact (mu-plugins/grescu-mesaje.php) */
/* capcană pentru roboți: câmp pe care oamenii nu-l văd */
.grs-form__capcana{ position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.grs-form.is-trimite .grs-submit{ opacity: .6; cursor: progress; }
.grs-form__stare,
.grs-form__aviz{ margin: 0; font-size: .9rem; line-height: 1.5; color: #9a3f27; font-weight: 600; }
.grs-form__aviz{ margin-bottom: 1.25rem; padding: .85rem 1rem; border-left: 3px solid var(--wp--preset--color--accent); background: rgba(229, 138, 100, .08); color: var(--wp--preset--color--contrast); }
.grs-form__aviz--eroare{ color: #9a3f27; }
.grs-form__multumim{
  display: flex; flex-direction: column; align-items: flex-start; gap: .5rem;
  padding: 2.25rem 0 1rem; outline: none;
}
.grs-form__multumim svg{ color: var(--wp--preset--color--accent); }
.grs-form__multumim-titlu{
  margin: .25rem 0 0;
  font-family: var(--wp--preset--font-family--vollkorn);
  font-size: 1.75rem; line-height: 1.2; color: var(--wp--preset--color--contrast);
}
.grs-form__multumim p:last-child{ margin: 0; font-size: 1rem; line-height: 1.6; color: #4f5863; max-width: 32rem; }

/* MAP SECTION — Google Maps embed */
.grs-map-section{
  padding: 4rem 0 5rem;
  background: #ffffff;
}
.grs-map-head{
  text-align: center;
  max-width: 720px;
  margin: 0 auto 2.5rem;
  padding: 0 1.5rem;
}
.grs-map-head__title{
  font-family: var(--wp--preset--font-family--vollkorn);
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  font-weight: 500;
  color: var(--wp--preset--color--contrast);
  letter-spacing: -.02em;
  line-height: 1.15;
  margin: 0 0 .75rem;
}
.grs-map-head__addr{
  font-size: .95rem;
  color: var(--wp--preset--color--muted);
  margin: 0;
  letter-spacing: .02em;
}
.grs-map-embed{
  max-width: 1360px;
  margin: 0 auto;
  padding: 0 clamp(1.5rem, 4vw, 3.5rem);
  position: relative;
}
.grs-map-embed iframe{
  display: block;
  width: 100%;
  height: 480px;
  border: 1px solid var(--wp--preset--color--line);
  filter: grayscale(35%) contrast(1.02);
  transition: filter .3s ease;
}
.grs-map-embed iframe:hover{
  filter: grayscale(0%) contrast(1);
}

/* Colțuri arhitecturale pe hartă */
.grs-map-embed::before,
.grs-map-embed::after{
  content: "";
  position: absolute;
  width: 14px;
  height: 14px;
  border-color: var(--wp--preset--color--accent);
  z-index: 2;
  pointer-events: none;
}
.grs-map-embed::before{
  top: -1px; left: clamp(1.5rem, 4vw, 3.5rem);
  border-top: 1.5px solid;
  border-left: 1.5px solid;
  margin-left: -1px;
  margin-top: -6px;
}
.grs-map-embed::after{
  bottom: -1px; right: clamp(1.5rem, 4vw, 3.5rem);
  border-bottom: 1.5px solid;
  border-right: 1.5px solid;
  margin-right: -1px;
  margin-bottom: -6px;
}

/* REVEAL animation (scroll-triggered) */
[data-reveal]{
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .8s cubic-bezier(.7,.05,.3,1), transform .8s cubic-bezier(.7,.05,.3,1);
}
[data-reveal].is-visible{
  opacity: 1;
  transform: translateY(0);
}

/* Responsive contact page — v0.8 */
@media (max-width: 1024px){
  .grs-contact-page__title{ font-size: clamp(2rem, 4vw, 2.75rem); }
  .grs-contact-page__main{
    grid-template-columns: minmax(0, 4fr) minmax(0, 7fr);
    gap: 2.5rem;
  }
  .grs-studio{ position: static; }
  .grs-studio__value{ font-size: 1.2rem; }
}
@media (max-width: 900px){
  .grs-contact-page__rule{ margin: 2rem 0 2rem; }
  .grs-contact-page__main{
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
  .grs-studio{
    position: static;
    padding: 2rem 1.5rem 1.5rem;
  }
  .grs-studio__items{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
  }
  .grs-studio__item{
    padding: 1rem .5rem;
    border-bottom: 1px dashed rgba(15, 26, 42, .1);
  }
  .grs-studio__item:nth-child(odd){ border-right: 1px dashed rgba(15, 26, 42, .1); }
  .grs-studio__item:nth-last-child(-n+2){ border-bottom: 0; }
  /* număr impar de rubrici (fără telefon, din 15.10.2026): ultima ocupă tot rândul */
  .grs-studio__item:last-child:nth-child(odd){ grid-column: 1 / -1; border-right: 0; }
  .grs-studio__item:nth-child(even):nth-last-child(2){ border-bottom: 1px dashed rgba(15, 26, 42, .1); }
  .grs-studio__footer{ margin-top: 1.25rem; padding-top: 1.25rem; }
  .grs-formsheet{ padding: 2rem 1.75rem; }
  .grs-form__footer{
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
  }
  .grs-form__footer .grs-submit{ width: 100%; }
}
@media (max-width: 768px){
  .grs-contact-page{ padding: 2rem 0 3rem; }
  .grs-contact-page__title{ font-size: 2.25rem; margin-bottom: 1.25rem; }
  .grs-skyline{ max-width: 100%; }
  .grs-contact-page__lead{ font-size: .95rem; }
  .grs-form__row{ grid-template-columns: 1fr; gap: 1.5rem; }
  .grs-map__svg{ min-height: 320px; max-height: 380px; }
  .grs-map__cta{
    left: 1.25rem; right: 1.25rem; bottom: 1.25rem;
    justify-content: center;
  }
}
@media (max-width: 480px){
  .grs-studio{ padding: 1.5rem 1.25rem 1.25rem; }
  .grs-studio__items{ grid-template-columns: 1fr; }
  .grs-studio__item{ border-right: 0 !important; }
  .grs-studio__title{ font-size: 1.5rem; }
  .grs-studio__social{ flex-direction: column; align-items: flex-start; gap: .75rem; }
  .grs-formsheet{ padding: 1.5rem 1.25rem; }
  .grs-formsheet__head{ flex-direction: column; align-items: flex-start; gap: .35rem; }
}

/* ============================================================
   RESPONSIVE — mobile-first refinements
   Breakpoints: 1024 (tablet), 768 (mobile), 480 (small mobile)
   ============================================================ */

/* Tablet: 1024px și sub */
@media (max-width: 1024px){
  .grescu-hero{ min-height: 70vh; }
  .grescu-hero__inner{ padding: 5rem 1.75rem 4rem; }
  .grescu-hero__title{ font-size: clamp(2.5rem, 7vw, 4.25rem); }

  .grescu-features__inner{ grid-template-columns: repeat(3, 1fr); }
  .grescu-feature{ padding: 2rem 1.25rem; }

  .grescu-service-card{ padding: 2rem 1.5rem; }
}

/* Mobile: 768px și sub */
@media (max-width: 768px){

  /* Utility bar — trei zone: telefon stânga | social mijloc | email dreapta */
  .grescu-utility{ padding: .5rem 0; font-size: .7rem; }
  .grescu-utility__inner{
    padding: 0 1rem;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
    gap: .6rem;
  }
  /* copiii devin direct itemi ai barei, ca să-i pot ordona pe trei zone */
  .grescu-utility__contact,
  .grescu-utility__meta{ display: contents; }
  /* separatoarele în trepte nu au sens într-un layout pe trei zone */
  .grescu-utility__contact > * + *::before,
  .grescu-utility__contact > * + *::after{ content: none; }

  .grescu-utility__contact span,
  .grescu-utility__meta span{ display: none; }

  /* STÂNGA — telefon, cu etichetă */
  .grescu-utility__contact a[href^="tel"]{
    order: 1;
    margin-right: auto;
    white-space: nowrap;
    font-weight: 600;
    color: #fff;
    letter-spacing: .04em;
  }
  .grescu-utility__contact a[href^="tel"]::before{
    content: "Telefon: ";
    /* anulează complet stilul de separator absolut moștenit */
    position: static;
    left: auto; top: auto;
    width: auto; height: auto;
    margin: 0;
    background: none;
    font-weight: 400;
    letter-spacing: .06em;
    color: rgba(255, 255, 255, .5);
  }

  /* MIJLOC — social */
  .grescu-utility__social{
    order: 2;
    display: flex !important;
    flex: 0 0 auto;
    gap: .9rem;
  }

  /* DREAPTA — email */
  .grescu-utility__contact a[href^="mailto"]{
    order: 3;
    margin-left: auto;
    white-space: nowrap;
    color: rgba(255, 255, 255, .72);
  }

  /* Header — logo mai mic, tagline dispare */
  .grescu-site-header{
    padding: 1rem 1.25rem !important;
  }
  .grs-mark{
    font-size: 1.5rem;
  }
  .grs-mark small{ display: none; }

  /* Navigation — mobile hamburger overlay */
  .grescu-site-header .wp-block-navigation__responsive-container-open{
    padding: .5rem;
    min-height: 44px;
    min-width: 44px;
    color: var(--wp--preset--color--contrast);
  }
  .grescu-site-header .wp-block-navigation .wp-block-navigation-item__content{
    font-size: 1rem !important;
    letter-spacing: .15em;
    padding: 1rem 0;
    border-bottom: none !important;
  }

  /* HERO — reduce height, adjust typography */
  .grescu-hero{ min-height: 78vh; align-items: flex-end; }
  .grescu-hero__inner{
    padding: 5rem 1.5rem 3rem;
  }
  .grescu-hero__eyebrow{
    font-size: .68rem;
    letter-spacing: .25em;
    margin-bottom: 1rem;
  }
  .grescu-hero__title{
    font-size: clamp(2.5rem, 11vw, 3.75rem);
    line-height: 1.03;
    margin-bottom: 1.25rem;
  }
  .grescu-hero__lead{
    font-size: .98rem;
    line-height: 1.6;
    margin-bottom: 2rem;
  }
  .grescu-hero__scroll{ display: none; }

  /* FEATURETTE — stack cu separatori orizontali fine */
  .grescu-features__inner{
    grid-template-columns: 1fr;
    padding: 0 1.5rem;
  }
  .grescu-feature{
    padding: 1.75rem 0;
    border-left: 0;
    border-top: 1px solid var(--wp--preset--color--line);
    display: flex;
    align-items: baseline;
    gap: 1rem;
  }
  .grescu-feature:first-child{
    border-top: 0;
    padding-top: 1.5rem;
  }
  .grescu-feature:last-child{
    padding-bottom: 1.75rem;
  }
  .grescu-feature__label{
    margin: 0;
    flex-shrink: 0;
    font-size: .65rem;
    letter-spacing: .25em;
    color: var(--wp--preset--color--accent);
  }
  .grescu-feature__title{
    font-size: 1.1rem;
    line-height: 1.3;
  }

  /* EYEBROW/HEADINGS pe mobil */
  .grescu-eyebrow{
    font-size: .65rem;
    letter-spacing: .25em;
    margin-bottom: 1rem;
  }

  /* SERVICE CARDS pe mobil */
  .grescu-service-card{
    padding: 1.75rem 0;
    border-top: 1px solid var(--wp--preset--color--line);
  }
  .grescu-service-card:hover{
    background: transparent;
  }
  .grescu-service-card .grescu-service-num{
    font-size: .72rem;
    letter-spacing: .25em;
    margin-bottom: .75rem;
    color: var(--wp--preset--color--accent);
  }
  .grescu-service-card h3{
    font-size: 1.35rem;
    margin-bottom: .5rem;
  }
  .grescu-service-card p{
    font-size: .95rem;
    line-height: 1.65;
  }

  /* STAT NUMBERS - păstrează grid 2×2 pe mobil */
  .grescu-stat-num{
    font-size: clamp(2.25rem, 10vw, 2.75rem);
  }
  .grescu-stat-lbl{
    font-size: .65rem;
    letter-spacing: .2em;
  }

  /* Arrow link — touch friendly */
  .grescu-arrow-link{
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    padding-bottom: .5rem;
  }

  /* Column blocks — force stack cu spacing bun */
  .wp-block-columns{
    gap: 2.5rem !important;
  }
  .wp-block-column{
    flex-basis: 100% !important;
  }

  /* Padding secțiuni pe mobil */
  .wp-block-group[style*="padding-top:var(--wp--preset--spacing--80)"],
  .wp-block-group[style*="padding-top:var(--wp--preset--spacing--70)"]{
    padding-top: 3.5rem !important;
    padding-bottom: 3.5rem !important;
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
  }

  /* Ph placeholders — nu prea înalt pe mobil */
  .grescu-placeholder--hero{
    aspect-ratio: 4/5;
    min-height: 300px;
  }

  /* Footer — stack, aerisit */
  footer .wp-block-columns{
    gap: 3rem !important;
  }
}

/* Small mobile: 480px și sub */
@media (max-width: 480px){
  .grescu-utility__contact{ flex-direction: row; }
  .grescu-utility__meta a{ text-decoration: underline; }

  .grescu-hero__inner{
    padding: 4rem 1.25rem 2.5rem;
  }
  .grescu-hero__title{
    font-size: clamp(2.25rem, 12vw, 3.25rem);
  }
  .grescu-hero__lead{ font-size: .95rem; }

  .grs-mark{ font-size: 1.35rem; }

  .grescu-feature{ flex-direction: column; gap: .35rem; }
  .grescu-feature__label{ margin-bottom: .35rem; }
}

/* Reduce motion — respect user preferences */
@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{
    animation-duration: .01ms !important;
    transition-duration: .01ms !important;
  }
}

/* ============================================================
   SKYLINE CONTACT — pe mobil se mărește și se decupează pe centru
   (viewBox 1360x180 e prea lat: cu „meet" ar avea ~50px înălțime)
   ============================================================ */
.grs-skyline--m{ display: none; }
@media (max-width: 780px){
  .grs-skyline--d{ display: none; }
  .grs-skyline--m{
    display: block;
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
  }
}

/* ============================================================
   ANTET — meniul trece pe hamburger sub 1000px
   (logo-ul mare + textul mărit nu mai încap pe tabletă)
   ============================================================ */
@media (max-width: 1000px){
  .grescu-site-header .wp-block-navigation__responsive-container-open:not(.always-shown){
    display: flex;
  }
  .grescu-site-header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open){
    display: none;
  }
}

/* ============================================================
   MENIU MOBIL — motivul în trepte mutat în stânga itemului
   (jos ar intra în conflict cu liniile de separare)
   ============================================================ */
/* în overlay nu apare niciun indicator-linie — itemul activ se distinge prin culoare */
.grescu-site-header .wp-block-navigation .is-menu-open .wp-block-navigation-item__content::before{
  content: none !important;
}
/* fără separatoare de ritm în overlay */
.grescu-site-header .is-menu-open .wp-block-navigation-item::before,
.grescu-site-header .is-menu-open .wp-block-navigation-item::after{ content: none; }

/* Meniu desktop — puțin mai strâns pe ecrane mai mici, ca să nu se rupă */
@media (min-width: 1001px) and (max-width: 1240px){
  .grescu-site-header .wp-block-navigation .wp-block-navigation-item__content{
    font-size: 1rem;
    letter-spacing: .1em;
  }
  .grescu-site-header .wp-block-navigation__container > .wp-block-navigation-item + .wp-block-navigation-item::before{ left: -1.35rem; }
  .grescu-site-header .wp-block-navigation__container > .wp-block-navigation-item + .wp-block-navigation-item::after{ left: -.95rem; }
}

/* ============================================================
   1. LOGO — și pe telefon logo-ul complet, ca în subsol (cerința
      clientului, oct. 2026); monograma rămâne doar în meniul deschis.
      Pe ecrane mici se dimensionează după lățime, ca să încapă
      lângă cele două butoane rotunde (temă + meniu).
   ============================================================ */
.grs-logo__img--mark{ display: none; }
@media (max-width: 560px){
  .grescu-site-header .grs-logo:not(.grs-mnav-logo) .grs-logo__img{ height: auto !important; width: min(230px, calc(100vw - 172px)); }
  html.is-scrolled .grescu-site-header .grs-logo:not(.grs-mnav-logo) .grs-logo__img{ width: min(200px, calc(100vw - 172px)); }
}

/* ============================================================
   2. LOGO DIN MENIUL MOBIL — fără chenare / linii în jur
   ============================================================ */
.grs-mnav-logo,
.grs-mnav-logo img{
  border: 0 !important;
  outline: none !important;
  box-shadow: none !important;
  background: none !important;
  text-decoration: none !important;
}
.grs-mnav-logo::before,
.grs-mnav-logo::after{ content: none !important; }
.grescu-site-header .is-menu-open .grs-mnav-logo .grs-logo__img--full{ display: block; height: 46px; width: auto; }
.grescu-site-header .is-menu-open .grs-mnav-logo .grs-logo__img--mark{ display: none; }
@media (max-width: 560px){
  .grescu-site-header .is-menu-open .grs-mnav-logo .grs-logo__img--full{ display: none !important; }
  .grescu-site-header .is-menu-open .grs-mnav-logo .grs-logo__img--mark{ display: block !important; height: 52px; }
}

/* ============================================================
   3. CONTACT — cardul „Birou Central" centrat (desktop + mobil)
   ============================================================ */
.grs-studio__header{ text-align: center; }
.grs-studio__ref-badge{ justify-content: center; }

/* itemii: numarul si eticheta pe un rand centrat, valoarea dedesubt */
.grs-studio__item{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: baseline;
  gap: .45rem .6rem;
  text-align: center;
}
.grs-studio__item-index{ order: 1; }
.grs-studio__item-label{ order: 2; }
.grs-studio__item-value{ order: 3; flex: 0 0 100%; }

/* footer: link harta + social, tot pe centru */
.grs-studio__footer{ text-align: center; }
.grs-studio__social{ justify-content: center; align-items: center; }

/* ============================================================
   BARA DE SUS — iconițe sociale (afișate doar pe mobil)
   ============================================================ */
/* iconițe sociale — vizibile și pe desktop, nu doar pe mobil */
.grescu-utility__social{
  display: flex;
  align-items: center;
  gap: .95rem;
  padding-left: 1.4rem;
  margin-left: .3rem;
  border-left: 1px solid rgba(255, 255, 255, .18);
}
.grescu-utility__social a{
  display: inline-flex;
  align-items: center;
  color: rgba(255, 255, 255, .82);
  line-height: 0;
  transition: color .25s cubic-bezier(.4,0,.2,1), transform .25s cubic-bezier(.4,0,.2,1);
}
.grescu-utility__social a:hover{ color: var(--wp--preset--color--accent); transform: translateY(-1px); }
/* ecrane foarte mici — se strânge, dar rămâne pe un singur rând */
@media (max-width: 430px){
  .grescu-utility{ font-size: .64rem; }
  .grescu-utility__inner{ padding: 0 .8rem; gap: .4rem; }
  .grescu-utility__social{ gap: .7rem !important; }
  .grescu-utility__social svg{ width: 13px; height: 13px; }
}

/* ============================================================
   CARIERE — stare goală (nicio poziție deschisă)
   ============================================================ */
/* ============================================================
   CARIERE — starea „nicio poziție deschisă"
   Bloc centrat, cald, cu textură fină de planșă. Antetul „Poziții
   deschise" și CTA-ul de jos se ascund (vezi .grs-no-jobs mai jos).
   ============================================================ */
.grs-car-none{
  position: relative;
  overflow: hidden;
  text-align: center;
  padding: clamp(2.75rem, 5vw, 4.5rem) clamp(1.25rem, 4vw, 3rem) clamp(3.5rem, 6vw, 5.5rem);
  border-top: 1px solid var(--wp--preset--color--line);
  border-bottom: 1px solid var(--wp--preset--color--line);
  background: #fbfaf8;
}
/* textură de planșă, foarte discretă */
.grs-car-none::before{
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(to right, rgba(15,26,42,.055) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(15,26,42,.055) 1px, transparent 1px);
  background-size: 46px 46px;
  -webkit-mask-image: radial-gradient(ellipse at 50% 50%, #000 0%, transparent 72%);
          mask-image: radial-gradient(ellipse at 50% 50%, #000 0%, transparent 72%);
  pointer-events: none;
}
.grs-car-none__inner{
  position: relative;
  max-width: 620px;
  margin: 0 auto;
}
.grs-car-none__label{
  display: block;
  font-family: var(--wp--preset--font-family--manrope);
  font-size: .7rem;
  letter-spacing: .3em;
  text-transform: uppercase;
  color: var(--wp--preset--color--accent);
  font-weight: 700;
  margin-bottom: clamp(1.1rem, 2vw, 1.5rem);
}
.grs-car-none__title{
  margin: 0 0 1.1rem;
  font-family: var(--wp--preset--font-family--vollkorn);
  font-size: clamp(1.9rem, 4vw, 3rem);
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: -.022em;
  color: var(--wp--preset--color--contrast);
}
.grs-car-none__text{
  margin: 0 auto clamp(2rem, 3.5vw, 2.75rem);
  max-width: 46ch;
  font-family: var(--wp--preset--font-family--manrope);
  font-size: 1.05rem;
  line-height: 1.75;
  color: #333c49;
}
/* CTA ca buton, nu ca link pierdut în pagină */
.grs-car-none__cta{
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  gap: .9rem;
  padding: 1rem 2rem;
  font-family: var(--wp--preset--font-family--manrope);
  font-size: .74rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--wp--preset--color--contrast);
  text-decoration: none;
  border: 1px solid var(--wp--preset--color--contrast);
  background: transparent;
  transition: background-color .3s ease, color .3s ease, border-color .3s ease;
}
.grs-car-none__cta:hover,
.grs-car-none__cta:focus-visible{
  background: var(--wp--preset--color--accent);
  border-color: var(--wp--preset--color--accent);
  color: #fff;
}
.grs-car-none__cta svg{ transition: transform .3s cubic-bezier(.7,.05,.3,1); }
.grs-car-none__cta:hover svg{ transform: translateX(5px); }

.grs-car-none__mail{
  margin: 1.1rem 0 0;
  font-family: var(--wp--preset--font-family--manrope);
  font-size: .9rem;
  color: #4a525e;
}
.grs-car-none__mail a{
  color: var(--wp--preset--color--contrast);
  text-decoration: none;
  border-bottom: 1px solid var(--wp--preset--color--accent);
}
.grs-car-none__mail a:hover{ color: var(--wp--preset--color--accent); }

/* profiluri — dă substanță blocului, nu îl lasă gol */
.grs-car-none__profiles{
  margin-top: clamp(2.5rem, 4.5vw, 3.5rem);
  padding-top: clamp(1.5rem, 2.5vw, 2rem);
  border-top: 1px dashed rgba(15, 26, 42, .16);
}
.grs-car-none__profiles-lbl{
  display: block;
  font-family: var(--wp--preset--font-family--manrope);
  font-size: .66rem;
  letter-spacing: .26em;
  text-transform: uppercase;
  color: #5a6472;
  font-weight: 700;
  margin-bottom: 1rem;
}
.grs-car-none__tags{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .5rem .5rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
.grs-car-none__tags li{
  font-family: var(--wp--preset--font-family--manrope);
  font-size: .82rem;
  font-weight: 500;
  letter-spacing: .04em;
  color: var(--wp--preset--color--contrast);
  padding: .5rem 1rem;
  border: 1px solid rgba(15, 26, 42, .24);
  background: #fff;
}

/* fără poziții: antetul „Poziții deschise" și CTA-ul de jos nu au ce spune */
.grs-no-jobs .grs-car-jobs__head,
.grs-no-jobs .grs-car-page--no-border{ display: none; }
/* ...iar spațiul lor nu trebuie să rămână gol între separator și bloc */
.grs-no-jobs .grs-car-page{ padding-bottom: clamp(1.25rem, 2.5vw, 2rem); }
.grs-no-jobs .grs-car-sep{ margin-bottom: 0; }
.grs-no-jobs .wp-site-blocks > .wp-block-group{ margin-block-start: 0; }

/* <br>-ul din titlu e intenționat — regula generală de curățare wpautop îl ascundea */
.grs-car-none br{ display: inline; }

@media (max-width: 600px){
  .grs-car-none__cta{ width: 100%; justify-content: center; }
}

@media (max-width: 768px){
  .grescu-utility__social{ padding-left: 0; margin-left: 0; border-left: 0; }
}

/* ============================================================
   COMPANIA — lista de departamente centrată pe telefon
   ============================================================ */
@media (max-width: 768px){
  .grs-cop-depts__list li{
    justify-content: center;
    gap: 1rem;
    padding: 1rem .75rem;
  }
  /* saltul la hover ar strica centrarea */
  .grs-cop-depts__list li:hover{ padding-left: .75rem; }
  .grs-cop-head{ text-align: center; }
}

/* ============================================================
   COMPANIA — autorizări centrate pe telefon
   Marcajul „+" trece din poziționare absolută în linie, ca rândul
   să se poată centra fără să rămână agățat de marginea stângă.
   ============================================================ */
@media (max-width: 768px){
  .grs-cop-auth__label{ text-align: center; }
  .grs-cop-auth__list li{
    padding-left: 0;
    padding-right: 0;
    text-align: center;
  }
  .grs-cop-auth__list li::before{
    position: static;
    margin-right: .45rem;
  }
}

/* „De ce GRS-GRUP" — carduri centrate pe telefon */
@media (max-width: 768px){
  .grs-cop-why__item{
    text-align: center;
    padding: 1.75rem 1.25rem 2rem;
  }
  .grs-cop-why__body{ max-width: 34ch; margin-inline: auto; }
}

/* ============================================================
   FOOTER — linkuri legale
   ============================================================ */
.grs-footer__legal{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .4rem 1.4rem;
}
.grs-footer__legal a{
  font-family: var(--wp--preset--font-family--manrope);
  font-size: .72rem;
  letter-spacing: .02em;
  font-weight: 500;
  color: #9aa3b0;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: color .25s ease, border-color .25s ease;
}
.grs-footer__legal a:hover,
.grs-footer__legal a:focus-visible{
  color: #fff;
  border-bottom-color: var(--wp--preset--color--accent);
}
@media (max-width: 780px){
  .grs-footer__bottom{
    flex-direction: column;
    align-items: flex-start;
    gap: .9rem;
  }
  .grs-footer__legal{ gap: .4rem 1.1rem; }
}

/* ============================================================
   PAGINI LEGALE — text lung, lizibil
   ============================================================ */
.wp-block-post-content h2.wp-block-heading{
  font-family: var(--wp--preset--font-family--vollkorn);
  font-size: clamp(1.3rem, 2.2vw, 1.65rem);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -.012em;
  color: var(--wp--preset--color--contrast);
  margin: 2.75rem 0 .9rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--wp--preset--color--line);
}
.wp-block-post-content h2.wp-block-heading:first-child{ margin-top: 0; padding-top: 0; border-top: 0; }
.wp-block-post-content p{
  font-size: 1rem;
  line-height: 1.75;
  color: #333c49;
  margin: 0 0 1.1rem;
}
.wp-block-post-content ul.wp-block-list{
  margin: 0 0 1.4rem;
  padding-left: 1.15rem;
}
.wp-block-post-content ul.wp-block-list li{
  font-size: 1rem;
  line-height: 1.7;
  color: #333c49;
  margin-bottom: .55rem;
}
.wp-block-post-content a{
  color: var(--wp--preset--color--contrast);
  text-decoration: none;
  border-bottom: 1px solid var(--wp--preset--color--accent);
  transition: color .25s ease;
}
.wp-block-post-content a:hover{ color: var(--wp--preset--color--accent); }

/* ============================================================
   FOOTER — centrat pe telefon
   ============================================================ */
@media (max-width: 780px){
  .grs-footer__main{ justify-items: center; }
  .grs-footer__col{ text-align: center; }
  .grs-footer__desc{ max-width: 38ch; margin-inline: auto; }
  .grs-footer__nav{ align-items: center; }
  /* linkurile au align-self: flex-start in regula de baza */
  .grs-footer__nav a{ align-self: center; }
  .grs-footer__social{ justify-content: center; }
  .grs-footer__links{ align-items: center; }
  .grs-footer__addr{ text-align: center; }

  .grs-footer__bottom{
    align-items: center;
    text-align: center;
  }
  .grs-footer__legal{ justify-content: center; }
}

@media (max-width: 560px){
  .grescu-site-header .is-menu-open .wp-block-navigation__responsive-container-close{ top: 71px; }
}
