/* Das Impressum als Amtsformular, das eine Katze sabotiert. Die Pflichtangaben bleiben groß und ruhig. */
.imp{--paper-form:#fffdf1;--stamp:#b3122a;--rule:#cfd0c2;display:flow-root;background:var(--acid)}
html:has(.imp){background:var(--acid)}
.imp .skip:focus{top:8px}

/* Kopf */
.crown{position:relative;overflow-x:clip;padding:clamp(8px,2vw,24px) var(--gutter) clamp(30px,4vw,56px)}
.form-no{font:500 15px/1.3 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;margin-bottom:6px}
.crown h1{font-size:min(15.4vw,290px);line-height:.86;letter-spacing:-.05em}
.crown h1 .word{display:block;animation:slam .7s var(--spring) backwards}
.crown-sub{position:relative;z-index:2;max-width:58%;margin-top:clamp(12px,1.6vw,22px);font-size:clamp(20px,2.2vw,32px);font-weight:900;letter-spacing:-.02em;line-height:1.1}
.seal{position:absolute;z-index:3;right:var(--gutter);bottom:clamp(-54px,-3.4vw,-28px);width:clamp(104px,14vw,210px);color:var(--stamp);transform-origin:center;will-change:transform;animation:turn 30s linear infinite}
.sit{position:absolute;z-index:2;pointer-events:none;filter:drop-shadow(0 8px 8px rgba(32,33,30,.25));animation:fall 1.1s var(--out) backwards}
.s1{width:clamp(66px,10.5vw,170px);left:27%;top:clamp(8px,2vw,30px);transform:rotate(-7deg);animation-delay:.25s}
.s2{width:clamp(50px,8vw,130px);left:66%;top:clamp(0px,.6vw,10px);transform:rotate(8deg);animation-delay:.4s}
.s3{width:clamp(66px,10vw,150px);left:62%;bottom:clamp(8px,1.6vw,26px);transform:rotate(174deg);animation-delay:.55s}
@keyframes slam{from{transform:scale(1.5);opacity:0}}
@keyframes turn{to{transform:rotate(360deg)}}

/* Das Blatt */
.sheet{position:relative;max-width:1120px;margin:0 auto clamp(24px,4vw,60px);padding:clamp(20px,3.4vw,52px);border-radius:10px;background:var(--paper-form);box-shadow:0 26px 60px -22px rgba(32,33,30,.55),0 2px 0 rgba(32,33,30,.08)}
@media (min-width:1180px){.sheet{transform:rotate(-.25deg)}}
.file{display:flex;flex-wrap:wrap;gap:4px 28px;padding-bottom:14px;border-bottom:3px double var(--ink);font:500 14px/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.file b{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.06em}
.field{padding-top:clamp(28px,4vw,52px)}
.field h2{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 14px;font-size:clamp(30px,4vw,54px)}
.field h2 i{font:500 15px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:0;color:var(--soft)}
.field h3{font-weight:900;font-size:21px;letter-spacing:-.01em;line-height:1.2;margin:0 0 4px}
.legal-tag{margin-top:8px;max-width:66ch;color:var(--soft)}
.sheet a{text-decoration-thickness:1.5px}
.sheet p a,.sheet dd a{display:inline-block;min-height:24px}

/* Die Pflichtangaben */
.who{margin-top:clamp(18px,2.4vw,30px);font-style:normal;font-size:clamp(23px,3vw,38px);font-weight:500;line-height:1.2;letter-spacing:-.015em}
.who strong{display:block;font-weight:900;font-size:clamp(42px,6.8vw,88px);line-height:1;letter-spacing:-.04em;margin-bottom:8px}
.data{margin-top:clamp(18px,2.4vw,30px)}
.data>div{display:grid;grid-template-columns:minmax(0,22ch) minmax(0,1fr);gap:0 20px;padding-block:9px;border-top:1.5px solid var(--rule)}
.data dt{font-weight:900}
.data dd{max-width:64ch}

/* Der Tisch */
.table{overflow-x:clip;margin-top:clamp(26px,4vw,50px)}
.tabletop{position:relative;height:clamp(150px,20vw,240px);border-bottom:clamp(10px,1.2vw,16px) solid var(--ink);border-radius:0 0 6px 6px;margin-inline:0 22%}
.para{position:absolute;right:21%;bottom:-4px;font-weight:900;font-size:clamp(72px,11vw,140px);line-height:.9;color:var(--stamp);transform-origin:50% 100%}
.pusher{position:absolute;right:37%;bottom:-6px;width:clamp(120px,19vw,230px);transform:translateX(-30%)}
.table.pushed .pusher{animation:shove 1.6s var(--out) forwards}
.table.pushed .para{animation:plummet 1.5s .75s cubic-bezier(.5,0,.8,.5) forwards}
.table p{max-width:56%;margin-top:clamp(18px,2.4vw,30px);min-height:clamp(70px,9vw,120px);font-weight:900;font-size:clamp(20px,2.3vw,28px);letter-spacing:-.01em}
@keyframes shove{to{transform:translateX(60%) rotate(-5deg)}}
@keyframes plummet{
  0%{transform:translate(0,0) rotate(0)}
  40%{transform:translate(clamp(60px,12vw,170px),-3px) rotate(40deg)}
  85%{transform:translate(clamp(84px,21vw,290px),clamp(70px,9vw,120px)) rotate(150deg)}
  93%{transform:translate(clamp(88px,21.5vw,296px),clamp(56px,7.4vw,100px)) rotate(164deg)}
  100%{transform:translate(clamp(90px,22vw,300px),clamp(70px,9vw,120px)) rotate(178deg)}
}

/* Text und Randnotiz */
.row{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:8px clamp(20px,3vw,44px);padding-block:clamp(14px,1.6vw,20px);border-top:1.5px solid var(--rule)}
.field h2+.row,.legal-tag+.row{margin-top:clamp(12px,1.6vw,20px)}
.row p{max-width:66ch}
.scrawl{align-self:start;padding:12px 14px;border-radius:12px 12px 12px 2px;background:var(--acid);font-size:16px;line-height:1.35;transform:rotate(1.1deg)}
.row:nth-child(even) .scrawl{transform:rotate(-1deg)}

/* Amtshandlung */
.verdict{margin:clamp(14px,2vw,22px) 0 0;padding:14px 18px 10px;border:2px solid var(--ink);border-radius:10px}
.verdict legend{padding:0 8px;font-weight:900}
.verdict label{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-right:22px;cursor:pointer}
.verdict input{width:20px;height:20px;accent-color:var(--stamp)}
.verdict input:focus-visible,.stamp-btn:focus-visible{outline:3px solid #6d4dff;outline-offset:3px}
.answer{min-height:3em;margin-top:12px;font-weight:900;max-width:60ch}
.stampzone{position:relative;overflow:hidden;min-height:clamp(190px,24vw,280px);margin-top:12px;border:2px dashed var(--ink);border-radius:10px}
.stamp-note{padding:14px 18px;color:var(--soft)}
.mark{position:absolute;padding:6px 14px;border:4px solid var(--stamp);border-radius:8px;color:var(--stamp);font-weight:900;font-size:clamp(18px,2.5vw,32px);letter-spacing:.02em;line-height:1;white-space:nowrap;mix-blend-mode:multiply;pointer-events:none;animation:press .28s cubic-bezier(.2,1.6,.4,1) backwards}
@keyframes press{from{scale:2.6;opacity:0}}
.stamp-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin-top:12px}
.stamp-btn{min-height:50px;padding:0 28px;border:0;border-radius:999px;background:var(--stamp);color:#fff;font:900 19px/1 "Archivo",sans-serif;cursor:pointer;transition:transform .2s var(--spring),background .2s}
.stamp-btn:hover{background:#8f0e22;transform:translateY(-2px) rotate(-1.5deg)}
.stamp-btn:active{transform:translateY(3px) scale(.96)}
.stamp-count{font-weight:500}
.sheet-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 24px;margin-top:clamp(28px,4vw,48px);padding-top:14px;border-top:3px double var(--ink)}
.sheet-foot p:first-child{max-width:60ch}
.sheet-foot a{display:inline-flex;align-items:center;min-height:44px}

@media (max-width:760px){
  .crown h1{font-size:15.4vw}
  .form-more{display:none}
  .s1{left:50%}
  .s2{left:82%}
  .s3{display:none}
  .crown-sub{max-width:66%}
  .table p{max-width:62%}
  .seal{bottom:-34px}
  .file{display:grid;grid-template-columns:minmax(0,1fr)}
  .data>div,.row{grid-template-columns:minmax(0,1fr)}
  .tabletop{margin-inline:0 14%}
  .scrawl{justify-self:start}
  .verdict label{display:flex;margin-right:0}
}

@media (prefers-reduced-motion:reduce){
  .crown h1 .word,.sit,.seal,.mark{animation:none}
  .table.pushed .pusher,.table.pushed .para{animation:none}
  .para{transform:translate(clamp(90px,22vw,300px),clamp(70px,9vw,120px)) rotate(178deg)}
  .stamp-btn{transition:none}
}
