/* Stamina (lizenziert): Regular deckt 300-500 ab, SemiBold 600-800; Kursive wird vom Browser schraeggestellt */
@font-face { font-family: "Stamina"; font-weight: 300 500; font-style: normal; font-display: swap; src: url("/web/content/515/Stamina-Regular.woff2") format("woff2"); }
@font-face { font-family: "Stamina"; font-weight: 600 800; font-style: normal; font-display: swap; src: url("/web/content/516/Stamina-SemiBold.woff2") format("woff2"); }
@font-face { font-family: "Commit Mono"; font-weight: 400; font-style: normal; font-display: swap; src: url("/web/content/503/CommitMono-400-Regular.otf") format("opentype"); }
@font-face { font-family: "Commit Mono"; font-weight: 700; font-style: normal; font-display: swap; src: url("/web/content/504/CommitMono-700-Regular.otf") format("opentype"); }
:root{color-scheme:light}html{scroll-behavior:smooth}body{background:#f6f5f1;margin:0}
/* =========================================================
   NOYCE – Editorial-Variante (Vorbild: großformatige Bildwelt,
   riesige Grotesk, ruhige Serif). Gekapselt unter .nv (Odoo-sicher).
   ========================================================= */

.nv {
  --nv-paper: #f6f5f1;
  --nv-stone: #e9e8e3;
  --nv-ink: #1c1f22;
  --nv-slate: #6d8196;
  --nv-slate-l: #99a7b5;
  --nv-apricot: #ffaa6e;
  --nv-peach: #ffcd9b;
  --nv-line: rgba(28, 31, 34, .14);
  --nv-sans: "Stamina", "Helvetica Neue", Arial, system-ui, sans-serif;
  --nv-serif: var(--nv-sans); /* CI: Statements in Stamina Light */
  --nv-mono: "Commit Mono", ui-monospace, Menlo, monospace;
  --nv-heavy: 800;
  --nv-gut: max(20px, env(safe-area-inset-left, 0px));
  --nv-gut-r: max(20px, env(safe-area-inset-right, 0px));
  --nv-ease: cubic-bezier(.16, 1, .3, 1);
  font-family: var(--nv-sans);
  font-size: 1.0625rem;
  line-height: 1.55;
  color: var(--nv-ink);
  -webkit-font-smoothing: antialiased;
  position: relative;
}
@media (min-width: 720px) { .nv { --nv-gut: max(32px, env(safe-area-inset-left, 0px)); --nv-gut-r: max(32px, env(safe-area-inset-right, 0px)); } }
.nv *, .nv *::before, .nv *::after { box-sizing: border-box; }
.nv :where(h1, h2, h3, p, ul, ol, li, figure, figcaption) { margin: 0; padding: 0; }
.nv :where(ul, ol) { list-style: none; }
.nv :where(h1, h2, h3) { font-weight: var(--nv-heavy); color: inherit; text-wrap: balance; }
.nv :where(a), .nv :where(a):hover { color: inherit; text-decoration: none; }
.nv :where(img) { max-width: 100%; display: block; }
.nv [hidden] { display: none !important; }
.nv :focus-visible { outline: 2px solid var(--nv-apricot); outline-offset: 3px; }
.nv .nv-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.nv-wrap { padding-left: var(--nv-gut); padding-right: var(--nv-gut-r); max-width: 1680px; margin-inline: auto; }
.nv [data-rv].is-armed { opacity: 0; transform: translateY(40px); }
.nv [data-rv].is-armed.is-in { opacity: 1; transform: none; transition: opacity 1s var(--nv-ease), transform 1.2s var(--nv-ease); transition-delay: calc(var(--d, 0) * 110ms); }

.nv-dot { display: inline-block; width: .17em; height: .17em; border-radius: .045em; background: var(--nv-apricot); margin-left: .05em; vertical-align: baseline; }
.nv-kicker { font-family: var(--nv-mono); font-size: .75rem; letter-spacing: .16em; text-transform: uppercase; color: var(--nv-slate); margin-bottom: 40px; }
.nv-display { font-size: clamp(3rem, 9vw, 10rem); line-height: .92; letter-spacing: -.03em; }
.nv-giant { font-size: clamp(3.2rem, 10.5vw, 12.5rem); line-height: .9; letter-spacing: -.035em; }
.nv-serif-xl { font-family: var(--nv-serif); font-weight: 300; font-size: clamp(1.9rem, 4.6vw, 5rem); line-height: 1.06; letter-spacing: -.035em; max-width: 26ch; text-wrap: balance; }
.nv-serif-xl em, .nv-serif-m em, .nv-horizon em { font-style: normal; color: var(--nv-slate-l); }
.nv-serif-m { font-family: var(--nv-serif); font-weight: 300; font-size: clamp(1.3rem, 2vw, 2rem); line-height: 1.22; letter-spacing: -.02em; max-width: 30ch; }

/* ---------- Navigation: Ecken-Links wie im Editorial ---------- */
.nv-nav { position: fixed; inset: 0 0 auto; z-index: 1000; color: #fff; padding-top: env(safe-area-inset-top, 0px); transition: color .35s, background-color .35s; }
.nv-nav-in { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 16px; height: 56px; padding-left: var(--nv-gut); padding-right: var(--nv-gut-r); font-family: var(--nv-sans); font-size: .75rem; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; }
.nv-nav-brand { display: inline-flex; align-items: center; gap: 10px; letter-spacing: .2em; font-weight: 700; }
.nv-nav-in { font-family: var(--nv-mono); font-weight: 400; letter-spacing: .12em; }
.nv-nav-brand svg { width: 20px; height: 20px; fill: var(--nv-apricot); }
.nv-nav-mid { justify-self: center; opacity: .85; }
.nv-nav-links { justify-self: end; display: flex; gap: 24px; }
.nv-nav-links a { opacity: .9; transition: opacity .2s; }
.nv-nav-links a:hover { opacity: 1; text-decoration: underline; text-underline-offset: 4px; }
.nv-nav.is-scrolled { color: var(--nv-ink); background: rgba(246, 245, 241, .86); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
@media (max-width: 640px) { .nv-nav-mid { display: none; } .nv-nav-in { grid-template-columns: 1fr auto; } .nv-nav-links { gap: 16px; } }

/* ---------- Hero ---------- */
.nv-hero { position: relative; height: 100svh; min-height: 620px; max-height: 1200px; overflow: hidden; background: #cfc9bf; color: #fff; }
.nv-hero-media { position: absolute; inset: 0; z-index: 0; isolation: isolate; overflow: hidden; }
.nv-hero-shade { z-index: 1; }
.nv-hero-intro, .nv-hero-bottom, .nv-hero-pause { z-index: 2; }
.nv-slide { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; will-change: opacity, transform; }
.nv-slide:first-child { opacity: 1; }
.nv-hero-shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(20, 22, 26, .5) 0%, rgba(20, 22, 26, 0) 34%, rgba(20, 22, 26, 0) 52%, rgba(20, 22, 26, .42) 100%); }
.nv-hero-intro { font-weight: 300; position: absolute; top: calc(72px + env(safe-area-inset-top, 0px)); left: var(--nv-gut); width: min(calc(100% - 2 * var(--nv-gut)), 760px); text-align: left; font-family: var(--nv-serif); font-size: clamp(1.25rem, 2.3vw, 2.25rem); line-height: 1.18; letter-spacing: -.01em; text-wrap: balance; text-shadow: 0 1px 24px rgba(0, 0, 0, .18); }
.nv-hero-bottom { position: absolute; left: var(--nv-gut); right: var(--nv-gut-r); bottom: max(18px, env(safe-area-inset-bottom, 0px)); }
.nv-hero-pre { font-family: var(--nv-sans); font-weight: 300; font-style: italic; font-size: clamp(1.4rem, 3vw, 3rem); line-height: 1; margin-bottom: .1em; padding-left: .05em; text-shadow: 0 1px 24px rgba(0, 0, 0, .2); }
.nv-word { overflow: hidden; line-height: .82; padding-bottom: .02em; font-weight: var(--nv-heavy); letter-spacing: -.02em; white-space: nowrap; font-size: 20vw; }
.nv-word-in { display: inline-block; }
.nv-word-in > span { display: inline-block; will-change: transform; }
.nv-word .nv-dot { width: .16em; height: .16em; }
.nv-word .nv-mark { display: inline-block; width: .62em; height: .62em; margin-left: .08em; vertical-align: -.02em; fill: var(--nv-apricot); }
.nv-ticks { display: flex; gap: 6px; margin-top: 14px; }
.nv-ticks i { flex: 1; height: 2px; background: rgba(255, 255, 255, .32); position: relative; overflow: hidden; }
.nv-ticks i b { position: absolute; inset: 0; background: #fff; transform-origin: left; transform: scaleX(0); }
.nv-hero-pause { position: absolute; right: var(--nv-gut-r); top: calc(72px + env(safe-area-inset-top, 0px)); font-family: var(--nv-mono); font-size: .6875rem; letter-spacing: .12em; text-transform: uppercase; color: #fff; background: rgba(0, 0, 0, .18); border: 1px solid rgba(255, 255, 255, .35); border-radius: 999px; padding: 6px 12px; cursor: pointer; }
@media (max-width: 720px) { .nv-hero-intro { font-size: 1.125rem; top: 70px; width: calc(100% - 2 * var(--nv-gut)); } .nv-hero-pause { top: auto; bottom: 120px; } }
.nv-hero[data-mode="video"] .nv-hero-pause { display: none; }

/* ---------- Statement ---------- */
.nv-statement { background: var(--nv-paper); padding-block: clamp(110px, 16vw, 260px); }

/* ---------- Vollbild mit Riesentext ---------- */
.nv-full { position: relative; height: 100svh; min-height: 560px; max-height: 1100px; overflow: hidden; color: #fff; background: #8a95a0; }
.nv-full-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.nv-full::after { content: ""; background: linear-gradient(180deg, rgba(14, 22, 30, .55) 0%, rgba(14, 22, 30, .2) 38%, rgba(14, 22, 30, 0) 58%) !important; z-index: 0; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(255, 246, 240, .35) 0%, rgba(255, 246, 240, 0) 40%); }
.nv-full-text { position: absolute; left: var(--nv-gut); right: var(--nv-gut-r); top: clamp(72px, 8vw, 120px); z-index: 1; display: grid; gap: 20px; }
.nv-full-sub { font-family: var(--nv-serif); font-weight: 400; text-shadow: 0 1px 18px rgba(0,0,0,.3); font-size: clamp(1.25rem, 2vw, 1.875rem); max-width: 34ch; }

/* ---------- Drei Orte ---------- */
.nv-places { background: var(--nv-paper); padding-block: clamp(100px, 13vw, 200px); }
.nv-places-head { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: clamp(32px, 5vw, 96px); align-items: end; margin-bottom: clamp(56px, 7vw, 112px); }
.nv-places-head > * { min-width: 0; }
.nv-triptych { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(12px, 1.6vw, 24px); }
.nv-tile { display: grid; gap: 16px; }
.nv-tile:nth-child(2) { margin-top: clamp(0px, 8vw, 140px); }
.nv-tile:nth-child(3) { margin-top: clamp(0px, 4vw, 70px); }
.nv-tile-img { position: relative; aspect-ratio: 3 / 4; overflow: hidden; background: #d9d6cf; }
.nv-tile-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1.6s var(--nv-ease); }
.nv-tile:hover img { transform: scale(1.04); }
.nv-tile figcaption { display: flex; align-items: baseline; gap: 12px; }
.nv-tile b { font-size: clamp(2rem, 4.4vw, 4.5rem); font-weight: var(--nv-heavy); letter-spacing: -.025em; line-height: 1; }
.nv-tile span { font-family: var(--nv-serif); font-weight: 300; font-style: italic; font-size: clamp(1.125rem, 1.8vw, 1.625rem); color: var(--nv-slate); }
.nv-note { margin-top: clamp(56px, 7vw, 100px); font-family: var(--nv-mono); font-size: .8125rem; color: var(--nv-slate); display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.nv-pulse { width: 8px; height: 8px; border-radius: 50%; background: #3fae7a; display: inline-block; animation: nv-pulse 2s infinite; box-shadow: 0 0 0 0 rgba(63, 174, 122, .5); }
@keyframes nv-pulse { 70% { box-shadow: 0 0 0 10px rgba(63, 174, 122, 0); } 100% { box-shadow: 0 0 0 0 rgba(63, 174, 122, 0); } }
@media (max-width: 860px) { .nv-places-head { grid-template-columns: 1fr; } .nv-triptych { grid-template-columns: 1fr; gap: 40px; } .nv-tile:nth-child(n) { margin-top: 0; } }

/* ---------- Vision ---------- */
.nv-vision { background: var(--nv-paper); padding-bottom: clamp(100px, 13vw, 200px); }
.nv-band { position: relative; aspect-ratio: 16 / 8; min-height: 380px; overflow: hidden; color: #fff; background: #5d7a5a; }
.nv-band img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.nv-band::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(14, 18, 22, .5), rgba(14, 18, 22, 0) 55%); }
.nv-band-text { position: absolute; left: var(--nv-gut); right: var(--nv-gut-r); bottom: clamp(20px, 3.4vw, 48px); z-index: 1; font-size: clamp(2.6rem, 8.4vw, 10rem); }
.nv-vision { padding-block: clamp(100px, 13vw, 200px); background: var(--nv-stone); }
.nv-vision-h { max-width: 14ch; margin-bottom: clamp(64px, 8vw, 120px); }
.nv-horizon { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(24px, 3vw, 48px); position: relative; padding-top: 44px; }
.nv-horizon::before { content: ""; position: absolute; left: 0; right: 0; top: 7px; height: 1px; background: linear-gradient(90deg, #ec8142, var(--nv-slate-l) 60%, rgba(153, 167, 181, 0)); }
.nv-horizon li { position: relative; display: grid; gap: 14px; align-content: start; }
.nv-horizon li::before { content: ""; position: absolute; left: 0; top: -44px; width: 15px; height: 15px; border-radius: 4.5px; background: var(--nv-stone); border: 1.5px solid #ec8142; }
.nv-horizon li:first-child::before { background: var(--nv-apricot); border-color: var(--nv-apricot); }
.nv-horizon small { font-family: var(--nv-mono); font-size: .75rem; letter-spacing: .16em; text-transform: uppercase; color: var(--nv-slate); }
.nv-horizon h3 { font-size: clamp(1.6rem, 2.6vw, 2.5rem); font-weight: 500; letter-spacing: -.03em; line-height: 1.05; }
.nv-horizon p { font-weight: 400; color: #3c4854; max-width: 34ch; }
@media (max-width: 860px) {
  .nv-horizon { grid-template-columns: 1fr; padding-top: 0; padding-left: 40px; gap: 48px; }
  .nv-horizon::before { left: 7px; right: auto; top: 0; bottom: 0; width: 1px; height: auto; background: linear-gradient(180deg, #ec8142, var(--nv-slate-l) 70%, rgba(153, 167, 181, 0)); }
  .nv-horizon li::before { left: -40px; top: 2px; }
}

/* ---------- Drei Orte: Hervorhebung ---------- */
.nv-word .nv-by { display: inline-block; font-weight: 300; font-style: italic; font-size: .26em; letter-spacing: 0; margin-right: .22em; }
.nv-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(20px, 3vw, 48px); margin-top: clamp(100px, 12vw, 190px); align-items: start; }
.nv-card { display: grid; gap: 28px; }
.nv-card:nth-child(2) { margin-top: clamp(0px, 12vw, 200px); }
.nv-card-img { position: relative; aspect-ratio: 4 / 5; overflow: hidden; background: #d9d6cf; }
.nv-card-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1.6s var(--nv-ease); }
.nv-card:hover img { transform: scale(1.03); }
.nv-card h3 { font-size: clamp(2rem, 4.2vw, 4.4rem); line-height: .98; letter-spacing: -.025em; }
.nv-card h3 span { color: var(--nv-slate); }
.nv-card:first-child h3 span { color: var(--nv-ink); box-shadow: inset 0 -.18em 0 var(--nv-apricot); }
@media (max-width: 760px) { .nv-cards { grid-template-columns: 1fr; } .nv-card:nth-child(2) { margin-top: 0; } }

/* ---------- Kontakt ---------- */
.nv-contact { background: var(--nv-paper); padding-block: clamp(100px, 13vw, 200px); }
.nv-contact-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(40px, 6vw, 120px); margin-top: clamp(56px, 7vw, 112px); align-items: start; }
.nv-person { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 24px 28px; align-items: end; }
.nv-person figure { position: relative; aspect-ratio: 4 / 5; overflow: hidden; background: #d9d6cf; }
.nv-person figure img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.nv-person-meta { display: grid; gap: 6px; }
.nv-person-name { font-size: clamp(1.5rem, 2.4vw, 2.25rem); font-weight: 700; letter-spacing: -.03em; line-height: 1.05; }
.nv-person-role { font-family: var(--nv-mono); font-size: .75rem; letter-spacing: .14em; text-transform: uppercase; color: var(--nv-slate); }
.nv-person-mail { justify-self: start; margin-top: 14px; font-family: var(--nv-mono); font-size: 1rem; color: var(--nv-ink); background: none; border: 0; border-bottom: 1px solid var(--nv-apricot); padding: 0 0 4px; cursor: copy; user-select: all; }
.nv-person .nv-serif-m { grid-column: 1 / -1; margin-top: 16px; }
.nv-people { margin-top: 48px; border-top: 1px solid var(--nv-line); }
.nv-people li { display: grid; grid-template-columns: 1fr auto; gap: 2px 16px; padding: 18px 0; border-bottom: 1px solid var(--nv-line); }
.nv-people b { font-size: 1.25rem; font-weight: 500; letter-spacing: -.02em; }
.nv-people span { font-family: var(--nv-mono); font-size: .75rem; letter-spacing: .14em; color: var(--nv-slate); align-self: center; grid-row: span 2; grid-column: 2; }
.nv-people button { grid-column: 1; justify-self: start; font-family: var(--nv-mono); font-size: .875rem; color: var(--nv-slate); background: none; border: 0; padding: 0; cursor: copy; user-select: all; }
.nv-people button:hover { color: var(--nv-ink); }
.nv-form form, .nv-form .s_website_form form { display: grid; grid-template-columns: 1fr 1fr; gap: 28px 24px; }
.nv-form .nv-field, .nv-form .s_website_form_field { display: grid; gap: 6px; margin: 0 !important; padding: 0 !important; }
.nv-form .is-full, .nv-form .s_website_form_submit, .nv-form .s_website_form_field:has(textarea) { grid-column: 1 / -1; }
.nv-form label, .nv-form .s_website_form_label { font-family: var(--nv-mono); font-size: .6875rem !important; letter-spacing: .14em; text-transform: uppercase; color: var(--nv-slate); width: auto !important; padding: 0 !important; }
.nv-form input, .nv-form textarea, .nv-form .form-control { width: 100%; font-family: var(--nv-sans); font-weight: 300; font-size: clamp(1.25rem, 1.8vw, 1.625rem); color: var(--nv-ink); background: transparent; border: 0; border-bottom: 1px solid rgba(28, 31, 34, .35); border-radius: 0; padding: 10px 0; box-shadow: none; transition: border-color .2s; }
.nv-form textarea { min-height: 120px; resize: vertical; }
.nv-form input:focus, .nv-form textarea:focus, .nv-form .form-control:focus { outline: none; border-bottom-color: var(--nv-apricot); box-shadow: none; }
.nv-form ::placeholder { color: rgba(28, 31, 34, .35); }
.nv-legal { grid-column: 1 / -1; font-size: .8125rem; color: var(--nv-slate); }
.nv-form .btn-primary, .nv-form button[type="submit"], .nv-form .s_website_form_send { justify-self: start; background: var(--nv-ink) !important; color: var(--nv-paper) !important; border: 0 !important; border-radius: 999px !important; padding: 18px 30px !important; font-family: var(--nv-sans); font-weight: 500; font-size: 1rem; cursor: pointer; transition: background-color .2s; }
.nv-form .btn-primary:hover, .nv-form button[type="submit"]:hover { background: #3c4854 !important; }
.nv-form-ok { display: grid; gap: 12px; }
@media (max-width: 860px) { .nv-contact-grid { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .nv-form form, .nv-form .s_website_form form { grid-template-columns: 1fr; } }

/* ---------- Footer: Wortmarke über volle Breite ---------- */
.nv-foot { background: var(--nv-paper); overflow: hidden; padding-top: 28px; border-top: 1px solid var(--nv-line); }
.nv-foot-bar { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px 32px; padding-left: var(--nv-gut); padding-right: var(--nv-gut-r); font-size: .75rem; letter-spacing: .1em; text-transform: uppercase; font-weight: 500; }
.nv-foot-bar nav { display: flex; gap: 24px; }
.nv-wordmark { font-weight: var(--nv-heavy); letter-spacing: -.03em; line-height: .78; font-size: 27.5vw; text-align: center; margin-top: .06em; margin-bottom: -.035em; color: var(--nv-ink); white-space: nowrap; }

@media (prefers-reduced-motion: reduce) {
  .nv *, .nv *::before, .nv *::after { animation: none !important; transition: none !important; }
  .nv [data-rv].is-armed { opacity: 1; transform: none; }
}

/* ---------- Clean-Hero: rein typografisch, ohne Bilder ---------- */
.nv-hero { --hb: #e9e8e3; --hf: #1c1f22; --hw: #1c1f22; --hm: rgba(28,31,34,.18); background: var(--hb); color: var(--hf); }
.nv-hero .nv-hero-intro, .nv-hero .nv-hero-pre { text-shadow: none; color: var(--hf); }
.nv-hero .nv-word { color: var(--hw); }
.nv-hero .nv-ticks i { background: var(--hm); }
.nv-hero .nv-ticks i b { background: var(--hf); }
.nv-hero .nv-hero-pause { color: var(--hf); background: transparent; border-color: var(--hm); }
.nv-hero-grid { position: absolute; inset: 0; pointer-events: none; background-image: linear-gradient(var(--hm) 1px, transparent 1px); background-size: 100% 25%; opacity: .35; }
.nv-nav:not(.is-scrolled) { color: var(--nv-ink); }

/* Batterieanzeige statt Fortschrittsstrichen: füllt sich über den 15-s-Loop von 18 auf 100 % */
.nv-batt { display: flex; align-items: center; gap: 14px; margin-top: 18px; font-family: var(--nv-mono); font-size: .9375rem; letter-spacing: .04em; color: var(--hf); font-variant-numeric: tabular-nums; }
.nv-batt-cell { flex: 1; display: grid; grid-template-columns: repeat(24, 1fr); gap: 4px; height: 26px; padding: 4px; border: 2px solid var(--hf); border-radius: 6px; }
.nv-batt-cell i { display: block; border-radius: 1px; background: var(--hm); }
.nv-batt-cell i.on { background: var(--hf); }
.nv-batt-cell i.hot { background: #ffaa6e; }
.nv-batt-cap { width: 6px; height: 12px; margin-left: -12px; background: var(--hf); border-radius: 0 2px 2px 0; }
.nv-batt-soc, .nv-batt-kwh { white-space: nowrap; min-width: 9ch; }
.nv-batt-kwh { text-align: right; }
@media (max-width: 560px) { .nv-batt-kwh { display: none; } }

/* ---------- Odoo: Standardregel "section > * { position: relative }" für absolut gesetzte Ebenen aufheben ---------- */
.nv.nv-hero > .nv-hero-intro, .nv.nv-hero > .nv-hero-bottom, .nv.nv-hero > .nv-hero-pause, .nv.nv-full > .nv-full-img, .nv.nv-full > .nv-full-text { position: absolute; }

/* ---------- Odoo-Formular: versteckte Felder belegen keine Rasterzelle ---------- */
.nv-form .s_website_form_dnone { display: none !important; }

/* ---------- Kontakt-Headline: etwas mehr Zeilenabstand, damit sich p und b nicht beruehren ---------- */
.nv-contact .nv-display { line-height: 1; }
