@charset "utf-8";
/* CSS Document */
/* ================= RESET / BAZĂ ================= */
*,
*::before,
*::after{
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{
  margin:0;
  font-family:Arial, Helvetica, sans-serif;
  line-height:1.6;
  background:#ffffff;
  color:#0f172a;
}

img{
  max-width:100%;
  display:block;
}

a{
  text-decoration:none;
  color:inherit;
}

ul{
  list-style:none;
  margin:0;
  padding:0;
}

h1,h2,h3,p{
  margin:0;
}

button,
input,
textarea{
  font:inherit;
}

html,
body{
  overflow-x:hidden;
}

/* ================= VARIABILE ================= */
:root{
  --brand:#2563eb;
  --brand-dark:#1d4ed8;
  --accent:#0f172a;
  --text:#0f172a;
  --muted:#475569;
  --line:#e2e8f0;
  --soft:#f8fafc;
  --card:#ffffff;
  --shadow:0 10px 30px rgba(15,23,42,0.08);
  --shadow-hover:0 18px 40px rgba(15,23,42,0.14);
  --radius:20px;
}

/* ================= UTILITARE ================= */
.container{
  width:min(1200px, calc(100% - 32px));
  margin:0 auto;
}
.section{
  padding:64px 0;
}
.section-subtitle{
  display:inline-block;
  margin-bottom:12px;
  font-size:0.9rem;
  font-weight:700;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--brand);
}
.section-title{
  font-size:2rem;
  line-height:1.2;
  margin-bottom:16px;
}
.section-text{
  max-width:700px;
  color:var(--muted);
}
.section-heading{
  text-align:center;
  margin-bottom:36px;
}

/* ================= HEADER ================= */
.site-header{
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 1000;
  background: rgba(255,255,255,.96);
  backdrop-filter: blur(6px);
  border-bottom: 1px solid var(--line);
}
.header-inner{
  height: 66px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
/* LOGO */
.logo{
  font-weight: 900;
  letter-spacing: .2px;
  font-size: 20px;
  color: var(--brand-dark);
}
.logo span{ color: var(--accent); }

/* ================= NAV (mobile) ================= */
.nav{ position: relative; }
/* butoane */
.hamburger,
.close-btn{
  background: none;
  border: 0;
  cursor: pointer;
  font-size: 26px;
  line-height: 1;
}
.hamburger{
  color: var(--brand-dark);
  display: block;
}
/* close ascuns implicit */
.close-btn{
  display: none;
  position: fixed;
  top: 18px;
  right: 18px;
  color: #fff;
  z-index: 2100;
}

/* meniu overlay */
.nav-menu{
  position: fixed;
  inset: 0;
  background: linear-gradient(180deg, var(--brand), #0f172a);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 18px;

  transform: translateY(-100%);
  transition: transform .35s ease;

  z-index: 2000;
  padding: 90px 18px 40px;
  min-height: 100vh;
}
.nav-menu a{
  color: #fff;
  font-weight: 800;
  font-size: 20px;
  letter-spacing: .2px;
  padding: 10px 14px;
  border-radius: 12px;
}
.nav-menu a.active{
  color: #fff;
  background: transparent;
	border: 1px solid #2563eb;
}
.nav-cta{
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.22);
}


/* stare deschis */
.nav.is-open .nav-menu{ transform: translateY(0); }
.nav.is-open .hamburger{ display: none; }
.nav.is-open .close-btn{ display: block; }

/* ================= BUTOANE ================= */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:48px;
  padding:12px 20px;
  border-radius:999px;
  border:1px solid transparent;
  font-weight:700;
  transition:transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}
.btn:hover{
  transform:translateY(-2px);
}
.btn-primary{
  background:linear-gradient(135deg, var(--brand), var(--brand-dark));
  color:#fff;
  box-shadow:0 12px 24px rgba(37,99,235,0.22);
}

.btn-primary:hover{
  box-shadow:0 18px 30px rgba(37,99,235,0.28);
}
.btn-secondary{
  background:#fff;
  color:var(--accent);
  border-color:var(--line);
}

.btn-secondary:hover{
  background:var(--soft);
}

/* ================= HERO ================= */
.hero{
  padding:72px 0 64px;
  background:
    radial-gradient(circle at top left, rgba(37,99,235,0.12), transparent 35%),
    linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
}
.hero-grid{
  display:grid;
  gap:28px;
}
.hero-content h1{
  font-size:2.3rem;
  line-height:1.12;
  margin-bottom:18px;
}
.hero-content p{
  color:var(--muted);
  font-size:1rem;
  max-width:620px;
}
.hero-actions{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin-top:24px;
}
.hero-card{
  background:linear-gradient(160deg, #0f172a, #1e293b);
  color:#fff;
  border-radius:24px;
  padding:28px 24px;
  box-shadow:0 18px 40px rgba(15,23,42,0.24);
}
.hero-card h2{
  font-size:1.4rem;
  margin:16px 0 12px;
}

.hero-card p{
  color:rgba(255,255,255,0.82);
}
.hero-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin:0 8px 10px 0;
  padding:8px 14px;
  border-radius:999px;
  background:rgba(255,255,255,0.12);
  font-size:0.95rem;
  font-weight:700;
  border:1px solid rgba(255,255,255,0.12);
}

/* ================= CARDURI GENERALE ================= */
.service-card,
.benefit-card,
.contact-card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:24px 20px;
  box-shadow:var(--shadow);
  transition:transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}
.service-card:hover,
.benefit-card:hover,
.contact-card:hover{
  transform:translateY(-10px);
  box-shadow:var(--shadow-hover);
  border-color:#bfdbfe;
}
.service-card h3,
.benefit-card h3,
.contact-card h3{
  font-size:1.15rem;
  margin-bottom:10px;
}
.service-card p,
.benefit-card p,
.contact-card p{
  color:var(--muted);
}

/* ================= SERVICII ================= */
.services-preview{
  background:#fff;
}
.services-grid{
  display:grid;
  gap:20px;
}
.service-icon{
  width:64px;
  height:64px;
  display:grid;
  place-items:center;
  margin-bottom:16px;
  border-radius:18px;
  background:linear-gradient(135deg, #dbeafe, #eff6ff);
  font-size:1.8rem;
  transition:transform 0.3s ease;
}
.service-card:hover .service-icon{
	transform:scale(1.12) rotate(360deg);
}

/* ================= BENEFITS ================= */
.benefits{
  background:var(--soft);
}
.benefits-grid{
  display:grid;
  gap:20px;
}
.benefit-icon{
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  margin-bottom:16px;
  border-radius:16px;
  background:linear-gradient(135deg, #e0f2fe, #f8fafc);
  font-size:1.5rem;
	 transition:transform 0.3s ease;
}
.benefit-card:hover .benefit-icon{
  	 transform:scale(1.12) rotate(360deg);
}

/* ================= ABOUT PREVIEW ================= */
.about-preview{
  background:#fff;
}
.about-grid{
  display:grid;
  gap:28px;
  align-items:center;
}
.about-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:24px;
  box-shadow:var(--shadow);
}
.about-content p{
  color:var(--muted);
  margin-bottom:16px;
}
.about-content .btn{
  margin-top:8px;
}

/* ================= CTA ================= */
.cta-section{
  background:var(--soft);
}
.cta-box{
  text-align:center;
  padding:32px 24px;
  border-radius:28px;
  background:linear-gradient(160deg, #0f172a, #1e293b);
  color:#fff;
  box-shadow:0 20px 40px rgba(15,23,42,0.22);
}
.cta-box h2{
  font-size:1.9rem;
  line-height:1.2;
  margin-bottom:14px;
}
.cta-box p{
  max-width:700px;
  margin:0 auto 22px;
  color:rgba(255,255,255,0.82);
}
.cta-box .section-subtitle{
  color:#93c5fd;
}

/* ================= CONTACT RAPID ================= */
.quick-contact{
  background:#fff;
}
.quick-contact-grid{
  display:grid;
  gap:20px;
}
.contact-card{
  text-align:center;
}

/* ================= FOOTER ================= */
.site-footer{
  padding:24px 0;
  background:#0f172a;
  color:rgba(255,255,255,0.82);
}
.footer-inner{
  text-align:center;
}

.footer-inner p{
  font-size:0.95rem;
}

/*---servicii.html---*/
.page-hero{
  padding:72px 0 64px;
  background:
    linear-gradient(rgba(15,23,42,0.82), rgba(15,23,42,0.82)),
    url("../images/page-hero.jpg") center/cover no-repeat;
  color:#fff;
	min-height: 600px;
}
.page-hero-content{
   text-align:center;
   max-width:700px;
   margin:0 auto;
}
.page-hero-content .section-subtitle{
  color:#93c5fd;
}
.page-hero-content h1{
  font-size:2.3rem;
  line-height:1.15;
  margin-bottom:16px;
}
.page-hero-content p{
  color:rgba(255,255,255,0.86);
}
.service-details{
  background:#ffffff;
}
.details-grid{
  display:grid;
  gap:24px;
}
.details-content p{
  color:var(--muted);
  margin-bottom:18px;
}
.check-list{
  display:grid;
  gap:12px;
}
.check-list li{
  position:relative;
  padding-left:28px;
  color:var(--muted);
  font-weight:600;
}
.check-list li::before{
  content:"✔";
  position:absolute;
  left:0;
  top:0;
  color:var(--brand);
  font-weight:700;
}
.details-card{
  background:linear-gradient(160deg, #0f172a, #1e293b);
  color:#fff;
	 text-align:left;
  border-radius:24px;
  padding:28px 24px;
  box-shadow:0 18px 40px rgba(15,23,42,0.2);
}
.details-card h3{
  font-size:1.4rem;
  margin-bottom:12px;
}
.details-card p{
  color:rgba(255,255,255,0.82);
  margin-bottom:18px;
}

/*---despre.html---*/
.about-page{
  background:#ffffff;
}
.about-page-grid{
  display:grid;
  gap:28px;
  align-items:center;
}
.about-page-content p{
  color:var(--muted);
  margin-bottom:16px;
}
.about-page-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:24px;
  box-shadow:var(--shadow);
}
.values-section{
  background:var(--soft);
}
.mission-section{
  background:#ffffff;
}
.mission-grid{
  display:grid;
  gap:20px;
}
.mission-card{
  background:linear-gradient(160deg, #0f172a, #1e293b);
  color:#fff;
  border-radius:24px;
  padding:28px 24px;
  box-shadow:0 18px 40px rgba(15,23,42,0.2);
}
.mission-card .section-subtitle{
  color:#93c5fd;
}
.mission-card p{
  color:rgba(255,255,255,0.82);
}
.light-card{
  background:#ffffff;
  color:var(--text);
  border:1px solid var(--line);
  box-shadow:var(--shadow);
}
.light-card .section-subtitle{
  color:var(--brand);
}
.light-card p{
  color:var(--muted);
}

/*---contact.php---*/
.contact-page{
  background:#ffffff;
}
.contact-grid{
  display:grid;
  gap:28px;
}
.contact-info p{
  color:var(--muted);
  margin-bottom:18px;
}
.contact-info-cards{
  display:grid;
  gap:16px;
}
.info-box{
  background:#ffffff;
  border:1px solid var(--line);
  border-radius:20px;
  padding:20px;
  box-shadow:var(--shadow);
}
.info-box h3{
  margin-bottom:8px;
  font-size:1.05rem;
}
.info-box p{
  margin:0;
  color:var(--muted);
}
.contact-form-wrap{
  background:#ffffff;
  border:1px solid var(--line);
  border-radius:24px;
  padding:24px 20px;
  box-shadow:var(--shadow);
}
.contact-form{
  display:grid;
  gap:16px;
}
.form-group{
  display:grid;
  gap:8px;
}
.form-group label{
  font-weight:700;
  color:var(--text);
}
.form-group input,
.form-group textarea{
  width:100%;
  border:1px solid var(--line);
  border-radius:14px;
  padding:14px 16px;
  background:#fff;
  color:var(--text);
  outline:none;
  transition:border-color 0.25s ease, box-shadow 0.25s ease;
}
.form-group input:focus,
.form-group textarea:focus{
  border-color:#93c5fd;
  box-shadow:0 0 0 4px rgba(147,197,253,0.2);
}
.form-group textarea{
  resize:vertical;
  min-height:140px;
}











/* ================= TABLET ================= */
@media (min-width: 768px){
 /* meniu desktop */
  .hamburger,
  .close-btn{ display: none !important; }
	.nav-menu{
    position: static;
    inset: auto;
    background: transparent;
    transform: none;
    transition: none;

    min-height: auto;
    padding: 0;

    flex-direction: row;
    gap: 18px;
    justify-content: flex-end;
    align-items: center;
  }
	 .nav-menu a{
    color: var(--brand);
    font-size: 16px;
    font-weight: 800;
    padding: 8px 10px;
    border-radius: 10px;
    position: relative;
  }
.nav-menu a.active{
    background: transparent;
    color: var(--brand-dark);
	   border: none;
  }
/* underline */
  .nav-menu a::after{
    content:"";
    position:absolute;
    left:0;
    bottom:-7px;
    width:0;
    height:2px;
    background: var(--brand);
    transition: width .25s ease;
    opacity: .9;
  }
.nav-menu a:hover::after,
  .nav-menu a.active::after{
    width: 100%;
  }
 .section{
    padding:80px 0;
  }
	 .section-title{
    font-size:2.3rem;
  }
.hero{
    padding:90px 0 80px;
  }
 .hero-content h1{
    font-size:3.2rem;
  }
 .hero-actions{
    flex-direction:row;
    flex-wrap:wrap;
  }
.services-grid,
  .benefits-grid,
  .quick-contact-grid{
    grid-template-columns:repeat(2, 1fr);
  }
.about-grid{
    grid-template-columns:1fr 1fr;
  }
	
	/*---servicii.html---*/
	 .page-hero{
    padding:90px 0 80px;
  }
  .page-hero-content h1{
    font-size:3rem;
  }
.details-grid{
    grid-template-columns:1.2fr 0.8fr;
    align-items:center;
  }
	
/*---despre.html---*/
	.about-page-grid{
    grid-template-columns:1fr 1fr;
  }
.mission-grid{
    grid-template-columns:1fr 1fr;
  }
	
	
	/*---contact.php---*/
	.contact-grid{
    grid-template-columns:1fr 1fr;
    align-items:start;
  }
.contact-form-wrap{
    padding:28px 24px;
  }

	
	
	
	
}










/* ================= DESKTOP ================= */
@media (min-width: 1024px){

  .container{
    width:min(1240px, calc(100% - 48px));
  }
.hero-grid{
    grid-template-columns:minmax(0, 1.15fr) minmax(320px, 0.85fr);
    align-items:center;
    gap:40px;
  }
 .hero-content h1{
    font-size:3.6rem;
  }
	.services-grid{
    grid-template-columns:repeat(4, 1fr);
  }

  .benefits-grid{
    grid-template-columns:repeat(3, 1fr);
  }

  .quick-contact-grid{
    grid-template-columns:repeat(3, 1fr);
  }
	
	.cta-box{
    padding:48px 36px;
  }
	
	
	/*---servicii.html---*/
	.page-hero-content h1{
    font-size:3.5rem;
  }
	
	
	.contact-grid{
    grid-template-columns:0.95fr 1.05fr;
    gap:32px;
  }
	
	
	
	
}












/* ================= ECRANE MARI ================= */
@media (min-width: 1280px){

  .hero-content h1{
    font-size:4rem;
  }
.section-title{
    font-size:2.5rem;
  }
	.contact-info-cards{
    grid-template-columns:repeat(2, 1fr);
  }
	
	
	
	
}







.form-success{
  margin-bottom:16px;
  padding:14px 16px;
  border-radius:14px;
  background:#dcfce7;
  color:#166534;
  font-weight:700;
}

.error-message{
  margin-bottom:16px;
  padding:14px 16px;
  border-radius:14px;
  background:#fee2e2;
  color:#991b1b;
  font-weight:700;
}

.honeypot{
  position:absolute;
  left:-9999px;
}































































































































































































































