Add pricing cards to hero section (two-column layout)

- Hero now has two-column grid: content left, pricing right
- Compact price cards show 1U/2U/4U prices immediately on page load
- Responsive: stacks to single column on mobile/tablet
- Featured "Suosituin" badge on 2U card

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-09 15:24:32 +02:00
parent 67fa9ba099
commit 74f28c932c
2 changed files with 149 additions and 18 deletions

View File

@@ -40,6 +40,7 @@
<!-- Hero --> <!-- Hero -->
<section class="hero"> <section class="hero">
<div class="container"> <div class="container">
<div class="hero-grid">
<div class="hero-content"> <div class="hero-content">
<h1>Luotettavat konesalipalvelut <span class="highlight">Turussa</span></h1> <h1>Luotettavat konesalipalvelut <span class="highlight">Turussa</span></h1>
<p class="hero-subtitle">Colocation-laitepaikkoja ammattimaisessa laitetilassa. Redundantti sähkönsyöttö, nopeat tietoliikenneyhteydet ja henkilökohtainen palvelu.</p> <p class="hero-subtitle">Colocation-laitepaikkoja ammattimaisessa laitetilassa. Redundantti sähkönsyöttö, nopeat tietoliikenneyhteydet ja henkilökohtainen palvelu.</p>
@@ -62,6 +63,27 @@
</div> </div>
</div> </div>
</div> </div>
<div class="hero-pricing">
<div class="hero-pricing-label">Hinnat alkaen</div>
<div class="hero-price-cards">
<a href="#hinnat" class="hero-price-card">
<span class="hero-price-name">1U</span>
<span class="hero-price-value">&euro;49<small>/kk</small></span>
</a>
<a href="#hinnat" class="hero-price-card hero-price-card-featured">
<span class="hero-price-badge">Suosituin</span>
<span class="hero-price-name">2U</span>
<span class="hero-price-value">&euro;79<small>/kk</small></span>
</a>
<a href="#hinnat" class="hero-price-card">
<span class="hero-price-name">4U</span>
<span class="hero-price-value">&euro;139<small>/kk</small></span>
</a>
</div>
<p class="hero-pricing-note">1 Gbit/s yhteys &amp; rajoittamaton liikenne sisältyy</p>
<a href="#yhteystiedot" class="btn btn-primary hero-pricing-cta">Pyydä tarjous</a>
</div>
</div>
</div> </div>
</section> </section>

109
style.css
View File

@@ -179,6 +179,14 @@ a:hover {
pointer-events: none; pointer-events: none;
} }
.hero-grid {
display: grid;
grid-template-columns: 1fr 340px;
gap: 60px;
align-items: center;
position: relative;
}
.hero-content { .hero-content {
position: relative; position: relative;
max-width: 720px; max-width: 720px;
@@ -233,6 +241,98 @@ a:hover {
margin-top: 4px; margin-top: 4px;
} }
/* === Hero Pricing === */
.hero-pricing {
background: var(--color-bg-card);
border: 1px solid var(--color-border);
border-radius: var(--radius);
padding: 32px 28px;
text-align: center;
}
.hero-pricing-label {
font-size: 0.85rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.1em;
color: var(--color-accent);
margin-bottom: 20px;
}
.hero-price-cards {
display: flex;
flex-direction: column;
gap: 10px;
margin-bottom: 20px;
}
.hero-price-card {
display: flex;
align-items: center;
justify-content: space-between;
padding: 14px 18px;
background: var(--color-surface);
border: 1px solid var(--color-border);
border-radius: var(--radius-sm);
text-decoration: none;
transition: all var(--transition);
position: relative;
}
.hero-price-card:hover {
border-color: var(--color-primary);
background: var(--color-bg-light);
transform: translateX(4px);
}
.hero-price-card-featured {
border-color: var(--color-primary);
background: rgba(26, 115, 232, 0.1);
}
.hero-price-badge {
position: absolute;
top: -8px;
right: 12px;
background: var(--color-primary);
color: var(--color-white);
font-size: 0.65rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.05em;
padding: 2px 8px;
border-radius: 4px;
}
.hero-price-name {
font-size: 1rem;
font-weight: 600;
color: var(--color-text);
}
.hero-price-value {
font-size: 1.5rem;
font-weight: 800;
color: var(--color-white);
}
.hero-price-value small {
font-size: 0.8rem;
font-weight: 500;
color: var(--color-text-muted);
}
.hero-pricing-note {
font-size: 0.8rem;
color: var(--color-text-muted);
margin-bottom: 20px;
line-height: 1.4;
}
.hero-pricing-cta {
width: 100%;
}
/* === Buttons === */ /* === Buttons === */
.btn { .btn {
display: inline-flex; display: inline-flex;
@@ -1075,6 +1175,15 @@ a:hover {
/* === Responsive === */ /* === Responsive === */
@media (max-width: 1024px) { @media (max-width: 1024px) {
.hero-grid {
grid-template-columns: 1fr;
gap: 40px;
}
.hero-pricing {
max-width: 400px;
}
.services-grid, .services-grid,
.pricing-grid, .pricing-grid,
.features-grid { .features-grid {