a665368d02
Visual consistency pass so every page feels familiar. H1 token (clamp(34px, 4vw, 56px) / line-height 1.05 / letter-spacing -0.04em): - typography.css: hero H1 was 50.2px fixed (with 40px/38px breakpoints). - BookingPage: was clamp(32px, 4vw, 52px). Service-, About-, Pricing-, Legal-page H1s already matched. Shared .eyebrow utility (typography.css): - 13px, green, uppercase, 700, 0.08em letter-spacing. - Replaces the bespoke .service-eyebrow (14px) and .instagram-kicker (11px green pill). - The yellow 28px .service-highlight-eyebrow now inherits the same utility — the eyebrow line is no longer competing with the H2 underneath. Local rule kept only for the bottom-margin override. Card border-radius unified to 28px: - sections.css .service-card: 20px → 28px - sections.css .value-card: 16px → 28px - sections.css .testimonial-card: 20px → 28px - TestimonialsSection .testimonial-stage: 24px → 28px - AboutPage .about-section-gradient + .about-contact-card: 36px → 28px - LegalPage .legal-card: 32px → 28px (mobile 24px → 28px) - InstagramSection .instagram-panel: 24px → 28px - PricingPage .meet-greet-prompt: 24px → 28px (mobile 20px → 28px) Modal dialogs left at 24px (different visual class — overlay, not inline content card). Card hover transform unified to translateY(-6px) scale(1.012): - sections.css .service-card: -6px / 1.01 → 1.012 - sections.css .value-card: -5px (no scale) → -6px / 1.012 - sections.css .testimonial-card: -4px (no scale) → -6px / 1.012 - ServiceLandingPage .service-plan-card / .service-benefit-card: -8px → -6px - PricingPage .pricing-plan-card: -8px → -6px - ServiceLandingPage .service-related-card already -6px / 1.012. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
120 lines
2.6 KiB
Svelte
120 lines
2.6 KiB
Svelte
<script lang="ts">
|
|
import BookingSection from '$lib/components/BookingSection.svelte';
|
|
import Icon from '$lib/components/Icon.svelte';
|
|
import type { BookingContent } from '$lib/types';
|
|
|
|
export let booking: BookingContent;
|
|
export let allowGeneralEnquiry = false;
|
|
|
|
const email = 'info@goodwalk.co.nz';
|
|
const phone = '(022) 642 1011';
|
|
</script>
|
|
|
|
<main class="booking-page">
|
|
<section class="booking-page-hero">
|
|
<div class="booking-page-inner">
|
|
<h1>Contact Us</h1>
|
|
<p class="booking-page-sub">
|
|
{#if allowGeneralEnquiry}
|
|
Fill in the form below to book a Meet & Greet or send a general enquiry.
|
|
{:else}
|
|
Fill in the form below and we'll be in touch to arrange a free introduction.
|
|
{/if}
|
|
</p>
|
|
<div class="booking-page-contact">
|
|
<a href="mailto:{email}" class="booking-contact-link">
|
|
<Icon name="fas fa-envelope" />
|
|
{email}
|
|
</a>
|
|
<a href="tel:{phone.replace(/[^0-9+]/g, '')}" class="booking-contact-link">
|
|
<Icon name="fas fa-phone" />
|
|
{phone}
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<BookingSection {booking} {allowGeneralEnquiry} />
|
|
</main>
|
|
|
|
<style>
|
|
.booking-page {
|
|
background: var(--off-white);
|
|
}
|
|
|
|
.booking-page-hero {
|
|
background: var(--green);
|
|
color: #fff;
|
|
padding: 64px 0 72px;
|
|
}
|
|
|
|
.booking-page-inner {
|
|
max-width: var(--max-w);
|
|
margin: 0 auto;
|
|
padding: 0 50px;
|
|
text-align: center;
|
|
}
|
|
|
|
.booking-page-hero h1 {
|
|
margin: 0 0 14px;
|
|
font-family: var(--font-head);
|
|
font-size: clamp(34px, 4vw, 56px);
|
|
line-height: 1.05;
|
|
letter-spacing: -0.04em;
|
|
color: #fff;
|
|
}
|
|
|
|
.booking-page-sub {
|
|
margin: 0 auto 32px;
|
|
max-width: 480px;
|
|
font-size: 16px;
|
|
line-height: 1.6;
|
|
opacity: 0.8;
|
|
}
|
|
|
|
.booking-page-contact {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
gap: 24px;
|
|
flex-wrap: wrap;
|
|
}
|
|
|
|
.booking-contact-link {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
padding: 10px 20px;
|
|
border-radius: 999px;
|
|
background: rgba(255, 255, 255, 0.12);
|
|
border: 1px solid rgba(255, 255, 255, 0.18);
|
|
font-size: 14px;
|
|
font-weight: 600;
|
|
color: #fff;
|
|
transition: background 0.2s;
|
|
}
|
|
|
|
.booking-contact-link:hover {
|
|
background: rgba(255, 255, 255, 0.2);
|
|
}
|
|
|
|
@media (max-width: 768px) {
|
|
.booking-page-hero {
|
|
padding: 48px 0 56px;
|
|
}
|
|
|
|
.booking-page-inner {
|
|
padding: 0 24px;
|
|
}
|
|
|
|
.booking-page-contact {
|
|
gap: 12px;
|
|
}
|
|
|
|
.booking-contact-link {
|
|
font-size: 13px;
|
|
padding: 9px 16px;
|
|
}
|
|
}
|
|
</style>
|