/* ============================================================
   STRUCTURA NOUĂ (după leviatan.ro)
   Meniu cu submeniuri, servicii, video, cariere + recenzii,
   echipă, documente, parteneri, evenimente, practică.
   Variabilele --grs-* vin din home.css.
   ============================================================ */

/* ---------- Elemente comune ---------- */
.grs-sec-head{ margin: 0 0 clamp(2rem, 3.5vw, 3rem); }
.grs-sec-head__label{
  margin: 0 0 .9rem;
  font-family: var(--grs-sans);
  font-size: .7rem; letter-spacing: .3em; text-transform: uppercase; font-weight: 700;
  color: var(--grs-terra);
}
.grs-sec-head__title{
  margin: 0;
  font-family: var(--grs-serif); font-weight: 400;
  font-size: clamp(2rem, 3.8vw, 3.4rem); line-height: 1.04; letter-spacing: -.025em;
  color: var(--grs-cont);
}
.grs-sec-head__title em{ font-style: italic; color: var(--grs-mute); }

.grs-more{
  display: inline-flex; align-items: center; gap: .8rem;
  font-family: var(--grs-sans);
  font-size: .72rem; letter-spacing: .24em; text-transform: uppercase; font-weight: 700;
  color: var(--grs-cont); text-decoration: none;
}
.grs-more svg{ transition: transform .35s var(--grs-ease); }
.grs-more:hover{ color: var(--grs-terra); }
.grs-more:hover svg{ transform: translateX(6px); }
.grs-more--light{ color: #f2f0eb; }
.grs-more--light:hover{ color: var(--grs-gold); }
.grs-more--teal{ color: var(--grs-teal); }

.grs-exemplu{
  margin: 0 0 1.5rem; padding: .6rem .9rem;
  border: 1px dashed var(--grs-terra);
  font-family: var(--grs-sans); font-size: .78rem; color: var(--grs-terra);
  background: rgba(201,101,67,.05);
}
.grs-empty{
  margin: 0; padding: clamp(2rem, 4vw, 3rem) 0;
  font-size: 1.05rem; color: var(--grs-mute); text-align: center;
}
.grs-empty a{ color: var(--grs-cont); }

:root{ --grs-teal: #3a9e9a; }

/* aceeași lățime utilă ca secțiunile existente (border-box, ca în home.css) */
.grs-sv__container, .grs-svc__container, .grs-hc__container, .grs-team__container,
.grs-docs__container, .grs-part__container, .grs-ev__container, .grs-prac__container,
.grs-video__frame{ box-sizing: border-box; }

/* pagini cu hero centrat urmat direct de conținut */
.grs-car-page--flush{ border-bottom: 0; padding-bottom: 0; }

/* ---------- Eticheta fixă „Practică & Internship" ---------- */
.grs-practica-tab{
  position: fixed; right: clamp(.75rem, 2vw, 1.5rem); bottom: 0; z-index: 90;
  width: 200px; padding: .95rem 1rem .85rem;
  border-radius: 10px 10px 0 0;
  background: var(--grs-teal); color: #fff;
  font-family: var(--grs-sans); font-size: .8rem; font-weight: 800;
  letter-spacing: .06em; line-height: 1.5; text-transform: uppercase; text-align: center;
  text-decoration: none;
  box-shadow: 0 -6px 24px rgba(15,26,42,.14);
  transform: translateY(6px);
  transition: transform .3s var(--grs-ease), background .3s;
}
.grs-practica-tab:hover,
.grs-practica-tab:focus-visible{ transform: translateY(0); background: #2f8783; color: #fff; }
@media (max-width: 600px){
  .grs-practica-tab{ width: auto; padding: .6rem .9rem .55rem; font-size: .66rem; }
  .grs-practica-tab br{ display: none; }
}
@media print{ .grs-practica-tab{ display: none; } }

/* ---------- Meniu: submeniuri (Compania, Servicii) ---------- */
@media (min-width: 600px){
  .grescu-site-header .wp-block-navigation .wp-block-navigation__submenu-container{
    min-width: 320px !important;
    padding: .6rem 0 !important;
    border: 1px solid var(--grs-line) !important;
    background: #fff !important;
    box-shadow: 0 18px 40px -18px rgba(15,26,42,.28);
    top: calc(100% + .6rem) !important;
  }
  .grescu-site-header .wp-block-navigation .wp-block-navigation__submenu-container::before{
    /* punte invizibilă: hover-ul nu se pierde între link și submeniu */
    content: ""; position: absolute; left: 0; right: 0; top: -.7rem; height: .7rem;
  }
  .grescu-site-header .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content{
    padding: .6rem 1.25rem !important;
    font-size: .95rem !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    font-weight: 500;
    white-space: nowrap;
  }
  .grescu-site-header .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content::before{ display: none; }
  .grescu-site-header .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
  .grescu-site-header .wp-block-navigation .wp-block-navigation__submenu-container .current-menu-item > .wp-block-navigation-item__content{
    color: var(--grs-terra) !important;
    background: var(--grs-ivory);
  }
}
.grescu-site-header .wp-block-navigation .wp-block-navigation__submenu-icon{ margin-left: .3rem; width: .7em; height: .7em; }
.grescu-site-header .wp-block-navigation .wp-block-navigation__submenu-icon:focus:not(:focus-visible){ outline: none; }
/* meniu mobil: submeniurile apar deschise, indentate */
.grescu-site-header .is-menu-open .wp-block-navigation__submenu-container{
  padding: 0 0 .5rem 1rem !important;
  border: 0 !important;
}
.grescu-site-header .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content{
  font-size: .95rem !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  padding: .5rem .25rem !important;
  color: var(--grs-mute) !important;
}

/* ---------- Acasă: video de prezentare ---------- */
.grs-video{ background: #fff; padding: clamp(2.5rem, 5vw, 4.5rem) var(--grs-gutter) 0; }
.grs-video__frame{
  position: relative; max-width: var(--grs-container); margin: 0 auto;
  min-height: clamp(320px, 42vw, 560px);
  display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem;
  padding: clamp(1.75rem, 4vw, 3.5rem);
  background: var(--grs-navy) var(--poster, none) center / cover no-repeat;
  color: #f2f0eb; overflow: hidden; isolation: isolate;
}
.grs-video__frame::before{
  content: ""; position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(180deg, rgba(15,26,42,.15) 0%, rgba(15,26,42,.82) 100%);
}
.grs-video__frame .grs-exemplu{ position: absolute; top: 1rem; left: 1rem; right: 1rem; color: #f2f0eb; border-color: #f2f0eb; background: rgba(0,0,0,.2); }
.grs-video__label{
  margin: 0 0 .8rem;
  font-family: var(--grs-sans); font-size: .7rem; letter-spacing: .3em; text-transform: uppercase; font-weight: 700;
  color: var(--grs-gold);
}
.grs-video__title{
  margin: 0; max-width: 16ch;
  font-family: var(--grs-serif); font-weight: 400;
  font-size: clamp(1.9rem, 3.6vw, 3.2rem); line-height: 1.05; letter-spacing: -.02em; color: #fff;
}
.grs-video__title em{ color: rgba(242,240,235,.7); }
.grs-video__play{
  flex: none; width: clamp(72px, 8vw, 104px); aspect-ratio: 1; border-radius: 50%;
  display: grid; place-items: center; padding-left: 4px;
  border: 1px solid rgba(242,240,235,.6); background: rgba(242,240,235,.08); color: #fff;
  cursor: pointer; transition: background .3s, transform .3s var(--grs-ease), border-color .3s;
  backdrop-filter: blur(4px);
}
.grs-video__play:hover:not([disabled]){ background: var(--grs-terra); border-color: var(--grs-terra); transform: scale(1.06); }
.grs-video__play[disabled]{ opacity: .5; cursor: default; }
.grs-video__modal{
  width: min(1100px, 92vw); padding: 0; border: 0; background: #000; overflow: visible;
}
.grs-video__modal::backdrop{ background: rgba(15,26,42,.88); }
.grs-video__player{ aspect-ratio: 16 / 9; }
.grs-video__player iframe,
.grs-video__player video{ width: 100%; height: 100%; border: 0; display: block; }
.grs-video__close{
  position: absolute; top: -2.75rem; right: 0;
  width: 2.25rem; height: 2.25rem; border: 1px solid rgba(255,255,255,.5); background: transparent;
  color: #fff; font-size: 1.4rem; line-height: 1; cursor: pointer;
}
@media (max-width: 640px){
  .grs-video__frame{ flex-direction: column; align-items: flex-start; justify-content: flex-end; }
}

/* ---------- Servicii: listă numerotată ---------- */
.grs-svc{ padding: clamp(3.5rem, 7vw, 6.5rem) 0; }
.grs-svc--dark{ background: var(--grs-navy); color: #f2f0eb; margin-top: clamp(2.5rem, 5vw, 4.5rem); }
.grs-svc--page{ background: #fff; padding-top: 0; }
.grs-svc__container{
  max-width: var(--grs-container); margin: 0 auto; padding: 0 var(--grs-gutter);
  display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(2.5rem, 6vw, 6rem);
  align-items: start;
}
.grs-svc__container--single{ grid-template-columns: minmax(0, 1fr); }
.grs-svc__aside{ position: sticky; top: 2rem; }
.grs-svc--dark .grs-sec-head__label{ color: var(--grs-gold); }
.grs-svc--dark .grs-sec-head__title{ color: #fff; }
.grs-svc--dark .grs-sec-head__title em{ color: rgba(242,240,235,.6); }
.grs-svc__lede{ margin: 0 0 2rem; max-width: 42ch; color: rgba(242,240,235,.72); line-height: 1.7; }
.grs-svc__list{ list-style: none; margin: 0; padding: 0; counter-reset: none; }
.grs-svc__item{ border-top: 1px solid var(--grs-line); }
.grs-svc__item:last-child{ border-bottom: 1px solid var(--grs-line); }
.grs-svc--dark .grs-svc__item{ border-color: var(--grs-line-dark); }
.grs-svc__link{
  display: grid; grid-template-columns: 3rem minmax(0, 1fr) auto; align-items: center; gap: 1rem;
  padding: clamp(1.1rem, 2vw, 1.6rem) 0;
  color: inherit; text-decoration: none;
}
.grs-svc__num{ font-family: var(--grs-sans); font-size: .72rem; letter-spacing: .2em; font-weight: 700; color: var(--grs-terra); }
.grs-svc--dark .grs-svc__num{ color: var(--grs-gold); }
.grs-svc__name{
  display: block;
  font-family: var(--grs-serif); font-size: clamp(1.35rem, 2.3vw, 2rem); line-height: 1.15; letter-spacing: -.015em;
  transition: color .3s, transform .4s var(--grs-ease);
}
.grs-svc__desc{ display: block; margin-top: .35rem; font-size: .95rem; color: var(--grs-mute); }
.grs-svc--dark .grs-svc__desc{ color: rgba(242,240,235,.55); }
.grs-svc__arr{ color: var(--grs-mute); transition: color .3s, transform .4s var(--grs-ease); }
.grs-svc__link:hover .grs-svc__name,
.grs-svc__link:focus-visible .grs-svc__name{ color: var(--grs-terra); transform: translateX(6px); }
.grs-svc--dark .grs-svc__link:hover .grs-svc__name{ color: var(--grs-gold); }
.grs-svc__link:hover .grs-svc__arr{ color: inherit; transform: translateX(6px); }
@media (max-width: 900px){
  .grs-svc__container{ grid-template-columns: minmax(0, 1fr); }
  .grs-svc__aside{ position: static; }
  .grs-svc__link{ grid-template-columns: 2.25rem minmax(0, 1fr) auto; }
}

/* ---------- Acasă: „Serviciile noastre" — titlu + listă pe două coloane ---------- */
.grs-hsv{ background: #fff; padding: clamp(4rem, 8vw, 6.5rem) 0; }
.grs-hsv__title{
  margin: 0 0 clamp(1.75rem, 3.5vw, 2.75rem);
  font-family: var(--grs-serif); font-weight: 400; text-align: center;
  font-size: clamp(2rem, 3.6vw, 3.1rem); line-height: 1.05; letter-spacing: -.025em; color: var(--grs-cont);
}
/* 01–04 în stânga, 05–07 în dreapta; blocul centrat pe pagină */
.grs-hsv__list{
  list-style: none; margin: 0 auto; padding: 0; max-width: 1080px;
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(4, auto);
  grid-auto-flow: column; column-gap: clamp(2rem, 6vw, 6rem);
}
.grs-hsv__list li{ border-top: 1px solid var(--grs-line); }
.grs-hsv__list li:nth-child(4), .grs-hsv__list li:last-child{ border-bottom: 1px solid var(--grs-line); }
.grs-hsv__item{
  position: relative;
  display: grid; grid-template-columns: 2.75rem minmax(0, 1fr) auto; align-items: center; column-gap: .75rem;
  padding: clamp(1.1rem, 1.8vw, 1.45rem) 0;
  color: inherit; text-decoration: none;
}
.grs-hsv__item::after{
  content: ""; position: absolute; left: 0; bottom: -1px; height: 1px; width: 100%;
  background: var(--grs-terra); transform: scaleX(0); transform-origin: left;
  transition: transform .5s var(--grs-ease);
}
.grs-hsv__num{ font-size: .78rem; font-weight: 700; letter-spacing: .14em; color: var(--grs-mute); transition: color .3s; }
.grs-hsv__name{
  font-family: var(--grs-serif); font-size: clamp(1.25rem, 1.8vw, 1.6rem); line-height: 1.2; letter-spacing: -.01em;
  color: var(--grs-cont); transition: color .3s, transform .45s var(--grs-ease);
}
.grs-hsv__arr{ color: var(--grs-terra); opacity: 0; transform: translateX(-8px); transition: opacity .3s, transform .45s var(--grs-ease); }
.grs-hsv__item:is(:hover, :focus-visible)::after{ transform: scaleX(1); }
.grs-hsv__item:is(:hover, :focus-visible) .grs-hsv__num,
.grs-hsv__item:is(:hover, :focus-visible) .grs-hsv__name{ color: var(--grs-terra); }
.grs-hsv__item:is(:hover, :focus-visible) .grs-hsv__name{ transform: translateX(4px); }
.grs-hsv__item:is(:hover, :focus-visible) .grs-hsv__arr{ opacity: 1; transform: none; }
.grs-hsv__item:focus-visible{ outline: none; }

@media (max-width: 760px){
  .grs-hsv__list{ grid-template-columns: minmax(0, 1fr); grid-template-rows: none; grid-auto-flow: row; }
  .grs-hsv__list li:nth-child(4){ border-bottom: 0; }
  .grs-hsv__arr{ opacity: 1; transform: none; color: var(--grs-mute); }
}
@media (prefers-reduced-motion: reduce){
  .grs-hsv__item::after, .grs-hsv__name, .grs-hsv__arr{ transition: none; }
}

/* ---------- Pagina unui serviciu ---------- */
.grs-sv{
  --sv-card: #fff;
  --sv-grid: rgba(15,26,42,.045);
  --sv-body: #3a3f48;
}
.grs-sv__container{ max-width: var(--grs-container); margin: 0 auto; padding: 0 var(--grs-gutter); }

/* hero: text + planșă, pe fond ivory cu caroiaj fin de hârtie milimetrică */
.grs-sv-hero{
  background:
    linear-gradient(var(--sv-grid) 1px, transparent 1px) 0 0 / 32px 32px,
    linear-gradient(90deg, var(--sv-grid) 1px, transparent 1px) 0 0 / 32px 32px,
    var(--grs-ivory);
  border-bottom: 1px solid var(--grs-line);
  padding: clamp(1.75rem, 3vw, 2.5rem) 0 clamp(3rem, 6vw, 5rem);
}
.grs-sv-hero__grid{
  display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: clamp(2rem, 5vw, 5rem); align-items: center;
}
.grs-sv__crumbs{
  display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: clamp(2rem, 4vw, 3.5rem);
  font-size: .8rem; font-weight: 600; color: var(--grs-mute);
}
.grs-sv__crumbs a{ color: var(--grs-mute); text-decoration: none; }
.grs-sv__crumbs a:hover{ color: var(--grs-terra); }
.grs-sv__crumbs [aria-current]{ color: var(--grs-cont); }
.grs-sv-hero__idx{
  margin: 0 0 1rem;
  font-size: .78rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--grs-mute);
}
.grs-sv-hero__idx strong{ color: var(--grs-terra); }
.grs-sv-hero__title{
  margin: 0 0 1.5rem;
  font-family: var(--grs-serif); font-weight: 400;
  font-size: clamp(2.6rem, 5.4vw, 5rem); line-height: 1; letter-spacing: -.035em;
  color: var(--grs-cont); text-wrap: balance;
}
.grs-sv-hero__lead{
  margin: 0 0 2.25rem; max-width: 54ch;
  font-size: clamp(1.08rem, 1.35vw, 1.22rem); line-height: 1.7; color: var(--sv-body);
}
.grs-sv-hero__actions{ display: flex; flex-wrap: wrap; align-items: center; gap: 1.25rem 2.25rem; }
.grs-sv-btn{
  position: relative; overflow: hidden; isolation: isolate;
  display: inline-flex; align-items: center; gap: .9rem;
  height: 54px; padding: 0 1.75rem;
  background: var(--grs-navy); color: #f2f0eb; text-decoration: none;
  font-size: .78rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase;
}
.grs-sv-btn::before{
  content: ""; position: absolute; inset: 0; z-index: -1;
  background: var(--grs-terra); transform: translateX(-101%); transition: transform .5s var(--grs-ease);
}
.grs-sv-btn:hover::before, .grs-sv-btn:focus-visible::before{ transform: none; }
.grs-sv-btn:hover, .grs-sv-btn:focus-visible{ color: #fff; }
.grs-sv-btn svg{ transition: transform .35s var(--grs-ease); }
.grs-sv-btn:hover svg{ transform: translateX(5px); }

/* planșa */
.grs-svi{
  margin: 0; padding: clamp(.75rem, 1.4vw, 1.1rem);
  background: var(--sv-card); border: 1px solid var(--grs-line);
  box-shadow: 0 30px 60px -40px rgba(15,26,42,.35);
  color: var(--grs-cont);
}
.grs-svi__svg, .grs-svi__img{ display: block; width: 100%; height: auto; }
.grs-svi figcaption{
  display: flex; justify-content: space-between;
  margin-top: .75rem; padding-top: .7rem; border-top: 1px solid var(--grs-line);
  font-size: .75rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--grs-mute);
}
.grs-svi .l1{ stroke: currentColor; stroke-opacity: .72; stroke-width: 1.2; }
.grs-svi .l2{ stroke: currentColor; stroke-opacity: .28; stroke-width: 1; }
.grs-svi .w2{ stroke-width: 1.8; }
.grs-svi .w6{ stroke-width: 6; }
.grs-svi .dash{ stroke-dasharray: 4 5; }
.grs-svi .ac{ stroke: var(--grs-terra); stroke-opacity: 1; }
.grs-svi .go{ stroke: var(--grs-gold); stroke-opacity: 1; }
.grs-svi .fill-ac{ fill: var(--grs-terra); }
.grs-svi .fill-ac-soft{ fill: var(--grs-terra); fill-opacity: .14; }
.grs-svi .fill-go-soft{ fill: var(--grs-gold); fill-opacity: .2; }
.grs-svi .fill-line{ fill: currentColor; fill-opacity: .7; }
.grs-svi .fill-line-soft{ fill: currentColor; fill-opacity: .15; }
.grs-svi .t{ fill: currentColor; fill-opacity: .7; stroke: none; font: 600 10px var(--grs-sans); letter-spacing: .12em; }
.grs-svi .t-b{ font-weight: 800; }
.grs-svi .t-c{ text-anchor: middle; }
.grs-svi .t-lg{ font-size: 12px; }
.grs-svi .t-ac{ fill: var(--grs-terra); fill-opacity: 1; }
/* desenul se trasează o singură dată la încărcare */
.grs-svi .d{ stroke-dasharray: 1; stroke-dashoffset: 1; animation: grs-svi-draw 1.3s var(--grs-ease) forwards; animation-delay: var(--dl, 0s); }
.grs-svi .f{ opacity: 0; animation: grs-svi-fade .7s ease forwards; animation-delay: var(--dl, 0s); }
@keyframes grs-svi-draw{ to{ stroke-dashoffset: 0; } }
@keyframes grs-svi-fade{ to{ opacity: 1; } }
@media (prefers-reduced-motion: reduce){
  .grs-svi .d{ animation: none; stroke-dasharray: none; stroke-dashoffset: 0; }
  .grs-svi .f{ animation: none; opacity: 1; }
}

/* abordarea: o frază-cheie mare + paragrafele */
.grs-sv-about{ padding: clamp(4rem, 8vw, 7rem) 0; }
.grs-sv-about__grid{ display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(2rem, 6vw, 6rem); align-items: start; }
.grs-sv-about__quote{
  margin: 0; padding-left: 1.25rem; border-left: 2px solid var(--grs-terra);
  font-family: var(--grs-serif); font-size: clamp(1.5rem, 2.4vw, 2.1rem); line-height: 1.3; letter-spacing: -.01em;
  color: var(--grs-cont);
}
.grs-sv-about__text p{ margin: 0 0 1.4rem; max-width: 64ch; font-size: clamp(1.02rem, 1.15vw, 1.12rem); line-height: 1.85; color: var(--sv-body); }
.grs-sv-about__text p:last-child{ margin-bottom: 0; }

/* ce include: listă bifată (nu pași, nu carduri) — titlul în stânga, lista în dreapta */
.grs-sv-inc{ background: var(--grs-ivory); padding: clamp(4rem, 8vw, 7rem) 0; border-top: 1px solid var(--grs-line); border-bottom: 1px solid var(--grs-line); }
.grs-sv-inc__grid{ display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(2rem, 6vw, 6rem); align-items: start; }
.grs-sv-inc__head .grs-sec-head__label{ margin-bottom: .9rem; }
.grs-sv-inc__title{
  margin: 0 0 1rem; font-family: var(--grs-serif); font-weight: 400;
  font-size: clamp(2rem, 3.6vw, 3.2rem); line-height: 1.05; letter-spacing: -.025em; color: var(--grs-cont);
}
.grs-sv-inc__note{ margin: 0 0 1.75rem; max-width: 34ch; line-height: 1.7; color: var(--sv-body); }
.grs-sv-inc__list{ list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--grs-line); }
.grs-sv-inc__list li{
  display: grid; grid-template-columns: 2rem minmax(0, 1fr); align-items: center; gap: 1.1rem;
  padding: clamp(1rem, 1.6vw, 1.3rem) 0; border-bottom: 1px solid var(--grs-line);
  font-family: var(--grs-serif); font-size: clamp(1.15rem, 1.6vw, 1.4rem); line-height: 1.35; color: var(--grs-cont);
}
.grs-sv-inc__list strong{ font-weight: 600; }
.grs-sv-inc__check{
  display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 50%;
  border: 1px solid var(--grs-terra); color: var(--grs-terra); background: rgba(173,79,45,.06);
}

.grs-works--compact .grs-works__head{ padding-bottom: clamp(1.5rem, 3vw, 2.5rem); margin-bottom: clamp(1.5rem, 3vw, 2.5rem); }

@media (max-width: 1000px){
  .grs-sv-hero__grid, .grs-sv-about__grid, .grs-sv-inc__grid{ grid-template-columns: minmax(0, 1fr); }
  .grs-svi{ max-width: 560px; }
}
@media (max-width: 600px){
  .grs-sv-hero__actions .grs-sv-btn{ width: 100%; justify-content: space-between; }
}

/* ---------- Acasă: cariere + recenzii ---------- */
.grs-hc{ background: var(--grs-ivory); padding: clamp(3.5rem, 7vw, 6rem) 0; border-top: 1px solid var(--grs-line); }
.grs-hc__container{
  max-width: var(--grs-container); margin: 0 auto; padding: 0 var(--grs-gutter);
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2.5rem, 6vw, 6rem);
}
.grs-hc__lede{ margin: 0 0 1.75rem; max-width: 48ch; line-height: 1.7; color: #3a3f48; }
.grs-hc__list{ list-style: none; margin: 0 0 2rem; padding: 0; }
.grs-hc__list li{ border-top: 1px solid var(--grs-line); }
.grs-hc__list li:last-child{ border-bottom: 1px solid var(--grs-line); }
.grs-hc__list a{ display: flex; justify-content: space-between; gap: 1rem; padding: .9rem 0; color: inherit; text-decoration: none; }
.grs-hc__job{ font-family: var(--grs-serif); font-size: 1.2rem; transition: color .25s; }
.grs-hc__meta{ font-size: .82rem; color: var(--grs-mute); text-align: right; }
.grs-hc__list a:hover .grs-hc__job{ color: var(--grs-terra); }
.grs-hc__actions{ display: flex; flex-wrap: wrap; gap: 1.25rem 2.5rem; }

/* Cariere: titlul în stânga, textul, joburile și butoanele în dreapta */
.grs-hc--solo .grs-hc__container{ grid-template-columns: minmax(0, 1fr); }
.grs-hc--solo .grs-hc__jobs{
  display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(2rem, 6vw, 6rem); align-items: start;
}
.grs-hc--solo .grs-sec-head{ margin-bottom: 0; }
@media (max-width: 900px){
  .grs-hc__container,
  .grs-hc--solo .grs-hc__jobs{ grid-template-columns: minmax(0, 1fr); }
  .grs-hc--solo .grs-sec-head{ margin-bottom: 1.5rem; }
}

/* ---------- Acasă: recenzii (după Cariere) ---------- */
.grs-rec{ background: #fff; padding: clamp(4rem, 8vw, 7rem) 0; }
.grs-rec__grid{ display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: clamp(2rem, 6vw, 6rem); align-items: center; }
.grs-rec__title{
  margin: 0; font-family: var(--grs-serif); font-weight: 400;
  font-size: clamp(2rem, 3.4vw, 3rem); line-height: 1.05; letter-spacing: -.025em; color: var(--grs-cont);
}
.grs-rec__title em{ color: var(--grs-mute); }
.grs-rec__card{
  position: relative; background: var(--grs-ivory); border: 1px solid var(--grs-line);
  padding: clamp(2rem, 4vw, 3.5rem) clamp(1.5rem, 4vw, 3.5rem) clamp(1.5rem, 3vw, 2.25rem);
}
.grs-rec__mark{
  display: block; height: clamp(2.6rem, 4.5vw, 3.6rem); margin-bottom: .25rem;
  font-family: var(--grs-serif); font-size: clamp(5rem, 9vw, 7rem); line-height: .9; color: var(--grs-terra); opacity: .35;
  pointer-events: none;
}
.grs-rec__track{ position: relative; display: grid; }
.grs-rec__item{
  grid-area: 1 / 1; margin: 0;
  opacity: 0; visibility: hidden; transform: translateX(14px);
  transition: opacity .55s var(--grs-ease), transform .55s var(--grs-ease), visibility 0s .55s;
}
.grs-rec__item.is-active{ opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
.grs-rec__text{
  margin: 0;
  font-family: var(--grs-serif); font-size: clamp(1.2rem, 1.9vw, 1.6rem); line-height: 1.5; color: var(--grs-cont);
}
.grs-rec__who{ display: flex; align-items: center; gap: 1rem; margin-top: clamp(1.5rem, 3vw, 2.25rem); }
.grs-rec__who strong{ display: block; font-size: 1rem; color: var(--grs-cont); }
.grs-rec__who span > span{ display: block; font-size: .88rem; color: var(--grs-mute); }
.grs-rec__avatar{
  flex: none; width: 52px; height: 52px; border-radius: 50%; object-fit: cover;
  display: grid; place-items: center; background: var(--grs-navy); color: #fff;
  font-family: var(--grs-serif); font-size: 1.1rem; letter-spacing: .04em;
}
.grs-rec__nav{
  display: flex; justify-content: space-between; align-items: center; gap: 1rem;
  margin-top: clamp(1.75rem, 3vw, 2.5rem); padding-top: 1.25rem; border-top: 1px solid var(--grs-line);
}
.grs-rec__count{ display: flex; align-items: center; gap: .9rem; margin: 0; font-size: .85rem; font-weight: 700; letter-spacing: .1em; color: var(--grs-cont); }
.grs-rec__count i{ position: relative; display: block; width: 72px; height: 1px; background: var(--grs-line); }
.grs-rec__count b{ position: absolute; left: 0; top: -.5px; height: 2px; background: var(--grs-terra); transition: width .5s var(--grs-ease); }
.grs-rec__arrows{ display: flex; gap: .5rem; }
.grs-rec__arrows button{
  display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%;
  border: 1px solid var(--grs-line); background: #fff; color: var(--grs-cont); cursor: pointer;
  transition: border-color .25s, color .25s, background .25s;
}
.grs-rec__arrows button:hover{ border-color: var(--grs-terra); color: var(--grs-terra); }
.grs-rec__arrows button:focus-visible{ outline: 2px solid var(--grs-terra); outline-offset: 2px; }
@media (max-width: 900px){ .grs-rec__grid{ grid-template-columns: minmax(0, 1fr); } }
@media (prefers-reduced-motion: reduce){ .grs-rec__item{ transition: none; } }

/* ---------- Despre noi: echipa — perete de portrete cu „GRS” peste el ---------- */
.grs-team{ background: #fff; padding: clamp(4rem, 8vw, 6.5rem) 0; border-top: 1px solid var(--grs-line); }
.grs-team__head{
  display: flex; justify-content: space-between; align-items: flex-end; gap: 2rem;
  margin-bottom: clamp(2rem, 4vw, 3rem);
}
.grs-team__title{
  margin: 0; font-family: var(--grs-serif); font-weight: 400;
  font-size: clamp(2rem, 3.6vw, 3.2rem); line-height: 1.05; letter-spacing: -.025em; color: var(--grs-cont);
}
.grs-team__title em{ color: var(--grs-mute); }
.grs-team__count{ margin: 0; text-align: right; font-size: .95rem; color: var(--grs-cont); }
.grs-team__count strong{ font-family: var(--grs-serif); font-weight: 400; font-size: clamp(2.6rem, 4vw, 3.4rem); line-height: 1; color: var(--grs-terra); margin-right: .35rem; }
.grs-team__count span{ display: block; margin-top: .35rem; font-size: .85rem; color: var(--grs-mute); }
/* ORGANIGRAMA (15.10.2026) — [grs_echipa] din sectiuni.php. Minimalist: alb, accente cărămizii,
   niveluri clare: vârful (card mare) → conducerea (rând separat) → departamentele (casete).
   Lățimile se iau după lățimea peretelui (container „echipa”), nu a ecranului. */
.grs-team__wall{ position: relative; container: echipa / inline-size; }
.grs-oc{ --grs-oc-gap: 16px; --grs-oc-leg: rgba(173, 79, 45, .38); display: flex; flex-direction: column; align-items: center; }

/* cardul unui coleg: poza sus, numele (NUME / Prenume) și funcția dedesubt */
.grs-oc__oameni, .grs-dep__oameni{ list-style: none; margin: 0; padding: 0; }
.grs-oc__oameni{ display: flex; flex-wrap: wrap; justify-content: center; gap: var(--grs-oc-gap, 16px); }
.grs-om{
  display: flex; flex-direction: column; margin: 0; width: 148px;
  background: #fff; border: 1px solid #e9e4dc; border-radius: 10px; overflow: hidden;
  transition: box-shadow .3s var(--grs-ease), transform .3s var(--grs-ease);
}
.grs-om:hover{ box-shadow: 0 10px 26px -14px rgba(15, 26, 42, .28); transform: translateY(-2px); }
.grs-om__foto{ aspect-ratio: 1; background: #f3eee8; overflow: hidden; }
.grs-om__foto img{ display: block; width: 100%; height: 100%; object-fit: cover; object-position: center top; }
/* fără poză: inițialele, pe un fundal cald — arată intenționat, nu ca o imagine care n-a încărcat */
.grs-om__init{
  display: grid; place-items: center; width: 100%; height: 100%;
  background: linear-gradient(160deg, #f6ece5 0%, #ecdcd1 100%);
  font-family: var(--grs-serif); font-size: clamp(1.7rem, 3.4cqw, 2.3rem); letter-spacing: .04em; color: var(--grs-terra);
}
.grs-om__nume{ margin: 0; padding: .7rem .5rem 0; line-height: 1.25; color: var(--grs-cont, #0f1a2a); text-align: center; }
.grs-om__fam{ display: block; font-size: .76rem; font-weight: 800; letter-spacing: .01em; }
.grs-om__pren{ display: block; font-size: .84rem; font-weight: 500; }
.grs-om__rol{ margin: .3rem 0 0; padding: 0 .7rem .8rem; font-size: .75rem; line-height: 1.3; font-weight: 600; color: var(--grs-terra); text-align: center; }
/* vârful: card mai mare, nume mai mare */
.grs-om--mare{ width: 200px; border-color: #e2d6cc; box-shadow: 0 12px 30px -18px rgba(15, 26, 42, .35); }
.grs-om--mare .grs-om__nume{ padding-top: .9rem; }
.grs-om--mare .grs-om__fam{ font-size: .9rem; }
.grs-om--mare .grs-om__pren{ font-family: var(--grs-serif); font-size: 1.2rem; font-weight: 400; }
.grs-om--mare .grs-om__rol{ padding-bottom: 1rem; font-size: .72rem; letter-spacing: .18em; text-transform: uppercase; }

/* legăturile dintre niveluri: linie verticală vizibilă */
.grs-oc__leg{ display: block; width: 2px; height: 28px; background: var(--grs-oc-leg); }
.grs-oc__eticheta, .grs-oc__titlu{
  margin: 0 0 .9rem; font-family: var(--grs-sans); font-size: .72rem; font-weight: 700; letter-spacing: .24em; text-transform: uppercase;
  color: var(--grs-terra); text-align: center;
}
/* nivelul conducerii: una sau mai multe casete alăturate (ex. Management + Achiziții și Licitații);
   cu mai multe, o bară deasupra lor primește linia de la vârf, iar titlurile stau la aceeași înălțime */
.grs-oc__nivel-rand{ display: flex; flex-wrap: wrap; justify-content: center; align-items: stretch; gap: var(--grs-oc-gap); max-width: 100%; }
.grs-oc__nivel-rand.is-multe{ padding-top: 18px; border-top: 2px solid var(--grs-oc-leg); }
.grs-oc__nivel-rand.is-multe .grs-oc__titlu{ display: flex; align-items: flex-end; justify-content: center; min-height: 2.7em; max-width: 20rem; margin-left: auto; margin-right: auto; line-height: 1.35; }
/* conducerea: rând separat, într-o casetă */
.grs-oc__nivel{ padding: 1.1rem 1.25rem 1.25rem; background: #faf8f5; border: 1px solid #ece7df; border-radius: 14px; }
/* departamentele: casete cu titlu și numărul de membri, legate de conducere printr-o bară */
.grs-oc__dep-uri{
  align-self: stretch; display: flex; flex-wrap: wrap; justify-content: center; gap: var(--grs-oc-gap);
  padding-top: 18px; border-top: 2px solid var(--grs-oc-leg);
}
/* border-box: chenarul intră în lățimea calculată, altfel casetele nu mai încap câte 3 / câte 2 pe rând */
.grs-dep, .grs-om, .grs-oc__nivel, .grs-team__cariere{ box-sizing: border-box; }
.grs-dep{ --grs-dep-col: calc(var(--grs-dep-lat, 1) * 2); flex: 0 0 100%; margin: 0; background: #faf8f5; border: 1px solid #ece7df; border-radius: 14px; }
.grs-dep__cap{ display: flex; justify-content: space-between; align-items: flex-end; gap: 1rem; padding: 1rem 1.1rem .85rem; list-style: none; cursor: default; }
.grs-dep__cap::-webkit-details-marker{ display: none; }
.grs-dep__nume{ font-family: var(--grs-serif); font-size: 1.3rem; line-height: 1.15; color: var(--grs-cont, #0f1a2a); }
.grs-dep__nume small{ display: block; margin-bottom: .2rem; font-family: var(--grs-sans); font-size: .66rem; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; color: var(--grs-terra); }
.grs-dep__nr{ flex: none; font-size: .78rem; color: var(--grs-mute); }
.grs-dep__oameni{ display: grid; grid-template-columns: repeat(var(--grs-dep-col), minmax(0, 1fr)); gap: 12px; padding: 0 1.1rem 1.1rem; }
.grs-dep__oameni .grs-om{ width: auto; }

/* lat: 3 casete pe rând (cele mari ocupă 2), fiecare departament pe două rânduri; zona are cât
   cele 3 casete, ca bara de deasupra să se termine la marginile lor (piramidă: vârf → conducere → departamente).
   -1px: rotunjirile nu au voie să împingă ultima casetă pe rândul următor */
@container echipa (min-width: 1100px){
  .grs-oc__dep-uri{ align-self: center; width: 100%; max-width: 940px; }
  .grs-dep{ flex-basis: calc(var(--grs-dep-lat) * (100% - 2 * var(--grs-oc-gap)) / 3 + (var(--grs-dep-lat) - 1) * var(--grs-oc-gap) - 1px); }
}
/* mediu: 2 coloane de casete */
@container echipa (min-width: 700px) and (max-width: 1099px){
  .grs-dep{ flex-basis: calc(var(--grs-dep-lat) * (100% - var(--grs-oc-gap)) / 2 + (var(--grs-dep-lat) - 1) * var(--grs-oc-gap) - 1px); }
}
/* telefon: departamentele se deschid la atingere (vezi scriptul din [grs_echipa]) */
@container echipa (max-width: 699px){
  .grs-oc__oameni{ gap: 12px; }
  .grs-oc__nivel-rand{ align-self: stretch; flex-direction: column; }
  .grs-oc__nivel{ align-self: stretch; padding: 1rem .9rem; } /* cardurile rămân de 148px: 2 pe rând pe telefon, 3 pe ecran mai lat */
  .grs-oc__dep-uri{ gap: 10px; }
  .grs-dep__oameni{ grid-template-columns: repeat(auto-fill, minmax(135px, 1fr)); }
  .grs-dep__cap{ cursor: pointer; align-items: center; padding: .95rem 1rem; }
  .grs-dep__cap::after{
    content: ""; flex: none; width: 9px; height: 9px; margin-left: .25rem;
    border-right: 2px solid var(--grs-terra); border-bottom: 2px solid var(--grs-terra);
    transform: rotate(45deg) translateY(-3px); transition: transform .25s var(--grs-ease);
  }
  .grs-dep[open] .grs-dep__cap::after{ transform: rotate(225deg) translateY(-3px); }
  /* „Deschis pe telefon” (bifa din panou): mereu deschis, fără săgeată */
  .grs-dep--deschis .grs-dep__cap{ cursor: default; }
  .grs-dep--deschis .grs-dep__cap::after{ display: none; }
  .grs-dep__nume{ font-size: 1.15rem; }
  .grs-dep__nr{ margin-left: auto; }
  .grs-dep__oameni{ padding: 0 .9rem .9rem; }
}
/* fără ierarhie încă: toți într-o grilă */
.grs-oc__oameni--toti{ justify-content: center; }

/* recrutare: secțiune separată, sub organigramă */
.grs-team__cariere{
  display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 1rem 2rem;
  margin-top: clamp(2.5rem, 5vw, 3.5rem); padding: clamp(1.25rem, 2.6vw, 1.75rem) clamp(1.25rem, 3vw, 2.25rem);
  border: 1px solid #ece7df; border-left: 3px solid var(--grs-terra); border-radius: 12px; background: #fff;
}
.grs-team__cariere-titlu{ margin: 0; font-family: var(--grs-serif); font-size: clamp(1.35rem, 2.2vw, 1.65rem); line-height: 1.15; color: var(--grs-cont, #0f1a2a); }
.grs-team__cariere-text{ margin: .35rem 0 0; font-size: .95rem; color: var(--grs-mute); }
.grs-team__cariere-btn{
  display: inline-flex; align-items: center; gap: .7rem; padding: .85rem 1.4rem; border-radius: 999px;
  background: var(--grs-terra); color: #fff; font-size: .8rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; text-decoration: none;
  transition: background .3s;
}
.grs-team__cariere-btn:hover, .grs-team__cariere-btn:focus-visible{ background: var(--grs-navy); color: #fff; }
.grs-team__cariere-btn svg{ transition: transform .3s var(--grs-ease); }
.grs-team__cariere-btn:hover svg{ transform: translateX(4px); }

@media (max-width: 600px){
  .grs-team__head{ flex-direction: column; align-items: flex-start; }
  .grs-team__count{ text-align: left; }
}
@media (prefers-reduced-motion: reduce){
  .grs-om, .grs-team__cariere-btn svg{ transition: none; }
  .grs-om:hover{ transform: none; }
}

/* ---------- Despre noi: documente ---------- */
.grs-docs{ background: var(--grs-ivory); padding: clamp(3rem, 6vw, 5rem) 0; border-top: 1px solid var(--grs-line); }
.grs-docs__container{ max-width: var(--grs-container); margin: 0 auto; padding: 0 var(--grs-gutter); }
.grs-docs__list{ list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); gap: 1rem; }
.grs-docs__list a{
  display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 1rem;
  padding: 1.1rem 1.25rem; background: #fff; border: 1px solid var(--grs-line);
  color: var(--grs-cont); text-decoration: none; transition: border-color .25s;
}
.grs-docs__list a:hover{ border-color: var(--grs-terra); }
.grs-docs__type{ font-size: .65rem; font-weight: 800; letter-spacing: .15em; color: #fff; background: var(--grs-terra); padding: .3rem .45rem; }
.grs-docs__name{ font-family: var(--grs-serif); font-size: 1.1rem; }
.grs-docs__dl{ font-size: .75rem; letter-spacing: .1em; text-transform: uppercase; color: var(--grs-mute); white-space: nowrap; }

/* ---------- Parteneri ---------- */
.grs-part{ background: #fff; padding: clamp(1rem, 3vw, 2rem) 0 clamp(4rem, 8vw, 7rem); }
.grs-part__container{ max-width: var(--grs-container); margin: 0 auto; padding: 0 var(--grs-gutter); }
.grs-part__grid{
  list-style: none; margin: 0; padding: 0;
  display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 200px), 1fr));
  border-top: 1px solid var(--grs-line); border-left: 1px solid var(--grs-line);
}
.grs-part__item{
  aspect-ratio: 3 / 2; display: grid; place-items: center; padding: 1.5rem;
  border-right: 1px solid var(--grs-line); border-bottom: 1px solid var(--grs-line);
}
.grs-part__item a{ display: grid; place-items: center; width: 100%; height: 100%; color: inherit; text-decoration: none; }
.grs-part__item img{ max-width: 100%; max-height: 64px; object-fit: contain; filter: grayscale(1); opacity: .75; transition: filter .3s, opacity .3s; }
.grs-part__item:hover img{ filter: none; opacity: 1; }
.grs-part__item span{ font-family: var(--grs-serif); font-size: 1.05rem; text-align: center; }
.grs-part__item--empty span{ font-family: var(--grs-sans); font-size: .72rem; letter-spacing: .2em; text-transform: uppercase; color: var(--grs-mute); }

/* ---------- Evenimente ---------- */
.grs-ev{ background: #fff; padding: clamp(1rem, 3vw, 2rem) 0 clamp(4rem, 8vw, 7rem); }
.grs-ev__container{ max-width: 1100px; margin: 0 auto; padding: 0 var(--grs-gutter); }
.grs-ev__list{ list-style: none; margin: 0; padding: 0; }
.grs-ev__item{
  display: grid; grid-template-columns: 7rem minmax(0, 1fr) minmax(0, 240px); gap: clamp(1rem, 3vw, 2.5rem); align-items: start;
  padding: clamp(1.5rem, 3vw, 2.25rem) 0; border-top: 1px solid var(--grs-line);
}
.grs-ev__item:last-child{ border-bottom: 1px solid var(--grs-line); }
.grs-ev__day{ display: block; font-family: var(--grs-serif); font-size: 3rem; line-height: 1; color: var(--grs-terra); }
.grs-ev__mon{ display: block; margin-top: .3rem; font-size: .72rem; letter-spacing: .2em; text-transform: uppercase; color: var(--grs-mute); }
.grs-ev__title{ margin: 0 0 .35rem; font-family: var(--grs-serif); font-weight: 400; font-size: clamp(1.4rem, 2.2vw, 1.9rem); line-height: 1.15; }
.grs-ev__title a{ color: inherit; text-decoration: none; }
.grs-ev__title a:hover{ color: var(--grs-terra); }
.grs-ev__loc{ margin: 0 0 .75rem; font-size: .8rem; letter-spacing: .12em; text-transform: uppercase; color: var(--grs-mute); }
.grs-ev__text{ margin: 0; line-height: 1.7; color: #3a3f48; }
.grs-ev__img{ width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
@media (max-width: 760px){
  .grs-ev__item{ grid-template-columns: 4.5rem minmax(0, 1fr); }
  .grs-ev__img{ grid-column: 1 / -1; }
}

/* ---------- Practică & Internship ---------- */
.grs-prac{ background: #fff; padding-bottom: clamp(4rem, 8vw, 7rem); }
.grs-prac__container{ max-width: var(--grs-container); margin: 0 auto; padding: 0 var(--grs-gutter); }
.grs-prac__hero{
  max-width: 920px; padding: clamp(2rem, 4vw, 3.5rem) 0 clamp(2.5rem, 5vw, 4rem);
  border-bottom: 1px solid var(--grs-line);
}
.grs-prac__hero .grs-sec-head__label{ color: var(--grs-teal); }
.grs-prac__title{
  margin: 0 0 1.25rem;
  font-family: var(--grs-serif); font-weight: 400;
  font-size: clamp(2.6rem, 6vw, 5rem); line-height: 1; letter-spacing: -.035em; color: var(--grs-cont);
}
.grs-prac__title em{ display: block; color: var(--grs-mute); }
.grs-prac__lead{ margin: 0 0 2rem; max-width: 60ch; font-size: clamp(1.05rem, 1.4vw, 1.2rem); line-height: 1.7; color: #3a3f48; }
.grs-prac__cta{
  display: inline-block; padding: 1rem 1.75rem; border-radius: 6px 6px 0 0;
  background: var(--grs-teal); color: #fff; text-decoration: none;
  font-size: .78rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase;
  transition: background .25s;
}
.grs-prac__cta:hover{ background: #2f8783; color: #fff; }
.grs-prac__grid{
  display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); gap: clamp(2.5rem, 6vw, 6rem);
  padding-top: clamp(2.5rem, 5vw, 4rem);
}
.grs-prac__text section{ margin-bottom: clamp(2.25rem, 4vw, 3.25rem); }
.grs-prac__text h2{
  margin: 0 0 1rem;
  font-family: var(--grs-serif); font-weight: 400; font-size: clamp(1.6rem, 2.6vw, 2.2rem); letter-spacing: -.02em;
}
.grs-prac__text p{ margin: 0 0 1rem; line-height: 1.8; color: #3a3f48; max-width: 64ch; }
.grs-prac__text a{ color: var(--grs-teal); }
.grs-prac__tags{ list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.grs-prac__tags li{ padding: .45rem .85rem; border: 1px solid var(--grs-line); font-size: .9rem; }
.grs-prac__facts{ margin: 0; }
.grs-prac__facts div{ display: grid; grid-template-columns: 11rem minmax(0, 1fr); gap: 1rem; padding: .9rem 0; border-top: 1px solid var(--grs-line); }
.grs-prac__facts dt{ font-size: .72rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--grs-teal); padding-top: .2rem; }
.grs-prac__facts dd{ margin: 0; line-height: 1.6; }
.grs-prac__list{ margin: 0; padding: 0; list-style: none; counter-reset: prac; }
.grs-prac__list li{ counter-increment: prac; display: grid; grid-template-columns: 2.5rem minmax(0, 1fr); padding: .75rem 0; border-top: 1px solid var(--grs-line); line-height: 1.6; }
.grs-prac__list li::before{ content: counter(prac, decimal-leading-zero); font-size: .72rem; font-weight: 700; letter-spacing: .12em; color: var(--grs-teal); padding-top: .25rem; }
.grs-prac__poster{ position: sticky; top: 2rem; align-self: start; }
.grs-prac__poster img{ display: block; width: 100%; height: auto; box-shadow: 0 30px 60px -30px rgba(15,26,42,.45); }
.grs-prac__dl{
  display: inline-block; margin-top: 1rem;
  font-size: .72rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase;
  color: var(--grs-cont); text-decoration: none;
}
.grs-prac__dl:hover{ color: var(--grs-teal); }
@media (max-width: 900px){
  .grs-prac__grid{ grid-template-columns: minmax(0, 1fr); }
  .grs-prac__poster{ position: static; max-width: 420px; }
  .grs-prac__facts div{ grid-template-columns: minmax(0, 1fr); gap: .3rem; }
}

/* ---------- Portofoliu: filtru pe categorii ---------- */
.grs-proj-filter{
  max-width: var(--grs-container); margin: 0 auto clamp(1.5rem, 3vw, 2.5rem); padding: 0 var(--grs-gutter);
  display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem;
  scroll-margin-top: 7rem;
}
.grs-proj-filter__btn{
  display: inline-flex; align-items: baseline; gap: .35rem;
  padding: .6rem 1.1rem; border: 1px solid var(--grs-line);
  font-family: var(--grs-sans); font-size: .78rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
  color: var(--grs-cont); text-decoration: none; background: #fff;
  transition: border-color .25s, color .25s, background .25s;
}
.grs-proj-filter__btn sup{ font-size: .62rem; color: var(--grs-mute); letter-spacing: 0; }
.grs-proj-filter__btn:hover{ border-color: var(--grs-cont); }
.grs-proj-filter__btn.is-active{ background: var(--grs-navy); border-color: var(--grs-navy); color: #fff; }
.grs-proj-filter__btn.is-active sup{ color: rgba(255,255,255,.6); }
