/* Homberg (Efze): page-scoped styles using the existing global.css design tokens. */
.he-page { color: var(--c-text); background: var(--c-bg); font-family: var(--font-body); line-height: 1.7; }
.he-page *, .he-page *::before, .he-page *::after { box-sizing: border-box; }
.he-page .he-wrap { max-width: var(--container); margin-inline: auto; padding-inline: 1.5rem; }
.he-page h1, .he-page h2, .he-page h3 { color: var(--c-text); font-family: var(--font-display); line-height: 1.18; margin: 0; }
.he-page h1 { font-size: clamp(2.25rem, 5vw, 4rem) !important; letter-spacing: -.035em; overflow-wrap: anywhere; }
.he-page h2 { font-size: clamp(1.8rem, 3vw, 2.6rem); letter-spacing: -.025em; }
.he-page h3 { font-size: 1.22rem; line-height: 1.35; }
.he-page p { color: var(--c-text-soft); font-family: var(--font-body); margin: 1rem 0 0; }
.he-page a { text-underline-offset: .25em; }
.he-page a:focus-visible, .he-page summary:focus-visible { outline: 3px solid var(--primary); outline-offset: 5px; }
.he-page section[id] { scroll-margin-top: calc(var(--header-h) + 1.5rem); }
.he-page .he-section { padding-block: 5rem; }
.he-page .he-eyebrow { color: var(--primary-hover); margin: 0 0 1rem; font-size: .76rem; font-weight: 700; letter-spacing: .085em; text-transform: uppercase; }
.he-page .he-crumbs { display: flex; flex-wrap: wrap; gap: .6rem; font-size: .82rem; color: var(--c-text-soft); padding-block: 1.5rem; }
.he-page .he-crumbs a { color: var(--c-text-soft); }
.he-page .he-hero { text-align: center; max-width: 56rem; margin: 0 auto; padding-block: 2rem 4rem; }
.he-page .he-tagline { color: var(--c-text); font-size: clamp(1.4rem, 2.5vw, 1.9rem); line-height: 1.4; margin-top: 1.5rem; }
.he-page .he-lead { font-size: 1.1rem; }
.he-page .he-hero .he-lead { max-width: 43rem; margin-inline: auto; }
.he-page .he-hero-actions { display: flex; flex-direction: column; align-items: center; gap: 1.25rem; margin-top: 1.75rem; }
.he-page .he-button { display: inline-flex; justify-content: center; align-items: center; gap: .8rem; min-height: 3.25rem; padding: .9rem 1.4rem; border: 2px solid var(--primary-hover); border-radius: var(--radius-pill); background: var(--primary-hover); color: var(--c-bg); text-align: center; text-decoration: none; font-weight: 700; transition: background var(--transition), border-color var(--transition); }
.he-page .he-button:hover { background: var(--c-text); border-color: var(--c-text); color: var(--c-bg); }
.he-page .he-link { display: inline-block; margin-top: 1.25rem; color: var(--primary-hover); font-weight: 700; }
.he-page .he-link:hover { color: var(--c-text); }
.he-page .he-hero-actions .he-link { margin-top: 0; font-size: .9rem; }
.he-page .he-location-note { font-size: .82rem; margin-top: 1.75rem; }
.he-page .he-offer { padding-block: 2.5rem; background: var(--c-bg-dark); }
.he-page .he-offer-inner { display: grid; grid-template-columns: 1fr 1.3fr; gap: 4rem; align-items: start; }
.he-page .he-offer h2 { color: var(--c-bg); font-size: 1.75rem; }
.he-page .he-offer .he-eyebrow { color: var(--primary-l); }
.he-page .he-offer-points p { color: var(--c-bg-alt); margin: 0; padding-block: .85rem; border-bottom: 1px solid var(--c-muted); }
.he-page .he-offer-points p:first-child { padding-top: 0; }
.he-page .he-offer-points p:last-child { border-bottom: 0; padding-bottom: 0; }
.he-page .he-offer-points strong { color: var(--primary-l); }
.he-page .he-section-heading { max-width: 48rem; margin-bottom: 2.5rem; }
.he-page .he-cases { display: grid; gap: 1rem; }
.he-page .he-case { display: grid; grid-template-columns: 1fr 2fr; border: 1px solid var(--c-border); border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); }
.he-page .he-case > *, .he-page .he-method-grid > *, .he-page .he-night-grid > *, .he-page .he-faq-layout > * { min-width: 0; }
.he-page .he-case-heading { padding: 2rem; background: var(--c-bg-alt); border-radius: var(--radius-lg) 0 0 var(--radius-lg); }
.he-page .he-case-number { display: block; color: var(--primary-hover); font-family: var(--font-display); font-weight: 700; font-size: .85rem; margin-bottom: 1rem; }
.he-page .he-case-heading p { font-size: .87rem; line-height: 1.55; }
.he-page .he-case-body { padding: 2rem; }
.he-page .he-case-body > p:first-child { margin-top: 0; }
.he-page .he-case .he-case-note { font-size: .9rem; border-left: 2px solid var(--primary); padding-left: 1rem; }
.he-page .he-case .he-link { font-size: .88rem; }
.he-page .he-method { background: var(--primary-l); }
.he-page .he-method-grid { display: grid; grid-template-columns: 1fr 1.2fr; gap: 4rem; }
.he-page .he-method-grid > div:last-child > p:first-child { margin-top: 0; }
.he-page .he-night-grid { display: grid; grid-template-columns: 1.45fr 1fr; gap: 4rem; align-items: center; }
.he-page .he-night-card { padding: 2rem; border-radius: var(--radius-lg); background: var(--c-bg-dark); }
.he-page .he-night-card h3 { color: var(--c-bg); font-size: 1.5rem; }
.he-page .he-night-card p { color: var(--c-bg-alt); font-size: .9rem; }
.he-page .he-night-card .he-eyebrow { color: var(--primary-l); }
.he-page .he-phone { display: block; font-family: var(--font-display); color: var(--c-bg); font-size: clamp(1.6rem, 2.5vw, 2rem); font-weight: 700; text-decoration: none; margin-block: 1.25rem; }
.he-page .he-button-light { background: var(--c-bg); border-color: var(--c-bg); color: var(--c-text); }
.he-page .he-button-light:hover { background: var(--primary-l); border-color: var(--primary-l); color: var(--c-text); }
.he-page .he-security { background: var(--c-bg-alt); }
.he-page .he-security-heading { margin-bottom: 2rem; }
.he-page .he-security-columns { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; }
.he-page .he-security-columns article { padding-top: 1.5rem; border-top: 2px solid var(--c-border); }
.he-page .he-security-columns p { font-size: .95rem; }
.he-page .he-faq-layout { display: grid; grid-template-columns: 1fr 1.7fr; gap: 4rem; }
.he-page .he-faq-list details { border-bottom: 1px solid var(--c-border); }
.he-page .he-faq-list details:first-child { border-top: 1px solid var(--c-border); }
.he-page .he-faq-list summary { padding: 1.4rem .25rem; font-weight: 700; line-height: 1.5; cursor: pointer; }
.he-page .he-faq-list summary::marker { color: var(--primary-hover); }
.he-page .he-faq-list details[open] summary { color: var(--primary-hover); }
.he-page .he-faq-list details p { padding: 0 .25rem 1.5rem; margin: 0; }
.he-page .he-final { padding-block: 3.5rem; text-align: center; background: var(--primary-l); }
.he-page .he-final .he-button { margin-top: 1.5rem; }
@media (max-width: 1000px) {
  .he-page .he-offer-inner, .he-page .he-method-grid, .he-page .he-night-grid, .he-page .he-faq-layout { gap: 2rem; }
  .he-page .he-case { grid-template-columns: 1fr 1.7fr; }
  .he-page .he-security-columns { gap: 1.25rem; }
}
@media (max-width: 720px) {
  .he-page .he-wrap { padding-inline: 1.25rem; }
  .he-page .he-section { padding-block: 3rem; }
  .he-page .he-hero { padding-block: 1rem 3rem; }
  .he-page .he-offer-inner, .he-page .he-case, .he-page .he-method-grid, .he-page .he-night-grid, .he-page .he-security-columns, .he-page .he-faq-layout { grid-template-columns: minmax(0, 1fr); }
  .he-page .he-case-heading { border-radius: var(--radius-lg) var(--radius-lg) 0 0; padding: 1.5rem; }
  .he-page .he-case-body, .he-page .he-night-card { padding: 1.5rem; }
  .he-page .he-button { width: 100%; }
  .he-page .he-hero-actions { align-items: stretch; }
}
@media (prefers-reduced-motion: reduce) {
  .he-page .he-button { transition: none; }
}
