/* PirnerSys — UI v2 */
:root{
  --ps-deep:#0B2545;
  --ps-deep-2:#0a2040;
  --ps-steel:#13315C;
  --ps-signal:#FF7A1A;
  --ps-signal-2:#e96d10;
  --ps-mint:#3DD8C9;
  --ps-paper:#F7F5EE;
  --ps-paper-2:#F1EDE0;
  --ps-cream:#fbfaf3;
  --ps-ink:#0E1116;
  --ps-ink-soft:#3a3f4a;
  --ps-line:rgba(11,37,69,.08);
  --ps-line-strong:rgba(11,37,69,.15);
  --ps-shadow:0 4px 12px rgba(11,37,69,.04);
  --ps-shadow-hover:0 24px 50px rgba(11,37,69,.10);
  --ps-radius:18px;
  --ps-radius-lg:24px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--ps-paper);color:var(--ps-ink);font-family:Inter,"Helvetica Neue",system-ui,sans-serif;font-size:1.05rem;line-height:1.7;-webkit-font-smoothing:antialiased}

/* ---------- Typography ---------- */
h1,h2,h3,h4{font-family:"Space Grotesk",Inter,system-ui,sans-serif;line-height:1.12;letter-spacing:-.015em;font-weight:700;color:var(--ps-deep);margin:0}
h1{font-size:clamp(2.6rem,5vw,3.8rem);letter-spacing:-.02em}
h2{font-size:clamp(2rem,3.5vw,2.8rem);margin:0 0 .8rem}
h3{font-size:1.35rem;letter-spacing:-.005em}
h4{font-size:1.05rem;color:var(--ps-deep)}
p{margin:.8rem 0}
strong{color:var(--ps-deep);font-weight:600}
em{font-style:italic;color:var(--ps-ink-soft)}
a{color:var(--ps-deep);text-decoration:none;border-bottom:1px solid transparent;transition:color .15s,border-color .15s}
a:hover{color:var(--ps-signal);border-bottom-color:currentColor}
hr{border:none;border-top:1px solid var(--ps-line);margin:2.5rem 0}
code{background:var(--ps-paper-2);padding:.1rem .35rem;border-radius:4px;font-size:.92em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--ps-deep)}

/* ---------- Containers ---------- */
.ps-container{max-width:1200px;margin:0 auto;padding:0 1.5rem}

/* ---------- Header ---------- */
.ps-header{background:rgba(247,245,238,.92);padding:1.1rem 0;border-bottom:1px solid var(--ps-line);backdrop-filter:saturate(180%) blur(8px);position:sticky;top:0;z-index:10}
.ps-header-inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}
.ps-brand{font-family:"Space Grotesk",system-ui,sans-serif;font-weight:700;font-size:1.3rem;color:var(--ps-deep);border:none}
.ps-brand:hover{color:var(--ps-signal)}
.ps-nav{display:flex;gap:1.6rem;align-items:center;flex-wrap:wrap}
.ps-nav a{font-weight:500;font-size:.98rem;border:none;padding:.3rem 0;border-bottom:2px solid transparent}
.ps-nav a:hover{color:var(--ps-deep);border-bottom-color:var(--ps-signal)}
.ps-nav a.active{color:var(--ps-deep);border-bottom-color:var(--ps-signal)}

/* ---------- Buttons ---------- */
.ps-btn,.btn,a.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:999px;font-weight:600;font-size:.95rem;border:1.5px solid transparent;cursor:pointer;transition:all .15s ease;letter-spacing:-.01em;text-decoration:none}
.ps-btn-primary,.btn-primary{background:var(--ps-signal);color:#fff;border-color:var(--ps-signal);box-shadow:0 6px 16px rgba(255,122,26,.25)}
.ps-btn-primary:hover,.btn-primary:hover{background:var(--ps-signal-2);border-color:var(--ps-signal-2);color:#fff;transform:translateY(-1px);box-shadow:0 10px 22px rgba(255,122,26,.35)}
.ps-btn-ghost,.btn-ghost{background:transparent;color:var(--ps-deep);border-color:var(--ps-deep)}
.ps-btn-ghost:hover,.btn-ghost:hover{background:var(--ps-deep);color:#fff}

/* ---------- Main / Page ---------- */
.ps-main{min-height:60vh}
.ps-page{max-width:1280px;margin:0 auto;padding:2rem 1.5rem 4rem}

/* Text-Sektionen außerhalb von Containern */
.ps-page > h2, .ps-page > h3, .ps-page > p, .ps-page > ul, .ps-page > ol, .ps-page > hr, .ps-page > pre, .ps-page > blockquote, .ps-page > table {
  max-width:880px; margin-left:auto; margin-right:auto;
}
.ps-page > h2 {
  margin-top:4.5rem; margin-bottom:1.2rem; padding-top:.4rem; position:relative;
}
.ps-page > h2::before {
  content:""; display:block; width:3rem; height:3px; background:var(--ps-signal);
  margin-bottom:1rem; border-radius:2px;
}
.ps-page > h3 { margin-top:2.5rem; }
.ps-page > h2:first-child, .ps-page > h2 + h2 { margin-top:1rem; }
.ps-page > ul, .ps-page > ol { padding-left:1.4rem; }
.ps-page > ul li, .ps-page > ol li { margin:.3rem 0; }
.ps-page > p:first-of-type { font-size:1.12rem; color:var(--ps-ink-soft); }
.ps-page > section { margin-top:3.5rem; }
.ps-page > section + section { margin-top:3.5rem; }
.ps-page > section + h2 { margin-top:5rem; }
.ps-page > h2 + section { margin-top:1.8rem; }

/* ---------- Section: Hero ---------- */
section.hero{
  background: radial-gradient(ellipse at 15% -10%, #1a4280 0%, var(--ps-deep) 50%, #061230 100%);
  color:#F7F5EE; padding:5.5rem 3rem 5rem; border-radius:var(--ps-radius-lg);
  margin:1rem 0 0; position:relative; overflow:hidden;
}
section.hero::after {
  content:""; position:absolute; right:-8%; top:-30%; width:60%; height:160%;
  background: radial-gradient(circle, rgba(255,122,26,.12) 0%, transparent 60%);
  pointer-events:none;
}
section.hero > * { position:relative; z-index:1; }
section.hero h1, section.hero h2, section.hero h3 { color:#F7F5EE; }
section.hero h1 { margin:.6rem 0 1.4rem; max-width:18ch; }
section.hero p { color:rgba(247,245,238,.85); max-width:60ch; font-size:1.18rem; line-height:1.55; }
section.hero p strong { color:#fff; font-weight:600; }
/* Hero-Eyebrow: erstes Paragraph mit fettem Text */
section.hero p:first-child {
  color:var(--ps-signal); text-transform:uppercase; letter-spacing:.2em; font-size:.82rem; font-weight:700;
  margin:0 0 .4rem; max-width:none;
}
section.hero p:first-child strong { color:var(--ps-signal); font-weight:700; }
section.hero a.btn { margin:1.4rem .6rem 0 0; }
section.hero a.btn-primary { box-shadow:0 10px 24px rgba(255,122,26,.4); }
section.hero a.btn-ghost { color:#F7F5EE; border-color:rgba(247,245,238,.45); }
section.hero a.btn-ghost:hover { background:#F7F5EE; color:var(--ps-deep); border-color:#F7F5EE; }

/* ---------- Section: Cards-Grid ---------- */
section.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;margin:0}
section.cards[data-cols="2"]{grid-template-columns:repeat(2,1fr)}
section.cards[data-cols="4"]{grid-template-columns:repeat(4,1fr)}
section.card{
  background:#fff; border:1px solid var(--ps-line);
  border-radius:var(--ps-radius); padding:2rem 1.8rem;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  box-shadow:var(--ps-shadow); display:flex; flex-direction:column;
}
section.card:hover{transform:translateY(-3px);box-shadow:var(--ps-shadow-hover);border-color:var(--ps-line-strong)}
section.card::before{
  content:attr(data-icon); display:inline-flex; align-items:center; justify-content:center;
  width:2.6rem; height:2.6rem; border-radius:12px;
  background:linear-gradient(135deg, rgba(255,122,26,.13) 0%, rgba(255,122,26,.05) 100%);
  color:var(--ps-signal); font-size:1.4rem; font-weight:700;
  margin-bottom:1.1rem;
}
section.card h3{margin:.2rem 0 .7rem;font-size:1.3rem;color:var(--ps-deep);letter-spacing:-.01em}
section.card p{color:var(--ps-ink-soft);margin:.3rem 0;line-height:1.6;font-size:.97rem}
section.card p:last-child{margin-bottom:0}
section.card strong{color:var(--ps-deep)}

/* ---------- Section: Stats ---------- */
section.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:0;padding:2rem 0}
section.stat{
  text-align:center; padding:1.5rem 1rem;
  background:#fff; border:1px solid var(--ps-line); border-radius:var(--ps-radius);
}
section.stat::before{
  content:attr(data-num); display:block;
  font-family:"Space Grotesk",sans-serif; font-size:2.6rem; font-weight:700;
  color:var(--ps-deep); line-height:1; letter-spacing:-.02em;
}
section.stat::after{
  content:attr(data-label); display:block;
  color:var(--ps-ink-soft); margin-top:.5rem; font-size:.92rem; line-height:1.4;
}

/* ---------- Section: CTA ---------- */
section.cta{
  background:linear-gradient(135deg, var(--ps-paper-2) 0%, var(--ps-cream) 100%);
  padding:4.5rem 2rem; border-radius:var(--ps-radius-lg);
  margin:0; text-align:center;
  border:1px solid var(--ps-line);
}
section.cta p:first-child {
  color:var(--ps-signal); text-transform:uppercase; letter-spacing:.2em;
  font-size:.82rem; font-weight:700; margin:0 0 .8rem;
}
section.cta p:first-child strong { color:var(--ps-signal); }
section.cta h2{margin:.3rem 0 1rem;color:var(--ps-deep)}
section.cta h2::before{display:none}
section.cta p{max-width:55ch;margin-left:auto;margin-right:auto;color:var(--ps-ink-soft);font-size:1.05rem}
section.cta a.btn{margin-top:1.4rem}

/* ---------- Section: Chips ---------- */
section.chips{display:flex;flex-wrap:wrap;justify-content:center;gap:.55rem;margin:1.5rem 0 0}
section.chips p{margin:0;display:flex;flex-wrap:wrap;gap:.55rem;justify-content:center;line-height:1}
section.chips strong{
  display:inline-block; padding:.5rem 1rem;
  border:1.5px solid rgba(255,255,255,.25); border-radius:999px;
  font-size:.82rem; font-weight:600; color:#F7F5EE; background:transparent;
}
section.chips strong.accent{border-color:var(--ps-signal);color:var(--ps-signal);font-weight:700}

/* ---------- Section: Info (Dark Manifest) ---------- */
section.info{
  background:linear-gradient(180deg, var(--ps-deep) 0%, #061a3a 100%);
  color:#F7F5EE; padding:4rem 2.5rem; border-radius:var(--ps-radius-lg);
  margin:0; text-align:center; position:relative; overflow:hidden;
}
section.info::after {
  content:""; position:absolute; left:-10%; bottom:-50%; width:50%; height:120%;
  background: radial-gradient(circle, rgba(61,216,201,.10) 0%, transparent 60%);
  pointer-events:none;
}
section.info > * { position:relative; z-index:1; }
section.info p:first-child:not(:only-child) {
  color:var(--ps-signal); text-transform:uppercase; letter-spacing:.2em;
  font-size:.82rem; font-weight:700; margin:0 0 .6rem;
}
section.info p:first-child:not(:only-child) strong { color:var(--ps-signal); }
section.info h2{color:#F7F5EE;margin:.3rem 0 1.2rem}
section.info h2::before{background:var(--ps-signal);margin-left:auto;margin-right:auto;width:3rem}
section.info p{color:rgba(247,245,238,.85);max-width:62ch;margin:.8rem auto;font-size:1.04rem;line-height:1.7}
section.info strong{color:#F7F5EE;font-weight:600}

/* ---------- Section: Twocol ---------- */
section.twocol{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;margin:0;align-items:start}
section.twocol > * { max-width:none; }
section.twocol h3 { margin-top:0; }

/* ---------- Forms ---------- */
form { margin:0; }
form input[type=text], form input[type=email], form input[type=tel], form input[type=password], form textarea, form select{
  width:100%; padding:.85rem 1rem;
  border:1.5px solid var(--ps-line-strong); border-radius:12px;
  font:inherit; background:#fff; transition:border-color .15s, box-shadow .15s;
}
form input:focus, form textarea:focus, form select:focus{
  outline:none; border-color:var(--ps-signal);
  box-shadow:0 0 0 3px rgba(255,122,26,.15);
}
form textarea{resize:vertical;min-height:120px}
form button[type=submit]{
  background:var(--ps-signal); color:#fff; border:none; border-radius:999px;
  padding:.95rem 1.8rem; font-weight:600; cursor:pointer; font-size:.98rem;
  box-shadow:0 6px 16px rgba(255,122,26,.25); transition:all .15s ease;
}
form button[type=submit]:hover{background:var(--ps-signal-2);transform:translateY(-1px);box-shadow:0 10px 22px rgba(255,122,26,.35)}
.ps-form-consent{font-size:.9rem;display:flex;align-items:flex-start;gap:.55rem;line-height:1.45;color:var(--ps-ink-soft)}
.ps-form-consent input[type=checkbox]{width:auto;margin-top:.3rem;accent-color:var(--ps-signal)}
.ps-form-required{color:#c0241e;font-weight:600}

/* ---------- Footer ---------- */
.ps-footer{background:linear-gradient(180deg,var(--ps-deep) 0%, #061a3a 100%);color:#c9d0dc;padding:5rem 0 2rem;margin-top:5rem}
.ps-footer h3,.ps-footer h4{color:#F7F5EE;margin:0 0 .8rem}
.ps-footer h3{font-size:1.3rem}
.ps-footer h4{font-size:.82rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ps-signal);font-weight:700}
.ps-footer p{color:rgba(247,245,238,.7);margin:.4rem 0;line-height:1.6;font-size:.95rem}
.ps-footer-grid{display:grid;grid-template-columns:2.2fr 1fr 1fr 1fr;gap:2.5rem;margin-bottom:3rem}
.ps-footer a{color:rgba(247,245,238,.9);border-bottom:none}
.ps-footer a:hover{color:var(--ps-signal)}
.ps-footer hr{border:none;border-top:1px solid rgba(255,255,255,.10);margin:2rem 0}
.ps-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin:1rem 0 1.5rem}
.ps-chips span{display:inline-block;padding:.4rem .95rem;border:1.5px solid rgba(255,255,255,.18);border-radius:999px;font-size:.78rem;font-weight:600;color:rgba(247,245,238,.85);letter-spacing:.02em}
.ps-chips span.accent{border-color:var(--ps-signal);color:var(--ps-signal);font-weight:700}
.ps-coop{text-align:center;color:rgba(247,245,238,.75);font-size:.92rem;margin:1rem auto;max-width:60ch}
.ps-coop a{color:var(--ps-signal);font-weight:600}
.ps-copy{text-align:center;color:rgba(247,245,238,.45);font-size:.85rem;letter-spacing:.02em}

/* ---------- Tables ---------- */
.ps-page > table{width:100%;border-collapse:collapse;margin:1.5rem auto;background:#fff;border:1px solid var(--ps-line);border-radius:var(--ps-radius);overflow:hidden}
.ps-page > table th{background:var(--ps-paper-2);text-align:left;padding:.9rem 1rem;font-weight:600;color:var(--ps-deep);border-bottom:1px solid var(--ps-line)}
.ps-page > table td{padding:.85rem 1rem;border-bottom:1px solid var(--ps-line)}
.ps-page > table tr:last-child td{border-bottom:none}
.ps-page > table tr:hover td{background:var(--ps-cream)}

/* ---------- Admin ---------- */
.admin-shell{min-height:100vh;background:var(--ps-paper);display:grid;grid-template-rows:auto 1fr}
.admin-header{background:var(--ps-deep);color:#F7F5EE;padding:1rem 1.5rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}
.admin-header a{color:#F7F5EE;margin-right:1.2rem;border:none;font-weight:500;font-size:.95rem;padding:.2rem 0;border-bottom:2px solid transparent}
.admin-header a:hover{color:var(--ps-signal)}
.admin-header a.active{border-bottom-color:var(--ps-signal);color:var(--ps-signal)}
.admin-header strong{color:#F7F5EE;font-family:"Space Grotesk",sans-serif;letter-spacing:-.01em}
.admin-header form button{background:transparent;border:1px solid rgba(255,255,255,.35);color:#F7F5EE;padding:.4rem 1rem;border-radius:999px;cursor:pointer;font-size:.85rem}
.admin-header form button:hover{background:rgba(255,255,255,.10);border-color:#fff}
.admin-main{padding:2rem 1.5rem;max-width:1200px;margin:0 auto;width:100%}
.admin-main h1{margin:0 0 1.5rem}
.admin-card{background:#fff;border:1px solid var(--ps-line);border-radius:var(--ps-radius);padding:1.6rem;margin-bottom:1.2rem;box-shadow:var(--ps-shadow)}
.admin-card h3{margin:0 0 1rem;color:var(--ps-deep)}
.admin-card table th{background:transparent;border-bottom:1px solid var(--ps-line)}
table{width:100%;border-collapse:collapse}
th{text-align:left;padding:.75rem 1rem;background:var(--ps-paper-2);font-weight:600;color:var(--ps-deep);border-bottom:2px solid var(--ps-line);font-size:.9rem;letter-spacing:.02em;text-transform:uppercase}
td{padding:.75rem 1rem;border-bottom:1px solid var(--ps-line);font-size:.95rem}
tr:hover td{background:var(--ps-cream)}
.badge{display:inline-block;padding:.25rem .7rem;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.badge.new{background:rgba(11,105,182,.12);color:#0b69b6}
.badge.in_progress{background:rgba(176,106,0,.14);color:#b06a00}
.badge.won{background:rgba(27,111,43,.14);color:#1b6f2b}
.badge.lost{background:rgba(164,25,30,.14);color:#a4191e}
.badge.archived{background:rgba(102,102,102,.14);color:#666}

.editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;height:72vh}
.editor-grid textarea{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88rem;line-height:1.55;border:1px solid var(--ps-line-strong);border-radius:12px;padding:1rem;width:100%;height:100%;resize:none}
.editor-grid textarea:focus{outline:none;border-color:var(--ps-signal);box-shadow:0 0 0 3px rgba(255,122,26,.12)}
.editor-preview{background:#fff;border:1px solid var(--ps-line);border-radius:12px;padding:1.5rem;overflow-y:auto}
.editor-preview h1{font-size:1.8rem;margin-bottom:.6rem}
.editor-preview h2{font-size:1.4rem;margin-top:1.6rem}
.editor-preview section.hero{padding:2rem;font-size:.9rem;border-radius:12px}
.editor-preview section.hero h1{font-size:1.6rem}
.editor-preview section.cards{grid-template-columns:1fr;gap:.8rem}
.editor-preview section.card{padding:1rem}
.editor-toolbar{display:flex;gap:.6rem;margin-bottom:1rem;align-items:center;flex-wrap:wrap}
.editor-toolbar form{display:inline}
.flash{padding:.95rem 1.2rem;border-radius:10px;margin-bottom:1.2rem;font-size:.95rem;border:1px solid transparent}
.flash.success{background:rgba(27,111,43,.10);color:#1b6f2b;border-color:rgba(27,111,43,.25)}
.flash.error{background:rgba(164,25,30,.10);color:#a4191e;border-color:rgba(164,25,30,.25)}

/* ---------- Responsive ---------- */
@media (max-width:900px){
  .ps-page{padding:1rem 1rem 3rem}
  section.hero{padding:3.5rem 1.5rem;border-radius:18px}
  section.hero h1{font-size:2.4rem}
  section.cards{grid-template-columns:1fr;gap:1rem}
  section.stats{grid-template-columns:repeat(2,1fr)}
  section.twocol{grid-template-columns:1fr;gap:1.5rem}
  section.info{padding:3rem 1.5rem}
  section.cta{padding:3rem 1.5rem}
  .ps-footer-grid{grid-template-columns:1fr 1fr;gap:1.5rem}
  .ps-nav{gap:1rem}
  .editor-grid{grid-template-columns:1fr;height:auto}
  .editor-grid textarea{min-height:50vh}
  .ps-page > h2{margin-top:3.5rem}
  .ps-page > section{margin-top:2.5rem}
  .ps-page > section + section{margin-top:2.5rem}
}
@media (max-width:560px){
  .ps-footer-grid{grid-template-columns:1fr}
  section.hero{padding:3rem 1.2rem}
  section.hero h1{font-size:2rem}
}

/* ---------- Logo / Brand ---------- */
.ps-brand{display:inline-flex;align-items:center;text-decoration:none;border:none;line-height:0}
.ps-brand img{height:38px;width:auto;display:block;transition:opacity .15s}
.ps-brand:hover img{opacity:.85}
.ps-brand:hover{border:none}

.ps-footer-brand{display:flex;align-items:center;gap:.8rem;margin-bottom:.6rem}
.ps-footer-brand img{height:42px;width:42px;display:block;flex-shrink:0}
.ps-footer-brand h3{margin:0;font-size:1.4rem}

/* Header etwas weniger Padding wegen größerem Logo */
.ps-header{padding:.9rem 0}

@media (max-width:560px){
  .ps-brand img{height:30px}
  .ps-footer-brand img{height:36px;width:36px}
}

/* ---------- Labor / Demo-Boxen ---------- */
.ps-demo{
  background:#fff; border:1px solid var(--ps-line); border-radius:var(--ps-radius);
  padding:1.8rem; margin:1.5rem auto 0; max-width:880px;
  box-shadow:var(--ps-shadow);
}
.ps-demo-inner{display:grid;grid-template-columns:1fr 1fr;gap:1.8rem;align-items:start}
.ps-demo-form{display:flex;flex-direction:column;gap:.8rem}
.ps-demo-label{display:block;font-weight:500;font-size:.95rem;color:var(--ps-deep)}
.ps-demo-label input[type=number]{margin-top:.4rem;max-width:160px}
.ps-demo fieldset{border:1px solid var(--ps-line);border-radius:12px;padding:1rem;display:flex;flex-direction:column;gap:.45rem;margin:0}
.ps-demo fieldset legend{font-weight:600;color:var(--ps-deep);padding:0 .4rem;font-size:.9rem}
.ps-demo fieldset label{display:flex;align-items:center;gap:.5rem;font-size:.92rem;cursor:pointer;line-height:1.4;color:var(--ps-ink-soft)}
.ps-demo fieldset label:hover{color:var(--ps-deep)}
.ps-demo fieldset input[type=checkbox]{accent-color:var(--ps-signal);flex-shrink:0}
.ps-demo-hint{color:#888;font-size:.82rem;margin-left:auto}
.ps-demo-result{background:var(--ps-cream);border-radius:12px;padding:1.2rem;font-size:.92rem;min-height:200px}
.ps-demo-result table{width:100%;border-collapse:collapse;margin-bottom:1rem;background:transparent}
.ps-demo-result td{padding:.35rem .5rem;border-bottom:1px solid var(--ps-line);font-size:.9rem}
.ps-demo-result td:last-child{text-align:right;font-variant-numeric:tabular-nums;color:var(--ps-deep);font-weight:500}
.ps-demo-compare{display:grid;gap:.4rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--ps-line)}
.ps-demo-compare > div{display:flex;justify-content:space-between;align-items:baseline}
.ps-demo-compare span{color:var(--ps-ink-soft);font-size:.88rem}
.ps-demo-compare strong{font-variant-numeric:tabular-nums;font-size:1.1rem;color:var(--ps-deep)}
.ps-demo-savings{padding-top:.5rem;margin-top:.3rem;border-top:1px solid var(--ps-line)}
.ps-demo-savings strong{font-size:1.5rem !important}
.ps-demo-disclaimer{font-size:.78rem;color:#888;margin-top:1rem;line-height:1.4;font-style:italic}

.ps-demo-split{display:grid;grid-template-columns:1fr 1fr;gap:1rem;height:280px}
.ps-demo-split textarea{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88rem;line-height:1.55;border:1.5px solid var(--ps-line-strong);border-radius:12px;padding:1rem;background:#fff;resize:none;width:100%;height:100%}
.ps-demo-split textarea:focus{outline:none;border-color:var(--ps-signal);box-shadow:0 0 0 3px rgba(255,122,26,.12)}
.ps-demo-preview{background:var(--ps-cream);border:1px solid var(--ps-line);border-radius:12px;padding:1rem 1.2rem;overflow-y:auto;font-size:.95rem}
.ps-demo-preview h1{font-size:1.4rem;color:var(--ps-deep);margin:.4rem 0 .6rem}
.ps-demo-preview h2{font-size:1.15rem;color:var(--ps-deep);margin:1rem 0 .4rem}
.ps-demo-preview h3{font-size:1rem;margin:.8rem 0 .3rem}
.ps-demo-preview p{margin:.5rem 0}
.ps-demo-preview ul{margin:.4rem 0;padding-left:1.2rem}
.ps-demo-preview code{background:#fff;border:1px solid var(--ps-line);padding:.1rem .35rem;border-radius:4px;font-size:.82rem}
.ps-demo-preview blockquote{border-left:3px solid var(--ps-signal);padding-left:.8rem;margin:.5rem 0;color:var(--ps-ink-soft);font-style:italic}

.ps-demo-pingresult{flex:1}
.ps-demo-pingstats{display:flex;gap:1.5rem;flex-wrap:wrap}
.ps-demo-pingstats > div{display:flex;flex-direction:column}
.ps-demo-pingstats span{font-size:.78rem;color:var(--ps-ink-soft);text-transform:uppercase;letter-spacing:.05em}
.ps-demo-pingstats strong{font-family:"Space Grotesk",sans-serif;font-size:1.5rem;font-variant-numeric:tabular-nums;color:var(--ps-deep)}

@media (max-width:760px){
  .ps-demo-inner{grid-template-columns:1fr}
  .ps-demo-split{grid-template-columns:1fr;height:auto}
  .ps-demo-split textarea{min-height:200px}
  .ps-demo-preview{min-height:160px}
}

/* ---------- v3 Feintuning ---------- */

/* Text-Pages (impressum/agb/datenschutz/widerrufsbelehrung): viele H2 in Folge */
/* → Akzent-Strich nur beim allerersten H2, restliche dezenter */
.ps-page > h2:nth-of-type(n+2)::before{
  height:2px; width:2rem; background:var(--ps-line-strong); margin-bottom:.5rem;
}
.ps-page > h2:nth-of-type(n+2){
  margin-top:3rem; font-size:clamp(1.6rem,2.6vw,2rem);
}

/* H3 in Text-Body knackiger */
.ps-page > h3{
  font-size:1.2rem; color:var(--ps-deep); margin-top:2rem; margin-bottom:.6rem;
}

/* Erste-Paragraph nur als Lead-Style auf Top-Level (nicht in Cards/Hero/Info) */
section .ps-page p:first-of-type, section.card p:first-of-type, section.info p:first-of-type{
  font-size:inherit; color:inherit;
}

/* Cards Hover-Effekt etwas markanter */
section.card{transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease}
section.card:hover{
  transform:translateY(-4px);
  box-shadow:0 22px 44px rgba(11,37,69,.10), 0 8px 16px rgba(11,37,69,.05);
  border-color:rgba(255,122,26,.35);
}
section.card:hover::before{
  background:linear-gradient(135deg, rgba(255,122,26,.20) 0%, rgba(255,122,26,.08) 100%);
  transform:scale(1.05);
}
section.card::before{transition:background .2s ease, transform .2s ease}

/* Stats: bei :hover leichter Lift */
section.stat{transition:transform .15s ease, box-shadow .15s ease}
section.stat:hover{transform:translateY(-2px);box-shadow:var(--ps-shadow)}

/* Form-Submit-Button: mehr Reibung — größerer Klickbereich */
form button[type=submit]{padding:1rem 2rem;letter-spacing:.01em}
form button[type=submit]:disabled{background:#aaa;cursor:wait;transform:none;box-shadow:none}

/* CTA-Button: leichter Glow */
section.cta a.btn-primary{padding:1rem 2.2rem;font-size:1rem}

/* Hero-Buttons: Spacing harmonisieren */
section.hero a.btn{margin:1.8rem .6rem 0 0}
section.hero a.btn:last-child{margin-right:0}

/* Footer-Brand etwas größer */
.ps-footer-brand img{height:48px;width:48px}
.ps-footer-brand h3{font-size:1.5rem;letter-spacing:-.015em}

/* Footer-Untergliederung-Abstand */
.ps-footer-grid > div > h4{margin-top:0}
.ps-footer-grid > div > p{font-size:.93rem;margin-top:.5rem}
.ps-footer-grid > div > a{font-size:.93rem;line-height:1.9;display:inline-block}

/* Lead-Form: Submit-Button volle Breite auf Mobile */
@media (max-width:760px){
  form button[type=submit]{width:100%}
}

/* Kontakt-Twocol: Abstand zwischen den beiden Spalten harmonischer */
section.twocol{gap:3rem}
section.twocol h3{margin-top:0;font-size:1.2rem;letter-spacing:-.005em;color:var(--ps-deep);padding-bottom:.5rem;border-bottom:1px solid var(--ps-line);margin-bottom:1rem}

/* Info-Block: erstes Paragraph (mit **Text** im Markdown → strong) als Eyebrow */
section.info > p:has(strong:only-child):first-child {
  color:var(--ps-signal); text-transform:uppercase; letter-spacing:.2em;
  font-size:.82rem; font-weight:700; margin:0 0 .6rem;
}
section.info > p:has(strong:only-child):first-child strong { color:var(--ps-signal); }

/* Listen in der Page besser layoutiert */
.ps-page > ul li{padding-left:.3rem}
.ps-page > ul li strong:first-child{display:inline-block;min-width:0}

/* Buttons im normalen Page-Body (außerhalb von Hero/CTA) zentriert wenn sie alleine stehen */
.ps-page p:has(> a.btn:only-child) {text-align:center; margin:2rem 0}

/* Code-Blöcke */
pre{background:var(--ps-paper-2);border:1px solid var(--ps-line);border-radius:10px;padding:1rem;overflow-x:auto;font-size:.88rem;line-height:1.5}
pre code{background:transparent;border:none;padding:0}

/* Section-Übergänge nach Stats: weniger Abstand */
section.stats + h2, section.stats + section{margin-top:3rem}

/* Erste Section nach Hero: bisschen mehr Luft */
section.hero + h2, section.hero + section{margin-top:4rem}

/* Drittletzte Card in Cards-Grid mit data-icon=01/02/03: bei step-cards (01/02/03) anderes Layout */
section.card[data-icon="01"]::before,
section.card[data-icon="02"]::before,
section.card[data-icon="03"]::before {
  font-family:"Space Grotesk",sans-serif; font-size:1.2rem; font-weight:700; letter-spacing:-.02em;
}

/* Eyebrow im Hero auch wenn Markdown ihn als <strong> rendert */
section.hero p:first-child strong:only-child {
  color:var(--ps-signal); font-weight:700;
}

/* Kontakt-Form-Card: leicht abgehoben */
.ps-page section.twocol > div:last-child form,
.ps-page section.twocol form{
  background:#fff; border:1px solid var(--ps-line); border-radius:var(--ps-radius);
  padding:1.5rem; box-shadow:var(--ps-shadow);
}
section.twocol form { margin-top:0; }

/* Lizenzrechner: Summen-Zeile hervorheben */
.ps-demo-result table tr.ps-demo-total td{
  border-top:2px solid var(--ps-deep);
  border-bottom:none;
  padding-top:.7rem;
  font-size:1.05rem;
}
.ps-demo-result table tr.ps-demo-total td strong{color:var(--ps-deep)}
.ps-demo-result table tr.ps-demo-total td:last-child{color:var(--ps-deep);font-weight:700;font-size:1.15rem}

/* ---------- Besuchszähler (dezent im Footer) ---------- */
.ps-visits{color:rgba(247,245,238,.30);font-size:.82em;letter-spacing:.02em}

/* ---------- Cookie-Consent (Marken-Design, mobil-robust: scrollbarer Body + fixer Button-Footer) ---------- */
.ps-consent{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:1rem;background:rgba(11,37,69,.55);backdrop-filter:blur(3px)}
.ps-consent[hidden]{display:none}
.ps-consent-box{display:flex;flex-direction:column;width:100%;max-width:560px;max-height:calc(100vh - 2rem);max-height:calc(100dvh - 2rem);overflow:hidden;background:var(--ps-cream);color:var(--ps-ink);border:1px solid var(--ps-line-strong);border-radius:var(--ps-radius-lg);box-shadow:var(--ps-shadow-hover);animation:ps-consent-pop .25s ease}
@keyframes ps-consent-pop{from{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.ps-consent-box{animation:none}}
.ps-consent-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:1.7rem 1.8rem .6rem}
.ps-consent-title{font-family:"Space Grotesk",system-ui,sans-serif;font-size:1.2rem;color:var(--ps-deep);margin:0 0 .5rem}
.ps-consent-text{margin:0 0 1rem;font-size:.95rem;line-height:1.6;color:var(--ps-ink-soft)}
.ps-consent-text strong{color:var(--ps-deep)}
.ps-consent-text a{color:var(--ps-deep);font-weight:600;border-bottom:1px solid var(--ps-signal)}
.ps-consent-text a:hover{color:var(--ps-signal)}
.ps-consent-options{display:flex;flex-direction:column;gap:.65rem;margin:0 0 .4rem;padding:.9rem 1rem;background:#fff;border:1px solid var(--ps-line);border-radius:var(--ps-radius)}
.ps-consent-opt{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;cursor:pointer;margin:0}
.ps-consent-opt-text{display:flex;flex-direction:column;font-size:.92rem;color:var(--ps-deep)}
.ps-consent-sub{font-weight:400;color:var(--ps-ink-soft);font-size:.85rem;margin-top:.15rem}
.ps-consent-tag{display:inline-block;background:var(--ps-mint);color:var(--ps-deep);font-size:.68rem;font-weight:700;padding:.05rem .45rem;border-radius:999px;vertical-align:middle}
.ps-consent-opt input[type=checkbox]{flex:0 0 auto;width:1.2rem;height:1.2rem;accent-color:var(--ps-signal);margin-top:.15rem}
.ps-consent-actions{flex:0 0 auto;display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;padding:1rem 1.8rem calc(1rem + env(safe-area-inset-bottom,0px));border-top:1px solid var(--ps-line);background:var(--ps-cream)}
.ps-consent-actions .ps-btn{flex:1 1 auto;justify-content:center;white-space:nowrap}
.ps-consent-settings{flex:0 0 auto;background:none;border:none;color:var(--ps-deep);font:inherit;font-weight:600;text-decoration:underline;cursor:pointer;padding:.45rem}
.ps-consent-settings:hover{color:var(--ps-signal)}
@media (max-width:560px){
  /* Mobil: Karte als Bottom-Sheet; Buttons sitzen im fixen Footer und sind immer sichtbar */
  .ps-consent{align-items:flex-end;padding:0}
  .ps-consent-box{max-width:none;max-height:92dvh;border-radius:var(--ps-radius-lg) var(--ps-radius-lg) 0 0}
  .ps-consent-actions{flex-direction:column;align-items:stretch}
  .ps-consent-actions .ps-btn{width:100%}
  .ps-consent-settings{width:100%;text-align:center}
}

/* Footer-Bodytext sauber zentrieren — überschreibt das spezifischere ".ps-footer p" (margin:.4rem 0),
   das sonst das margin:auto von .ps-coop killt und den 60ch-Block linksbündig pinnt. */
.ps-footer .ps-coop{margin:1rem auto;text-align:center}
.ps-footer .ps-copy{margin:.6rem auto 0;text-align:center}

/* ---------- Labor: Live-Markdown-Engine (Punkt 2, ersetzt .ps-demo-split) ---------- */
.ps-md-pipeline{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;align-items:stretch}
.ps-md-col{display:flex;flex-direction:column;min-width:0}
.ps-md-head{display:flex;align-items:center;gap:.5rem;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ps-deep);margin-bottom:.5rem}
.ps-md-dot{display:inline-flex;align-items:center;justify-content:center;width:1.35rem;height:1.35rem;border-radius:999px;background:var(--ps-signal);color:#fff;font-size:.78rem;font-weight:700;flex-shrink:0}
.ps-md-meta{margin-left:auto;font-weight:500;font-size:.74rem;color:var(--ps-ink-soft);text-transform:none;letter-spacing:0;font-variant-numeric:tabular-nums}
.ps-md-col textarea{flex:1 1 auto;min-height:320px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.86rem;line-height:1.55;border:1.5px solid var(--ps-line-strong);border-radius:12px;padding:1rem;background:#fff;resize:vertical;width:100%}
.ps-md-col textarea:focus{outline:none;border-color:var(--ps-signal);box-shadow:0 0 0 3px rgba(255,122,26,.12)}
.ps-md-tabs{display:flex;align-items:center;gap:.4rem;margin-bottom:.5rem;min-height:1.35rem}
.ps-md-tab{appearance:none;border:1px solid var(--ps-line-strong);background:#fff;color:var(--ps-ink-soft);font-size:.8rem;font-weight:600;padding:.32rem .8rem;border-radius:999px;cursor:pointer;transition:all .15s}
.ps-md-tab:hover{border-color:var(--ps-signal);color:var(--ps-deep)}
.ps-md-tab.is-active{background:var(--ps-deep);color:#fff;border-color:var(--ps-deep)}
.ps-md-pane{flex:1 1 auto;min-height:320px;max-height:360px;overflow:auto}
.ps-md-source{margin:0;background:var(--ps-deep);border-radius:12px;padding:1rem 1.2rem}
.ps-md-source code{display:block;white-space:pre-wrap;word-break:break-word;background:transparent;border:none;padding:0;color:#cfe3ff;font-size:.78rem;line-height:1.5;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.ps-md-pane[hidden]{display:none}
.ps-demo-preview table{width:100%;border-collapse:collapse;margin:.7rem 0;font-size:.88rem}
.ps-demo-preview th,.ps-demo-preview td{border:1px solid var(--ps-line);padding:.32rem .55rem;text-align:left}
.ps-demo-preview th{background:var(--ps-paper-2);color:var(--ps-deep);font-weight:600}
@media (max-width:760px){.ps-md-pipeline{grid-template-columns:1fr}.ps-md-pane{max-height:none;min-height:200px}.ps-md-col textarea{min-height:220px}}

/* ---------- Pilot-Aufruf (Startseite) ---------- */
section.pilot{
  background:radial-gradient(ellipse at 82% -25%, #1a4280 0%, var(--ps-deep) 55%, #061230 100%);
  color:#F7F5EE;border-radius:var(--ps-radius-lg);padding:3.6rem 3rem;
  margin:3.5rem auto 0;max-width:1100px;position:relative;overflow:hidden;box-shadow:var(--ps-shadow-hover);
}
section.pilot::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 8% 115%, rgba(255,122,26,.22), transparent 46%);pointer-events:none}
section.pilot > *{position:relative;z-index:1}
.pilot .pilot-badge{display:inline-block;background:var(--ps-signal);color:#fff;font-size:.78rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:.45rem 1.05rem;border-radius:999px;box-shadow:0 6px 16px rgba(255,122,26,.35)}
section.pilot h1{color:#fff;font-size:clamp(1.7rem,3.6vw,2.6rem);line-height:1.1;margin:1.2rem 0 .9rem;max-width:22ch}
section.pilot > p{color:rgba(247,245,238,.86);font-size:1.06rem;max-width:64ch;line-height:1.65;margin:.8rem 0}
section.pilot > p strong{color:#fff}
section.pilot > p em{color:var(--ps-mint);font-style:normal;font-weight:600}
.pilot ul{list-style:none;padding:0;margin:2.1rem 0 2.4rem;display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}
.pilot ul li{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.13);border-radius:14px;padding:1.2rem 1.3rem;margin:0;font-size:.93rem;line-height:1.55;color:rgba(247,245,238,.8)}
.pilot ul li strong{display:block;color:#fff;font-size:1.02rem;margin-bottom:.4rem;font-family:"Space Grotesk",Inter,sans-serif}
.pilot .btn,.pilot .ps-btn{margin:.3rem .6rem .3rem 0}
.pilot .btn-ghost,.pilot .ps-btn-ghost{color:#fff;border-color:rgba(255,255,255,.55);background:transparent}
.pilot .btn-ghost:hover,.pilot .ps-btn-ghost:hover{background:#fff;color:var(--ps-deep);border-color:#fff}
.pilot .pilot-fine{display:block;margin-top:1.4rem;color:rgba(247,245,238,.55);font-size:.86rem;font-style:italic}
@media (max-width:760px){section.pilot{padding:2.4rem 1.5rem}.pilot ul{grid-template-columns:1fr;gap:.8rem}}

/* ---------- Leistungen: Dropdown-Explorer + Detail-Panels ---------- */
.ps-svc-control{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;max-width:880px;margin:1.5rem auto 0}
.ps-svc-control label{font-weight:600;color:var(--ps-deep);font-size:.95rem}
.ps-svc-select{flex:1 1 260px;font-size:1rem;font-family:inherit;font-weight:500;padding:.7rem 1rem;border:1.5px solid var(--ps-line-strong);border-radius:12px;background:var(--ps-cream);color:var(--ps-deep);cursor:pointer;transition:border-color .15s,box-shadow .15s}
.ps-svc-select:hover{border-color:var(--ps-signal)}
.ps-svc-select:focus{outline:none;border-color:var(--ps-signal);box-shadow:0 0 0 3px rgba(255,122,26,.12)}
section.svcpanel{display:none;max-width:880px;margin:1.4rem auto 0;background:#fff;border:1px solid var(--ps-line);border-radius:var(--ps-radius);padding:2rem 2.2rem;box-shadow:var(--ps-shadow)}
section.svcpanel.is-active{display:block;animation:svcfade .25s ease}
@keyframes svcfade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
section.svcpanel h3{color:var(--ps-deep);font-size:1.45rem;margin:0 0 .5rem}
section.svcpanel h4{margin:1.6rem 0 .6rem;text-transform:uppercase;font-size:.82rem;letter-spacing:.12em;color:var(--ps-signal)}
section.svcpanel p{margin:.6rem 0;color:var(--ps-ink-soft);line-height:1.65}
section.svcpanel p strong{color:var(--ps-deep)}
section.svcpanel ul{margin:.6rem 0;padding-left:1.3rem}
section.svcpanel ul li{margin:.4rem 0;line-height:1.55}
section.svcpanel ul li strong{color:var(--ps-deep)}
section.svcpanel blockquote{margin:1.6rem 0 0;background:var(--ps-cream);border-left:4px solid var(--ps-signal);border-radius:0 12px 12px 0;padding:1rem 1.3rem;color:var(--ps-ink-soft);font-style:normal}
section.svcpanel blockquote strong{color:var(--ps-deep)}
section.svcpanel blockquote a{color:var(--ps-signal);font-weight:700}
section.svcpanel.is-ols{border-color:rgba(255,122,26,.4);box-shadow:0 10px 30px rgba(255,122,26,.10)}
section.svcpanel.is-ols h3{position:relative;padding-left:0}
section.svcpanel.is-ols h3::after{content:"Pilot 2026";display:inline-block;vertical-align:middle;margin-left:.7rem;background:var(--ps-signal);color:#fff;font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.28rem .6rem;border-radius:999px;font-family:Inter,system-ui,sans-serif}
@media (max-width:600px){section.svcpanel{padding:1.5rem 1.3rem}}
