This specification addresses Issue #212, which requires a clean h1 heading hierarchy across the site and semantic breadcrumbs for deeper navigation, focusing specifically on review sub-pages.
h1 per page. (Audit is complete; all layouts comply).<nav aria-label="Breadcrumb"> logic on deeper content (reviews).reviews/camera/leica/m11-p/index.html<section id="explorer-section"> with an <h2>), the .hotspot-popup elements use <h4> instead of <h3>.<h4> to <h3> within .hotspot-popup to preserve the h2 -> h3 semantic hierarchy. No visual changes are required since there are no global CSS rules for h3 or h4 overriding the .hotspot-popup scoping..breadcrumbs styles to assets/css/style.css at the end of the file.
.breadcrumbs {
font-family: var(--font-ui);
font-size: 0.65rem;
text-transform: uppercase;
letter-spacing: 3px;
margin-bottom: 2rem;
color: var(--text-muted);
}
.breadcrumbs ol {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-wrap: wrap;
gap: 10px;
}
.breadcrumbs li {
display: inline;
}
.breadcrumbs li + li::before {
content: "//";
color: var(--border-color);
margin-right: 10px;
}
.breadcrumbs a {
text-decoration: none;
color: inherit;
transition: color 0.3s ease;
}
.breadcrumbs a:hover {
color: var(--leica-red);
}
.breadcrumbs span[aria-current="page"] {
color: var(--text-primary);
font-weight: 600;
}
reviews/index.html:
<main> just before <h1 class="page-title">.reviews/camera/fujifilm/x100vi/index.html:
<main> just before <article class="container"> or inside .container before .lede.reviews/camera/leica/m11-p/index.html:
<main> just before <article class="container"> or inside .container before the first section.bundle exec jekyll build to ensure the site builds correctly.grep or an HTML validator to confirm exactly one h1 per target page and no skipped heading levels (e.g., no <h4> under <h2>).