
:root { --red: #e90020; --ink:#171717; --muted:#626262; --rule:#dedede; --max:1200px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:#fff; font-family:Inter,'Helvetica Neue',Arial,sans-serif; line-height:1.55; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
a:focus-visible { outline:3px solid var(--red); outline-offset:3px; }
header { max-width:var(--max); margin:auto; padding:16px 40px 13px; display:flex; justify-content:space-between; align-items:center; min-height:107px; }
.identity { display:flex; align-items:center; gap:13px; }
.identity img { width:111px; height:101px; object-fit:contain; }
.identity .studio { font-size:13px; font-weight:700; letter-spacing:.31em; text-transform:uppercase; }
.mail-header { font-size:15px; font-weight:500; white-space:nowrap; }
.mail-header:hover, .back-link:hover, .legal a:hover, .legal-content a:hover { color:var(--red); }
main { max-width:var(--max); padding:0 40px 55px; margin:auto; }
.legal-intro { border-top:1px solid var(--rule); padding:25px 0 25px; }
.kicker { color:var(--red); font-weight:700; letter-spacing:.2em; text-transform:uppercase; font-size:12px; margin:0 0 8px; }
h1 { font-size:clamp(35px,4.5vw,56px); font-weight:300; letter-spacing:-.055em; line-height:1.09; margin:0 0 18px; }
h1 strong { font-weight:800; }
.back-link { display:inline-flex; align-items:center; gap:8px; font-size:13px; color:#484848; padding:8px 0; }
.draft-notice { max-width:860px; border-left:3px solid var(--rule); color:#545454; font-size:13px; padding:4px 0 4px 16px; margin-top:12px; }
.legal-content { max-width:850px; padding:5px 0 40px; }
.legal-content section { padding:22px 0 13px; border-top:1px solid var(--rule); }
.legal-content section:first-child { border-top:0; padding-top:6px; }
.legal-content h2 { font-size:clamp(19px,2.35vw,26px); font-weight:750; letter-spacing:-.025em; margin:0 0 14px; line-height:1.28; }
.legal-content p { margin:0 0 12px; font-size:15px; line-height:1.72; overflow-wrap:anywhere; }
.legal-content p.subtitle { color:var(--muted); font-size:14px; margin-bottom:16px; }
.legal-content p.label { font-weight:700; margin-top:19px; margin-bottom:8px; }
.legal-content ul { padding-left:23px; margin:2px 0 17px; }
.legal-content li { margin:6px 0; line-height:1.65; font-size:15px; }
.legal-content strong { font-weight:700; }
mark.todo { background:#fff3ea; border-bottom:1px dashed #ad6b2e; color:#5d3d21; padding:1px 3px; }
.legal-content a { text-decoration:underline; text-decoration-color:#c9c9c9; text-underline-offset:3px; }
.legal-links { max-width:var(--max); margin:0 auto; border-top:1px solid var(--rule); padding:19px 40px 26px; font-size:12px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:14px 24px; color:#555; }
.legal-links b { color:var(--ink); }
.legal { display:flex; flex-wrap:wrap; gap:14px; }
.legal a[aria-current="page"] { color:var(--red); font-weight:700; }
@media(max-width:650px) { header { padding:10px 18px; min-height:82px; } .identity img { width:76px; height:72px; } .identity .studio { font-size:10px; letter-spacing:.16em; } .mail-header { font-size:11px; } main { padding:0 20px 38px; } .legal-intro { padding:20px 0 17px; } .legal-content section { padding:18px 0 8px; } .legal-content p, .legal-content li { font-size:14px; } .legal-links { padding:17px 20px 26px; flex-direction:column; } }

/* Widerruf: direkt nutzbares zweistufiges Formular */
.legal-content .withdraw-section {background:#faf8f6; border:1px solid #e7e2df; border-radius:7px; padding:25px 27px 29px; margin:0 0 30px;}
.withdraw-section .kicker {margin-bottom:7px}
.withdraw-form {display:grid; gap:15px; margin-top:17px;}
.withdraw-form label {display:grid; gap:6px; font-size:13px; font-weight:700;}
.withdraw-row {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px;}
.withdraw-form input, .withdraw-form textarea {font:inherit; border:1px solid #aaa; border-radius:3px; color:#171717; background:white; padding:11px 12px; width:100%; min-width:0; font-size:15px;}
.withdraw-form textarea {resize:vertical; min-height:85px;}
.withdraw-form input:focus-visible, .withdraw-form textarea:focus-visible, .withdraw-button:focus-visible {outline:3px solid #d26d72; outline-offset:2px;}
.withdraw-form .withdraw-date {max-width:275px;}
.withdraw-form .withdraw-help {margin:0; font-size:12px; color:#666;}
.withdraw-trap {position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important;}
.withdraw-button {background:#e90020;color:#fff;border:1px solid #e90020;border-radius:0;padding:13px 20px;min-height:46px;font:inherit;font-size:14px;font-weight:700;cursor:pointer;justify-self:start;}
.withdraw-button:hover {background:#b8001c;}
.withdraw-review {margin:22px 0; border:1px solid #dedede; border-radius:6px; padding:20px;}
.withdraw-review dt {font-weight:700; font-size:13px; color:#666; margin-top:12px;}
.withdraw-review dd {margin:3px 0 10px; overflow-wrap:anywhere;white-space:pre-wrap;}
.withdraw-success {background:#f6f6f6; padding:20px; border-left:3px solid #e90020; margin:20px 0;}
.withdraw-actions {display:flex; flex-wrap:wrap; gap:14px; align-items:center;}
@media(max-width:650px) {.legal-content .withdraw-section {padding:19px 17px;} .withdraw-row {grid-template-columns:1fr;} .withdraw-button {width:100%;}}
