
:root{
 --bg:#050505;
 --surface:#111111;
 --surface2:#1a1a1a;
 --text:#f5f5f5;
 --muted:#b8b8b8;
 --line:#3a3a3a;
 --accent:#ffffff;
 --accent2:#d3d3d3;
 --danger:#f0f0f0;
 --blue:#d9d9d9;
 --shadow:0 28px 90px rgba(0,0,0,.5)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:radial-gradient(circle at 12% -10%,#202020 0,#050505 43%);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.6}
a{text-decoration:none;color:inherit}.container{width:min(1200px,92vw);margin:auto}
.topbar{position:sticky;top:0;z-index:50;background:rgba(6,17,15,.86);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.nav{height:70px;display:flex;align-items:center;gap:18px}.brand{font-weight:950;letter-spacing:-.04em;display:flex;align-items:center;gap:10px}
.logo{width:38px;height:38px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),#8f8f8f);color:#050505;font-weight:950}
.navlinks{display:flex;gap:5px;flex:1}.navlinks a{padding:9px 11px;border-radius:10px;color:var(--muted);font-size:.9rem}.navlinks a:hover,.navlinks a.active{background:var(--surface2);color:var(--accent)}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 15px;border-radius:999px;border:1px solid var(--line);font-weight:850;background:var(--surface2);color:var(--text);cursor:pointer}.btn.primary{background:var(--accent);border-color:var(--accent);color:#050505}.btn.gold{background:var(--accent2);border-color:var(--accent2);color:#201700}
.hero{padding:76px 0 58px;min-height:690px;display:grid;align-items:center}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:42px;align-items:center}
.eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.14em;font-weight:850;font-size:.8rem}.hero h1,.section h2{font-size:clamp(3rem,6vw,6.8rem);line-height:.92;letter-spacing:-.07em;margin:14px 0 22px}.hero p{font-size:1.22rem;color:#d8d8d8}.actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:28px}
.holo{min-height:500px;border:1px solid var(--line);border-radius:34px;background:linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.04));box-shadow:var(--shadow);position:relative;display:grid;place-items:center;overflow:hidden}
.shield{width:230px;height:270px;clip-path:polygon(50% 0,90% 15%,88% 64%,50% 100%,12% 64%,10% 15%);background:radial-gradient(circle at 35% 28%,#ffffff,#d8d8d8 34%,#777777 65%,#111111);filter:drop-shadow(0 0 50px rgba(255,255,255,.18));display:grid;place-items:center;font-size:3rem;color:#06150f;font-weight:950;animation:float 5s ease-in-out infinite}.ring{position:absolute;width:380px;height:160px;border:1px solid rgba(255,255,255,.20);border-radius:50%;transform:rotate(24deg);animation:spin 16s linear infinite}.ring.r2{width:330px;height:125px;transform:rotate(-27deg);animation-direction:reverse}@keyframes spin{to{rotate:360deg}}@keyframes float{50%{transform:translateY(-12px)}}
.floating{position:absolute;inset:auto 22px 22px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.floating div{background:rgba(6,17,15,.74);border:1px solid var(--line);border-radius:14px;padding:12px}.floating b{display:block;color:var(--accent2);font-size:1.25rem}.floating span{font-size:.75rem;color:var(--muted)}
.section{padding:76px 0}.section h2{font-size:clamp(2.3rem,4.8vw,4.7rem)}.intro{max-width:800px;color:var(--muted);font-size:1.06rem}
.grid{display:grid;gap:16px}.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
.card{border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.045);padding:20px;transition:.25s}.card:hover{transform:translateY(-5px);background:rgba(255,255,255,.065);border-color:#666666}.card h3{margin:.3rem 0}.card p{color:var(--muted)}
.icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:rgba(255,255,255,.08);border:1px solid var(--line);color:var(--accent);font-weight:950;margin-bottom:14px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.stat{border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.035));padding:20px}.stat b{font-size:2rem;color:var(--accent2);display:block}
.timeline{display:grid;gap:14px}.time{display:grid;grid-template-columns:90px 1fr;gap:18px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.04);padding:18px}.time b{color:var(--accent);font-size:1.3rem}
.tag{display:inline-flex;padding:5px 9px;border-radius:999px;border:1px solid var(--line);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:850}.tag.warn{color:var(--danger);background:rgba(255,255,255,.08)}.tag.event{color:var(--blue);background:rgba(255,255,255,.08)}.tag.member{color:var(--accent);background:rgba(108,227,170,.1)}
.list{display:grid;gap:14px}.item{border:1px solid var(--line);border-radius:18px;padding:18px;background:rgba(255,255,255,.04)}.item .meta{color:var(--muted);font-size:.82rem}.item a{color:var(--accent);font-weight:850}
.faq{display:grid;gap:12px}.faq details{border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.04);padding:15px 18px}.faq summary{cursor:pointer;font-weight:850}.faq p{color:var(--muted)}
.pricing{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.price{padding:26px}.price .amount{font-size:3.6rem;font-weight:950;letter-spacing:-.06em}.price.featured{background:linear-gradient(145deg,rgba(255,255,255,.11),rgba(255,255,255,.05));box-shadow:0 0 70px rgba(255,255,255,.07)}
.form{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.field label{display:block;font-size:.8rem;color:var(--muted);margin-bottom:5px}.field input,.field textarea,.field select{width:100%;padding:12px;border-radius:14px;border:1px solid var(--line);background:#0d0d0d;color:var(--text)}.span2{grid-column:span 2}
.note{border-left:4px solid var(--accent2);background:rgba(255,255,255,.08);padding:16px 18px;border-radius:0 14px 14px 0;color:#e6e6e6}
.footer{border-top:1px solid var(--line);padding:42px 0;color:var(--muted)}.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:28px}.footer a{display:block;margin:7px 0;color:var(--muted)}
.archive{position:fixed;right:14px;bottom:14px;z-index:80;background:#161616;border:1px solid var(--line);padding:8px 12px;border-radius:999px;color:var(--muted);font-size:.75rem;box-shadow:var(--shadow)}
.reveal{opacity:0;transform:translateY(16px);transition:.7s}.reveal.visible{opacity:1;transform:none}
@media(max-width:950px){.navlinks{display:none}.hero-grid,.g2,.g3,.g4,.pricing,.footer-grid{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.form{grid-template-columns:1fr}.span2{grid-column:span 1}.holo{min-height:440px}}
@media(max-width:600px){.stats{grid-template-columns:1fr}.hero h1{font-size:3.5rem}.container{width:min(94vw,1200px)}}


/* DDRV brand integration */
.brand-logo{
  display:block;
  width:190px;
  max-height:46px;
  object-fit:contain;
  object-position:left center;
  filter:drop-shadow(0 6px 18px rgba(0,0,0,.22));
}
.footer .brand-logo{
  width:220px;
  max-height:56px;
  margin-bottom:10px;
}
.hero-logo{
  width:min(390px,82%);
  max-height:110px;
  object-fit:contain;
  margin:0 0 18px;
  filter:drop-shadow(0 16px 35px rgba(0,0,0,.55));
}
.logo-badge{
  width:210px;
  height:210px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.04);
  border:1px solid var(--line);
  box-shadow:0 0 70px rgba(255,255,255,.07);
  backdrop-filter:blur(12px);
}
.logo-badge img{
  width:84%;
  height:auto;
  object-fit:contain;
}
@media(max-width:950px){
  .brand-logo{width:160px;max-height:42px}
  .hero-logo{width:min(340px,90%)}
}
@media(max-width:600px){
  .brand-logo{width:145px}
  .hero-logo{width:92%}
}


/* Monochrome accessibility theme */
body{
  background:
    radial-gradient(circle at 12% -10%, #252525 0, #080808 42%),
    #050505;
}
.topbar{
  background:rgba(5,5,5,.9);
  border-bottom-color:#333;
}
.logo{
  background:linear-gradient(135deg,#f2f2f2,#777);
  color:#050505;
}
.navlinks a:hover,
.navlinks a.active{
  background:#1e1e1e;
  color:#fff;
}
.btn{
  background:#1b1b1b;
  color:#f5f5f5;
  border-color:#4a4a4a;
}
.btn:hover{
  background:#272727;
  border-color:#747474;
}
.btn.primary{
  background:#f3f3f3;
  border-color:#f3f3f3;
  color:#090909;
}
.btn.primary:hover{
  background:#d9d9d9;
}
.btn.gold{
  background:#bcbcbc;
  border-color:#bcbcbc;
  color:#080808;
}
.holo{
  background:
    linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.025));
}
.shield{
  background:
    radial-gradient(circle at 35% 28%,#fff,#d9d9d9 34%,#777 65%,#111);
  filter:drop-shadow(0 0 50px rgba(255,255,255,.16));
}
.floating div,
.card,
.item,
.faq details{
  background:rgba(255,255,255,.045);
  border-color:#3a3a3a;
}
.card:hover{
  background:rgba(255,255,255,.075);
  border-color:#666;
}
.icon{
  background:rgba(255,255,255,.07);
  color:#fff;
  border-color:#444;
}
.stat{
  background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.025));
}
.stat b,
.time b,
.item a,
.eyebrow{
  color:#f0f0f0;
}
.tag{
  background:rgba(255,255,255,.07)!important;
  color:#f0f0f0!important;
  border-color:#4a4a4a;
}
.note{
  border-left-color:#d0d0d0;
  background:rgba(255,255,255,.06);
  color:#e8e8e8;
}
.field input,
.field textarea,
.field select{
  background:#0d0d0d;
  color:#f5f5f5;
  border-color:#444;
}
.field input:focus,
.field textarea:focus,
.field select:focus{
  outline:2px solid #aaa;
  outline-offset:1px;
}
.archive{
  background:#171717;
  border-color:#444;
  color:#cfcfcf;
}
.logo-badge{
  background:rgba(255,255,255,.05);
  border-color:#444;
  box-shadow:0 0 70px rgba(255,255,255,.08);
}
.brand-logo,
.hero-logo,
.logo-badge img{
  filter:grayscale(1) contrast(1.15) brightness(1.18) drop-shadow(0 10px 24px rgba(0,0,0,.35));
}
a:focus-visible,
button:focus-visible,
summary:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible{
  outline:2px solid #fff;
  outline-offset:3px;
}
::selection{
  background:#e6e6e6;
  color:#050505;
}


/* Extended feature modules */
.hero-tools{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px}
.tool-card{border:1px solid var(--line);border-radius:18px;padding:16px;background:rgba(255,255,255,.045)}
.tool-card b{display:block;font-size:1.05rem;margin-bottom:5px}
.score-ring{width:150px;height:150px;border-radius:50%;display:grid;place-items:center;margin:auto;background:conic-gradient(#f2f2f2 0 78%,#2c2c2c 78% 100%);position:relative}
.score-ring:after{content:"";position:absolute;width:112px;height:112px;border-radius:50%;background:#111}
.score-ring span{position:relative;z-index:1;font-size:2rem;font-weight:950}
.checklist{display:grid;gap:10px}.checkrow{display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.035)}
.checkrow input{accent-color:#fff}.risk-low{color:#e7e7e7}.risk-mid{color:#c8c8c8}.risk-high{color:#fff;font-weight:900}
.incident-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.mapbox{min-height:360px;border:1px solid var(--line);border-radius:22px;background:
 radial-gradient(circle at 27% 38%,rgba(255,255,255,.2) 0 5px,transparent 6px),
 radial-gradient(circle at 56% 46%,rgba(255,255,255,.2) 0 7px,transparent 8px),
 radial-gradient(circle at 72% 30%,rgba(255,255,255,.2) 0 4px,transparent 5px),
 linear-gradient(135deg,#171717,#0b0b0b);position:relative;overflow:hidden}
.mapbox:before{content:"Deutschland · Demo-Incident-Map";position:absolute;left:18px;top:16px;color:#cfcfcf;font-weight:850}
.timeline-mini{display:grid;gap:10px}.timeline-mini div{padding:12px;border-left:3px solid #ddd;background:rgba(255,255,255,.04);border-radius:0 12px 12px 0}
.registry-table{width:100%;border-collapse:collapse}.registry-table th,.registry-table td{padding:12px;border-bottom:1px solid var(--line);text-align:left}.registry-table th{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}
.badge{display:inline-flex;padding:5px 9px;border-radius:999px;border:1px solid var(--line);font-size:.74rem;font-weight:850}
.member-shell{display:grid;grid-template-columns:240px 1fr;gap:18px}.member-nav{border:1px solid var(--line);border-radius:20px;padding:14px;background:rgba(255,255,255,.04)}.member-nav a{display:block;padding:10px 12px;border-radius:10px;color:var(--muted)}.member-nav a.active,.member-nav a:hover{background:#1f1f1f;color:#fff}
.dashboard-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.dashboard-grid .stat{min-height:115px}
.generator-preview{white-space:pre-wrap;background:#0d0d0d;border:1px solid var(--line);border-radius:16px;padding:18px;min-height:260px;color:#e7e7e7}
@media(max-width:950px){.hero-tools,.incident-grid,.member-shell,.dashboard-grid{grid-template-columns:1fr}.mapbox{min-height:280px}}
