:root{
  --brand:#00008b;
  --bg:#000;
  --text:#fff;
  --muted: rgba(255,255,255,.85);
  --max: 1100px;
  --radius: 10px;
  --shadow: 0 10px 30px rgba(0,0,0,.25);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Frank Ruhl Libre", serif;
 
  color:#111;
  background:#f5f6fb;
}
a{color:inherit}
.container{max-width:var(--max); margin:0 auto; padding:0 18px}

/* Nav (identic ca structură) */
.nav{
  position:sticky; top:0; z-index:50;
  background:#fff;
  border-bottom:1px solid rgba(0,0,0,.06);
}
.nav-inner{
  display:flex; align-items:center; justify-content:space-between;
  gap:14px; padding:14px 0;
}
.brand{
  display:flex; align-items:center; gap:10px;
  text-decoration:none;
  font-weight:700;
  letter-spacing:.2px;
}
.brand-mark{
  width:28px; height:28px; border-radius:6px;
  background:var(--brand);
  flex:0 0 auto;
}
.menu{display:flex; gap:16px; flex-wrap:wrap}
.menu a{
  text-decoration:none;
  font-weight:700;
  font-size:16px;
  padding:6px 8px;
  border-radius:8px;
}
.menu a:hover{background:rgba(0,0,0,.05)}

/* HERO split */
section{scroll-margin-top:80px}
.hero{
  background:var(--bg);
  color:var(--text);
  padding:70px 0;
}
.hero-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:26px;
  align-items:center;
}
.hero-left{
  display:flex;
  align-items:center;
  justify-content:center;
}
.hero-left img{
  width:100%;
  max-width:560px;
  height:auto;
  display:block;
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}
.hero-right{ text-align:left; }
.hero-right h1{
  margin:0 0 14px;
  font-size: clamp(30px, 4vw, 56px);
  line-height:1.08;
  font-weight:700;
}
.line{
  width:120px;
  height:3px;
  background:#fff;
  margin:0 0 16px;
  opacity:.9;
}
.hero-right p{
  margin:0;
  font-size: clamp(18px, 2.1vw, 24px);
  line-height:1.65;
  color:var(--muted);
  max-width: 46ch;
}

/* Sections */
.section{ padding:70px 0; }
.section-light{ background:#fff; }
.section-brand{ background:var(--brand); color:#fff; }

.section-title{
  text-align:center;
  margin:0 0 24px;
  font-size: clamp(28px, 3vw, 42px);
  font-weight:700;
}
.section-title-invert{ color:#fff; }

.section-hr{
  width:80px; height:3px;
  background:rgba(0,0,0,.15);
  margin:0 auto 28px;
}
.section-hr-invert{ background:#fff; opacity:.9; }

.text{
  max-width:920px;
  margin:0 auto;
  font-size:18px;
  line-height:1.7;
  color:rgba(0,0,0,.80);
}
.text p{ margin:0 0 14px; }
.text p:last-child{ margin-bottom:0; }

/* Cards */
.cards{
  display:grid;
  grid-template-columns: 1fr; /* 1 singură coloană: servicii una sub alta */
  gap:18px;
  max-width:560px;
  margin:0 auto;
}

/* Card container (funcționează pentru ambele variante: landing și style1) */
.card{
  background:#fff;
  color:#111;
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:var(--shadow);
  display:flex;
  flex-direction:column;
  min-height:320px;
}

/* Imagine card: compatibil atât cu .card-img (vechi), cât și cu .img (landing) */
.card-img,
.card .img{
  height:200px;
  background: top center/cover no-repeat;
}

/* Body card: compatibil atât cu .card-body (vechi), cât și cu .body (landing) */
.card-body,
.card .body{
  padding:18px;
}

/* Titluri în card: compatibil atât cu h3 (vechi), cât și cu h4 (landing) */
.card-body h3,
.card .body h4{
  margin:0 0 8px;
  font-size:20px;
  font-weight:700;
}

/* Text în card */
.card-body p,
.card .body p{
  margin:0;
  font-size:16px;
  line-height:1.55;
  color:rgba(0,0,0,.75);
}

.note{
  max-width:920px;
  margin:22px auto 0;
  font-size:16px;
  line-height:1.7;
  color:rgba(255,255,255,.92);
  text-align:center;
}

/* Contact + map */
.contact-grid{
  display:grid;
  grid-template-columns: 1fr 1.2fr;
  gap:22px;
  align-items:start;
}
.contact-box{ padding:16px 0; text-align:center; }
.contact-list{
  list-style:none; padding:0; margin:0;
  display:grid; gap:10px;
  font-size:18px;
}
.contact-list a{ text-decoration:none }
.contact-list a:hover{ text-decoration:underline }

.map{
  background:#f5f6fb;
  border:1px solid rgba(0,0,0,.08);
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:var(--shadow);
}
.map-wrap{
  position:relative;
  width:100%;
  padding-top: 62.5%;
  background:#f5f6fb;
}
.map-wrap iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}

/* Footer */
.footer{
  background:#010132;
  color:#fff;
  padding:26px 0;
}
.footer-inner{
  display:flex;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
  align-items:center;
}
.footer-name{font-weight:700}
.footer-copy{opacity:.9}
.footer-menu{display:flex; gap:14px; flex-wrap:wrap}
.footer-menu a{color:#fff; text-decoration:none}
.footer-menu a:hover{text-decoration:underline}

/* Go top */
.toTop{
  position:fixed;
  right:16px; bottom:16px;
  width:44px; height:44px;
  border-radius:12px;
  border:0;
  background:var(--brand);
  color:#fff;
  cursor:pointer;
  display:none;
  box-shadow:var(--shadow);
  font-weight:900;
  font-size:18px;
}

/* Responsive */
@media (max-width: 920px){
  .hero{ padding:54px 0; }

  /* 1 coloană pe mobil + ordine: imagine sus, text jos */
  .hero-grid{
    grid-template-columns:1fr;
    align-items:start;
  }
  .hero-left{ order:1; }
  .hero-right{
    order:2;
    text-align:center; /* text centrat sub imagine */
  }

  /* imaginea sus să nu fie prea mare pe mobil */
  .hero-left img{
    max-width:420px;
  }

  /* linia centrată pe mobil */
  .line{ margin:0 auto 16px; }

  /* paragraful centrat și pe lățime */
  .hero-right p{
    max-width: 60ch;
    margin:0 auto;
  }

  .contact-grid{ grid-template-columns:1fr; }
}
