/* ── HOME-SPECIFIC ── */
#hero {
  min-height: 100vh;
  display: grid; grid-template-columns: 1fr 1fr;
  padding-top: 80px;
}
.hero-text {
  display: flex; flex-direction: column; justify-content: center;
  padding: 5% 5% 5% 8%;
}
.hero-eyebrow {
  font-size: 0.72rem; font-weight: 500; letter-spacing: 0.2em;
  text-transform: uppercase; color: var(--verde);
  margin-bottom: 1.5rem; display: flex; align-items: center; gap: 0.8rem;
}
.hero-eyebrow::before { content:''; display:block; width:32px; height:1px; background:var(--verde); }
.hero-sub { font-size: 1rem; color: var(--muted); max-width: 400px; line-height: 1.8; margin-bottom: 2.5rem; }
.hero-actions { display: flex; align-items: center; gap: 1.5rem; flex-wrap: wrap; }
.hero-stats { display:flex; gap:2.5rem; margin-top:3.5rem; padding-top:2rem; border-top:1px solid var(--border); flex-wrap:wrap; }
.stat-num { font-family:'Cormorant Garamond',serif; font-size:2.2rem; font-weight:300; color:var(--ink); line-height:1; }
.stat-label { font-size:0.76rem; color:var(--muted); margin-top:0.2rem; letter-spacing:0.04em; }
.hero-visual {
  position:relative; overflow:hidden;
  background: linear-gradient(145deg, #d4e8d4 0%, #a8c8a8 100%);
  min-height: 500px;
}
.hero-visual::before {
  content:''; position:absolute; inset:0; opacity:0.08;
  background-image: url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%232D6A2D' fill-opacity='1'%3E%3Cpath d='M20 20.5V18H0v5h5v5H0v5h20v-2.5h-5V25h5v-2.5h-5V20.5h5zM15 25v2.5h-5V25h5zm0-5v2.5h-5V20h5v.5z'/%3E%3C/g%3E%3C/svg%3E");
}
.hero-img-wrap {
  position:absolute; inset:5%; border-radius:1rem; overflow:hidden;
  background: #c8dcc8;
  display:flex; align-items:center; justify-content:center;
}
.hero-img-wrap img { width:100%; height:100%; object-fit:cover; display:block; }
.img-placeholder {
  text-align:center; padding:2rem;
  font-family:'Cormorant Garamond',serif;
  font-size:0.95rem; font-style:italic;
  color:#3a5c3a; opacity:0.5;
  line-height:1.6;
}
.floating-badge {
  position:absolute; bottom:13%; left:-4%;
  background:#fff; border-radius:0.85rem;
  padding:1rem 1.4rem; box-shadow:0 8px 32px rgba(0,0,0,0.12);
  animation: floatBadge 4s ease-in-out infinite; min-width:170px;
}
.fb-label { font-size:0.68rem; color:var(--muted); letter-spacing:0.08em; text-transform:uppercase; }
.fb-val { font-family:'Cormorant Garamond',serif; font-size:1.3rem; color:var(--ink); margin-top:0.15rem; }
@keyframes floatBadge { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-7px)} }

/* ── SERVICES ── */
#servicii { background: #fff; }
.services-grid {
  display:grid; grid-template-columns:repeat(auto-fit, minmax(250px, 1fr));
  border:1px solid var(--border); border-radius:1rem; overflow:hidden; gap:1px; background:var(--border);
}
.service-card { background:#fff; padding:2.5rem; transition:background 0.25s; cursor:default; }
.service-card:hover { background:var(--verde-light); }
.service-icon {
  width:48px; height:48px; background:var(--verde-light); border-radius:0.75rem;
  display:flex; align-items:center; justify-content:center; margin-bottom:1.5rem;
  transition:background 0.25s;
}
.service-card:hover .service-icon { background:var(--verde); }
.service-card:hover .service-icon svg path,
.service-card:hover .service-icon svg circle { stroke:#fff; }
.service-card p { font-size:0.88rem; color:var(--muted); line-height:1.75; }

/* ── ABOUT ── */
#despre { background:var(--cream); }
.about-grid { display:grid; grid-template-columns:1fr 1.1fr; gap:5rem; align-items:center; }
.about-visual { position:relative; height:520px; }
.about-img { position:absolute; border-radius:1rem; overflow:hidden; }
.about-img-main { width:70%; height:72%; top:0; right:0; background:linear-gradient(150deg,#a8c8a8,#2D6A2D); display:flex; align-items:center; justify-content:center; }
.about-img-accent { width:54%; height:52%; bottom:0; left:0; background:var(--ink); display:flex; align-items:center; justify-content:center; }
.about-img img { width:100%; height:100%; object-fit:cover; display:block; }
.about-img p { font-family:'Cormorant Garamond',serif; font-size:0.9rem; font-style:italic; color:rgba(255,255,255,0.35); text-align:center; padding:1rem; }
.years-badge {
  position:absolute; top:42%; left:27%;
  background:var(--gold); color:#fff; width:88px; height:88px;
  border-radius:50%; display:flex; flex-direction:column; align-items:center; justify-content:center;
  z-index:2; box-shadow:0 4px 20px rgba(0,0,0,0.18);
}
.years-badge .num { font-family:'Cormorant Garamond',serif; font-size:2rem; font-weight:300; line-height:1; }
.years-badge .lbl { font-size:0.58rem; letter-spacing:0.12em; text-transform:uppercase; opacity:0.85; }
.about-text p { color:var(--muted); line-height:1.85; margin-bottom:1.2rem; font-size:0.95rem; }
.about-list { list-style:none; margin:1.5rem 0 2rem; }
.about-list li {
  display:flex; align-items:center; gap:0.75rem;
  font-size:0.9rem; color:var(--ink);
  padding:0.5rem 0; border-bottom:1px solid var(--border);
}
.about-list li::before { content:''; display:block; width:6px; height:6px; border-radius:50%; background:var(--verde); flex-shrink:0; }

/* ── VIDEO ── */
#video-section { background:var(--ink); padding:5rem 8%; }
.video-inner { max-width:900px; margin:0 auto; text-align:center; }
#video-section .section-tag { color:var(--gold); text-align:center; }
#video-section h2 { color:#fff; text-align:center; margin-bottom:0.75rem; }
#video-section .section-sub { color:rgba(255,255,255,0.4); text-align:center; margin:0 auto 2.5rem; }
.video-wrapper {
  position:relative; border-radius:1rem; overflow:hidden;
  background:#000; padding-bottom:56.25%; height:0;
  box-shadow:0 30px 80px rgba(0,0,0,0.5);
}
.video-wrapper iframe {
  position:absolute; top:0; left:0; width:100%; height:100%;
  border:none;
}
.video-placeholder {
  position:absolute; inset:0; background:linear-gradient(135deg,#1a2e1a,#2D6A2D22);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1.25rem;
  cursor:pointer;
}
.play-btn {
  width:72px; height:72px; border-radius:50%;
  background:rgba(255,255,255,0.15); backdrop-filter:blur(8px);
  border:2px solid rgba(255,255,255,0.3);
  display:flex; align-items:center; justify-content:center;
  transition:transform 0.2s, background 0.2s;
}
.play-btn:hover { transform:scale(1.1); background:rgba(255,255,255,0.25); }
.video-placeholder p { color:rgba(255,255,255,0.6); font-size:0.88rem; letter-spacing:0.08em; text-transform:uppercase; }

/* ── PROCESS ── */
#proces { background:var(--cream); }
.process-steps {
  display:grid; grid-template-columns:repeat(4,1fr); gap:2rem;
  position:relative;
}
.process-steps::before {
  content:''; position:absolute; top:27px; left:12.5%; right:12.5%;
  height:1px; background:var(--border); z-index:0;
}
.process-step { text-align:center; position:relative; z-index:1; }
.step-num {
  width:54px; height:54px; border-radius:50%;
  background:#fff; border:1px solid var(--border);
  display:flex; align-items:center; justify-content:center;
  margin:0 auto 1.25rem;
  font-family:'Cormorant Garamond',serif; font-size:1.2rem; color:var(--verde);
  transition:background 0.2s, border-color 0.2s, color 0.2s;
}
.process-step:hover .step-num { background:var(--verde); border-color:var(--verde); color:#fff; }
.process-step h4 { font-family:'Cormorant Garamond',serif; font-size:1.1rem; font-weight:400; color:var(--ink); margin-bottom:0.5rem; }
.process-step p { font-size:0.84rem; color:var(--muted); line-height:1.65; }

/* ── TESTIMONIALS ── */
#testimoniale { background:#fff; }
.testimonials-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.testimonial-card { background:var(--cream); border-radius:1rem; padding:2rem; transition:transform 0.2s; }
.testimonial-card:hover { transform:translateY(-3px); }
.stars { color:var(--gold); font-size:0.85rem; letter-spacing:0.1em; margin-bottom:1rem; }
.testimonial-card blockquote { font-family:'Cormorant Garamond',serif; font-size:1.1rem; font-style:italic; color:var(--ink); line-height:1.65; margin-bottom:1.25rem; }
.t-author { display:flex; align-items:center; gap:0.75rem; }
.t-avatar { width:38px; height:38px; border-radius:50%; background:var(--verde-light); display:flex; align-items:center; justify-content:center; font-size:0.8rem; font-weight:500; color:var(--verde); }
.t-name { font-size:0.88rem; font-weight:500; color:var(--ink); }
.t-event { font-size:0.76rem; color:var(--muted); }

/* ── GALLERY PREVIEW ── */
#gallery-preview { background:var(--cream); }
.gallery-preview-grid {
  display:grid; grid-template-columns:repeat(3,1fr);
  grid-template-rows:auto auto; gap:12px;
}
.gp-item {
  border-radius:0.75rem; overflow:hidden; aspect-ratio:4/3;
  cursor:pointer; transition:transform 0.3s, box-shadow 0.3s;
  position:relative;
  display:flex; align-items:center; justify-content:center;
}
.gp-item img { width:100%; height:100%; object-fit:cover; display:block; position:absolute; inset:0; }
.gp-item:first-child { grid-column:span 2; aspect-ratio:auto; min-height:280px; }
.gp-item:hover { transform:scale(1.02); box-shadow:0 12px 40px rgba(0,0,0,0.15); }
.gp-overlay {
  position:absolute; inset:0; background:rgba(0,0,0,0.3);
  display:flex; align-items:center; justify-content:center;
  opacity:0; transition:opacity 0.25s; z-index:2;
}
.gp-item:hover .gp-overlay { opacity:1; }
.gp-overlay span { color:#fff; font-size:0.78rem; letter-spacing:0.12em; text-transform:uppercase; }
.gp-label { position:absolute; bottom:0.75rem; left:0.75rem; z-index:3; background:rgba(0,0,0,0.4); color:rgba(255,255,255,0.8); font-size:0.72rem; padding:0.2rem 0.65rem; border-radius:1rem; letter-spacing:0.06em; }
.gallery-placeholder-text { font-family:'Cormorant Garamond',serif; font-size:1rem; font-style:italic; color:rgba(255,255,255,0.35); text-align:center; padding:1rem; position:relative; z-index:1; }
.gallery-cta-row { text-align:center; margin-top:2.5rem; }

/* ── CONTACT ── */
#contact { background:var(--verde-light); }
.contact-grid { display:grid; grid-template-columns:1fr 1.2fr; gap:5rem; align-items:start; }
.contact-info p { color:var(--muted); font-size:0.95rem; line-height:1.8; margin-bottom:2rem; }
.contact-detail { display:flex; align-items:center; gap:0.8rem; margin-bottom:1rem; }
.contact-detail span { font-size:0.9rem; color:var(--muted); }
.contact-form { background:#fff; border-radius:1rem; padding:2.5rem; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.form-group { margin-bottom:1.25rem; }
.form-group label { display:block; font-size:0.75rem; font-weight:500; letter-spacing:0.08em; text-transform:uppercase; color:var(--muted); margin-bottom:0.4rem; }
.form-group input, .form-group select, .form-group textarea {
  width:100%; padding:0.75rem 1rem;
  border:1px solid var(--border); border-radius:0.5rem;
  font-family:'DM Sans',sans-serif; font-size:0.9rem;
  color:var(--ink); background:var(--cream);
  transition:border-color 0.2s; outline:none; appearance:none;
}
.form-group input:focus, .form-group select:focus, .form-group textarea:focus { border-color:var(--verde); background:#fff; }
.form-group textarea { resize:vertical; min-height:100px; }
.btn-submit { width:100%; background:var(--verde); color:#fff; border:none; border-radius:2rem; padding:0.95rem; font-family:'DM Sans',sans-serif; font-size:0.9rem; font-weight:500; cursor:pointer; transition:background 0.2s, transform 0.15s; }
.btn-submit:hover { background:var(--verde-dark); transform:translateY(-1px); }
.form-notice { display:none; padding:0.75rem 1rem; border-radius:0.5rem; font-size:0.87rem; margin-top:0.75rem; text-align:center; }
.form-notice.success { background:var(--verde-light); color:var(--verde-dark); display:block; }
.form-notice.error   { background:#fde8e8; color:#a33; display:block; }

/* ── RESPONSIVE (HOME) ── */
@media (max-width: 960px) {
  #hero { grid-template-columns:1fr; }
  .hero-visual { min-height:320px; }
  .about-grid { grid-template-columns:1fr; }
  .about-visual { height:300px; }
  .testimonials-grid { grid-template-columns:1fr; }
  .process-steps { grid-template-columns:1fr 1fr; }
  .process-steps::before { display:none; }
  .gallery-preview-grid { grid-template-columns:1fr 1fr; }
  .gp-item:first-child { grid-column:span 2; }
  .contact-grid { grid-template-columns:1fr; }
  .hero-text { padding:3rem 5%; }
  .form-row { grid-template-columns:1fr; }
}
@media (max-width: 600px) {
  .gallery-preview-grid { grid-template-columns:1fr; }
  .gp-item:first-child { grid-column:span 1; }
  .process-steps { grid-template-columns:1fr; }
}
