<div class="bento-container">
<div class="bento-header">
<h2>My Portfolio</h2>
<p>A beautiful grid layout perfect for designers.</p>
</div>
<div class="bento-grid">
<div class="bento-card span-2 highlight-card">
<h3>Frontend Development</h3>
<p>Building beautiful, fast, and accessible user interfaces.</p>
</div>
<div class="bento-card regular-card">
<div class="card-icon">
<svg viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="#3b82f6" stroke-width="2"><path d="M12 2L2 7l10 5 10-5-10-5zM2 17l10 5 10-5M2 12l10 5 10-5"></path></svg>
</div>
<h4>UI Design</h4>
</div>
<div class="bento-card regular-card">
<div class="card-icon">
<svg viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="#ec4899" stroke-width="2"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="16" x2="12" y2="12"></line><line x1="12" y1="8" x2="12.01" y2="8"></line></svg>
</div>
<h4>Consulting</h4>
</div>
<div class="bento-card span-row dark-card">
<h3>Mobile Apps</h3>
<p>Creating seamless experiences for iOS and Android.</p>
</div>
</div>
</div>*, *::before, *::after {
box-sizing: border-box;
}
body {
font-family: system-ui, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
background: #f8fafc;
display: flex;
justify-content: center;
align-items: center;
min-height: 100vh;
margin: 0;
padding: 40px 20px;
}
.bento-container {
width: 100%;
max-width: 800px;
}
.bento-header {
margin-bottom: 30px;
}
.bento-header h2 {
font-size: 2.5rem;
color: #0f172a;
margin: 0 0 10px 0;
}
.bento-header p {
color: #64748b;
font-size: 1.125rem;
margin: 0;
}
.bento-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
grid-auto-rows: 180px;
gap: 20px;
}
.bento-card {
border-radius: 24px;
padding: 30px;
display: flex;
flex-direction: column;
justify-content: flex-end;
box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.05);
transition: transform 0.2s, box-shadow 0.2s;
}
.bento-card:hover {
transform: translateY(-4px);
box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
}
.span-2 {
grid-column: span 2;
}
.span-row {
grid-row: span 2;
}
.highlight-card {
background: linear-gradient(135deg, #eff6ff, #dbeafe);
border: 1px solid #bfdbfe;
}
.highlight-card h3 { color: #1e3a8a; margin: 0 0 8px 0; font-size: 1.5rem; }
.highlight-card p { color: #3b82f6; margin: 0; font-weight: 500; }
.regular-card {
background: #ffffff;
border: 1px solid #e2e8f0;
justify-content: center;
align-items: center;
text-align: center;
}
.card-icon {
background: #f1f5f9;
width: 56px;
height: 56px;
border-radius: 50%;
display: flex;
justify-content: center;
align-items: center;
margin-bottom: 16px;
}
.regular-card h4 { color: #0f172a; margin: 0; font-size: 1.125rem; }
.dark-card {
background: #0f172a;
color: #ffffff;
}
.dark-card h3 { margin: 0 0 8px 0; font-size: 1.5rem; }
.dark-card p { color: #94a3b8; margin: 0; }
/* Responsive adjustments */
@media (max-width: 600px) {
.span-2 { grid-column: span 1; }
.bento-grid { grid-auto-rows: 200px; }
}Nothing to show yetType HTML, CSS or JavaScript and your page appears here.
Click any element to find its code Esc
Check this code before you run it
It came from a shared link. It runs with fewer permissions, so it cannot open pop-ups, submit forms or start downloads.
0.00s / 0.00s
Nothing has animated yet. Hover, click or type in the preview and each CSS animation, transition or
element.animate() call shows up here as it plays.