src/components/heading/HeadingMono.astro
---
interface Props {
label?: string;
title: string;
sub?: string;
}
const { label = "// sectie_03", title = "Technologie als fundament", sub = "Wij bouwen op solide technische basis — schaalbaar, snel en veilig." } = Astro.props;
---
<div class="hd-mono">
{label && <span class="hd-mono__label">{label}</span>}
<h2 class="hd-mono__title">{title}</h2>
{sub && <p class="hd-mono__sub">{sub}</p>}
</div>
<style>
:root {
--color-accent: #6366f1;
--color-primary: #0a0a0a;
}
.hd-mono {
padding: 2.5rem 0;
border-top: 1px solid #e0e0e0;
}
.hd-mono__label {
display: block;
font-family: 'JetBrains Mono', 'Fira Code', monospace;
font-size: 0.8rem;
color: var(--color-accent);
margin-bottom: 0.75rem;
letter-spacing: 0.04em;
}
.hd-mono__title {
margin: 0 0 0.75rem;
font-family: 'JetBrains Mono', 'Fira Code', monospace;
font-size: clamp(1.5rem, 3.5vw, 2.5rem);
font-weight: 700;
line-height: 1.2;
color: var(--color-primary);
letter-spacing: -0.01em;
}
.hd-mono__sub {
margin: 0;
font-size: 1rem;
color: #555;
line-height: 1.65;
max-width: 520px;
}
</style>
Props
| Prop | Type | Default | Beschrijving |
|---|---|---|---|
label | string | — | Monospace-label (bv. // sectie_03) |
title * | string | — | Hoofdtitel |
sub | string | — | Subtekst |
* = verplicht