:root{
  /* Brand */
  --accent:#a7c600; /* TP-IT Grün-Gold */
  --accent-dark:#7f9900;
  --accent-ink:#23310a;

  /* Base */
  --bg:#f7f8fb;
  --surface:#ffffff;
  --ink:#0b1220;
  --muted:#5b6472;
  --line:#e7eaf0;

  /* UI */
  --radius:18px;
  --shadow:0 10px 30px rgba(16,24,40,.08);
  --ring:0 0 0 4px rgba(167,198,0,.15);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;color:var(--ink);background:var(--bg);
  font:16px/1.55 ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,"Helvetica Neue",Arial,sans-serif;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
}

/* ===== Utilities ===== */
.container{max-width:1200px;margin-inline:auto;padding:0 20px}
.muted{color:var(--muted)}
.w-100{width:100%}
.skip{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip:focus{left:12px;top:12px;width:auto;height:auto;background:#fff;color:#000;padding:8px 12px;border-radius:10px;box-shadow:var(--shadow)}

/* ===== Header ===== */
.site-header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.8);backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--line)}
.header-grid{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:14px 0}
.brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none}
.brand-logo{width:36px;height:36px}
.brand-name{font-weight:700;letter-spacing:.2px}
.nav{display:flex;gap:14px}
.nav a{color:var(--ink);text-decoration:none;padding:10px 12px;border-radius:10px}
.nav a:hover{background:#f2f5f8}
.nav.is-open{position:absolute;inset:62px 0 auto 0;background:#fff;border-top:1px solid var(--line);padding:10px 20px;display:grid;gap:6px}
.header-cta{display:flex;align-items:center;gap:10px}

.nav-toggle{display:none;border:0;background:transparent;padding:6px;border-radius:10px}
.nav-toggle span{display:block;width:22px;height:2px;background:var(--ink);margin:4px 0;border-radius:2px}
@media (max-width:880px){
  .nav{display:none}
  .nav.is-open{display:grid}
  .nav-toggle{display:inline-flex}
}

/* ===== Buttons ===== */
.btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;border-radius:12px;border:1px solid transparent;text-decoration:none;font-weight:650;letter-spacing:.2px;cursor:pointer;box-shadow:var(--shadow);transition:transform .05s ease}
.btn:active{transform:translateY(1px)}
.btn--primary{background:linear-gradient(135deg,var(--accent) 0%,#b9d64d 100%);color:#0c1400}
.btn--primary:hover{filter:brightness(1.05);box-shadow:0 12px 36px rgba(167,198,0,.25)}
.btn--ghost{background:transparent;border-color:#dfe5ee;color:var(--ink)}
.btn--ghost:hover{background:#f6f9fc}
.btn--lg{padding:14px 20px;font-size:1.06rem}

/* ===== Trustbar ===== */
.trustbar{border-bottom:1px solid var(--line);background:linear-gradient(180deg,#ffffff 0%,#fbfcfe 100%)}
.trust-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:10px 0}
.trust-item{display:flex;gap:12px;align-items:center;padding:10px 12px;border-radius:14px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}
.trust-item .i{width:24px;height:24px;fill:none;stroke:#4b5563;stroke-width:2}

/* ===== Hero ===== */
.hero{padding:64px 0;background:
  radial-gradient(800px 300px at 70% -10%, rgba(167,198,0,.08), transparent 70%),
  radial-gradient(600px 260px at 5% 0%, rgba(35,49,10,.06), transparent 70%)}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:24px;align-items:center}
.hero-copy .headline{font-size:clamp(2rem,2.4vw+1.4rem,3.4rem);line-height:1.08;margin:0 0 12px;font-weight:800;letter-spacing:-.02em}
.grad{background:linear-gradient(90deg,#23310a,#a7c600);-webkit-background-clip:text;background-clip:text;color:transparent}
.sub{max-width:56ch;margin:8px 0 14px;color:var(--muted);font-size:1.06rem}
.cta-wrap{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 8px}
.badges{display:flex;gap:10px;list-style:none;margin:12px 0 0;padding:0;flex-wrap:wrap}
.badges li{padding:8px 12px;border-radius:999px;border:1px solid #e4e9f2;background:#fff}
.hero-visual .screen{border-radius:22px;background:#fff;border:1px solid var(--line);box-shadow:0 30px 80px rgba(16,24,40,.12);overflow:hidden}
.hero-visual .screen-top{height:44px;background:linear-gradient(180deg,#f7f9fc,#edf2f7);border-bottom:1px solid var(--line)}
.hero-visual .screen-body{height:280px;background:repeating-linear-gradient(180deg,#ffffff 0 44px,#fbfdff 44px 88px)}
@media (max-width:980px){.hero-grid{grid-template-columns:1fr}.hero-visual{order:-1}}

/* ===== Sections ===== */
.section{padding:70px 0}
.section--alt{background:linear-gradient(180deg,#ffffff 0%,#f6f9fc 100%);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.section-head{text-align:center;margin-bottom:24px}
.section-head h2{margin:0 0 8px;font-size:clamp(1.6rem,1.2vw+1rem,2.1rem)}
.section-head p{margin:0;color:var(--muted)}

.grid.cards-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media (max-width:980px){.grid.cards-3{grid-template-columns:1fr}}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow)}
.card h3{margin:0 0 6px;font-size:1.15rem}
.card p{margin:0;color:var(--muted)}

/* ===== Tiers ===== */
.tiers{display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:980px){.tiers{grid-template-columns:1fr}}
.tier{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow);display:grid;gap:12px}
.tier-top{font-weight:700}
.price{font-size:2rem;font-weight:800;letter-spacing:-.02em}
.price span{font-size:.85rem;font-weight:500;color:var(--muted)}
.tier--pro{outline:2px solid rgba(167,198,0,.35);box-shadow:0 20px 60px rgba(167,198,0,.20)}
.tier ul{margin:0;padding-left:18px;color:var(--muted)}
.tier li{margin:6px 0}

/* ===== Quotes ===== */
.quotes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
@media (max-width:980px){.quotes{grid-template-columns:1fr}}
.quote{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--shadow)}
.quote blockquote{margin:0 0 6px;font-size:1.05rem}
.quote figcaption{color:var(--muted)}

/* ===== FAQ ===== */
.faq{display:grid;gap:10px}
.faq details{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 14px;box-shadow:var(--shadow)}
.faq summary{font-weight:600;cursor:pointer}
.faq p{color:var(--muted)}

/* ===== Contact ===== */
.contact-inner{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px;box-shadow:var(--shadow);display:grid;gap:14px;max-width:820px}
.contact-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.contact-form label{display:grid;gap:6px}
.contact-form label.full{grid-column:1/-1}
.contact-form input,.contact-form textarea{border:1px solid #dfe5ee;border-radius:12px;padding:10px 12px;outline:0;box-shadow:0 1px 0 #f3f6fb inset}
.contact-form input:focus,.contact-form textarea:focus{border-color:var(--accent);box-shadow:var(--ring)}

/* ===== Footer ===== */
.site-footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;padding:18px 20px;border-top:1px solid var(--line);background:#fff}
.foot-left,.foot-right{display:flex;align-items:center;gap:10px}
.foot-logo{width:20px;height:20px;opacity:.9}
.site-footer a{color:var(--ink);text-decoration:none}
.site-footer a:hover{text-decoration:underline}
.foot-mid{text-align:center;color:var(--muted)}
