polish: tighten spacing + visual refinements across all sections
All checks were successful
Build & Push / build-and-push (push) Successful in 1m23s

- Reduced py-24 → py-20 on Services, Configurator, Process, Works, Philosophy
- TrustBar: py-16 → py-12, gradient bridge adjusted
- Services: pillar divider opacity increased (outline/20), header gap tightened
- Configurator: added subtle dividers between service cards
- SelectedWorks: darkened coming-soon text and border opacity
- Philosophy: confirmed 2px primary border on pillars

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-25 21:55:23 +01:00
parent d033927896
commit 9e4afd215b
7 changed files with 14 additions and 14 deletions

View File

@@ -262,7 +262,7 @@ export default function StepServices({ formData, setFormData, onNext }: StepProp
</div> </div>
{/* Service cards */} {/* Service cards */}
<div className="flex flex-col gap-3"> <div className="flex flex-col gap-0 divide-y divide-outline-variant/10">
{SERVICES.map((option) => ( {SERVICES.map((option) => (
<ServiceCard <ServiceCard
key={option.id} key={option.id}

View File

@@ -36,7 +36,7 @@ export default function Configurator() {
]; ];
return ( return (
<section id="configure" className="bg-surface-low py-24"> <section id="configure" className="bg-surface-low py-20">
<div className="container mx-auto px-6"> <div className="container mx-auto px-6">
<div className="grid grid-cols-1 gap-12 lg:grid-cols-12"> <div className="grid grid-cols-1 gap-12 lg:grid-cols-12">

View File

@@ -315,7 +315,7 @@ export default function Philosophy() {
const t = useTranslations(); const t = useTranslations();
return ( return (
<section id="about" className="bg-surface py-24"> <section id="about" className="bg-surface py-20">
<div className="container mx-auto px-6"> <div className="container mx-auto px-6">
<div className="grid grid-cols-1 lg:grid-cols-12 gap-12 lg:gap-16 items-start"> <div className="grid grid-cols-1 lg:grid-cols-12 gap-12 lg:gap-16 items-start">

View File

@@ -105,7 +105,7 @@ export default function Process() {
const t = useTranslations(); const t = useTranslations();
return ( return (
<section id="process" className="bg-surface-low py-24"> <section id="process" className="bg-surface-low py-20">
<div className="container mx-auto px-6"> <div className="container mx-auto px-6">
{/* {/*

View File

@@ -514,7 +514,7 @@ function ComingSoonCard({ item }: { item: ComingSoonItem }) {
className={cn( className={cn(
'relative flex flex-col items-center justify-center gap-4', 'relative flex flex-col items-center justify-center gap-4',
'rounded-xl p-8 min-h-[160px]', 'rounded-xl p-8 min-h-[160px]',
'border border-dashed border-outline-variant/30', 'border border-dashed border-outline-variant/50',
'coming-soon-card', 'coming-soon-card',
'overflow-hidden', 'overflow-hidden',
)} )}
@@ -528,14 +528,14 @@ function ComingSoonCard({ item }: { item: ComingSoonItem }) {
<div className="relative z-10 flex flex-col items-center gap-3 text-center"> <div className="relative z-10 flex flex-col items-center gap-3 text-center">
<Icon <Icon
size={20} size={20}
className="text-outline/40" className="text-outline/60"
strokeWidth={1.5} strokeWidth={1.5}
/> />
<div> <div>
<p className="font-serif text-base font-medium text-on-surface/40 leading-snug"> <p className="font-serif text-base font-medium text-on-surface/60 leading-snug">
{item.title} {item.title}
</p> </p>
<p className="label-md text-outline/50 mt-1">{item.subtitle}</p> <p className="label-md text-outline/70 mt-1">{item.subtitle}</p>
</div> </div>
</div> </div>
</motion.div> </motion.div>
@@ -551,7 +551,7 @@ export default function SelectedWorks() {
const secondaryProjects = PROJECTS.filter((p) => !p.featured); const secondaryProjects = PROJECTS.filter((p) => !p.featured);
return ( return (
<section id="work" className="bg-surface-low py-24"> <section id="work" className="bg-surface-low py-20">
<style>{` <style>{`
@keyframes dashed-drift { @keyframes dashed-drift {
0% { background-position: 0 0, 100% 0, 100% 100%, 0 100%; } 0% { background-position: 0 0, 100% 0, 100% 100%, 0 100%; }

View File

@@ -46,7 +46,7 @@ export default function ServicesOverview() {
return ( return (
<section <section
id="services" id="services"
className="relative bg-surface py-24" className="relative bg-surface py-20"
style={{ style={{
backgroundImage: [ backgroundImage: [
'repeating-linear-gradient(0deg, rgba(25,28,29,0.02) 0px, rgba(25,28,29,0.02) 1px, transparent 1px, transparent 48px)', 'repeating-linear-gradient(0deg, rgba(25,28,29,0.02) 0px, rgba(25,28,29,0.02) 1px, transparent 1px, transparent 48px)',
@@ -57,7 +57,7 @@ export default function ServicesOverview() {
<div className="container mx-auto px-6"> <div className="container mx-auto px-6">
{/* Section header */} {/* Section header */}
<div className="mb-16"> <div className="mb-12">
<SectionHeader <SectionHeader
eyebrow={t('services.eyebrow')} eyebrow={t('services.eyebrow')}
title={t('services.title')} title={t('services.title')}
@@ -66,7 +66,7 @@ export default function ServicesOverview() {
</div> </div>
{/* Three-pillar grid with gap-px separator trick */} {/* Three-pillar grid with gap-px separator trick */}
<div className="bg-outline/10 rounded-xl overflow-hidden shadow-subtle"> <div className="bg-outline/20 rounded-xl overflow-hidden shadow-subtle">
<motion.div <motion.div
variants={staggerContainerWide} variants={staggerContainerWide}
initial="hidden" initial="hidden"

View File

@@ -111,11 +111,11 @@ export default function TrustBar() {
return ( return (
<section <section
aria-label="Trust indicators" aria-label="Trust indicators"
className="relative bg-surface-low py-16" className="relative bg-surface-low py-12"
> >
{/* Gradient bridge — blends hero surface-high into this section */} {/* Gradient bridge — blends hero surface-high into this section */}
<div <div
className="absolute top-0 left-0 right-0 h-8 pointer-events-none" className="absolute top-0 left-0 right-0 h-16 pointer-events-none"
style={{ style={{
background: 'linear-gradient(to bottom, #ffffff, transparent)', background: 'linear-gradient(to bottom, #ffffff, transparent)',
}} }}