.jh-nlf { font-family: var(--body, "Inter", "Helvetica Neue", Arial, sans-serif); color: var(--paper, #EEECE6); max-width: 520px; }
.jh-nlf-lead { margin: 0 0 18px; }
.jh-nlf-form { margin: 0; }
.jh-nlf-lang { border: 0; margin: 0 0 14px; padding: 0; min-width: 0; }
.jh-nlf-lang legend { padding: 0; margin: 0 0 8px; font: 600 12px/1 var(--disp, "Epilogue", "Helvetica Neue", Arial, sans-serif); letter-spacing: .16em; text-transform: uppercase; color: var(--mute, #A2A7B2); }
.jh-nlf-seg { display: inline-flex; border: 1px solid var(--line, rgba(238,236,230,.12)); border-radius: var(--r, 4px); overflow: hidden; }
.jh-nlf-seg label { position: relative; margin: 0; cursor: pointer; }
.jh-nlf-seg label + label { border-left: 1px solid var(--line, rgba(238,236,230,.12)); }
.jh-nlf-seg input { position: absolute; opacity: 0; inset: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.jh-nlf-seg span { display: block; padding: 9px 16px; font: 600 13px/1 var(--disp, "Epilogue", "Helvetica Neue", Arial, sans-serif); letter-spacing: .1em; color: var(--mute, #A2A7B2); transition: background .2s, color .2s; }
.jh-nlf-seg label:hover span { color: var(--paper, #EEECE6); }
.jh-nlf-seg input:checked + span { background: var(--sand, #E5C38A); color: var(--navy, #1F2736); }
.jh-nlf-seg input:focus-visible + span { outline: 2px solid var(--sand, #E5C38A); outline-offset: 2px; }
.jh-nlf-row { display: flex; gap: 10px; }
.jh-nlf-row input[type=email] { flex: 1 1 auto; min-width: 0; margin: 0; background: rgba(238,236,230,.05); border: 1px solid var(--line, rgba(238,236,230,.12)); border-radius: var(--r, 4px); color: var(--paper, #EEECE6); font: 400 16px/1.4 var(--body, "Inter", "Helvetica Neue", Arial, sans-serif); padding: 13px 14px; transition: border-color .2s; box-shadow: none; }
.jh-nlf-row input[type=email]::placeholder { color: var(--mute, #A2A7B2); opacity: 1; }
.jh-nlf-row input[type=email]:focus { border-color: var(--sand, #E5C38A); outline: none; box-shadow: none; }
.jh-nlf-row button { flex: 0 0 auto; margin: 0; cursor: pointer; background: var(--sand, #E5C38A); color: var(--navy, #1F2736); border: 1px solid var(--sand, #E5C38A); border-radius: var(--r, 4px); padding: 14px 20px; font: 600 14px/1 var(--disp, "Epilogue", "Helvetica Neue", Arial, sans-serif); letter-spacing: .04em; text-transform: none; white-space: nowrap; transition: transform .2s, opacity .2s; }
.jh-nlf-row button:hover { transform: translateY(-2px); background: var(--sand, #E5C38A); color: var(--navy, #1F2736); }
.jh-nlf-row button[disabled] { opacity: .55; cursor: default; transform: none; }
.jh-nlf-sr, .jh-nlf-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.jh-nlf-note { margin: 12px 0 0; font-size: 13px; color: var(--mute, #A2A7B2); }
.jh-nlf-note a { color: var(--mute, #A2A7B2); text-decoration: underline; text-underline-offset: 3px; }
.jh-nlf-note a:hover { color: var(--sand, #E5C38A); }
.jh-nlf-msg { margin: 14px 0 0; min-height: 1.5em; font-size: 15px; }
.jh-nlf-msg.is-err { color: #f0a58f; }
.jh-nlf.is-done .jh-nlf-lang, .jh-nlf.is-done .jh-nlf-row, .jh-nlf.is-done .jh-nlf-note, .jh-nlf.is-done .jh-nlf-lead { display: none; }
.jh-nlf.is-done .jh-nlf-msg { margin: 0; font-size: 18px; line-height: 1.5; color: var(--paper, #EEECE6); }
@media (max-width: 480px) { .jh-nlf-row { flex-direction: column; } .jh-nlf-row button { width: 100%; } }
@media (prefers-reduced-motion: reduce) { .jh-nlf * { transition: none !important; } }

/* Variante mit Namensfeldern (Landingpage) */
.jh-nlf-names { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 18px; }
.jh-nlf-f { display: block; min-width: 0; margin: 0 0 18px; }
.jh-nlf-names .jh-nlf-f { margin: 0; }
.jh-nlf-k { display: block; margin: 0 0 8px; font: 600 12px/1 var(--disp, "Epilogue", "Helvetica Neue", Arial, sans-serif); letter-spacing: .16em; text-transform: uppercase; color: var(--mute, #A2A7B2); }
.jh-nlf-f input { width: 100%; margin: 0; background: rgba(238,236,230,.05); border: 1px solid var(--line, rgba(238,236,230,.12)); border-radius: var(--r, 4px); color: var(--paper, #EEECE6); font: 400 16px/1.4 var(--body, "Inter", "Helvetica Neue", Arial, sans-serif); padding: 14px; transition: border-color .2s; box-shadow: none; }
.jh-nlf-f input:focus { border-color: var(--sand, #E5C38A); outline: none; box-shadow: none; }
.jh-nlf-go { margin: 6px 0 0; cursor: pointer; background: var(--sand, #E5C38A); color: var(--navy, #1F2736); border: 1px solid var(--sand, #E5C38A); border-radius: var(--r, 4px); padding: 16px 26px; font: 600 15px/1 var(--disp, "Epilogue", "Helvetica Neue", Arial, sans-serif); letter-spacing: .04em; text-transform: none; transition: transform .2s, opacity .2s; }
.jh-nlf-go:hover { transform: translateY(-2px); background: var(--sand, #E5C38A); color: var(--navy, #1F2736); }
.jh-nlf-go[disabled] { opacity: .55; cursor: default; transform: none; }
.jh-nlf.is-done .jh-nlf-names, .jh-nlf.is-done .jh-nlf-f, .jh-nlf.is-done .jh-nlf-go { display: none; }
@media (max-width: 480px) { .jh-nlf-names { grid-template-columns: minmax(0, 1fr); } .jh-nlf-go { width: 100%; } }
