/* Schriften selbst gehostet (Fontsource, SIL Open Font License) */
@font-face{font-family:"Archivo";font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(../fonts/archivo-latin-wdth-normal.woff2) format("woff2-variations"),url(../fonts/archivo-latin-wdth-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow";font-style:normal;font-display:swap;font-weight:400;src:url(../fonts/barlow-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow";font-style:normal;font-display:swap;font-weight:500;src:url(../fonts/barlow-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow";font-style:normal;font-display:swap;font-weight:600;src:url(../fonts/barlow-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow Condensed";font-style:normal;font-display:swap;font-weight:500;src:url(../fonts/barlow-condensed-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow Condensed";font-style:normal;font-display:swap;font-weight:600;src:url(../fonts/barlow-condensed-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow Condensed";font-style:normal;font-display:swap;font-weight:700;src:url(../fonts/barlow-condensed-latin-700-normal.woff2) format("woff2")}

/* Variante A Leistungsschild: dunkle Bühne mit großem Schild, helles Blech für Leistungen und Messgerät, Schilder als einzige Bauteile. */
:root{
  color-scheme:dark;
  --navy:#0A1B2D; --navy-2:#0F2740; --plate-a:#183654; --plate-b:#0C2136;
  --green:#057A43; --green-hi:#04633A; --green-lit:#34C27E; --amber:#F2B233;
  --steel:#DCE1E5; --steel-ink:#24313D; --steel-mute:#3A4856;
  --engrave:#EAF0F3; --engrave-dim:#9FB0BF; --engrave-soft:#C6D2DC;
  --f-disp:"Archivo","Arial Narrow",sans-serif; --f-plate:"Barlow Condensed","Arial Narrow",sans-serif; --f-body:"Barlow",system-ui,sans-serif;
  /* Regler-Werte für Phase 6 */
  --hero-h1-max:64px; --hero-pad-top:24px; --hero-plate-fr:1.55fr; --hero-sub-size:19px; --section-pad:80px; --card-h4:28px;
  --sheet-plate:linear-gradient(175deg,#F0F3F5 0%,#DDE3E7 100%);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:radial-gradient(120% 90% at 70% 10%,#14324F 0%,var(--navy) 60%) top/100% 1050px no-repeat,var(--navy);color:var(--engrave);font-family:var(--f-body);font-size:17px;line-height:1.6}
::selection{background:var(--green);color:#fff}
a{color:inherit;text-underline-offset:3px}
:focus-visible{outline:2px solid var(--green-lit);outline-offset:3px}
.gut{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.in{max-width:1220px;margin:0 auto}
.prose{max-width:66ch}
.prose p{margin:0 0 1em}
.skip{position:absolute;left:16px;top:-60px;z-index:50;background:var(--green);color:#fff;padding:10px 16px;font-family:var(--f-plate);font-weight:700;letter-spacing:.06em;text-decoration:none}
.skip:focus{top:12px}
main:focus{outline:none}

/* Kopfzeile */
.bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:18px;position:relative}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand svg{width:38px;height:40px;flex:none}
.brand b{display:block;font-family:var(--f-disp);font-stretch:85%;font-weight:800;font-size:19px;line-height:1}
.brand small{display:block;font-family:var(--f-plate);font-size:13px;letter-spacing:.08em;color:var(--engrave-dim)}
.nav{display:flex;gap:22px;font-family:var(--f-plate);font-size:16px;letter-spacing:.04em}
.nav a{text-decoration:none;color:var(--engrave-dim)}
.nav a:hover{color:var(--engrave)}
.menu{display:none}
.cta{display:inline-flex;align-items:center;gap:10px;background:var(--green);color:#fff;text-decoration:none;font-family:var(--f-plate);font-weight:700;font-size:18px;letter-spacing:.06em;padding:13px 20px;border:1px solid var(--green);transition:background .2s cubic-bezier(.2,.8,.2,1)}
.cta:hover{background:var(--green-hi)}
.cta svg{width:16px;height:16px}
.ghost{display:inline-flex;align-items:center;font-family:var(--f-plate);font-weight:600;font-size:18px;letter-spacing:.06em;padding:13px 20px;border:1px solid currentColor;text-decoration:none;color:var(--engrave-soft);transition:color .2s cubic-bezier(.2,.8,.2,1),border-color .2s cubic-bezier(.2,.8,.2,1)}
.ghost:hover{color:var(--engrave);border-color:var(--engrave)}
.cta-m{display:none}
@media (max-width:820px){
  .nav,.bar>.cta{display:none}
  .bar>.cta-m{display:inline-flex;margin-left:auto;padding:10px 14px;font-size:17px}
  .bar{gap:10px}
  .menu{display:block}
  .menu summary{list-style:none;cursor:pointer;font-family:var(--f-plate);font-weight:600;font-size:17px;letter-spacing:.08em;padding:10px 14px;border:1px solid #2B4866}
  .menu summary::-webkit-details-marker{display:none}
  .menu[open] .drop{position:absolute;right:0;top:100%;z-index:10;background:#0C2136;border:1px solid #2B4866;display:grid;min-width:220px}
  .menu .drop a{padding:12px 16px;text-decoration:none;font-family:var(--f-plate);font-size:18px;border-bottom:1px solid #1D3550}
  .menu .drop a:last-child{background:var(--green);border:0}
}

@media (max-width:380px){.brand small{display:none}.brand svg{width:32px;height:34px}.bar>.cta-m,.menu summary{padding:10px 12px}}

/* Schild (gemeinsam) */
.plate{color:var(--engrave);position:relative;background:linear-gradient(172deg,var(--plate-a) 0%,#0F2740 40%,var(--plate-b) 100%);border-radius:4px;
  box-shadow:0 24px 50px -24px rgba(0,0,0,.65),inset 0 0 0 1px rgba(234,240,243,.14),inset 0 0 0 10px var(--plate-b),inset 0 0 0 11px rgba(234,240,243,.22)}
.plate::after{content:"";position:absolute;inset:0;border-radius:4px;pointer-events:none;background:repeating-linear-gradient(90deg,rgba(255,255,255,.018) 0 1px,transparent 1px 3px)}
.rv{position:absolute;width:13px;height:13px;z-index:1;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 26'%3E%3Cdefs%3E%3CradialGradient id='g' cx='.38' cy='.32' r='.75'%3E%3Cstop offset='0' stop-color='%23F4F7F9'/%3E%3Cstop offset='.5' stop-color='%238E9DAA'/%3E%3Cstop offset='1' stop-color='%232E3B47'/%3E%3C/radialGradient%3E%3C/defs%3E%3Ccircle cx='13' cy='14' r='12' fill='%23061524' opacity='.55'/%3E%3Ccircle cx='13' cy='13' r='11' fill='url(%23g)'/%3E%3Ccircle cx='13' cy='13' r='10.5' fill='none' stroke='%23FFFFFF' stroke-opacity='.25'/%3E%3Cellipse cx='10' cy='9' rx='3.2' ry='2' fill='%23FFFFFF' opacity='.55'/%3E%3C/svg%3E") center/contain no-repeat}
.rv.a{top:16px;left:16px}.rv.b{top:16px;right:16px}.rv.c{bottom:16px;left:16px}.rv.d{bottom:16px;right:16px}
.pl-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center;font-family:var(--f-plate);font-weight:600;font-size:15px;letter-spacing:.16em;text-transform:uppercase;color:var(--engrave-dim);padding:0 8px 10px;border-bottom:1px solid rgba(234,240,243,.28)}
.fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid rgba(234,240,243,.28)}
.fields>div{padding:11px 12px 11px 0;border-bottom:1px solid rgba(234,240,243,.16);min-width:0}
.fields>div:not(:nth-child(3n)){border-right:1px solid rgba(234,240,243,.16)}
.fields>div:not(:nth-child(3n+1)){padding-left:12px}
.fields small{display:block;font-family:var(--f-plate);font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--engrave-dim)}
.fields span,.fields output{font-family:var(--f-plate);font-weight:600;font-size:clamp(17px,1.6vw,21px);letter-spacing:.02em;font-variant-numeric:tabular-nums}
.fields a{text-decoration-color:rgba(52,194,126,.6);text-decoration-thickness:1px}
.fields a:hover{color:var(--green-lit)}
@media (max-width:620px){
  .fields{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fields>div{border-right:0!important;padding-left:0!important}
  .fields>div:nth-child(odd){border-right:1px solid rgba(234,240,243,.16)!important}
  .fields>div:nth-child(even){padding-left:12px!important}
}

/* Einstieg */
.stage{padding-bottom:56px}
.hero{display:grid;grid-template-columns:minmax(0,var(--hero-plate-fr)) minmax(0,.45fr);gap:28px;align-items:start;padding-top:var(--hero-pad-top)}
@media (max-width:960px){.hero{grid-template-columns:minmax(0,1fr)}}
.hero .plate{padding:clamp(22px,3.4vw,44px)}
.hero h1{margin:14px 8px 10px;font-family:var(--f-disp);font-stretch:68%;font-weight:900;text-transform:uppercase;font-size:clamp(40px,6.2vw,var(--hero-h1-max));line-height:.9;text-wrap:balance;overflow-wrap:anywhere;hyphens:auto}
@media (max-width:400px){.hero h1{font-size:min(40px,calc((100vw - 96px) / 7.3))}}
.hero .sub{margin:0 8px 8px;max-width:70ch;font-size:clamp(17px,1.5vw,var(--hero-sub-size));color:var(--engrave-soft)}
.hero .who{margin:0 8px 16px;max-width:70ch;font-size:clamp(17px,1.5vw,var(--hero-sub-size));color:var(--engrave)}
.hero .fields{margin:0 8px}
@media (min-width:961px){.hero .fields{grid-template-columns:minmax(0,.85fr) minmax(0,1.1fr) minmax(0,1.2fr)}.hero .fields span{font-size:19px}}
.pl-foot{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:18px 8px 0}
.nw{white-space:nowrap}
.side{font-family:var(--f-plate);font-size:20px;line-height:1.35;color:var(--engrave-soft);margin:0;border-top:1px solid rgba(234,240,243,.2);padding-top:14px}
@media (min-width:961px){.side{margin-top:8px}}
@media (prefers-reduced-motion:no-preference){
  .hero .plate{animation:seat .8s cubic-bezier(.16,1,.3,1) both}
  @keyframes seat{from{transform:translateY(10px) rotate(-.4deg)}to{transform:none}}
  .hero .fields>div{animation:etch .5s cubic-bezier(.16,1,.3,1) both}
  .hero .fields>div:nth-child(1){animation-delay:0.25s}.hero .fields>div:nth-child(2){animation-delay:0.29s}.hero .fields>div:nth-child(3){animation-delay:0.33s}
  .hero .fields>div:nth-child(4){animation-delay:0.37s}.hero .fields>div:nth-child(5){animation-delay:0.41s}.hero .fields>div:nth-child(6){animation-delay:0.45s}
  @keyframes etch{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
}

/* Dunkle Textabschnitte */
.dark{padding-block:calc(var(--section-pad) - 8px) var(--section-pad);border-top:1px solid #17304A}
.h2{margin:0 0 22px;font-family:var(--f-disp);font-stretch:70%;font-weight:900;text-transform:uppercase;font-size:clamp(34px,5vw,66px);line-height:.92;text-wrap:balance}
.dark .prose{color:var(--engrave-soft)}
.dark .prose strong{color:var(--engrave);font-weight:600}
.split{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:48px;align-items:start}
@media (min-width:961px) and (min-height:700px){.split>:first-child{position:sticky;top:32px}}
@media (max-width:960px){.split{grid-template-columns:minmax(0,1fr);gap:28px}}

/* Blech */
.sheet{background:var(--steel);color:var(--steel-ink);padding-block:var(--section-pad) calc(var(--section-pad) + 8px);background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.22) 0 1px,transparent 1px 4px)}
.sheet .h2{color:var(--navy)}
.sheet .lead{max-width:62ch;margin:0 0 40px;font-size:18px;color:var(--steel-mute)}
.sheet h3{margin:44px 0 10px;font-family:var(--f-plate);font-weight:700;font-size:24px;letter-spacing:.1em;text-transform:uppercase;color:var(--navy)}
.sheet h3:first-of-type{margin-top:0}
.sheet .h3lead{max-width:62ch;margin:0 0 18px;color:var(--steel-mute)}
.rack{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;align-items:start}
.rack-even{align-items:stretch}
@media (max-width:960px){.rack{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.rack{grid-template-columns:minmax(0,1fr)}}
.tag{position:relative;background:linear-gradient(170deg,#163350,#0C2136);color:var(--engrave);padding:24px 24px 22px;border-radius:3px;scroll-margin-top:24px;
  box-shadow:inset 0 0 0 1px rgba(234,240,243,.12),inset 0 0 0 6px #0C2136,inset 0 0 0 7px rgba(234,240,243,.2);display:flex;flex-direction:column;gap:12px}
.tag .ttl{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.tag .for{margin:-4px 0 2px;padding-bottom:10px;border-bottom:1px solid rgba(234,240,243,.18);font-family:var(--f-plate);font-weight:600;font-size:16px;letter-spacing:.02em;line-height:1.35;color:var(--engrave-soft)}
.tag .for small{font-weight:500;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--engrave-dim);margin-right:6px}
.led{flex:none;width:10px;height:10px;margin-top:6px;border-radius:50%;background:#1E3A55;box-shadow:inset 0 1px 1px rgba(0,0,0,.6);transition:background .3s,box-shadow .3s}
.tag:target .led{background:var(--green-lit);box-shadow:0 0 0 3px rgba(52,194,126,.18),0 0 10px rgba(52,194,126,.55)}
.tag:target{box-shadow:inset 0 0 0 1px rgba(52,194,126,.6),inset 0 0 0 6px #0C2136,inset 0 0 0 7px rgba(52,194,126,.45)}
.tag h4{margin:0;font-family:var(--f-disp);font-stretch:72%;font-weight:850;text-transform:uppercase;font-size:var(--card-h4);line-height:.95;hyphens:auto}
.tag>p:not(.for){margin:0;font-size:16px;line-height:1.55;color:#C3D0DA}
.tag .links{margin-top:auto;padding-top:6px;display:flex;gap:16px;flex-wrap:wrap;font-family:var(--f-plate);font-weight:600;font-size:16px;letter-spacing:.06em}
.tag .links a{color:var(--green-lit)}
.row-cta{margin-top:32px;display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.row-cta span{font-family:var(--f-plate);font-size:17px;letter-spacing:.04em;color:var(--steel-mute)}

/* Messgerät */
#peak-shaving{scroll-margin-top:24px}
.ps{margin-top:72px;padding-top:56px;border-top:1px solid #B8C1C8}
.ps .prose{color:var(--steel-mute)}
.ps .prose p:first-child{color:var(--steel-ink)}
.ps .meter{margin:0}
.ps-cta{margin-top:8px}
@media (min-width:961px) and (min-height:860px){.ps.split>:first-child{position:static}.ps .meter{position:sticky;top:24px}}
@media (max-width:960px){
  .ps.split{display:flex;flex-direction:column;gap:0}
  .ps.split>div:first-child,.ps .prose{display:contents}
  .ps .h2{order:0}.ps .prose p:first-child{order:1}.ps .meter{order:2;margin:8px 0 28px}.ps .prose p{order:3}.ps-cta{order:4;align-self:flex-start}
}
.meter{padding:28px}
.meter .pl-head{margin:0 0 0}
.lamp{display:inline-flex;align-items:center;gap:8px;color:var(--amber)}
.lamp i{width:10px;height:10px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 3px rgba(242,178,51,.18),0 0 10px rgba(242,178,51,.6)}
.meter .fields{margin:0 0 14px;border-top:0}
.legend{display:flex;flex-wrap:wrap;gap:6px 16px;margin:0 0 10px;padding:0;list-style:none;font-family:var(--f-plate);font-size:14.5px;letter-spacing:.03em;color:var(--engrave-soft)}
.legend li{display:flex;align-items:center;gap:7px}
.legend svg{width:26px;height:10px;flex:none}
.screen{position:relative;aspect-ratio:2/1;width:100%;max-width:100%;background:#061524;border-radius:3px;box-shadow:inset 0 2px 8px rgba(0,0,0,.7),inset 0 0 0 1px #1E3A57;overflow:hidden}
.screen canvas{position:absolute;inset:0;width:100%;height:100%}
.scale{display:flex;justify-content:space-between;gap:10px;margin:6px 2px 16px;font-family:var(--f-plate);font-size:14px;letter-spacing:.08em;color:var(--engrave-dim)}
.knob{display:grid;gap:4px;margin-bottom:16px}
.knob label{display:flex;justify-content:space-between;font-family:var(--f-plate);font-weight:600;font-size:16px;letter-spacing:.1em;text-transform:uppercase;color:var(--engrave-soft)}
.knob output{text-transform:none;color:var(--green-lit);font-variant-numeric:tabular-nums}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:30px;background:transparent;margin:0}
input[type=range]::-webkit-slider-runnable-track{height:4px;background:#2A4A6B}
input[type=range]::-moz-range-track{height:4px;background:#2A4A6B}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;margin-top:-10px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#F2F5F7,#7C8C99);border:2px solid #0C2136;box-shadow:0 0 0 1px #5F7A92}
input[type=range]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#C7D2DA;border:2px solid #0C2136}
.ticks{display:flex;justify-content:space-between;font-family:var(--f-plate);font-size:13.5px;letter-spacing:.06em;color:var(--engrave-dim)}
.meter .fields.out{grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid rgba(234,240,243,.28);margin:0}
.meter .fields.out>div{border-right:0!important;padding-left:0!important}
.meter .fields.out>div:nth-child(odd){border-right:1px solid rgba(234,240,243,.16)!important}
.meter .fields.out>div:nth-child(even){padding-left:12px!important}
.meter .fields.out output.g{color:var(--green-lit)}
.meter figcaption{margin-top:12px;font-size:14px;color:var(--engrave-dim)}

/* Mieterstrom */
.ms .plate{padding:clamp(24px,3.4vw,40px)}
.ms .plate .prose{padding:0 8px;color:var(--engrave-soft)}
.ms .plate .prose strong{color:var(--engrave)}
.ms .note{font-family:var(--f-plate);font-size:17px;letter-spacing:.04em;color:var(--engrave-dim);margin:16px 0 0}

/* Ablauf */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;counter-reset:s}
@media (max-width:960px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.steps{grid-template-columns:minmax(0,1fr)}}
.steps li{counter-increment:s;background:var(--sheet-plate);box-shadow:inset 0 0 0 1px #AEB9C2,inset 0 1px 0 1px rgba(255,255,255,.7);border-radius:3px;padding:22px 22px 24px;display:grid;gap:10px;align-content:start}
.steps b{display:flex;gap:12px;align-items:center;font-family:var(--f-disp);font-stretch:75%;font-weight:850;font-size:23px;line-height:1.05;text-transform:uppercase;color:var(--navy)}
.steps b::before{content:counter(s);flex:none;display:grid;place-items:center;width:32px;height:32px;border:1.5px solid var(--navy);border-radius:50%;font-family:var(--f-plate);font-weight:700;font-size:17px;letter-spacing:0;font-variant-numeric:tabular-nums}
.steps p{margin:0;font-size:16px;color:var(--steel-mute)}

.pro{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px}
.pro a{font-family:var(--f-plate);font-weight:600;font-size:17px;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;color:var(--engrave);border:1px solid #2B4866;padding:9px 16px}
.pro a:hover{border-color:var(--green-lit);color:var(--green-lit)}

/* Häufige Fragen */
.faq{display:grid;gap:6px;max-width:860px}
.faq details{background:var(--sheet-plate);box-shadow:inset 0 0 0 1px #AEB9C2,inset 0 1px 0 1px rgba(255,255,255,.7);border-radius:3px}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center;padding:18px 22px;font-family:var(--f-disp);font-stretch:80%;font-weight:800;font-size:21px;line-height:1.3;color:var(--navy);min-width:0;overflow-wrap:anywhere;hyphens:auto}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:12px;height:12px;border-right:2px solid var(--navy);border-bottom:2px solid var(--navy);transform:rotate(45deg) translateY(-3px);transition:transform .25s cubic-bezier(.2,.8,.2,1)}
.faq details[open] summary::after{transform:rotate(225deg) translateY(-3px)}
.faq summary:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.faq .a{padding:0 22px 20px;max-width:70ch;color:var(--steel-mute)}
.faq .a p{margin:0}

/* Anfrage */
.form-plate{padding:clamp(24px,3.4vw,40px)}
.form-plate .pl-head{margin-bottom:22px}
form .grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px}
@media (max-width:620px){form .grid2{grid-template-columns:minmax(0,1fr)}}
.field{display:grid;gap:6px;margin-bottom:16px;padding:0 8px}
.grid2 .field{margin-bottom:0}
.field label,.field legend{font-family:var(--f-plate);font-weight:600;font-size:15px;letter-spacing:.12em;text-transform:uppercase;color:var(--engrave-dim)}
.field input[type=text],.field input[type=email],.field input[type=tel],.field textarea,.field select{width:100%;font:inherit;font-size:17px;color:var(--engrave);background:#081A2C;border:1px solid #2B4866;border-radius:2px;padding:12px 14px}
.field textarea{min-height:140px;resize:vertical}
.field input:focus,.field textarea:focus,.field select:focus{outline:2px solid var(--green-lit);outline-offset:1px;border-color:var(--green-lit)}
.field .hint{margin:0;font-size:14.5px;color:var(--engrave-dim)}
.field-error{display:none;margin:0;font-size:15px;color:#FF9C8A}
.field.has-error .field-error{display:block}
.field.has-error input,.field.has-error textarea{border-color:#FF9C8A}
fieldset.field{border:0;margin:16px 0;padding:0 8px;min-width:0}
.choices{display:grid;gap:14px}
.choices .grp{display:grid;gap:6px}
.choices .grp b{font-family:var(--f-plate);font-weight:500;font-size:14px;letter-spacing:.12em;text-transform:uppercase;color:var(--engrave-dim)}
.choices .opts{display:flex;flex-wrap:wrap;gap:8px}
.chip{position:relative}
.chip input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.chip span{display:inline-block;padding:9px 14px;border:1px solid #2B4866;font-family:var(--f-plate);font-weight:600;font-size:16px;letter-spacing:.04em;color:var(--engrave-soft);transition:background .2s,border-color .2s}
.chip input:hover+span{border-color:var(--engrave-dim);color:var(--engrave)}
.chip input:checked+span{background:var(--green);border-color:var(--green);color:#fff}
.chip input:focus-visible+span{outline:2px solid var(--green-lit);outline-offset:2px}
.consent{display:flex;gap:12px;align-items:flex-start;font-size:15.5px;color:var(--engrave-soft)}
.consent input{width:20px;height:20px;margin-top:2px;accent-color:var(--green)}
.hp{position:absolute;left:-9999px}
.form-foot{display:flex;gap:18px;align-items:center;flex-wrap:wrap;padding:6px 8px 0}
button.cta{cursor:pointer;font-family:var(--f-plate)}
button.cta[disabled]{opacity:.6;cursor:wait}
.form-status{margin:0;font-size:15px}
.form-status.is-error{color:#FF9C8A}
.form-status.is-info{color:var(--engrave-soft)}
.form-status a{color:var(--engrave)}
#form-wrap.is-sent form{display:none}
#form-success{padding:8px;outline:none}
#form-success h3{margin:0 0 8px;font-family:var(--f-disp);font-stretch:75%;font-weight:850;font-size:30px;text-transform:uppercase}
.direct{font-family:var(--f-plate);font-size:20px;letter-spacing:0;color:var(--engrave)}
.direct a{text-decoration-color:rgba(52,194,126,.6)}

/* Fußzeile */
.foot{background:#061220;border-top:1px solid #1D3550;padding-block:44px 52px;color:var(--engrave-dim);font-size:15.5px}
.foot .in{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr);gap:28px}
@media (max-width:820px){.foot .in{grid-template-columns:minmax(0,1fr)}}
.foot b{display:block;color:var(--engrave);font-family:var(--f-plate);font-size:18px;letter-spacing:.04em;margin-bottom:6px}
.foot p{margin:0}
.foot nav{display:grid;gap:6px;align-content:start;font-family:var(--f-plate);font-size:17px;letter-spacing:.04em}
.foot nav a{text-decoration:none}
.foot nav a:hover{color:var(--green-lit)}
.foot .line{font-family:var(--f-plate);letter-spacing:.18em;text-transform:uppercase;font-size:13.5px;margin-top:12px}

/* Unterseiten */
.sub-page{padding-block:56px 80px}
.sub-page h1{margin:0 0 28px;font-family:var(--f-disp);font-stretch:70%;font-weight:900;text-transform:uppercase;font-size:clamp(36px,6vw,64px);line-height:.92}
.sub-page h2{margin:36px 0 10px;font-family:var(--f-plate);font-weight:700;font-size:22px;letter-spacing:.06em;text-transform:uppercase;color:var(--engrave)}
.sub-page .prose{color:var(--engrave-soft)}
.offen{display:inline-block;background:rgba(242,178,51,.15);border:1px dashed var(--amber);color:var(--amber);padding:1px 6px;font-size:.92em}
.ls p{font-size:20px;line-height:1.7;margin:0 0 .4em}
.ls h1,.ls h2{text-transform:none;letter-spacing:0}
.ls h2{font-size:24px}
.ls ul{font-size:20px;line-height:1.7}
.field{align-content:start}
.field label.consent{text-transform:none;letter-spacing:normal;font-family:var(--f-body);font-weight:400;font-size:15.5px;color:var(--engrave-soft)}
.sub-page h1{color:var(--engrave)}
.sub-page .prose p{margin:0 0 1em}
