.hb-access-page { min-height: 100svh; }
.hb-access-page .hb-access-header { display: flex; padding-block: 0; }
.hb-access-header .hb-brand > span { display: inline; }
.hb-access-header .hb-access-back { display: inline-flex; align-items: center; gap: 12px; font-size: 13px; font-weight: 600; }
.hb-access-back .hb-arrow { transform: rotate(180deg); order: -1; }
.hb-access-main { display: grid; grid-template-columns: 1fr 1fr; align-items: start; gap: clamp(40px, 7vw, 100px); padding-block: 72px 64px; }
.hb-access-intro { padding-top: 36px; }
.hb-access-eyebrow { font-size: 11px; font-weight: 750; letter-spacing: .13em; }
.hb-access-intro h1 { margin-block: 24px; font-size: clamp(36px, 4.2vw, 58px); font-weight: 600; letter-spacing: -.055em; line-height: 1.13; }
.hb-access-lead { max-width: 370px; color: var(--hb-muted); font-size: 17px; }
.hb-access-personal { display: flex; align-items: center; gap: 16px; margin-top: 48px; padding-top: 24px; border-top: 1px solid var(--hb-line); max-width: 370px; font-size: 13px; }
.hb-access-personal img { border-radius: 50%; background: var(--hb-paper); }
.hb-access-personal strong { font-weight: 650; }
.hb-access-panel { padding: 32px; border: 1px solid var(--hb-line); border-radius: 12px; background: var(--hb-paper); }
.hb-access-panel h2 { font-size: 22px; letter-spacing: -.035em; line-height: 1.3; font-weight: 650; }
.hb-access-caption { margin-top: 8px !important; color: var(--hb-muted); font-size: 14px; }
.hb-access-form { display: grid; gap: 20px; margin-top: 28px; }
.hb-access-field { display: grid; gap: 7px; }
.hb-access-field label { font-size: 13px; font-weight: 650; }
.hb-access-field label span { margin-left: 6px; color: var(--hb-muted); font-weight: 400; }
.hb-access-field :is(input, textarea) { width: 100%; min-width: 0; border: 1px solid #b6bbae; border-radius: 5px; background: #fff; color: var(--hb-ink); padding: 12px; font: inherit; font-size: 16px; line-height: 1.5; }
.hb-access-field input { min-height: 48px; }
.hb-access-field textarea { resize: vertical; min-height: 96px; }
.hb-access-field textarea::placeholder { color: #73796b; font-size: 14px; }
.hb-access-field :is(input, textarea):focus-visible { outline: 2px solid #42563b; outline-offset: 2px; }
.hb-access-field [aria-invalid=true] { border-color: #a33025; }
.hb-access-field-error { color: #8b271f; font-size: 12px; }
.hb-access-check { min-width: 0; }
.hb-access-check > div { min-height: 65px; line-height: 0; } /* Turnstile-iframe ohne Grundlinienlücke im Standardmodus (#1279) */
.hb-access-check p, .hb-access-small { font-size: 12px; line-height: 1.6; color: var(--hb-muted); }
.hb-access-check p { margin-top: 6px; }
.hb-access-submit.hb-access-submit { width: 100%; cursor: pointer; }
.hb-access-submit.hb-access-submit:disabled { opacity: .55; cursor: not-allowed; background: #42563b; }
.hb-access-error { padding: 14px; border-left: 3px solid #a33025; background: #fff4f0; color: #72251c; font-size: 13px; }
.hb-access-alternative { padding-top: 24px; margin-top: 24px; border-top: 1px solid var(--hb-line); }
.hb-access-inline { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-size: 13px; font-weight: 650; }
.hb-access-alternative p { color: var(--hb-muted); font-size: 12px; }
.hb-access-address { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 16px; margin-top: 6px; font-size: 13px; }
.hb-access-address > span { user-select: all; }
.hb-access-text-button { padding: 6px 0; min-height: 44px; border: 0; background: none; color: #42563b; text-decoration: underline; text-underline-offset: 3px; font-size: 12px !important; cursor: pointer; }
.hb-access-success { padding-block: 32px 12px; color: #33452d; }
.hb-access-success h3 { font-size: 24px; letter-spacing: -.035em; margin-top: 16px; }
.hb-access-success p { margin-block: 8px 20px; font-size: 15px; }
.hb-access-footer { display: flex; align-items: center; gap: 12px; border-top: 1px solid var(--hb-line); padding-block: 24px; font-size: 13px; color: var(--hb-muted); }
.hb-access-footer a { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; color: var(--hb-ink); font-weight: 650; }
@media (max-width: 850px) {
  .hb-access-main { grid-template-columns: 1fr; max-width: 600px; gap: 32px; padding-block: 40px; }
  .hb-access-intro { padding-top: 0; }
  .hb-access-intro h1 { font-size: 42px; }
  .hb-access-lead { max-width: 440px; font-size: 15px; }
  .hb-access-personal { display: none; }
}
@media (max-width: 480px) {
  .hb-access-header { height: 80px; gap: 12px; }
  .hb-access-header .hb-access-back { font-size: 12px; gap: 5px; }
  .hb-access-main { padding-block: 32px; }
  .hb-access-intro h1 { font-size: 36px; margin-block: 16px; }
  .hb-access-panel { padding: 24px 16px; }
  .hb-access-panel h2 { font-size: 20px; }
  .hb-access-footer { flex-wrap: wrap; gap: 0 12px; }
}
