
:root{
  --tint:#F6EFEA;      /* pale clay: alternating bands */
  --brand:#4B2142;     /* aubergine: brand */
  --brand-2:#33152D;   /* aubergine dark: footer, overlays */
  --action:#C8552B;    /* terracotta: every primary button */
  --action-h:#A9431E;
  --ink:#1D1A1E;--muted:#5E5760;--line:#E6DCD6;
  --ok:#2E7D4F;--warn:#9A6414;--bad:#B42318;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font:17px/1.6 "Public Sans",system-ui,sans-serif;color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased}
a{color:var(--brand)}img{max-width:100%;display:block}
.wrap{max-width:1152px;margin:0 auto;padding:0 24px}
h1,h2,h3{line-height:1.2;letter-spacing:-.01em;margin:0}
h1{font-size:46px;font-weight:800}h2{font-size:36px;font-weight:800;color:var(--brand)}h3{font-size:19px;font-weight:700}
.eyebrow{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--action)}
section{padding:80px 0}.band{background:var(--tint)}
.head{max-width:720px;margin-bottom:40px}.head p{color:var(--muted);margin:12px 0 0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 24px;border-radius:8px;border:0;background:var(--action);color:#fff;font:700 16px "Public Sans",sans-serif;text-decoration:none;cursor:pointer}
.btn:hover{background:var(--action-h)}.btn.ghost{background:transparent;color:var(--brand);border:1.5px solid var(--brand)}

/* utility + header */
.util{background:var(--brand-2);color:#E9D9E4;font-size:13px}.util .wrap{display:flex;justify-content:space-between;gap:16px;padding-top:7px;padding-bottom:7px}
header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}
header .wrap{display:flex;align-items:center;gap:32px;height:68px}
.logo{font:600 26px "Source Serif 4",Georgia,serif;color:var(--brand);text-decoration:none;letter-spacing:-.02em}.logo span{color:var(--action)}
header nav{display:flex;gap:26px;flex:1;font-size:15px;font-weight:600}header nav a{text-decoration:none;color:var(--ink)}header nav a:hover{color:var(--action)}
header .btn{min-height:42px;font-size:15px}

/* hero */
.hero{position:relative;padding:72px 0 88px;color:#fff;background:#3a1c34 url(/img/hero-haus.jpg) center 45%/cover}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(51,21,45,.82) 0%,rgba(75,33,66,.72) 55%,rgba(51,21,45,.9) 100%)}
.hero .wrap{position:relative;text-align:center}
.hero h1{max-width:860px;margin:0 auto 16px}.hero .lede{max-width:680px;margin:0 auto 32px;font-size:19px;color:#F3E7EF}
.card{background:#fff;color:var(--ink);border-radius:10px;box-shadow:0 20px 50px rgba(20,5,15,.35);max-width:720px;margin:0 auto;text-align:left;overflow:hidden}
.tabs{display:flex;border-bottom:1px solid var(--line)}.tabs button{flex:1;background:#FAF7F5;border:0;padding:15px 10px;font:600 15px "Public Sans";color:var(--muted);cursor:pointer;border-bottom:3px solid transparent}
.tabs button[aria-selected=true]{background:#fff;color:var(--brand);border-bottom-color:var(--action)}
.pane{padding:24px 28px 26px}.pane[hidden]{display:none}
label{display:block;font-size:14px;font-weight:700;margin-bottom:6px}
.field{display:flex;gap:10px}.field input,.field select{flex:1;min-width:0}
input,select{height:52px;border:1.5px solid #CDBFB8;border-radius:8px;padding:0 14px;font:16px "Public Sans",sans-serif;color:var(--ink);background:#fff;width:100%}
input:focus,select:focus{outline:3px solid rgba(200,85,43,.25);border-color:var(--action)}
input.mono{font-family:ui-monospace,Consolas,monospace;letter-spacing:.06em;text-transform:uppercase}
.hint{font-size:13px;color:var(--muted);margin-top:8px}
.msg{margin-top:14px;border-radius:8px;padding:14px 16px;font-size:15px;display:none}.msg.show{display:block}
.msg.ok{background:#EAF4EE;border:1px solid #BFDCCB}.msg.err{background:#FBEDEB;border:1px solid #F0C3BD;color:#7A1A12}
.msg dl{display:grid;grid-template-columns:auto 1fr;gap:4px 16px;margin:10px 0 0}.msg dt{color:var(--muted)}.msg dd{margin:0;font-weight:600}
.wait{border-top:1px solid var(--line);padding:20px 28px 24px;background:#FCFAF8}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--muted);margin-top:12px}.consent input{width:18px;height:18px;margin-top:3px;flex:none}
.assure{display:flex;justify-content:center;gap:32px;flex-wrap:wrap;margin-top:28px;font-size:15px;font-weight:600;color:#F3E7EF;list-style:none;padding:0}
.assure li:before{content:"✓ ";color:#F2A98B}

/* trust strip */
.strip{border-bottom:1px solid var(--line);padding:0}.strip .wrap{display:grid;grid-template-columns:repeat(4,1fr)}
.strip div{padding:24px 20px;border-left:1px solid var(--line);font-size:14px;color:var(--muted)}.strip div:first-child{border-left:0}.strip b{display:block;color:var(--ink);font-size:16px;margin-bottom:2px}

/* tiles */
.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.tile{background:#fff;border:1px solid var(--line);border-radius:10px;padding:22px}.tile .n{font:600 28px "Source Serif 4",serif;color:var(--action)}
.tile h3{margin:6px 0 8px}.tile p{margin:0;font-size:15px;color:var(--muted)}.tile small{display:block;margin-top:12px;font-size:12px;font-weight:700;color:var(--brand);text-transform:uppercase;letter-spacing:.05em}

/* specimen */
.split{display:grid;grid-template-columns:1fr 1.15fr;gap:56px;align-items:center}
.legend{list-style:none;padding:0;margin:20px 0}.legend li{display:flex;gap:12px;margin:12px 0}
.dot{width:14px;height:14px;border-radius:50%;flex:none;margin-top:6px}

/* steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;counter-reset:s}
.steps div{border-top:4px solid var(--brand);padding-top:18px}.steps div:before{counter-increment:s;content:"Schritt " counter(s);font-size:13px;font-weight:700;color:var(--action);text-transform:uppercase;letter-spacing:.06em}
.steps h3{margin:8px 0}.steps p{margin:0;color:var(--muted);font-size:15px}

/* countries */
.countries{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.country{border-radius:10px;overflow:hidden;background:#fff;border:1px solid var(--line)}.country img{aspect-ratio:4/3;object-fit:cover;width:100%}
.country div{padding:16px 18px}.country p{margin:4px 0 0;font-size:14px;color:var(--muted)}
.pill{display:inline-block;font-size:12px;font-weight:700;padding:3px 8px;border-radius:4px;background:var(--tint);color:var(--brand)}.pill.now{background:var(--action);color:#fff}

/* table */
.tscroll{overflow-x:auto;border:1px solid var(--line);border-radius:10px;background:#fff}
table{width:100%;border-collapse:collapse;font-size:15px;min-width:760px}th,td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:top}
th{background:var(--brand);color:#fff;font-size:14px}tr.us td{background:#FDF4EF;font-weight:600}td small{display:block;color:var(--muted);font-weight:400}
.note{font-size:13px;color:var(--muted);margin-top:12px}

/* honesty + evidence */
.honest{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.box{border-radius:10px;padding:28px;background:#fff;border:1px solid var(--line)}.box.no{border-left:5px solid var(--bad)}.box.yes{border-left:5px solid var(--ok)}
.box ul{margin:12px 0 0;padding-left:20px}.box li{margin:6px 0}
.facts{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:24px}
.fact{background:var(--brand);color:#fff;border-radius:10px;padding:28px}.fact b{display:block;font:600 44px "Source Serif 4",serif;line-height:1.1}.fact p{margin:10px 0 0;color:#EBDCE6;font-size:15px}
.fact.q{background:#fff;color:var(--ink);border:1px solid var(--line)}.fact.q p{color:var(--muted)}.fact.q blockquote{margin:0;font:600 19px/1.45 "Source Serif 4",serif;color:var(--brand)}

/* faq */
.faq{display:grid;grid-template-columns:1fr 1fr;gap:12px 48px}.faq h3{font-size:17px;margin-top:20px}.faq p{margin:6px 0 0;color:var(--muted);font-size:16px}

.final{background:var(--action);color:#fff;text-align:center;padding:64px 0}.final h2{color:#fff}.final p{margin:12px auto 24px;max-width:560px}.final .btn{background:#fff;color:var(--action)}.final .btn:hover{background:var(--tint)}

footer{background:var(--brand-2);color:#D9C5D3;font-size:14px;padding:56px 0 28px}
footer .cols{display:grid;grid-template-columns:1.6fr repeat(4,1fr);gap:32px}footer h4{color:#fff;margin:0 0 12px;font-size:15px}
footer a{color:#D9C5D3;text-decoration:none;display:block;margin:6px 0}footer a:hover{color:#fff}
.legal{border-top:1px solid rgba(255,255,255,.15);margin-top:40px;padding-top:20px;font-size:12.5px;line-height:1.6}

@media(max-width:1000px){.tiles,.countries{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:repeat(2,1fr)}footer .cols{grid-template-columns:1fr 1fr}.facts{grid-template-columns:1fr}}
@media(max-width:760px){
  h1{font-size:34px}h2{font-size:28px}section{padding:56px 0}
  header nav,header .btn,.util .r{display:none}
  .hero{padding:44px 0 56px}.hero .lede{font-size:17px}.pane,.wait{padding-left:18px;padding-right:18px}
  .field{flex-direction:column}.field input,.field select{flex:none}.strip .wrap{grid-template-columns:1fr 1fr}.strip div{border-left:0;border-top:1px solid var(--line)}
  .split,.honest,.faq{grid-template-columns:1fr}.split{gap:32px}.assure{gap:10px;flex-direction:column;align-items:center}
}
@media(max-width:480px){.tiles,.countries,.steps,footer .cols{grid-template-columns:1fr}.tabs button{font-size:14px;padding:13px 6px}}

/* ---- inner pages ---- */
.phero{background:var(--brand);color:#fff;padding:56px 0 48px}.phero h1{max-width:860px}.phero p{max-width:720px;color:#EBDCE6;font-size:19px;margin:14px 0 0}
.crumbs{font-size:13px;color:#D9C5D3;margin-bottom:14px}.crumbs a{color:#fff}
.layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:56px;align-items:start}
.prose{max-width:720px}.prose h2{font-size:28px;margin:44px 0 12px}.prose h3{margin:28px 0 8px}.prose p,.prose li{color:#2E2A30}.prose ul,.prose ol{padding-left:22px}.prose li{margin:6px 0}
.prose table{min-width:0;margin:16px 0;border:1px solid var(--line)}.prose .tscroll table{min-width:560px}
.callout{background:var(--tint);border-left:4px solid var(--action);padding:16px 20px;border-radius:8px;margin:24px 0}
.aside{position:sticky;top:92px}.aside .card{box-shadow:0 10px 30px rgba(40,20,35,.12);max-width:none}
.aside h3{padding:20px 22px 0}.aside .pane{padding:14px 22px 22px}.aside .field{flex-direction:column}.aside .field input{flex:none}
.related{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.related a{display:block;background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px;text-decoration:none;color:var(--ink);font-weight:700}.related a span{display:block;font-weight:400;color:var(--muted);font-size:14px;margin-top:4px}
.flow{max-width:560px;margin:0 auto;padding:64px 16px}.flow .card{max-width:none}.flow .pane{padding:28px}
.updated{font-size:13px;color:var(--muted);margin-top:40px}
@media(max-width:1000px){.layout{grid-template-columns:minmax(0,1fr)}.aside{position:static}.related{grid-template-columns:1fr}}
.field.addr{display:grid;grid-template-columns:2fr 110px 1.2fr;gap:10px}.field.addr input{min-width:0}
@media(max-width:760px){.field.addr{grid-template-columns:1fr}}
.aside .field{display:flex;flex-direction:column}.aside .field input{flex:none}
h1,h2,h3{overflow-wrap:break-word;hyphens:auto;-webkit-hyphens:auto}
/* charts (single series, brand hue; values in ink, not series colour) */
.chart{margin:0;background:#fff;border:1px solid var(--line);border-radius:10px;padding:20px 22px}
.chart figcaption{margin-bottom:14px}.chart figcaption b{display:block;font-size:16px}.chart figcaption span{display:block;font-size:13px;color:var(--muted)}
.bars{display:grid;gap:6px}
.bar-row{display:grid;grid-template-columns:minmax(110px,190px) 1fr 64px;gap:10px;align-items:center;font-size:14px;border-radius:4px;padding:2px 4px;outline:none}
.bar-row:hover,.bar-row:focus{background:var(--tint)}
.bt{height:14px;background:#F1EAE5;border-radius:0 4px 4px 0;overflow:hidden}.bt i{display:block;height:100%;background:#8A5A7E;border-radius:0 4px 4px 0}
.bar-row.hi .bt i{background:var(--brand)}.bar-row.hi .bl{font-weight:700}
.bv{text-align:right;font-variant-numeric:tabular-nums;color:var(--ink);font-weight:600}
.bl{color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.diagram{background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px}
@media(max-width:480px){.bar-row{grid-template-columns:96px 1fr 52px;font-size:13px}}
.bar-row>*{min-width:0}.chart{min-width:0;overflow:hidden}
@media(max-width:480px){h1{overflow-wrap:anywhere}}
.strip .wrap{grid-template-columns:repeat(4,minmax(0,1fr))}.strip div{overflow-wrap:anywhere;hyphens:auto}@media(max-width:760px){.strip .wrap{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* lookup results */
.lk-head{font-weight:700;color:var(--brand);margin:18px 0 6px}
.lk-row{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.lk-row .dot{margin-top:5px}
.lk-row b{display:block}.lk-v{display:block;font-size:17px;font-weight:600}.lk-row small{display:block;color:var(--muted);font-size:13px}.lk-src{font-size:12px!important}
.lk-lock{position:relative}.lk-lock .lk-row{filter:blur(5px);user-select:none;pointer-events:none}
.lk-over{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(255,255,255,.55);text-align:center}.lk-over span{color:var(--muted);font-size:14px}
.lk-todo{margin-top:12px;background:var(--tint);border-radius:8px;padding:12px 14px;font-size:14px;color:var(--muted)}
.lk-load{display:flex;gap:10px;align-items:center;color:var(--muted);margin-top:16px;font-size:15px}
.spin{width:18px;height:18px;border:3px solid var(--line);border-top-color:var(--action);border-radius:50%;animation:sp 0.8s linear infinite}@keyframes sp{to{transform:rotate(360deg)}}
.answer{background:#fff;border:1px solid var(--line);border-left:5px solid var(--brand);border-radius:8px;padding:16px 20px;margin:0 0 28px}.answer b{color:var(--brand);font-size:13px;text-transform:uppercase;letter-spacing:.06em}.answer p{margin:6px 0 0;font-size:18px;color:var(--ink)}
.sources{font-size:14px;color:var(--muted)}.sources li{margin:4px 0}
.split>*{min-width:0}.chart table{min-width:0}
