Responsive Split Hero (image + text)
HTML + CSS
A clean hero with image left, text right. Stacks on mobile. Includes soft shadow + divider.
/* ===== CSS ===== */
.hero-split{
background: linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
border-bottom:1px solid #e9ecef;
box-shadow:0 12px 22px -18px rgba(0,0,0,.35);
margin-bottom:1rem;
}
.hero-split .wrap{
display:grid; grid-template-columns:1.1fr 1fr;
gap:24px; align-items:center; padding:18px 0;
}
@media (max-width: 992px){ .hero-split .wrap{ grid-template-columns:1fr; } }
.hero-split .media{
border-radius:12px; overflow:hidden; background:#f6f8fb;
aspect-ratio: var(--hero-ratio, 7/4);
}
.hero-split .media img{
display:block; width:100%; height:100%; object-fit:cover; max-width:700px;
}
.hero-split .eyebrow{
font-size:.85rem; letter-spacing:.04em; text-transform:uppercase;
color:#1e90ff; font-weight:700; margin-bottom:.25rem;
}
.hero-split .title{ margin:0 0 .25rem 0; }
.hero-split .lead{ margin:0 0 .75rem 0; color:#333; }
.hero-split .btn-row{ display:flex; gap:.5rem; flex-wrap:wrap; }
/* ===== HTML ===== */
<section class="hero-split" aria-label="Page hero">
<div class="container">
<div class="wrap">
<div class="media" style="--hero-ratio:7/4;">
<img src="images/hero-sample-700.webp"
width="700" height="400"
alt="Describe the hero image">
</div>
<div class="text">
<div class="eyebrow">Delpha Cart Blog • Guides</div>
<h1 class="title">A Great Hero Title</h1>
<p class="lead">Short pitch about what visitors will get in this page or article.</p>
<div class="btn-row">
<a href="#" class="cta-btn">Primary Action</a>
<a href="#" class="btn btn-outline-secondary">Secondary</a>
</div>
</div>
</div>
</div>
</section>