.ecf-page { }

.ecf-hero { position: relative; }
.ecf-hero-inner { position:absolute; inset:0; display:flex; align-items:center; }
.ecf-hero-text { max-width:520px; margin-left:var(--space-5); display:flex; flex-direction:column; gap:var(--space-3); }
.ecf-hero-text p { max-width:55ch; }

.ecf-premise-inner { max-width:720px; margin-inline:auto; }

.ecf-feature-grid { display:grid; grid-template-columns: 1.2fr 1fr 0.8fr; gap:var(--space-4); }
.ecf-feature { display:flex; flex-direction:column; gap:var(--space-2); }
.feature-small { padding:var(--space-3); }
.ecf-feature p { max-width:55ch; }

.ecf-cat-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--space-4); }
.ecf-cat { border-top:var(--border-thin); padding-top:var(--space-2); max-width:55ch; }

.ecf-excerpt-inner { max-width:520px; margin-inline:auto; text-align:center; }
.ecf-excerpt blockquote { font-size:var(--fs-4); }

.ecf-process-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--space-3); }
.ecf-process-block { padding:var(--space-3); display:flex; flex-direction:column; gap:var(--space-2); }

.ecf-gallery-caption { text-align:center; margin-bottom:var(--space-2); }
.ecf-gallery-strip { display:flex; gap:var(--space-2); overflow-x:auto; }
.ecf-gallery-strip > * { min-width:200px; flex:0 0 auto; }

.ecf-bridge-inner { max-width:700px; }

.ecf-cta-inner { text-align:center; display:flex; flex-direction:column; gap:var(--space-3); align-items:center; }

@media (max-width:1024px){
.ecf-feature-grid { grid-template-columns:1fr; }
.ecf-process-grid { grid-template-columns:1fr; }
.ecf-cat-grid { grid-template-columns:1fr; }
.ecf-hero-text { margin-left:var(--space-3); }
}

@media (max-width:640px){
.ecf-hero-text { margin:var(--space-3); }
}
