.ef-page {}

.ef-hero-grid {
  display: grid;
  grid-template-columns: 0.4fr 0.6fr;
  gap: var(--space-4);
  align-items: center;
}
.ef-hero-text {max-width: 42ch; display:flex; flex-direction:column; gap:var(--space-2);} 
.ef-hero-image img {width:100%; height:auto; object-fit:cover;}

.ef-cards-grid {
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: var(--space-3);
}
.ef-card {display:flex; flex-direction:column; gap:var(--space-2); min-width:0;}

.ef-values {text-align:center;}
.ef-values-grid {
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: var(--space-3);
}
.ef-value {max-width:55ch; margin-inline:auto; display:flex; flex-direction:column; gap:var(--space-2);} 

.ef-steps-grid {
  display:grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: var(--space-3);
}
.ef-step {display:flex; flex-direction:column; gap:var(--space-2); min-width:0;}

.ef-atmosphere-grid {
  display:grid;
  grid-template-columns: 0.6fr 0.4fr;
  gap: var(--space-4);
  align-items:center;
}
.ef-atmosphere-text {max-width:55ch; display:flex; flex-direction:column; gap:var(--space-2);} 

.ef-elements-grid {
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: var(--space-3);
}

.ef-target {text-align:center;}
.ef-target-grid {
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: var(--space-3);
}

.ef-cta {background: var(--color-gradient-secondary); color: var(--color-text-on-gradient);} 
.ef-cta-box {text-align:center; max-width:60ch; margin-inline:auto; display:flex; flex-direction:column; gap:var(--space-2);} 

.ef-faq {display:flex; flex-direction:column; gap:var(--space-2);} 
.ef-faq-item {border:1px solid var(--color-border); border-radius:var(--radius-md); overflow:hidden;}
.ef-faq-question {width:100%; text-align:left; padding:var(--space-2); font-weight:500;}
.ef-faq-answer {display:none; padding:var(--space-2);} 
.ef-faq-item.active .ef-faq-answer {display:block;}

@media (max-width: 900px) {
  .ef-hero-grid {grid-template-columns:1fr;}
  .ef-atmosphere-grid {grid-template-columns:1fr;}
  .ef-steps-grid {grid-template-columns: repeat(2, minmax(0,1fr));}
}

@media (max-width: 700px) {
  .ef-cards-grid,
  .ef-values-grid,
  .ef-steps-grid,
  .ef-elements-grid,
  .ef-target-grid {grid-template-columns:1fr;}
  .ef-hero-text, .ef-atmosphere-text, .ef-cta-box {text-align:center; margin-inline:auto;}
}
