/* ==========================================================
   FLUPE — Rechtsseiten
   Gleiches Designsystem wie der Shop: Papierweiß, Tiefschwarz,
   Orange, Warnrot. Harte Kanten, keine Verläufe, keine Rundungen.
   ========================================================== */
:root{
  --orange:#FF7828; --ink:#12100E; --paper:#F6F4F0; --red:#D8232A; --grey:#8A837A;
  --line:2px solid var(--ink); --line-thick:3px solid var(--ink); --hair:1px solid var(--ink);
  --pad:clamp(18px,4vw,48px); --maxw:1280px;
}
*{box-sizing:border-box;border-radius:0!important}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  margin:0;overflow-x:hidden;background:var(--paper);color:var(--ink);
  font-family:"Archivo",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  font-size:clamp(15px,1.05vw,17px);line-height:1.62;-webkit-font-smoothing:antialiased;
  background-image:repeating-linear-gradient(0deg,rgba(18,16,14,.028) 0 1px,transparent 1px 3px);
}
img{max-width:100%;display:block}
a{color:inherit}
::selection{background:var(--orange);color:var(--ink)}
h1,h2,h3,.h{font-family:"Yanone Kaffeesatz",Impact,"Haettenschweiler",sans-serif;font-weight:700;text-transform:uppercase;line-height:.98;margin:0}
h1{font-size:clamp(25px,6.4vw,76px);overflow-wrap:anywhere;hyphens:auto}
h2{font-size:clamp(21px,2.8vw,38px);overflow-wrap:anywhere;margin:48px 0 14px;padding-top:22px;border-top:var(--line)}
h3{font-size:clamp(19px,1.9vw,25px);margin:30px 0 10px}
p{margin:0 0 1em}
ul{margin:0 0 1.2em;padding-left:0;list-style:none}
li{padding:7px 0 7px 26px;border-bottom:1px dashed rgba(18,16,14,.22);position:relative}
li::before{content:"–";position:absolute;left:4px;color:var(--orange);font-family:"Space Mono",monospace}
.label{font-family:"Space Mono",ui-monospace,Menlo,monospace;font-size:clamp(10px,.8vw,12px);letter-spacing:.1em;text-transform:uppercase}
.small{font-size:14px;line-height:1.55}
.mut{color:var(--grey)}
.wrap{max-width:var(--maxw);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}

/* Nav */
.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:60;background:var(--ink);color:var(--paper);border-bottom:3px solid var(--orange)}
.nav__in{max-width:var(--maxw);margin:0 auto;padding:10px var(--pad);display:flex;align-items:center;justify-content:space-between;gap:20px}
.nav__logo img{height:38px;width:auto}
.nav__links{display:flex;gap:20px;align-items:center}
.nav__links a{text-decoration:none;font-family:"Space Mono",monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:4px 0;border-bottom:2px solid transparent}
.nav__links a:hover,.nav__links a[aria-current="page"]{border-bottom-color:var(--orange)}
.nav__cta{font-family:"Yanone Kaffeesatz",Impact,sans-serif;font-weight:700;text-transform:uppercase;font-size:20px;line-height:1;padding:10px 16px 7px;background:var(--orange);color:var(--ink);text-decoration:none;white-space:nowrap;border:2px solid var(--orange)}
.nav__cta:hover{background:var(--ink);color:var(--orange)}
@media(max-width:900px){.nav__links{display:none}.nav__logo img{height:32px}}
:focus-visible{outline:3px solid var(--orange);outline-offset:3px}

/* Kopf */
.head{border-bottom:var(--line);padding:clamp(30px,5vw,68px) 0 clamp(24px,3vw,40px)}
.head .label{color:var(--grey)}
.head h1{margin:10px 0 14px}
.head p{max-width:52ch;margin:0}

/* Inhalt */
.page{display:grid;grid-template-columns:230px 1fr;gap:clamp(24px,4vw,64px);padding:clamp(28px,4vw,58px) 0 clamp(50px,6vw,90px)}
@media(max-width:940px){.page{grid-template-columns:1fr}}
.toc{position:sticky;top:96px;align-self:start;border-top:var(--line);padding-top:14px}
@media(max-width:940px){.toc{position:static;margin-bottom:10px}}
.toc p{margin:0 0 10px}
.toc a{display:block;text-decoration:none;font-family:"Space Mono",monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:6px 0;border-bottom:1px dashed rgba(18,16,14,.22);color:var(--ink)}
.toc a:hover{color:var(--orange)}
.page--plain{grid-template-columns:1fr}
.page--plain .body{max-width:70ch}
.body{max-width:76ch}
.body p,.body li,.body h2,.body h3,.body strong{overflow-wrap:anywhere}
.body a{word-break:break-word}
.toc a{overflow-wrap:anywhere}
.row>div{overflow-wrap:anywhere}
.form{overflow-wrap:anywhere}
.body h2:first-child{margin-top:0;border-top:0;padding-top:0}
.body b,.body strong{font-weight:600}

/* Kästen */
.box{border:var(--line);padding:18px 20px;margin:24px 0}
.box .label{margin-bottom:6px;display:block}
.box p:last-child,.box ul:last-child{margin-bottom:0}
.box--warn{border:2px solid var(--red)}
.box--warn .label,.box--warn b{color:var(--red)}
.box--todo{border:1px dashed var(--grey);color:var(--grey)}
.data{border:var(--line-thick);margin:22px 0}
.row{display:grid;grid-template-columns:.8fr 1.2fr;border-bottom:var(--hair)}
.row:last-child{border-bottom:0}
.row>div{padding:12px 16px}
.row>div:first-child{border-right:var(--hair)}
@media(max-width:620px){.row{grid-template-columns:1fr}.row>div:first-child{border-right:0;border-bottom:var(--hair);padding-bottom:4px}}
.form{border:var(--line-thick);padding:clamp(18px,2.4vw,30px);margin:24px 0;background:#EFEBE4}
.form .fill{display:block;border-bottom:1px solid var(--ink);height:26px;margin:14px 0 4px}
.upper{text-transform:uppercase}

/* Footer */
.footer{background:var(--ink);color:var(--paper);padding:clamp(38px,5vw,66px) 0 26px}
.footer a{text-decoration:none;border-bottom:1px solid #3a3630}
.footer a:hover{border-bottom-color:var(--orange);color:var(--orange)}
.footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:32px}
@media(max-width:900px){.footer__grid{grid-template-columns:1fr}}
.footer__logo img{height:56px;width:auto}
.footer .mut{color:#8f8880}
.warn{border:2px solid var(--red);padding:16px 18px;margin:0 0 26px;display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start}
.warn b{color:var(--red);font-family:"Yanone Kaffeesatz",Impact,sans-serif;text-transform:uppercase;font-size:22px;line-height:1;display:block;margin-bottom:5px}
.tri{width:38px;height:auto;flex:0 0 auto}
.footer__meta{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid #3a3630;padding-top:16px}
