/* domino-restart.de — acceptIT GmbH
   Farben & Typografie gemäß acceptIT Corporate-Design-Styleguide:
   Rot #D80018 (CMYK 0/100/100/10), Anthrazit #58585A (CMYK 0/0/0/80),
   Verdana als offizieller Web-Fallback für Officina Sans. */

:root{
  --red: #D80018;
  --red-dark: #B00013;
  --anthracite: #58585A;
  --ink: #23282B;
  --grey-100: #F7F7F8;
  --grey-200: #EEEEEE;
  --grey-300: #DADCDE;
  --grey-500: #8A9096;
  --white: #FFFFFF;
  --radius: 10px;
  --max: 1180px;
  --shadow: 0 2px 6px rgba(35,40,43,.06), 0 12px 32px rgba(35,40,43,.06);
  font-size: 16px;
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  font-family: Verdana, Geneva, sans-serif;
  color: var(--ink);
  background: var(--white);
  line-height:1.6;
  -webkit-font-smoothing: antialiased;
}
img{ max-width:100%; display:block; }
a{ color: var(--red); text-decoration:none; }
a:hover{ text-decoration:underline; }

.container{
  max-width: var(--max);
  margin:0 auto;
  padding: 0 24px;
}

h1,h2,h3,h4{
  font-family: Verdana, Geneva, sans-serif;
  font-weight:bold;
  color: var(--ink);
  line-height:1.25;
  margin: 0 0 .6em;
}
h1{ font-size: clamp(1.8rem, 3.4vw, 2.7rem); }
h2{ font-size: clamp(1.5rem, 2.6vw, 2.05rem); }
h3{ font-size: 1.15rem; }
p{ margin:0 0 1em; }

.eyebrow{
  display:inline-block;
  font-size:.72rem;
  font-weight:bold;
  letter-spacing:.08em;
  text-transform:uppercase;
  color: var(--red);
  background: rgba(216,0,24,.08);
  border-radius: 999px;
  padding: .35em .9em;
  margin-bottom: 1em;
}

.lede{ font-size:1.1rem; color: var(--anthracite); max-width: 62ch; }

/* Buttons */
.btn{
  display:inline-flex;
  align-items:center;
  gap:.5em;
  font-family: Verdana, Geneva, sans-serif;
  font-weight:bold;
  font-size:.95rem;
  padding: .85em 1.5em;
  border-radius: 4px 4px 4px 14px;
  border: 2px solid var(--red);
  cursor:pointer;
  transition: all .15s ease;
  white-space:nowrap;
}
.btn-primary{
  background: var(--red);
  color: var(--white);
}
.btn-primary:hover{ background: var(--red-dark); border-color: var(--red-dark); text-decoration:none; }
.btn-secondary{
  background: var(--white);
  color: var(--red);
}
.btn-secondary:hover{ background: rgba(216,0,24,.06); text-decoration:none; }
.btn-ghost{
  border-color: var(--grey-300);
  color: var(--ink);
  background: transparent;
}
.btn-ghost:hover{ border-color: var(--anthracite); text-decoration:none; }
.btn-block{ width:100%; justify-content:center; }

/* Top bar / ticker */
.topbar{
  background: var(--ink);
  color: var(--white);
  font-size:.85rem;
}
.topbar .container{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.6em;
  padding: .55em 24px;
  text-align:center;
  flex-wrap:wrap;
}
.topbar a{ color:#fff; font-weight:bold; text-decoration:underline; }

/* Nav */
header.site-header{
  position:sticky; top:0; z-index:50;
  background: rgba(255,255,255,.96);
  backdrop-filter: blur(6px);
  border-bottom:1px solid var(--grey-200);
}
.nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding: 14px 0;
  gap: 1.5rem;
}
.nav-logo{ display:flex; align-items:center; gap:.6em; flex-shrink:0; }
.nav-logo img{ height:52px; width:auto; }
.nav-links{
  display:flex;
  gap: 1.6rem;
  list-style:none;
  margin:0; padding:0;
  font-size:.92rem;
  font-weight:bold;
  flex-wrap:wrap;
}
.nav-links a{ color: var(--ink); }
.nav-links a:hover{ color: var(--red); }
.nav-cta{ display:flex; gap:.7em; flex-shrink:0; }
.nav-toggle{ display:none; }

@media (max-width: 900px){
  .nav-links{ display:none; }
  .nav-cta .btn-secondary{ display:none; }
}

/* Hero */
.hero{
  background: linear-gradient(180deg, var(--grey-100) 0%, var(--white) 65%);
  padding: 64px 0 56px;
  border-bottom: 1px solid var(--grey-200);
}
.hero-cobrand{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap: 1.4em;
  margin-bottom: 2.2em;
  padding: .9em 1.2em;
  background: var(--white);
  border: 1px solid var(--grey-300);
  border-radius: var(--radius);
  width:fit-content;
}
.hero-cobrand span{ font-size:.8rem; color: var(--anthracite); font-weight:bold; }
.hero-cobrand img{ height:22px; width:auto; }
.hero-cobrand .divider{ width:1px; height:40px; background:var(--grey-300); }
.hero-cobrand .restart-badge-img{ height:60px; width:auto; border-radius:6px; box-shadow:0 1px 4px rgba(0,0,0,.15); }

@media (max-width: 560px){
  .hero-cobrand{ flex-direction:column; align-items:flex-start; }
  .hero-cobrand .divider{ display:none; }
}

.hero-slogan{
  font-family: Verdana, Geneva, sans-serif;
  font-weight:bold;
  font-size: clamp(1.9rem, 3.6vw, 2.7rem);
  line-height: 1.05;
  color: var(--red);
  margin: 0 0 .2em;
  letter-spacing:-.02em;
}
.hero-grid{
  display:grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 3rem;
  align-items:center;
}
@media (max-width: 900px){ .hero-grid{ grid-template-columns: 1fr; } }
.hero h1{ margin-bottom:.5em; }
.hero .lede{ font-size:1.15rem; margin-bottom:1.6em; }
.hero-cta{ display:flex; gap:1em; flex-wrap:wrap; margin-bottom:1.8em; }
.hero-facts{
  display:flex; flex-wrap:wrap; gap: .6em 1.5em;
  margin-top: 1.9em; padding-top: 1.4em;
  border-top: 1px solid var(--grey-200);
  font-size:.85rem; color: var(--anthracite);
}
.hero-facts span{ display:inline-flex; align-items:center; gap:.45em; }
.hero-facts span::before{
  content:"✓"; color: var(--red); font-weight:bold; font-size:.9em; line-height:1;
}
.hero-facts strong{ color: var(--ink); }
.hero-visual{
  position:relative;
  background: var(--white);
  border:1px solid var(--grey-300);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 2rem;
  overflow:hidden;
}
.hero-visual::before{
  content:"";
  position:absolute; right:-40px; top:-40px;
  width:220px; height:220px;
  background: url('../img/acc-signet.png') no-repeat center / contain;
  opacity:.07;
  transform: rotate(8deg);
}
.hero-visual h3{ color:var(--red); font-size:.95rem; text-transform:uppercase; letter-spacing:.04em; margin-bottom:1em;}
.hero-stat-row{ display:flex; justify-content:space-between; gap:1em; margin-bottom:1.2em; }
.hero-stat{ text-align:left; }
.hero-stat .num{ font-size:1.5rem; font-weight:bold; color:var(--red); display:block; }
.hero-stat .lbl{ font-size:.78rem; color:var(--anthracite); }

/* Sections */
section{ padding: 72px 0; }
section.alt{ background: var(--grey-100); }
.section-head{ max-width: 68ch; margin-bottom: 2.6rem; }
.section-head.center{ margin-left:auto; margin-right:auto; text-align:center; }

/* Situational cards */
.grid-3{ display:grid; grid-template-columns: repeat(3,1fr); gap:1.5rem; }
@media (max-width: 900px){ .grid-3{ grid-template-columns:1fr; } }
.situation-card{
  background: var(--white);
  border:1px solid var(--grey-300);
  border-radius: var(--radius);
  padding: 1.8rem;
  display:flex; flex-direction:column;
  transition: box-shadow .15s ease, transform .15s ease;
}
.situation-card:hover{ box-shadow: var(--shadow); transform: translateY(-2px); }
.situation-card .tag{
  font-size:.72rem; font-weight:bold; text-transform:uppercase; letter-spacing:.05em;
  color: var(--red); margin-bottom:.8em;
}
.situation-card h3{ margin-bottom:.6em; }
.situation-card p{ color: var(--anthracite); flex-grow:1; font-size:.95rem; }
.situation-card a.card-link{ font-weight:bold; font-size:.92rem; margin-top:1em; }

/* Problem list */
.risk-list{ list-style:none; margin:0; padding:0; display:grid; gap:1.1rem; }
.risk-list li{
  display:flex; gap:1em; align-items:flex-start;
  background:var(--white); border:1px solid var(--grey-300); border-radius:var(--radius);
  padding:1.2rem 1.4rem;
}
.risk-list .icon{
  flex-shrink:0; width:34px; height:34px; border-radius:50%;
  background: rgba(216,0,24,.1); color:var(--red); font-weight:bold;
  display:flex; align-items:center; justify-content:center; font-size:1rem;
}
.risk-list strong{ display:block; margin-bottom:.15em; }
.risk-list span.desc{ color:var(--anthracite); font-size:.94rem; }

/* Compliance callout */
.callout{
  background: var(--ink);
  color: var(--white);
  border-radius: var(--radius);
  padding: 2.4rem;
  margin-top: 2.4rem;
}
.callout h3{ color:#fff; }
.callout .callout-lede{ color: #C9CDCF; margin-bottom:1.6em; max-width:70ch;}
.callout-cols{ display:grid; grid-template-columns:1fr 1fr; gap:1.6rem; }
@media (max-width:800px){ .callout-cols{ grid-template-columns:1fr; } }
.callout-col{ background: rgba(255,255,255,.06); border-radius:8px; padding:1.3rem 1.5rem; }
.callout-col h4{ color:var(--white); font-size:.85rem; text-transform:uppercase; letter-spacing:.04em; margin-bottom:.6em; }
.callout-col p{ font-size:.92rem; color:#D7DADC; margin:0; }

/* Stats */
.stat-grid{ display:grid; grid-template-columns: repeat(4,1fr); gap:1.4rem; }
@media (max-width:900px){ .stat-grid{ grid-template-columns: repeat(2,1fr); } }
.stat-card{
  text-align:center; background:var(--white); border:1px solid var(--grey-300);
  border-radius: var(--radius); padding: 2rem 1rem;
}
.stat-card .num{ font-size:2.2rem; font-weight:bold; color:var(--red); display:block; margin-bottom:.2em; }
.stat-card .lbl{ font-size:.85rem; color:var(--anthracite); }
.stat-source{ text-align:center; font-size:.8rem; color:var(--grey-500); margin-top:1.6rem; }

/* Offer variants */
.offer-grid{ display:grid; grid-template-columns:1fr 1fr; gap:1.6rem; margin-bottom:2.6rem; }
@media (max-width:900px){ .offer-grid{ grid-template-columns:1fr; } }
.offer-card{
  border:2px solid var(--grey-300); border-radius: var(--radius); padding:1.8rem;
  background:var(--white);
}
.offer-card.featured{ border-color: var(--red); }
.offer-card .tag{ font-size:.72rem; font-weight:bold; text-transform:uppercase; color:var(--red); letter-spacing:.05em; }
.offer-card h3{ margin: .4em 0 .6em; }
.offer-card p{ color:var(--anthracite); font-size:.94rem; }

.check-list{ list-style:none; margin:0 0 2.4rem; padding:0; display:grid; grid-template-columns: repeat(2,1fr); gap: .8rem 1.6rem; }
@media (max-width:700px){ .check-list{ grid-template-columns:1fr; } }
.check-list li{ display:flex; gap:.7em; align-items:flex-start; font-size:.95rem; }
.check-list .tick{ color: var(--red); font-weight:bold; flex-shrink:0; }

.capability-grid{ display:grid; grid-template-columns: repeat(5,1fr); gap:1.2rem; margin-bottom:2rem; }
@media (max-width:1000px){ .capability-grid{ grid-template-columns: repeat(3,1fr); } }
@media (max-width:640px){ .capability-grid{ grid-template-columns: 1fr 1fr; } }
.capability-card{
  background:var(--grey-100); border-radius: var(--radius); padding:1.4rem 1.2rem; text-align:left;
  border:1px solid var(--grey-200);
}
.capability-card h4{ font-size:.95rem; margin-bottom:.4em; }
.capability-card p{ font-size:.85rem; color:var(--anthracite); margin:0; }

.note-box{
  background: var(--grey-100);
  border-left: 4px solid var(--red);
  border-radius: 0 8px 8px 0;
  padding: 1.1rem 1.4rem;
  font-size: .92rem;
  color: var(--anthracite);
  margin: 1.4rem 0;
}
.note-box.internal{ border-left-color: var(--grey-500); font-style: italic; }

.cta-row{ display:flex; gap:1em; flex-wrap:wrap; margin-top:1.6rem; }

/* Partner ecosystem */
.partner-grid{ display:grid; grid-template-columns: repeat(3,1fr); gap:1.4rem; }
@media (max-width:900px){ .partner-grid{ grid-template-columns: 1fr 1fr; } }
@media (max-width:640px){ .partner-grid{ grid-template-columns: 1fr; } }
.partner-card{
  background:var(--white); border:1px solid var(--grey-300); border-radius:var(--radius);
  padding:1.6rem; display:flex; flex-direction:column;
}
.partner-card.lead{ border-color: var(--red); background: rgba(216,0,24,.03); }
.partner-card .partner-name{ font-weight:bold; color:var(--ink); margin-bottom:.4em; }
.partner-card .partner-role{ font-size:.72rem; text-transform:uppercase; letter-spacing:.04em; color:var(--red); font-weight:bold; margin-bottom:.6em; }
.partner-card p{ font-size:.9rem; color:var(--anthracite); flex-grow:1; margin:0; }

/* Process steps */
.steps{ display:grid; grid-template-columns: repeat(3,1fr); gap: 1.6rem; counter-reset:step; }
@media (max-width:900px){ .steps{ grid-template-columns:1fr; } }
.step{ position:relative; background:var(--white); border:1px solid var(--grey-300); border-radius:var(--radius); padding:2rem 1.6rem 1.6rem; }
.step .step-num{
  width:40px; height:40px; border-radius:50%; background:var(--red); color:#fff;
  display:flex; align-items:center; justify-content:center; font-weight:bold; margin-bottom:1em;
}
.step h3{ margin-bottom:.5em; }
.step p{ font-size:.92rem; color:var(--anthracite); margin:0; }

/* About / trust */
.about-grid{ display:grid; grid-template-columns: repeat(3,1fr); gap:1.4rem; margin-bottom:2rem; }
@media (max-width:900px){ .about-grid{ grid-template-columns:1fr; } }
.about-card{ background:var(--white); border:1px solid var(--grey-300); border-radius:var(--radius); padding:1.6rem; }
.about-card h4{ margin-bottom:.5em; }
.about-card p{ font-size:.9rem; color:var(--anthracite); }
.about-card a{ font-size:.85rem; font-weight:bold; }
.trust-strip{
  display:flex; align-items:center; gap:1.6rem; flex-wrap:wrap;
  background:var(--grey-100); border-radius:var(--radius); padding:1.4rem 1.6rem;
}
.trust-strip img{ height:32px; width:auto; }
.trust-strip .trust-fact{ font-size:.85rem; color:var(--anthracite); }
.trust-strip .trust-fact strong{ color:var(--ink); }

/* Events */
.event-grid{ display:grid; grid-template-columns: repeat(3,1fr); gap:1.4rem; }
@media (max-width:900px){ .event-grid{ grid-template-columns: 1fr 1fr; } }
@media (max-width:640px){ .event-grid{ grid-template-columns: 1fr; } }
.event-card{
  background:var(--white); border:1px solid var(--grey-300); border-radius:var(--radius);
  padding:1.5rem; display:flex; flex-direction:column;
}
.event-card .tag{ font-size:.72rem; text-transform:uppercase; letter-spacing:.05em; font-weight:bold; color:var(--red); margin-bottom:.5em; }
.event-card h4{ margin-bottom:.4em; }
.event-card p{ font-size:.88rem; color:var(--anthracite); flex-grow:1; }
.event-card .meta{ font-size:.8rem; color:var(--grey-500); margin-top:.6em; }
.anwendertag-dates{ list-style:none; margin:.8em 0 0; padding:0; font-size:.85rem; }
.anwendertag-dates li{ display:flex; justify-content:space-between; padding:.25em 0; border-bottom:1px dashed var(--grey-300); }
.anwendertag-dates li:last-child{ border-bottom:none; }
.anwendertag-dates .city{ font-weight:bold; }

/* FAQ */
.faq-list{ display:grid; gap:.8rem; max-width: 800px; }
details.faq-item{
  background:var(--white); border:1px solid var(--grey-300); border-radius:var(--radius);
  padding: 0;
}
details.faq-item summary{
  cursor:pointer; padding:1.1rem 1.4rem; font-weight:bold; list-style:none;
  display:flex; justify-content:space-between; align-items:center; gap:1em;
}
details.faq-item summary::-webkit-details-marker{ display:none; }
details.faq-item summary::after{
  content:"+"; color:var(--red); font-size:1.3rem; font-weight:bold; flex-shrink:0;
}
details.faq-item[open] summary::after{ content:"–"; }
details.faq-item .faq-answer{ padding: 0 1.4rem 1.2rem; color:var(--anthracite); font-size:.94rem; }

/* Contact form */
.contact-wrap{ display:grid; grid-template-columns: .9fr 1.1fr; gap:3rem; align-items:flex-start; }
@media (max-width:900px){ .contact-wrap{ grid-template-columns:1fr; } }
.contact-side .sla-badge{
  display:flex; gap:.9em; align-items:flex-start; background:var(--grey-100);
  border-radius:var(--radius); padding:1.2rem 1.4rem; margin-top:1.6rem;
}
.contact-side .sla-badge .icon{ font-size:1.4rem; }
.contact-side .sla-badge strong{ display:block; margin-bottom:.15em; }
.contact-side .sla-badge span{ font-size:.88rem; color:var(--anthracite); }

form.contact-form{
  background: var(--white); border:1px solid var(--grey-300); border-radius: var(--radius);
  padding: 2rem; box-shadow: var(--shadow);
}
.form-row{ display:grid; grid-template-columns: 1fr 1fr; gap:1rem; }
@media (max-width:560px){ .form-row{ grid-template-columns:1fr; } }
.field{ margin-bottom: 1.1rem; }
.field label{ display:block; font-size:.85rem; font-weight:bold; margin-bottom:.4em; }
.field input, .field select, .field textarea{
  width:100%; font-family: Verdana, Geneva, sans-serif; font-size:.95rem;
  padding:.7em .8em; border:1px solid var(--grey-300); border-radius:6px; background:#fff;
  color: var(--ink);
}
.field input:focus, .field select:focus, .field textarea:focus{
  outline:none; border-color: var(--red); box-shadow: 0 0 0 3px rgba(216,0,24,.12);
}
.field textarea{ resize: vertical; min-height:90px; }
.field.required label::after{ content:" *"; color: var(--red); }
.form-privacy{ font-size:.8rem; color:var(--grey-500); margin: 1rem 0 1.3rem; }
.form-privacy a{ color: var(--anthracite); text-decoration:underline; }
.form-status{ font-size:.9rem; margin-top:1rem; display:none; }
.form-status.ok{ color:#1a7a34; display:block; }
.form-status.err{ color:var(--red); display:block; }

/* Footer */
footer.site-footer{
  background: var(--ink); color:#C9CDCF; padding: 3.2rem 0 2rem; font-size:.88rem;
}
.footer-grid{ display:grid; grid-template-columns: 1.3fr 1fr 1fr; gap:2.4rem; margin-bottom:2.4rem; }
@media (max-width:800px){ .footer-grid{ grid-template-columns:1fr; } }
.footer-grid h4{ color:#fff; font-size:.85rem; text-transform:uppercase; letter-spacing:.04em; margin-bottom:1em; }
.footer-grid ul{ list-style:none; margin:0; padding:0; display:grid; gap:.5em; }
.footer-grid a{ color:#C9CDCF; }
.footer-grid a:hover{ color:#fff; }
.footer-logo-chip{
  display:inline-flex; align-items:center; background:#fff; border-radius:8px;
  padding:.6em 1em; margin-bottom:1em;
}
.footer-logo{ height:26px; width:auto; display:block; }
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.12); padding-top:1.6rem;
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1em;
  font-size:.8rem; color:#9BA1A4;
}
.footer-bottom .badges{ display:flex; gap:.8em; align-items:center; }
.footer-bottom .badge-chip{
  background:#fff; border-radius:6px; padding:.35em .7em; display:flex; align-items:center;
}
.footer-bottom .badge-chip img{ height:16px; width:auto; }

/* Skip link */
.skip-link{
  position:absolute; left:-999px; top:0; background:#fff; color:#000; padding:1em; z-index:100;
}
.skip-link:focus{ left:8px; top:8px; }

/* Anchor offset for sticky header */
section[id]{ scroll-margin-top: 84px; }
