/* ==========================================================
   APEX MANAGEMENT SOLUTIONS — stil comun
   Paletă: petrol (apă), beton, hârtie, semnal (risc), cerneală
   ========================================================== */

:root{
  --beton:#DAD9D4;
  --beton-umbra:#C7C6C0;
  --hartie:#F6F5F2;
  --cerneala:#14171A;
  --text:#2B3035;
  --petrol:#0F3B44;
  --petrol-clar:#1C5C68;
  --semnal:#DC4A26;
  --semnal-inchis:#C53F1E;
  --sters:#6C7175;
  --linie:rgba(20,23,26,.14);
  --linie-clara:rgba(246,245,242,.22);
  --max:1180px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
}
body{
  background:var(--beton);color:var(--cerneala);
  font-family:"IBM Plex Sans",system-ui,-apple-system,sans-serif;
  font-size:17px;line-height:1.62;-webkit-font-smoothing:antialiased;
}
.wrap{max-width:var(--max);margin:0 auto;padding:0 28px}
a{color:inherit}
:focus-visible{outline:3px solid var(--semnal);outline-offset:3px}
img{max-width:100%;height:auto}

h1,h2,h3,.display{
  font-family:"Archivo",sans-serif;
  font-variation-settings:"wdth" 112;
  letter-spacing:-.032em;line-height:1.04;
}
.eticheta{
  font-family:"IBM Plex Mono",monospace;font-size:12px;font-weight:500;
  letter-spacing:.16em;text-transform:uppercase;color:var(--sters);
}

/* ---------- antet ---------- */
header{
  position:sticky;top:0;z-index:60;
  background:rgba(218,217,212,.93);backdrop-filter:blur(8px);
  border-bottom:1px solid var(--linie);
}
.antet{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 28px;max-width:var(--max);margin:0 auto}
.marca{display:flex;align-items:baseline;gap:10px;text-decoration:none;color:inherit}
.marca b{font-family:"Archivo",sans-serif;font-variation-settings:"wdth" 112;font-weight:800;font-size:22px;letter-spacing:-.02em;line-height:1}
.marca span{font-family:"IBM Plex Mono",monospace;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--sters)}
.antet-nav{display:flex;align-items:center;gap:22px}
.antet-nav a{font-size:14.5px;text-decoration:none;opacity:.72;padding:4px 0}
.antet-nav a:hover,.antet-nav a[aria-current="page"]{opacity:1}
.antet-nav a[aria-current="page"]{box-shadow:inset 0 -2px 0 var(--semnal)}
.telefon{
  font-family:"IBM Plex Mono",monospace;font-size:14px;font-weight:600;
  background:var(--petrol);color:var(--hartie);padding:10px 17px;opacity:1!important;
}
.telefon:hover{background:var(--cerneala)}
@media(max-width:940px){.antet-nav a:not(.telefon){display:none}}

/* ---------- butoane ---------- */
.buton{
  display:inline-block;padding:15px 28px;text-decoration:none;
  font-weight:600;font-size:15.5px;
  transition:transform .15s ease,background .15s ease,color .15s ease,border-color .15s ease;
}
.buton.plin{background:var(--semnal);color:#fff;border:1.5px solid var(--semnal)}
.buton.plin:hover{background:var(--semnal-inchis);border-color:var(--semnal-inchis);transform:translateY(-2px)}
.buton.gol{border:1.5px solid rgba(246,245,242,.5);color:var(--hartie)}
.buton.gol:hover{background:var(--hartie);color:var(--petrol);transform:translateY(-2px)}
.buton.gol-inchis{border:1.5px solid var(--cerneala);color:var(--cerneala)}
.buton.gol-inchis:hover{background:var(--cerneala);color:var(--hartie);transform:translateY(-2px)}

/* ---------- suprafață petrol cu textură de planșă ---------- */
.petrol{position:relative;overflow:hidden;background:var(--petrol);color:var(--hartie)}
.petrol::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:
    linear-gradient(var(--linie-clara) 1px,transparent 1px),
    linear-gradient(90deg,var(--linie-clara) 1px,transparent 1px);
  background-size:64px 64px;opacity:.35;
  mask-image:radial-gradient(ellipse 80% 70% at 70% 40%,#000 20%,transparent 75%);
  -webkit-mask-image:radial-gradient(ellipse 80% 70% at 70% 40%,#000 20%,transparent 75%);
}
.petrol > *{position:relative}
.petrol .eticheta{color:rgba(246,245,242,.6)}

/* ---------- hero pagina principală ---------- */
.hero{padding:86px 0 76px}
.hero h1{font-size:clamp(2.25rem,5.8vw,4.4rem);font-weight:800;max-width:16ch;margin:22px 0 0}
.hero h1 em{font-style:normal;color:var(--semnal)}
.hero .lead{margin-top:26px;max-width:56ch;font-size:clamp(1.03rem,1.5vw,1.17rem);color:rgba(246,245,242,.82)}
.hero-actiuni{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}

/* ---------- antet pagină interioară ---------- */
.pagina-titlu{padding:30px 0 66px}
.pagina-titlu h1{font-size:clamp(1.95rem,4.6vw,3.35rem);font-weight:800;max-width:19ch;margin:18px 0 0}
.pagina-titlu h1 em{font-style:normal;color:var(--semnal)}
.pagina-titlu .lead{margin-top:24px;max-width:62ch;font-size:clamp(1.02rem,1.5vw,1.14rem);color:rgba(246,245,242,.82)}
.firimituri{font-size:13.4px;color:rgba(246,245,242,.6);margin-bottom:26px}
.firimituri a{text-decoration:none}
.firimituri a:hover{color:var(--hartie)}
.firimituri span{margin:0 8px;opacity:.5}

/* ---------- blocuri de conținut, cu fundal alternat ---------- */
.bloc{padding:60px 0;border-bottom:1px solid var(--linie)}
main > section.bloc:nth-of-type(2n){background:var(--hartie)}
.bloc-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px;align-items:start}
@media(max-width:880px){.bloc-grid{grid-template-columns:1fr;gap:24px}}
.bloc h2{font-size:clamp(1.45rem,2.9vw,2rem);font-weight:700;margin:12px 0 0}
.bloc h3{font-size:1.12rem;font-weight:700;margin:0 0 10px}
.bloc p{color:var(--text);margin-bottom:15px}
.bloc p:last-child{margin-bottom:0}

.miza{border-left:3px solid var(--semnal);padding:2px 0 2px 20px;margin:4px 0 22px}
.miza p{font-size:16.4px}

.livrabile{list-style:none;margin:4px 0 0}
.livrabile li{padding:13px 0 13px 30px;position:relative;border-bottom:1px solid var(--linie);font-size:16px;color:var(--text)}
.livrabile li:last-child{border-bottom:0}
.livrabile li::before{content:"";position:absolute;left:0;top:21px;width:14px;height:2px;background:var(--petrol-clar)}
.livrabile li strong{color:var(--cerneala);font-weight:600}

.grila-2{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--linie);border:1px solid var(--linie)}
@media(max-width:760px){.grila-2{grid-template-columns:1fr}}
.grila-2 > div{background:var(--hartie);padding:28px 26px}
main > section.bloc:nth-of-type(2n) .grila-2 > div{background:var(--beton)}

/* ---------- schema de proces ---------- */
.schema-cadru{border:1.5px solid var(--cerneala);background:var(--beton);padding:26px 22px;margin-top:6px}
main > section.bloc:nth-of-type(2n) .schema-cadru{background:var(--hartie)}
svg .nod{stroke-width:1.5}
svg .nod-apa{fill:#DCE8EA;stroke:var(--petrol)}
svg .nod-namol{fill:#E8DFD6;stroke:#7A5C42}
svg .nod-final{fill:var(--petrol);stroke:var(--petrol)}
svg .et{font-family:"IBM Plex Sans",sans-serif;font-size:12.5px;font-weight:500;fill:var(--cerneala)}
svg .et-alb{fill:var(--hartie)}
svg .et-mic{font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.12em;fill:var(--sters)}
svg .flux{stroke:var(--petrol-clar);stroke-width:2;fill:none}
svg .flux-namol{stroke:#8A6A4D;stroke-width:2;fill:none}
svg .curgere{stroke-dasharray:6 8;animation:curge 2.4s linear infinite}
@keyframes curge{to{stroke-dashoffset:-28}}
@media (prefers-reduced-motion:reduce){svg .curgere{animation:none;stroke-dasharray:none}}
svg .furca{stroke:var(--semnal);stroke-width:2;fill:none;stroke-dasharray:4 4}

/* ---------- selector de rol (pagina principală) ---------- */
.rol{padding:64px 0 72px;background:var(--hartie);border-bottom:1px solid var(--linie)}
.rol h2{font-size:clamp(1.5rem,3vw,2.1rem);font-weight:700;margin:14px 0 6px}
.rol-sub{color:var(--sters);max-width:54ch;margin-bottom:30px}
.taburi{display:flex;flex-wrap:wrap;border:1.5px solid var(--cerneala);background:var(--beton)}
.tab{
  flex:1 1 200px;font-family:"IBM Plex Sans",sans-serif;font-size:15px;font-weight:600;
  padding:16px 18px;background:transparent;border:0;cursor:pointer;text-align:left;
  color:var(--cerneala);border-right:1.5px solid var(--cerneala);
  transition:background .15s ease,color .15s ease;
}
.tab:last-child{border-right:0}
.tab small{display:block;font-family:"IBM Plex Mono",monospace;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--sters);margin-bottom:3px}
.tab:hover{background:var(--beton-umbra)}
.tab[aria-selected="true"]{background:var(--petrol);color:var(--hartie)}
.tab[aria-selected="true"] small{color:rgba(246,245,242,.7)}
@media(max-width:760px){
  .tab{flex:1 1 100%;border-right:0;border-bottom:1.5px solid var(--cerneala)}
  .tab:last-child{border-bottom:0}
}
.panou{background:var(--beton);border:1.5px solid var(--cerneala);border-top:0;padding:34px 32px 36px;animation:apar .3s ease}
@keyframes apar{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.panou[hidden]{display:none}
.panou-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:38px}
@media(max-width:820px){.panou-grid{grid-template-columns:1fr;gap:28px}}
.panou h3{font-size:1.2rem;font-weight:700;margin:8px 0 10px}
.panou p{color:var(--text);font-size:16.2px}
.fac h4{font-family:"IBM Plex Mono",monospace;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--sters);margin-bottom:12px}
.fac ul{list-style:none}
.fac li{padding:11px 0 11px 26px;position:relative;border-bottom:1px solid var(--linie);font-size:15.8px;color:var(--text)}
.fac li:last-child{border-bottom:0}
.fac li::before{content:"";position:absolute;left:0;top:19px;width:12px;height:2px;background:var(--petrol-clar)}
.panou-link{display:inline-block;margin-top:20px;font-weight:600;font-size:15px;color:var(--petrol);text-decoration:none;border-bottom:2px solid var(--semnal);padding-bottom:2px}
.panou-link:hover{color:var(--semnal)}

.termene{margin-top:30px;padding-top:26px;border-top:1px solid var(--linie)}
.termene h4{font-family:"IBM Plex Mono",monospace;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--sters);margin-bottom:16px}
.scala{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--linie);border:1px solid var(--linie)}
@media(max-width:720px){.scala{grid-template-columns:1fr 1fr}}
.pas{background:var(--hartie);padding:16px 15px}
.pas .zi{font-family:"IBM Plex Mono",monospace;font-weight:600;font-size:1.5rem;letter-spacing:-.03em;color:var(--semnal);line-height:1}
.pas .ce{font-weight:600;font-size:14.5px;margin:8px 0 5px}
.pas .daca{font-size:13.4px;color:var(--sters);line-height:1.48}

/* ---------- servicii rezumate ---------- */
.servicii{padding:66px 0;border-bottom:1px solid var(--linie)}
.servicii h2{font-size:clamp(1.5rem,3vw,2.1rem);font-weight:700;margin:14px 0 32px}
.grila-servicii{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--linie);border:1px solid var(--linie)}
@media(max-width:800px){.grila-servicii{grid-template-columns:1fr}}
.serviciu{background:var(--hartie);padding:30px 28px;text-decoration:none;display:block;transition:background .15s ease}
.serviciu:hover{background:#fff}
.serviciu h3{font-size:1.2rem;font-weight:700;margin:12px 0 10px}
.serviciu p{font-size:15.6px;color:var(--text);margin-bottom:14px}
.serviciu .mai{font-family:"IBM Plex Mono",monospace;font-size:11.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--petrol);border-bottom:2px solid var(--semnal);padding-bottom:2px}

/* ---------- despre ---------- */
.despre{padding:66px 0;background:var(--hartie);border-bottom:1px solid var(--linie)}
.despre h2{font-size:clamp(1.5rem,3vw,2.1rem);font-weight:700;margin:14px 0 30px}
.despre-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:52px;align-items:start}
@media(max-width:860px){.despre-grid{grid-template-columns:1fr;gap:32px}}
.despre p{max-width:62ch;margin-bottom:16px;color:var(--text)}
.despre p.accent{font-weight:600;color:var(--cerneala);border-left:3px solid var(--semnal);padding-left:20px}
.fisa{background:var(--beton);border:1.5px solid var(--cerneala);padding:26px 24px}
.fisa dl{display:grid;grid-template-columns:auto 1fr;gap:11px 16px;font-size:14.4px;margin-top:14px}
.fisa dt{font-family:"IBM Plex Mono",monospace;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--sters);padding-top:2px}
.fisa dd{font-family:"IBM Plex Mono",monospace;font-weight:500}

.adresam{margin-top:36px;display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--linie);border:1px solid var(--linie)}
@media(max-width:760px){.adresam{grid-template-columns:1fr}}
.adresam > div{background:var(--beton);padding:26px 24px}
.adresam h3{font-size:1.06rem;font-weight:700;margin:0 0 9px}
.adresam p{font-size:15.4px;margin:0;max-width:none}

/* ---------- bandă de contact ---------- */
.cta{padding:70px 0}
.cta h2{font-size:clamp(1.75rem,3.8vw,2.7rem);font-weight:800;margin:16px 0 16px;max-width:22ch}
.cta p{max-width:54ch;color:rgba(246,245,242,.82);margin-bottom:32px}
.canale{display:flex;flex-wrap:wrap;gap:14px}
.canal{
  display:flex;flex-direction:column;gap:4px;
  background:rgba(246,245,242,.07);border:1px solid rgba(246,245,242,.28);
  padding:18px 24px;text-decoration:none;min-width:240px;transition:background .15s ease;
}
.canal:hover{background:rgba(246,245,242,.14)}
.canal .k{font-family:"IBM Plex Mono",monospace;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:rgba(246,245,242,.6)}
.canal .v{font-family:"IBM Plex Mono",monospace;font-size:17px;font-weight:600;letter-spacing:-.01em}

/* ---------- navigare între servicii ---------- */
.alte-servicii{padding:52px 0}
.alte-servicii h2{font-size:1.28rem;font-weight:700;margin:12px 0 22px}
.lista-servicii{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--linie);border:1px solid var(--linie)}
@media(max-width:820px){.lista-servicii{grid-template-columns:1fr}}
.lista-servicii a{background:var(--hartie);padding:22px;text-decoration:none;display:block;transition:background .15s ease}
.lista-servicii a:hover{background:#fff}
.lista-servicii .nr{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--sters)}
.lista-servicii .den{font-family:"Archivo",sans-serif;font-variation-settings:"wdth" 112;font-weight:700;font-size:1.04rem;letter-spacing:-.02em;margin:8px 0 6px}
.lista-servicii .rez{font-size:14.6px;color:var(--sters);line-height:1.5}

/* ---------- subsol ---------- */
footer{padding:26px 0 32px;font-size:13.4px;color:var(--sters);border-top:1px solid var(--linie)}
.subsol{display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:center}
.subsol a{text-decoration:none;color:var(--sters)}
.subsol a:hover{color:var(--cerneala)}
.subsol-linkuri{display:flex;flex-wrap:wrap;gap:20px}

/* ---------- pagina de politică ---------- */
.doc{padding:14px 0 60px;max-width:840px;margin:0 auto}
.doc section{padding:32px 0;border-bottom:1px solid var(--linie)}
.doc section:last-of-type{border-bottom:0}
.doc h2{font-size:1.3rem;font-weight:700;margin:10px 0 14px}
.doc h3{font-family:"IBM Plex Sans",sans-serif;font-weight:600;font-size:1.02rem;margin:22px 0 8px;letter-spacing:0}
.doc p{margin-bottom:14px;color:var(--text)}
.doc ul{list-style:none;margin:6px 0 16px}
.doc li{padding:7px 0 7px 22px;position:relative;color:var(--text)}
.doc li::before{content:"—";position:absolute;left:0;color:var(--petrol-clar)}
.doc a{color:var(--petrol)}
.doc a:hover{color:var(--semnal)}
.caseta{background:var(--hartie);border:1.5px solid var(--cerneala);padding:24px}
.caseta dl{display:grid;grid-template-columns:auto 1fr;gap:10px 18px;font-size:14.6px;margin-top:14px}
.caseta dt{font-family:"IBM Plex Mono",monospace;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--sters);padding-top:3px}
.caseta dd{font-family:"IBM Plex Mono",monospace;font-weight:500}
.avertisment{background:var(--hartie);border-left:3px solid var(--semnal);padding:18px 22px;margin:20px 0;font-size:15.4px}
table{width:100%;border-collapse:collapse;margin:16px 0 20px;font-size:14.8px}
th,td{text-align:left;padding:12px 14px;border:1px solid var(--linie);vertical-align:top}
th{background:var(--hartie);font-family:"IBM Plex Mono",monospace;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--sters)}
td{background:rgba(246,245,242,.55)}
.tabel-container{overflow-x:auto}
