:root{
  --bg:#F3EFE6; --panel:#FBF9F4; --border:#E2DBCC; --ink:#16181D; --grey:#5A5E66; --recht:#8E3B2E;
  box-sizing:border-box; padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px);
}
html{ scroll-padding-top:env(safe-area-inset-top,0px); }
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;font-family:Manrope,'Helvetica Neue',sans-serif;background:var(--bg);color:var(--ink);-webkit-text-size-adjust:100%}
a{color:inherit}
.serif{font-family:Fraunces,Georgia,serif}
.wrap{max-width:640px;margin:0 auto}
header.top{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;padding-top:calc(18px + env(safe-area-inset-top,0px));border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--bg);z-index:10}
.logo{font-family:Fraunces,Georgia,serif;font-weight:600;font-size:20px;letter-spacing:5px;text-decoration:none;color:var(--ink)}
.back{font-size:14px;color:var(--grey);text-decoration:none}
.hero{padding:40px 24px 8px;display:flex;flex-direction:column;gap:14px}
.eyebrow{font-weight:700;font-size:12px;letter-spacing:3px;color:var(--recht);text-transform:uppercase}
h1{margin:0;font-size:clamp(26px,7vw,38px);font-weight:600;line-height:1.12}
.lead{margin:0;font-size:16px;line-height:1.6;color:var(--grey);max-width:48ch}
.epd-badge{display:inline-flex;align-items:center;gap:8px;margin-top:4px;padding:8px 14px;border-radius:999px;background:var(--recht);color:#fff;font-size:12.5px;font-weight:700;width:fit-content}
.facts{display:flex;flex-direction:column;gap:8px}
.fact{padding:12px 14px;border-left:3px solid var(--recht);background:var(--panel);border-radius:0 10px 10px 0;font-size:14px;line-height:1.5;color:var(--grey)}
.fact b{color:var(--ink)}
.draft{background:#fff;border:1px solid var(--border);border-radius:10px;padding:18px 20px;max-height:420px;overflow-y:auto;user-select:none;-webkit-user-select:none}
.dhead{font-family:Fraunces,Georgia,serif;font-weight:600;font-size:14.5px;margin:12px 0 6px}
.dhead:first-child{margin-top:0}
.dbar{height:9px;border-radius:5px;background:linear-gradient(90deg,#ECE7DC,#E2DCCF);margin:7px 0}
.dsign{margin-top:18px;border-top:1px solid var(--border);padding-top:10px;font-size:12.5px;color:var(--grey)}
.btn-sec{min-height:44px;padding:0 18px;border-radius:12px;border:1px solid var(--border);background:var(--bg);font-weight:700;font-size:14px;cursor:pointer;color:var(--ink)}
.ring-teaser{margin:26px 24px 0;padding:26px;border-radius:16px;background:var(--ink);color:var(--bg);display:flex;flex-direction:column;gap:12px}
.ring-teaser h3{margin:0;font-family:Fraunces,Georgia,serif;font-weight:600;font-size:22px;line-height:1.2}
.ring-teaser p{margin:0;font-size:14px;line-height:1.55;color:#C8C4BA}
.ring-teaser a{display:flex;align-items:center;justify-content:space-between;min-height:52px;padding:0 18px;border-radius:12px;background:var(--bg);color:var(--ink);text-decoration:none;font-weight:700;font-size:15px}
.why{margin:22px 24px 0;padding:18px 20px;border-radius:14px;background:var(--panel);border:1px solid var(--border);font-size:14px;line-height:1.6;color:var(--grey)}
.why b{color:var(--ink)}
.survey{margin:22px 24px 0;padding:26px;border-radius:16px;background:var(--panel);border:1px solid var(--border)}
.progress{display:flex;gap:4px;margin-bottom:22px;flex-wrap:wrap}
.progress span{height:4px;flex:1;min-width:14px;border-radius:2px;background:var(--border)}
.progress span.done{background:var(--recht)}
.step{display:none;flex-direction:column;gap:14px}
.step.active{display:flex}
.step-label{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--recht);font-weight:700}
.step h2{margin:0;font-size:19px;font-weight:600;font-family:Fraunces,Georgia,serif}
.step p.hint{margin:0;font-size:13.5px;color:var(--grey);line-height:1.5}
textarea,input[type=text]{width:100%;padding:12px 14px;border-radius:10px;border:1px solid var(--border);background:var(--bg);font-family:Manrope,sans-serif;font-size:15px;color:var(--ink);resize:vertical}
textarea{min-height:80px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.opts{display:flex;flex-direction:column;gap:8px}
.subq{font-weight:700;font-size:13.5px;margin-top:8px}
.opt-block div{line-height:1.45}
.rows{display:flex;flex-direction:column;gap:8px}
.row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--bg);font-size:14px}
.row select{flex:none;max-width:48%;padding:8px;border-radius:8px;border:1px solid var(--border);background:var(--panel);font-family:Manrope,sans-serif;font-size:13px;color:var(--ink)}
.opt{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:10px;border:1px solid var(--border);background:var(--bg);cursor:pointer;font-size:14.5px}
.opt-block{align-items:flex-start}
.opt input{accent-color:var(--recht);margin-top:3px}
.opt-hint{font-size:12.5px;color:var(--grey);margin-top:2px;font-weight:400}
.nav-btns{display:flex;justify-content:space-between;gap:10px;margin-top:6px}
.btn{min-height:48px;padding:0 22px;border-radius:12px;border:none;font-weight:700;font-size:14.5px;cursor:pointer}
.btn-primary{background:var(--ink);color:var(--bg)}
.btn-ghost{background:transparent;color:var(--grey)}
.summary{white-space:pre-wrap;font-size:13.5px;line-height:1.6;background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:16px;max-height:340px;overflow-y:auto}
.btn-cta{display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px;border-radius:12px;background:var(--ink);color:var(--bg);text-decoration:none;font-weight:700;font-size:15px;margin-top:14px}
.faq{margin:30px 24px 0;display:flex;flex-direction:column;gap:10px}
.faq h2{margin:0 0 4px;font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--ink)}
.faq details{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:16px 18px}
.faq summary{cursor:pointer;font-weight:700;font-size:14.5px;list-style:none;display:flex;justify-content:space-between;gap:12px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:19px;font-weight:400;color:var(--grey);flex:none}
.faq details[open] summary::after{content:"–"}
.faq-body{margin-top:10px;font-size:14px;line-height:1.6;color:var(--grey)}
.links{margin:26px 24px 0;font-size:13.5px;color:var(--grey);display:flex;flex-direction:column;gap:6px}
.links a{color:var(--recht);font-weight:600;text-decoration:none}
footer{margin-top:30px;padding:20px 24px 50px;font-size:12.5px;color:var(--grey);display:flex;gap:18px}
@media (min-width:720px){ .wrap{max-width:700px} }
