/* ==================================================================
   STODA · Pressebereich: Datenblatt, Download-Tafel, Key-Anfrage
   ================================================================== */
.pr-jump{margin-top:22px}
.pr-sec{padding-top:clamp(50px,7vw,90px);scroll-margin-top:calc(var(--nav-h) + 10px)}
.pr-head{display:grid;gap:8px;margin-bottom:26px;max-width:72ch}
.pr-head p:not(.label){color:var(--dim)}
.pr-note{margin-top:14px;color:var(--stone);font-size:.92rem}
#datenblatt{scroll-margin-top:calc(var(--nav-h) + 10px)}
.pr svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
/* ---------- Datenblatt ---------- */
.fs{display:grid;grid-template-columns:300px minmax(0,1fr);border-radius:var(--r-l);overflow:clip;background:linear-gradient(180deg,rgba(28,22,17,.92),rgba(14,12,10,.95))}
.fs-side{padding:24px 22px;border-right:1px solid rgba(227,139,61,.28);background:repeating-linear-gradient(90deg,rgba(0,0,0,.08) 0 2px,transparent 2px 9px),linear-gradient(180deg,var(--oak-top),var(--oak-bot))}
.fs-logo{font-family:var(--f-display);font-weight:900;font-size:calc(2.6rem * var(--hs,1));line-height:1;letter-spacing:.04em}
.fs-logo span{color:var(--ember)}
.fs-side .tag{color:var(--dim);font-style:italic;margin-top:6px;font-size:.98rem}
.fs-dl{margin:20px 0 0;display:grid}
.fs-dl > div{display:grid;gap:2px;padding:10px 0;border-top:1px solid rgba(235,225,203,.1)}
.fs-dl dt{font-family:var(--f-label);letter-spacing:.14em;text-transform:uppercase;font-size:.64rem;color:rgba(235,225,203,.6)}
.fs-dl dd{margin:0;font-size:.98rem;overflow-wrap:anywhere}
.fs-dl dd a{color:var(--parchment);text-decoration-color:rgba(227,139,61,.6)}
.fs-main{min-width:0}
.fs-hero{height:clamp(180px,24vw,280px)}
.fs-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(14,12,10,.95),transparent 60%)}
.fs-body{padding:0 clamp(20px,3vw,34px) 28px;margin-top:-40px;position:relative;z-index:1;display:grid;gap:14px}
.fs-body .meta{font-family:var(--f-label);letter-spacing:.1em;text-transform:uppercase;font-size:.68rem;color:var(--stone)}
.fs-body h2{margin:0;font-family:var(--f-display);font-size:calc(clamp(1.9rem,3.2vw,2.6rem) * var(--hs,1));line-height:1.05}
.fs-body h3{margin:6px 0 0;font-family:var(--f-label);letter-spacing:.18em;text-transform:uppercase;font-size:.78rem;color:var(--ember)}
.fs-body p{color:var(--dim)}
.fs-feat{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px}
.fs-feat li{display:flex;gap:10px;color:var(--dim);font-size:.97rem}
.fs-feat li::before{content:"";width:8px;height:8px;margin-top:.6em;transform:rotate(45deg);background:var(--ember);box-shadow:0 0 6px var(--ember);flex:none}
.fs-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.fs-actions svg{width:18px;height:18px}
@media (max-width:900px){.fs{grid-template-columns:minmax(0,1fr)}.fs-side{border-right:0;border-top:1px solid rgba(227,139,61,.28);order:2}.fs-dl{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px}}
@media (max-width:560px){.fs-feat,.fs-dl{grid-template-columns:minmax(0,1fr)}}
/* ---------- Download-Tafel ---------- */
.dt{display:grid;border-radius:var(--r-l);overflow:clip;background:linear-gradient(180deg,rgba(28,22,17,.92),rgba(14,12,10,.95))}
.dt-row{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(4,minmax(0,1fr));align-items:stretch;border-top:1px solid var(--line)}
.dt-head{border-top:0}
.dt-h{padding:12px 14px;font-family:var(--f-label);letter-spacing:.14em;text-transform:uppercase;font-size:.68rem;color:var(--stone);border-bottom:1px solid rgba(227,139,61,.3)}
.dt-h small{display:block;letter-spacing:.04em;text-transform:none;font-family:var(--f-body);font-size:.8rem;color:rgba(140,135,120,.85)}
.dt-name{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px;align-items:center;padding:12px 14px}
.dt-name .th{aspect-ratio:16/9;border-radius:6px;border:1px solid var(--line)}
.dt-name strong{display:block;font-weight:500;line-height:1.2}
.dt-name .x{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;margin-top:4px}
.dt-name .meta{font-family:var(--f-label);letter-spacing:.1em;text-transform:uppercase;font-size:.64rem;color:var(--stone)}
.emb{display:inline-flex;align-items:center;gap:6px;padding:.12rem .5rem;border-radius:20px;border:1px solid rgba(224,122,98,.55);color:var(--err);font-family:var(--f-label);letter-spacing:.1em;text-transform:uppercase;font-size:.6rem;white-space:nowrap}
.emb::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--err);animation:gBlink 1.6s infinite}
.dt-cell{display:grid;place-items:center;padding:10px;border-left:1px solid var(--line)}
.dl{position:relative;display:grid;justify-items:center;gap:1px;width:100%;max-width:150px;padding:.5rem;border:1px solid var(--line);border-radius:var(--r-m);background:rgba(12,15,21,.5);cursor:pointer;overflow:hidden;text-decoration:none;color:var(--parchment);transition:border-color .3s,background .3s,transform .35s var(--soft)}
.dl:hover{border-color:var(--ember);transform:translateY(-2px);background:rgba(227,139,61,.08)}
.dl svg{width:18px;height:18px;color:var(--ember)}
.dl b{font-family:var(--f-label);font-size:.74rem;letter-spacing:.06em;font-weight:700}
.dl small{font-size:.74rem;color:var(--stone)}
.dl .bar{position:absolute;left:0;bottom:0;height:3px;width:0;background:var(--ember);box-shadow:0 0 8px var(--ember)}
.dl.go .bar{animation:dlGo 1.4s var(--ease) forwards}
@keyframes dlGo{to{width:100%}}
.dl.off{cursor:default;opacity:.55}
.dl.off:hover{transform:none;border-color:var(--line);background:rgba(12,15,21,.5)}
.dl.locked svg{color:var(--err)}
.dt-more{grid-column:1 / -1;display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s var(--ease)}
.dt-more > div{overflow:hidden;min-height:0}
.dt-row.open .dt-more{grid-template-rows:1fr}
.dt-extra{display:flex;flex-wrap:wrap;gap:8px;padding:0 14px 14px 136px}
.dt-extra .dl{grid-template-columns:auto auto;justify-items:start;align-items:center;gap:2px 8px;max-width:none;width:auto;padding:.45rem .7rem}
.dt-extra .dl svg{grid-row:span 2}
.tgl{background:none;border:0;padding:0;cursor:pointer;color:var(--ember);font-family:var(--f-label);letter-spacing:.1em;text-transform:uppercase;font-size:.64rem;display:inline-flex;gap:6px;align-items:center}
.tgl svg{width:12px;height:12px;transition:transform .4s var(--soft)}
.dt-row.open .tgl svg{transform:rotate(180deg)}
@media (max-width:860px){
  .dt-head{display:none}
  .dt-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px}
  .dt-name{grid-column:1 / -1;padding:0 0 4px}
  .dt-cell{border-left:0;padding:0}
  .dl{max-width:none}
  .dt-cell .dl::after{content:attr(data-l);font-family:var(--f-label);font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:var(--stone)}
  .dt-extra{padding:4px 0 0}
}
/* ---------- Key-Anfrage ---------- */
.kr{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);border-radius:var(--r-l);overflow:clip;background:linear-gradient(180deg,rgba(28,22,17,.92),rgba(14,12,10,.95))}
.kr-side{padding:28px;border-right:1px solid rgba(227,139,61,.28);display:grid;gap:14px;align-content:start;background:repeating-linear-gradient(90deg,rgba(0,0,0,.08) 0 2px,transparent 2px 9px),linear-gradient(180deg,var(--oak-top),var(--oak-bot))}
.kr-side h3{margin:0;font-family:var(--f-display);font-size:calc(2rem * var(--hs,1));line-height:1.05}
.kr-steps{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:14px;counter-reset:s}
.kr-steps li{display:grid;grid-template-columns:30px minmax(0,1fr);gap:12px;color:var(--dim);font-size:.96rem;counter-increment:s}
.kr-steps li::before{content:counter(s);width:28px;height:28px;border-radius:50%;border:1px solid rgba(227,139,61,.55);display:grid;place-items:center;font-family:var(--f-label);font-size:.75rem;color:var(--ember);transition:background .4s,color .4s,box-shadow .4s}
.kr-steps li.on::before{background:var(--ember);color:#1a0f08;box-shadow:0 0 12px var(--ember-glow)}
.kr-steps li b{display:block;color:var(--parchment);font-weight:500}
.kr-form{padding:26px 28px;display:grid;gap:16px;position:relative}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.kr-form .fld{display:grid;gap:6px;border:0;margin:0;padding:0;min-width:0}
.kr-form .fld label,.kr-form .fld legend{font-family:var(--f-label);letter-spacing:.14em;text-transform:uppercase;font-size:.68rem;color:var(--stone);padding:0}
.kr-form .fld input,.kr-form .fld select,.kr-form .fld textarea{width:100%;padding:.62rem .85rem;font:inherit;font-size:1rem;background:rgba(12,15,21,.65);border:1px solid rgba(235,225,203,.22);border-radius:var(--r-s);color:var(--parchment);transition:border-color .25s,box-shadow .25s}
.kr-form .fld textarea{min-height:90px;resize:vertical}
.kr-form .fld select option{background:#1a140f}
.kr-form .fld input:focus,.kr-form .fld select:focus,.kr-form .fld textarea:focus{outline:none;border-color:var(--ember);box-shadow:0 0 0 3px rgba(227,139,61,.18)}
.kr-form .fld.bad input,.kr-form .fld.bad select{border-color:var(--err);animation:krShake .4s}
@keyframes krShake{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
.kr-form .err{font-size:.82rem;color:var(--err);min-height:0}
.kind{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px}
.kind label{cursor:pointer;letter-spacing:0!important;text-transform:none!important}
.kind input{position:absolute;opacity:0;pointer-events:none}
.kind span{display:inline-flex;align-items:center;padding:.45rem .85rem;border:1px solid var(--line);border-radius:20px;font-family:var(--f-label);letter-spacing:.1em;text-transform:uppercase;font-size:.7rem;color:var(--stone);transition:border-color .25s,background .25s,color .25s}
.kind input:checked + span{border-color:var(--ember);background:rgba(227,139,61,.14);color:var(--parchment)}
.kind input:focus-visible + span{outline:2px solid var(--ember);outline-offset:2px}
.reach input[type=range]{padding:0!important;border:0!important;background:none!important;accent-color:var(--ember)}
.reach output{font-family:var(--f-display);font-size:calc(1.4rem * var(--hs,1));color:var(--ember-hot)}
.kr-check{display:flex;gap:10px;align-items:flex-start;font-size:.92rem;color:var(--dim);cursor:pointer}
.kr-check input{accent-color:var(--ember);width:18px;height:18px;margin-top:.2em;flex:none}
.kr-check.bad{color:var(--err)}
.kr-done{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:12px;padding:28px;text-align:center;background:linear-gradient(180deg,rgba(28,22,17,.98),rgba(14,12,10,.99));opacity:0;visibility:hidden;transition:opacity .4s,visibility 0s .4s}
.kr-done.on{opacity:1;visibility:visible;transition:opacity .4s}
.kr-done h4{margin:0;font-family:var(--f-display);font-size:calc(2rem * var(--hs,1))}
.kr-done p{color:var(--dim);max-width:42ch}
.kr-done .wax{width:92px;height:92px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 38% 34%,#d0543a,#8e1f12 70%);box-shadow:inset 0 0 0 6px rgba(0,0,0,.15),0 10px 24px rgba(0,0,0,.5);font-family:var(--f-display);font-size:calc(2.4rem * var(--hs,1));color:#f1c9a8}
.kr-done.on .wax{animation:gStamp .7s cubic-bezier(.3,1.6,.5,1) both}
@media (max-width:900px){.kr{grid-template-columns:minmax(0,1fr)}.kr-side{border-right:0;border-bottom:1px solid rgba(227,139,61,.28)}}
@media (max-width:560px){.f-row{grid-template-columns:minmax(0,1fr)}.kr-form,.kr-side{padding:22px 18px}}
