From 44bbb800827dc672d8fa8a942acc6829a171e82f Mon Sep 17 00:00:00 2001 From: Jukka Lampikoski Date: Tue, 10 Mar 2026 01:33:13 +0200 Subject: [PATCH] Redesign services as 2x2 card grid with compact images Cards have small image at top, text + feature list + CTA below. Much more compact than full-width alternating rows. Co-Authored-By: Claude Opus 4.6 --- index.html | 142 +++++++++++++++++++++++++---------------------------- style.css | 112 +++++++++++++++--------------------------- 2 files changed, 106 insertions(+), 148 deletions(-) diff --git a/index.html b/index.html index f47c120..23712cc 100644 --- a/index.html +++ b/index.html @@ -55,92 +55,82 @@ -
+
Palvelut

Yhteydet joka tarpeeseen

Toimitamme valokuituyhteydet avaimet käteen ‑periaatteella koko Suomeen.

-
-
-
-
-
- Moderni toimisto -
-
- 01 -

Yritysliittymät

-

Luotettavat ja nopeat valokuituyhteydet kaikenkokoisille yrityksille. Kiinteä kaista ilman jaettua kapasiteettia — nopeus ei tipu ruuhka-aikaan.

-
    -
  • Nopeudet 1–100 Gbps
  • -
  • SLA-palvelutasotakuu
  • -
  • Kiinteä ja taattu kaista
  • -
  • Henkilökohtainen tuki
  • -
- Pyydä tarjous -
-
-
+
+
+
+ Moderni toimisto +
+
+

Yritysliittymät

+

Luotettavat ja nopeat valokuituyhteydet kaikenkokoisille yrityksille. Kiinteä kaista ilman jaettua kapasiteettia — nopeus ei tipu ruuhka-aikaan.

+
    +
  • Nopeudet 1–100 Gbps
  • +
  • SLA-palvelutasotakuu
  • +
  • Kiinteä ja taattu kaista
  • +
  • Henkilökohtainen tuki
  • +
+ Pyydä tarjous +
+
-
-
-
- Konesali -
-
- 02 -

Konesaliyhteydet

-

Yhteydet omiin laitetiloihin ja kolmansien osapuolien konesaleihin. Skaalautuvat tarpeen mukaan aina 100 gigabittiin asti.

-
    -
  • Jopa 100 Gbps
  • -
  • Varmennetut ja kahdennetut reitit
  • -
  • Cross-connect-toimitukset
  • -
  • Joustava skaalautuvuus
  • -
- Pyydä tarjous -
-
-
+
+
+ Konesali +
+
+

Konesaliyhteydet

+

Yhteydet omiin laitetiloihin ja kolmansien osapuolien konesaleihin. Skaalautuvat tarpeen mukaan aina 100 gigabittiin asti.

+
    +
  • Jopa 100 Gbps
  • +
  • Varmennetut reitit
  • +
  • Cross-connect
  • +
  • Joustava skaalautuvuus
  • +
+ Pyydä tarjous +
+
-
-
-
- Kerrostalo -
-
- 03 -

Kiinteistöliittymät

-

Kuituyhteydet taloyhtiöille — etätyö, suoratoisto ja pelaaminen sujuvat ilman katkoja. Asennamme yhteydet avaimet käteen ‑periaatteella.

-
    -
  • Symmetrinen nopeus
  • -
  • Koko kiinteistölle kerralla
  • -
  • Avaimet käteen ‑asennus
  • -
  • Kilpailukykyinen hinnoittelu
  • -
- Tarkista saatavuus -
-
-
+
+
+ Kerrostalo +
+
+

Kiinteistöliittymät

+

Kuituyhteydet taloyhtiöille — etätyö, suoratoisto ja pelaaminen sujuvat ilman katkoja. Asennamme yhteydet avaimet käteen ‑periaatteella.

+
    +
  • Symmetrinen nopeus
  • +
  • Koko kiinteistölle
  • +
  • Avaimet käteen
  • +
  • Kilpailukykyinen hinta
  • +
+ Tarkista saatavuus +
+
-
-
-
- Verkko -
-
- 04 -

IP-transit

-

Suora Internet-yhteys omalla AS-numerolla tai jaetulla reitityksellä. BGP-peering ja monipuoliset reititysratkaisut kaikenkokoisille operaattoreille.

-
    -
  • BGP-peering
  • -
  • Oma tai jaettu AS-numero
  • -
  • Monipuoliset reititysvaihtoehdot
  • -
  • Räätälöity kapasiteetti
  • -
- Pyydä tarjous +
+
+ Verkko +
+
+

IP-transit

+

Suora Internet-yhteys omalla AS-numerolla tai jaetulla reitityksellä. BGP-peering ja monipuoliset reititysratkaisut.

+
    +
  • BGP-peering
  • +
  • Oma tai jaettu AS
  • +
  • Monipuolinen reititys
  • +
  • Räätälöity kapasiteetti
  • +
+ Pyydä tarjous +
+
diff --git a/style.css b/style.css index ab36c9e..09c2acc 100644 --- a/style.css +++ b/style.css @@ -336,41 +336,37 @@ img { margin-bottom: 28px; } -/* ---- Services Intro ---- */ -.services-intro { - padding: 100px 0 40px; +/* ---- Services ---- */ +.services { + padding: 100px 0; background: var(--bg-alt); } -/* ---- Service Rows ---- */ -.service-row { - padding: 0; - background: var(--bg); -} - -.service-row:nth-child(even) { - background: var(--bg-alt); -} - -.service-row-inner { +.services-grid { display: grid; grid-template-columns: 1fr 1fr; - min-height: 500px; + gap: 24px; } -.service-row-reverse .service-row-inner { - direction: rtl; +.service-card { + background: var(--bg); + border: 1px solid var(--border); + border-radius: var(--radius-lg); + overflow: hidden; + transition: box-shadow 0.3s, transform 0.2s; } -.service-row-reverse .service-row-inner > * { - direction: ltr; +.service-card:hover { + box-shadow: 0 12px 40px rgba(0,0,0,0.08); + transform: translateY(-3px); } -.service-row-image { +.service-card-img { + height: 180px; overflow: hidden; } -.service-row-image img { +.service-card-img img { width: 100%; height: 100%; object-fit: cover; @@ -378,62 +374,51 @@ img { transition: transform 0.5s ease; } -.service-row:hover .service-row-image img { - transform: scale(1.03); +.service-card:hover .service-card-img img { + transform: scale(1.05); } -.service-row-content { - display: flex; - flex-direction: column; - justify-content: center; - padding: 64px 80px; +.service-card-body { + padding: 28px 28px 32px; } -.service-row-number { - font-size: 0.85rem; - font-weight: 700; - color: var(--orange); - letter-spacing: 0.05em; - margin-bottom: 12px; -} - -.service-row-content h2 { - font-size: 2rem; +.service-card-body h3 { + font-size: 1.3rem; font-weight: 700; color: var(--dark); - margin-bottom: 16px; + margin-bottom: 10px; } -.service-row-content p { - font-size: 1.05rem; +.service-card-body p { + font-size: 0.92rem; color: var(--text-light); - line-height: 1.7; - margin-bottom: 24px; + line-height: 1.65; + margin-bottom: 18px; } -.service-row-features { +.service-card-features { list-style: none; padding: 0; - margin: 0 0 32px; + margin: 0 0 24px; display: grid; grid-template-columns: 1fr 1fr; - gap: 10px; + gap: 8px; } -.service-row-features li { - font-size: 0.92rem; +.service-card-features li { + font-size: 0.82rem; color: var(--text); - padding-left: 24px; + padding-left: 20px; position: relative; } -.service-row-features li::before { +.service-card-features li::before { content: ''; position: absolute; left: 0; - top: 6px; - width: 14px; - height: 14px; + top: 5px; + width: 12px; + height: 12px; background: var(--orange-light); border-radius: 50%; border: 2px solid var(--orange); @@ -683,28 +668,11 @@ img { gap: 24px; } - .service-row-inner { + .services-grid { grid-template-columns: 1fr; - min-height: auto; } - .service-row-reverse .service-row-inner { - direction: ltr; - } - - .service-row-image { - height: 280px; - } - - .service-row-content { - padding: 40px 24px; - } - - .service-row-content h2 { - font-size: 1.6rem; - } - - .service-row-features { + .service-card-features { grid-template-columns: 1fr; }