/* Article-specific composition using the established journal design tokens. */
.lighting-cost-opening {
  padding-block: clamp(2rem, 5vw, 4rem);
  border-bottom: 1px solid var(--color-border);
}
.lighting-cost-opening .breadcrumbs { color: var(--color-text-light); margin-bottom: 2rem; flex-wrap: wrap; }
.lighting-cost-opening .breadcrumbs a { color: var(--color-secondary-dark); }
.lighting-cost-opening .breadcrumbs .current { color: var(--color-text); }
.lighting-cost-opening__grid { display: grid; align-items: center; gap: clamp(2rem, 5vw, 4rem); }
.lighting-cost-opening__grid > * { min-width: 0; }
.lighting-cost-opening h1 { font-size: var(--fs-h1); max-width: 23ch; }
.lighting-cost-opening .lead { font-size: var(--fs-lg); }
.lighting-cost-meta { display: flex; flex-wrap: wrap; gap: .3rem 1rem; font-size: var(--fs-small); color: var(--color-text-light); margin: 1.25rem 0 1.5rem; }
.lighting-cost-meta span { flex-basis: 100%; }
.lighting-cost-opening__photo { margin: 0; }
.lighting-cost-opening__photo img { display: block; width: 100%; height: auto; border-radius: var(--radius-lg); box-shadow: var(--shadow); }
.lighting-cost-opening__photo figcaption { margin-top: .75rem; font-size: var(--fs-small); color: var(--color-text-light); }
.lighting-cost-content { padding-top: clamp(2rem, 5vw, 4rem); }
.lighting-cost-contents { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; padding-block: .5rem 1.5rem; border-bottom: 1px solid var(--color-border); }
.lighting-cost-contents a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: underline; text-underline-offset: .2em; }
.lighting-cost-drivers { margin-top: 1.5rem; }
.lighting-cost-drivers > div { border-top: 1px solid var(--color-border); padding: 1.25rem 0; }
.lighting-cost-drivers dt { font-family: var(--font-heading); font-weight: 600; font-size: var(--fs-h4); margin-bottom: .5rem; }
.lighting-cost-drivers dd { font-size: var(--fs-lg); line-height: 1.8; color: var(--color-text-light); margin: 0; }
.lighting-cost-example { padding: clamp(1.25rem, 3vw, 2rem); border-radius: var(--radius); background: var(--color-primary-light); margin: 1.5rem 0; }
.lighting-cost-example p:last-child { margin-bottom: 0; }
.lighting-cost-faq { margin-top: 3rem; }
.lighting-cost-faq > h2 { margin-top: .5rem; }
.lighting-faq { border-bottom: 1px solid var(--color-border); padding-block: 1.25rem; }
.lighting-faq h3 { margin-top: 0; }
.lighting-faq p { margin-bottom: 0; }
.lighting-cost-article .article-callout h2 { margin-top: 0; }
.lighting-cost-article .article-body a:not(.btn) { text-decoration: underline; text-underline-offset: .18em; }
.lighting-cost-article .lighting-cost-related { font-size: var(--fs-body); }
.lighting-cost-article [id] { scroll-margin-top: 2rem; }
@media (min-width: 900px) {
  .lighting-cost-opening__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
}
@media (max-width: 520px) {
  .lighting-cost-opening .btn, .lighting-cost-article .article-cta-actions .btn { width: 100%; white-space: normal; }
  .lighting-cost-article .article-cta-actions { display: grid; grid-template-columns: minmax(0, 1fr); }
}
.lighting-cost-page :is(a, button):focus-visible { outline: 3px solid var(--color-secondary-dark); outline-offset: 4px; }
.lighting-cost-article .section-label,
.lighting-cost-article a:not(.btn) { color: var(--color-secondary-dark); }
.lighting-cost-article .btn--primary { background: var(--color-secondary-dark); }
