:root {
  --legal-ink: #071820;
  --legal-text: #2d4650;
  --legal-muted: #596d75;
  --legal-line: #dbe5e7;
  --legal-paper: #f4f7f5;
  --legal-accent: #9c5108;
  --legal-accent-bright: #ffb35b;
  --legal-cyan: #7ed9e3;
}

.legal-site-header .header-inner { min-height: 72px; }
.legal-main-nav { gap: clamp(12px, 1.3vw, 21px); }
.legal-main-nav .nav-link { min-height: 72px; font-size: 13px; }
.legal-home-link { white-space: nowrap; }

.legal-page { color: var(--legal-text); background: #fff; }
.legal-hero { position: relative; overflow: hidden; color: #fff; background: linear-gradient(90deg, rgba(4,15,21,.98), rgba(4,18,25,.82) 56%, rgba(4,18,25,.42)), linear-gradient(0deg, rgba(4,15,21,.76), transparent 62%), var(--legal-hero-image, url("/assets/ehw111-release-ecd5b0e8f7bc/assets/images/hero-elektrohubwagen-pillar.webp")) 62% center / cover no-repeat, #071820; }
.legal-hero::after { position: absolute; right: -150px; bottom: -270px; width: 560px; height: 560px; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; box-shadow: 0 0 0 70px rgba(255,255,255,.025), 0 0 0 140px rgba(255,255,255,.015); content: ""; }
.legal-hero-grid { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(290px, .55fr); gap: clamp(42px, 7vw, 95px); align-items: center; min-height: 520px; padding-block: 70px; }
.legal-hero-grid > * { min-width: 0; }
.legal-breadcrumb { display: flex; flex-wrap: wrap; gap: 9px; margin-bottom: 28px; color: rgba(255,255,255,.6); font-size: 13px; }
.legal-breadcrumb a { color: #fff; }
.legal-eyebrow, .legal-kicker { color: var(--legal-accent); font-size: 13px; font-weight: 850; letter-spacing: .15em; text-transform: uppercase; }
.legal-hero .legal-eyebrow, .imprint-hero .legal-eyebrow { color: var(--legal-accent-bright); }
.legal-hero h1 { max-width: 800px; margin: 15px 0 22px; color: #fff; font-size: clamp(48px, 6vw, 78px); overflow-wrap: anywhere; hyphens: auto; }
.legal-lead { max-width: 760px; margin: 0; color: #d6e3e7; font-size: clamp(15px, 1.7vw, 19px); line-height: 1.75; }
.legal-hero__action { display: flex; flex-wrap: wrap; gap: 14px 18px; align-items: center; margin-top: 30px; }
.legal-hero__action small { color: rgba(255,255,255,.72); font-size: 13px; }
.legal-survey-button { min-height: 52px; padding-inline: 22px; box-shadow: 0 14px 34px rgba(239,134,23,.22); }
.legal-status-card { padding: 27px; border: 1px solid rgba(255,255,255,.17); background: rgba(1,15,21,.48); box-shadow: 0 28px 75px rgba(0,0,0,.25); backdrop-filter: blur(12px); }
.legal-status-card > span { color: var(--legal-cyan); font-size: 13px; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.legal-status-card > strong { display: block; margin: 12px 0 22px; color: #fff; font-family: var(--site-font); font-size: 25px; font-weight: 400; line-height: 1.2; }
.legal-status-card dl { margin: 0; }
.legal-status-card dl div { display: grid; grid-template-columns: 82px 1fr; gap: 15px; padding: 10px 0; border-top: 1px solid rgba(255,255,255,.12); }
.legal-status-card dt { color: #7f949c; font-size: 13px; text-transform: uppercase; }
.legal-status-card dd { margin: 0; color: #e4edef; font-size: 13px; text-align: right; }

.imprint-home-link { display: inline-flex; gap: 10px; align-items: center; color: #263c45; font-size: 13px; font-weight: 800; }
.imprint-home-link span { color: var(--legal-accent); font-size: 18px; }
.imprint-hero { position: relative; overflow: hidden; color: #fff; background: linear-gradient(90deg, rgba(4,15,21,.98), rgba(4,18,25,.88) 58%, rgba(4,18,25,.6)), var(--legal-hero-image) 62% center / cover no-repeat, #071820; }
.imprint-hero::after { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(255,255,255,.03), transparent 35%); content: ""; pointer-events: none; }
.imprint-hero .legal-hero-grid { grid-template-columns: minmax(0, 1.05fr) minmax(350px, .68fr); min-height: 560px; }
.imprint-hero h1 { max-width: 720px; margin: 15px 0 22px; color: #fff; font-size: clamp(52px, 6vw, 82px); line-height: 1; }
.imprint-hero__meta { display: flex; flex-wrap: wrap; gap: 10px 25px; margin-top: 28px; color: #b8c9ce; font-size: 13px; }
.imprint-hero__meta span + span { position: relative; }
.imprint-hero__meta span + span::before { position: absolute; left: -14px; color: var(--legal-accent-bright); content: "·"; }
.imprint-provider-card { padding: clamp(25px, 4vw, 38px); border-top: 3px solid var(--legal-accent); color: #253d47; background: rgba(255,255,255,.97); box-shadow: 0 30px 90px rgba(0,0,0,.3); }
.imprint-provider-card > span { color: var(--legal-accent); font-size: 13px; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.imprint-provider-card > strong { display: block; margin: 14px 0 16px; color: var(--legal-ink); font-size: clamp(21px, 2.2vw, 28px); line-height: 1.2; }
.imprint-provider-card address { display: grid; gap: 4px; margin: 0 0 24px; color: #536b75; font-size: 14px; font-style: normal; line-height: 1.55; }
.imprint-provider-card dl { margin: 0; }
.imprint-provider-card dl div { display: grid; grid-template-columns: 78px 1fr; gap: 16px; padding: 11px 0; border-top: 1px solid var(--legal-line); }
.imprint-provider-card dt { color: var(--legal-muted); font-size: 13px; }
.imprint-provider-card dd { margin: 0; color: var(--legal-ink); font-size: 13px; text-align: right; overflow-wrap: anywhere; }
.imprint-provider-card a { color: #9c5108; text-decoration: underline; text-underline-offset: 3px; }
.imprint-layout { padding-top: 72px; padding-bottom: 105px; }
.imprint-page .legal-sections { border-top: 0; }
.imprint-page .legal-section:first-child { padding-top: 0; }
.imprint-callout { margin-top: 25px; padding: 22px 24px; border-left: 4px solid var(--legal-accent); background: var(--legal-paper); }
.imprint-callout strong { color: var(--legal-ink); }
.imprint-callout p { margin-bottom: 0; }
.imprint-contact-note { margin-top: 34px; padding: 28px 30px; color: #d8e4e7; background: var(--legal-ink); }
.imprint-contact-note strong { display: block; color: #fff; font-size: 18px; }
.imprint-contact-note p { margin: 9px 0 0; color: #b7c9ce; font-size: 14px; line-height: 1.7; }
.imprint-contact-note a { color: #ffc273; text-decoration: underline; text-underline-offset: 3px; }

.legal-photo-story { padding-top: 82px; }
.legal-photo-story__intro { display: grid; grid-template-columns: minmax(0, .72fr) minmax(320px, 1fr); gap: clamp(28px, 6vw, 84px); align-items: end; margin-bottom: 34px; }
.legal-photo-story__intro .legal-kicker { grid-column: 1 / -1; margin: 0 0 -15px; }
.legal-photo-story__intro h2 { max-width: 720px; margin: 0; color: var(--legal-ink); font-size: clamp(34px, 4vw, 54px); line-height: 1.06; }
.legal-photo-story__intro > p:last-child { max-width: 590px; margin: 0; color: var(--legal-muted); font-size: 15px; line-height: 1.75; }
.legal-photo-story__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(16px, 2.4vw, 30px); }
.legal-photo-story figure { position: relative; min-width: 0; margin: 0; overflow: hidden; background: var(--legal-ink); box-shadow: 0 26px 68px rgba(7,24,32,.16); }
.legal-photo-story img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; transition: transform .6s ease; }
.legal-photo-story figure:hover img { transform: scale(1.025); }
.legal-photo-story figcaption { position: absolute; inset: auto 0 0; padding: 62px 24px 23px; color: #fff; background: linear-gradient(0deg, rgba(4,15,21,.94), rgba(4,15,21,.62) 54%, transparent); }
.legal-photo-story figcaption span { display: block; margin-bottom: 7px; color: var(--legal-accent-bright); font-size: 13px; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.legal-photo-story figcaption strong { display: block; max-width: 540px; font-family: var(--site-font); font-size: clamp(18px, 2vw, 25px); font-weight: 400; line-height: 1.25; }

.legal-decision-bridge { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr); gap: clamp(40px, 7vw, 96px); align-items: center; margin-top: 78px; padding: clamp(42px, 6vw, 74px); border: 1px solid var(--legal-line); background: linear-gradient(135deg, #f7faf8, #edf4f3); box-shadow: 0 25px 75px rgba(7,24,32,.08); }
.legal-decision-bridge > * { min-width: 0; }
.legal-decision-bridge__copy h2 { max-width: 760px; margin: 13px 0 20px; color: var(--legal-ink); font-size: clamp(34px, 4vw, 54px); line-height: 1.06; }
.legal-decision-bridge__copy > p:not(.legal-kicker) { max-width: 680px; margin: 0; color: var(--legal-muted); font-size: 15px; line-height: 1.75; }
.legal-decision-bridge__action { display: grid; justify-items: start; gap: 11px; margin-top: 27px; }
.legal-decision-bridge__action small { color: var(--legal-muted); font-size: 13px; }
.legal-decision-steps { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; border-top: 1px solid #cddcdd; }
.legal-decision-steps li { display: grid; grid-template-columns: 48px 1fr; gap: 18px; padding: 22px 0; border-bottom: 1px solid #cddcdd; }
.legal-decision-steps li > span { color: var(--legal-accent); font-family: var(--site-font); font-size: 20px; }
.legal-decision-steps strong, .legal-decision-steps small { display: block; }
.legal-decision-steps strong { color: var(--legal-ink); font-size: 16px; }
.legal-decision-steps small { margin-top: 6px; color: var(--legal-muted); font-size: 13px; line-height: 1.6; }

.legal-layout { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: clamp(50px, 8vw, 110px); padding-block: 86px 120px; }
.legal-layout > * { min-width: 0; }
.legal-toc { position: sticky; top: 102px; align-self: start; display: grid; gap: 0; padding: 19px; border: 1px solid var(--legal-line); background: var(--legal-paper); }
.legal-toc > span { margin-bottom: 11px; color: var(--legal-accent); font-size: 13px; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.legal-toc a { padding: 9px 0; border-top: 1px solid var(--legal-line); color: #516872; font-size: 13px; line-height: 1.35; }
.legal-toc a:hover { color: #a75300; }
.legal-sections { border-top: 1px solid var(--legal-line); }
.legal-section { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; padding: 58px 0; border-bottom: 1px solid var(--legal-line); scroll-margin-top: 100px; }
.legal-section > div { min-width: 0; }
.legal-section-number { padding-top: 7px; color: var(--legal-accent); font-family: var(--site-font); font-size: 19px; }
.legal-section h2 { margin: 10px 0 21px; color: var(--legal-ink); font-size: clamp(30px, 3.3vw, 46px); line-height: 1.08; overflow-wrap: anywhere; hyphens: auto; }
.legal-section h3 { color: var(--legal-ink); }
.legal-section p, .legal-section li { color: var(--legal-muted); font-size: 14px; line-height: 1.78; }
.legal-section .legal-kicker { color: var(--legal-accent); }
.legal-section a { color: #9c5108; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.legal-section code { padding: 2px 5px; border-radius: 4px; color: #173744; background: #e9f1f2; font-size: 13px; }
.legal-section address { display: grid; gap: 4px; max-width: 520px; margin: 24px 0; padding: 24px; border-left: 4px solid var(--legal-accent); background: var(--legal-paper); font-style: normal; }
.legal-section address strong { color: var(--legal-ink); }
.legal-section address span, .legal-section address a { color: var(--legal-muted); font-size: 13px; }
.legal-section--dark { margin: 22px 0; padding: 45px 36px; color: #fff; border: 0; background: var(--legal-ink); }
.legal-section--dark h2 { color: #fff; }
.legal-section--dark p, .legal-section--dark li { color: #b9cbd1; }
.legal-section--dark .legal-section-number, .legal-section--dark .legal-kicker { color: var(--legal-accent-bright); }
.legal-section--dark a { color: #ffc273; }
.legal-card-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.legal-card-grid section { padding: 22px; border: 1px solid var(--legal-line); background: var(--legal-paper); }
.legal-card-grid strong { color: var(--legal-ink); }
.legal-table-wrap { width: 100%; max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; }
.legal-table-wrap table { width: 100%; min-width: 680px; border-collapse: collapse; }
.legal-table-wrap th, .legal-table-wrap td { padding: 15px 13px; border: 1px solid var(--legal-line); font-size: 13px; text-align: left; vertical-align: top; }
.legal-table-wrap th { color: var(--legal-ink); background: var(--legal-paper); }

.legal-closing-conversion { padding-block: clamp(72px, 9vw, 126px); overflow: hidden; color: #fff; background: radial-gradient(circle at 80% 20%, rgba(126,217,227,.13), transparent 32%), var(--legal-ink); }
.legal-closing-conversion__grid { display: grid; grid-template-columns: minmax(0, 1.04fr) minmax(340px, .96fr); gap: clamp(42px, 8vw, 110px); align-items: center; }
.legal-closing-conversion__grid > * { min-width: 0; }
.legal-closing-conversion__visual { position: relative; min-height: 520px; margin: 0; overflow: hidden; background: #031016; box-shadow: 0 32px 90px rgba(0,0,0,.34); }
.legal-closing-conversion__visual img { display: block; width: 100%; height: 100%; min-height: 520px; object-fit: cover; }
.legal-closing-conversion__visual::after { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(3,16,22,.9), rgba(3,16,22,.04) 64%); content: ""; }
.legal-closing-conversion__visual figcaption { position: absolute; z-index: 1; inset: auto 0 0; padding: 34px; }
.legal-closing-conversion__visual figcaption span { display: block; margin-bottom: 8px; color: var(--legal-accent-bright); font-size: 13px; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.legal-closing-conversion__visual figcaption strong { display: block; max-width: 600px; color: #fff; font-family: var(--site-font); font-size: clamp(21px, 2.3vw, 30px); font-weight: 400; line-height: 1.24; }
.legal-closing-conversion__copy .legal-kicker { color: var(--legal-accent-bright); }
.legal-closing-conversion__copy h2 { max-width: 670px; margin: 14px 0 22px; color: #fff; font-size: clamp(38px, 4.5vw, 60px); line-height: 1.04; }
.legal-closing-conversion__copy > p:not(.legal-kicker) { max-width: 620px; margin: 0; color: #bdd0d6; font-size: 15px; line-height: 1.75; }
.legal-closing-conversion__copy ul { display: grid; gap: 11px; margin: 26px 0 29px; padding: 0; list-style: none; }
.legal-closing-conversion__copy li { position: relative; padding-left: 30px; color: #e5edef; font-size: 14px; }
.legal-closing-conversion__copy li::before { position: absolute; left: 0; top: 1px; display: grid; place-items: center; width: 20px; height: 20px; color: #06171e; border-radius: 50%; background: var(--legal-cyan); content: "✓"; font-size: 13px; font-weight: 900; }
.legal-closing-conversion__note { display: block; margin-top: 13px; color: #8fa7b0; font-size: 13px; }

.privacy-choice-panel { display: grid; gap: 10px; max-width: 760px; }
.privacy-choice { display: flex; justify-content: space-between; gap: 24px; align-items: center; min-height: 82px; padding: 17px 19px; border: 1px solid var(--legal-line); background: #fff; cursor: pointer; }
.privacy-choice--locked { background: var(--legal-paper); cursor: default; }
.privacy-choice span, .privacy-choice strong, .privacy-choice small { display: block; }
.privacy-choice strong { color: var(--legal-ink); font-size: 14px; }
.privacy-choice small { margin-top: 4px; color: var(--legal-muted); font-size: 13px; }
.privacy-choice input { width: 24px; height: 24px; accent-color: var(--legal-accent); }
.privacy-choice-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 12px; }
.privacy-choice-status { margin: 4px 0 0 !important; font-size: 13px !important; }

.privacy-banner { position: fixed; z-index: 1200; right: 18px; bottom: 18px; width: min(520px, calc(100% - 36px)); padding: 22px; color: #fff; border: 1px solid rgba(255,255,255,.15); background: #071820; box-shadow: 0 28px 80px rgba(0,0,0,.36); }
.privacy-banner[hidden], .privacy-dialog[hidden] { display: none; }
.privacy-banner__label { color: var(--legal-accent-bright); font-size: 13px; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.privacy-banner h2 { margin: 8px 0 9px; color: #fff; font-size: 24px; }
.privacy-banner p { margin: 0; color: #c4d2d6; font-size: 13px; line-height: 1.65; }
.privacy-banner p a { color: #ffc77d; text-decoration: underline; }
.privacy-banner__actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 17px; }
.privacy-banner__actions .button { min-height: 44px; padding-inline: 15px; font-size: 13px; }
.privacy-dialog { position: fixed; z-index: 1300; inset: 0; display: grid; place-items: center; padding: 20px; background: rgba(2,12,17,.78); }
.privacy-dialog__card { width: min(660px, 100%); max-height: min(760px, calc(100vh - 40px)); overflow-y: auto; padding: 27px; background: #fff; box-shadow: 0 34px 100px rgba(0,0,0,.4); }
.privacy-dialog__head { display: flex; justify-content: space-between; gap: 20px; align-items: start; }
.privacy-dialog__head h2 { margin: 0; font-size: 30px; }
.privacy-dialog__close { width: 44px; height: 44px; border: 0; color: var(--legal-ink); background: var(--legal-paper); font-size: 24px; cursor: pointer; }
.privacy-dialog__intro { color: var(--legal-muted); font-size: 13px; }
.privacy-dialog .privacy-choice { min-height: 72px; }

.legal-footer .footer-bottom a { color: #a8bbc2; }

@media (max-width: 1050px) {
  .legal-main-nav { display: grid; }
}

@media (max-width: 860px) {
  .legal-hero-grid { grid-template-columns: 1fr; min-height: 0; padding-block: 65px; }
  .legal-status-card { max-width: 540px; }
  .imprint-hero .legal-hero-grid { grid-template-columns: 1fr; }
  .imprint-provider-card { max-width: 620px; }
  .legal-photo-story { padding-top: 64px; }
  .legal-photo-story__intro { grid-template-columns: 1fr; }
  .legal-photo-story__intro .legal-kicker { grid-column: auto; margin-bottom: -8px; }
  .legal-decision-bridge { grid-template-columns: 1fr; margin-top: 58px; }
  .legal-layout { grid-template-columns: 1fr; padding-top: 45px; }
  .legal-toc { position: static; display: flex; overflow-x: auto; gap: 18px; padding: 14px 0; border-width: 1px 0; background: #fff; scrollbar-width: none; }
  .legal-toc > span, .legal-toc a { flex: 0 0 auto; margin: 0; padding: 5px 0; border: 0; }
  .legal-closing-conversion__grid { grid-template-columns: 1fr; }
  .legal-closing-conversion__visual { min-height: 440px; }
  .legal-closing-conversion__visual img { min-height: 440px; }
}

@media (max-width: 560px) {
  .legal-home-link { display: none; }
  .legal-hero-grid { padding-block: 48px 58px; }
  .legal-hero h1 { font-size: 44px; }
  .imprint-home-link { display: none; }
  .imprint-hero h1 { font-size: 46px; }
  .imprint-provider-card { padding: 23px 20px; }
  .imprint-provider-card dl div { grid-template-columns: 1fr; gap: 3px; }
  .imprint-provider-card dd { text-align: left; }
  .imprint-layout { padding-top: 42px; }
  .legal-lead { font-size: 14px; }
  .legal-status-card { padding: 21px; }
  .legal-hero__action { display: grid; align-items: stretch; }
  .legal-hero__action .button, .legal-decision-bridge__action .button, .legal-closing-conversion__copy .button { width: 100%; text-align: center; }
  .legal-photo-story { padding-top: 48px; }
  .legal-photo-story__grid { grid-template-columns: 1fr; }
  .legal-photo-story figcaption { padding: 55px 18px 18px; }
  .legal-decision-bridge { margin-top: 44px; padding: 34px 22px; }
  .legal-decision-bridge__copy h2 { font-size: 34px; }
  .legal-decision-steps li { grid-template-columns: 38px 1fr; gap: 11px; }
  .legal-layout { gap: 32px; padding-bottom: 80px; }
  .legal-section { grid-template-columns: 1fr; gap: 5px; padding: 43px 0; }
  .legal-section-number { font-size: 14px; }
  .legal-section h2 { font-size: 32px; }
  .legal-section p, .legal-section li { font-size: 13px; }
  .legal-section--dark { margin-inline: -8px; padding: 34px 24px; }
  .legal-card-grid { grid-template-columns: 1fr; }
  .legal-closing-conversion__visual, .legal-closing-conversion__visual img { min-height: 390px; }
  .legal-closing-conversion__visual figcaption { padding: 24px 20px; }
  .legal-closing-conversion__copy h2 { font-size: 38px; }
  .privacy-choice { min-width: 0; }
  .privacy-choice span { min-width: 0; overflow-wrap: anywhere; }
  .privacy-choice-actions { display: grid; }
  .privacy-choice-actions .button { width: 100%; }
  .privacy-banner { right: 10px; bottom: 10px; width: calc(100% - 20px); padding: 18px; }
  .privacy-banner__actions { display: grid; }
  .privacy-banner__actions .button { width: 100%; }
  .privacy-dialog { padding: 10px; }
  .privacy-dialog__card { max-height: calc(100vh - 20px); padding: 20px; }
}
