Files
gw-svelte/src/lib/styles/typography.css
T
admin a665368d02 UI: unify H1 size, eyebrow style, card radius and hover transform
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>
2026-05-05 21:23:41 +12:00

124 lines
1.8 KiB
CSS

.logo {
display: flex;
align-items: center;
justify-content: center;
}
.logo img,
.footer-logo {
display: block;
}
.logo img {
height: 30px;
width: auto;
}
.nav-links a,
.mobile-menu a {
font-weight: 500;
}
.section-heading,
.promise-text h2,
.info-block h2,
#instagram h2 {
font-family: var(--font-head);
font-weight: 700;
}
.section-heading {
font-size: 42px;
color: #000;
margin-bottom: 20px;
}
.hero-text h1 {
font-family: var(--font-head);
font-size: clamp(34px, 4vw, 56px);
font-weight: 800;
line-height: 1.05;
letter-spacing: -0.04em;
margin-bottom: 28px;
color: #fff;
}
/*
* Shared eyebrow utility for the small uppercase label that introduces a
* heading. Use this instead of bespoke per-section kickers.
*/
.eyebrow {
font-family: var(--font-head);
font-size: 13px;
font-weight: 700;
letter-spacing: 0.08em;
text-transform: uppercase;
color: var(--green);
margin: 0 0 14px;
}
.hero-text h1 .hero-heading-mobile {
display: none;
}
.hero-title-main,
.hero-title-connector,
.hero-title-highlight {
color: #fff;
}
.promise-text h2 {
font-size: 42px;
margin-bottom: 20px;
}
.promise-text p,
.info-block p,
.faq details p,
.testimonial-card blockquote {
font-size: 15px;
line-height: 1.7;
}
.service-card h3,
.value-card h3 {
font-family: var(--font-head);
font-weight: 700;
}
.service-card h3 {
font-size: 20px;
margin-bottom: 12px;
}
.value-card h3 {
font-size: 18px;
margin-bottom: 10px;
}
.info-block h2 {
font-size: 30px;
margin-bottom: 16px;
}
.info-block h3 {
font-size: 16px;
font-weight: 700;
margin: 20px 0 8px;
}
#instagram h2 {
font-size: 36px;
margin-bottom: 20px;
}
footer h4 {
font-family: var(--font-head);
font-size: 14px;
font-weight: 700;
margin-bottom: 16px;
letter-spacing: 0.5px;
opacity: 0.6;
text-transform: uppercase;
}