/* certwerk.eu – Klar tokens from the product (web/src/theme/tokens.ts). Fonts are self-hosted on the server; the preview loads them from Google Fonts. */
:root{
  --ground:#faf9f6; --surface:#ffffff; --hairline:#e6e3dc; --text:#1d1c1a; --muted:#6b6861;
  --accent:#3b4bd8; --accent-hover:#2a37a8; --on-accent:#ffffff; --accent-soft:#eceefc; --ink:#1d1c1a;
  --display:Manrope,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --body:Manrope,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --ground:#141311; --surface:#1c1b18; --hairline:#2b2925; --text:#ecebe6; --muted:#a09c93;
  --accent:#8f9bff; --accent-hover:#aeb7ff; --on-accent:#141311; --accent-soft:#23243a; --ink:#ecebe6; color-scheme:dark}}
:root[data-theme="dark"]{
  --ground:#141311; --surface:#1c1b18; --hairline:#2b2925; --text:#ecebe6; --muted:#a09c93;
  --accent:#8f9bff; --accent-hover:#aeb7ff; --on-accent:#141311; --accent-soft:#23243a; --ink:#ecebe6; color-scheme:dark}
*{box-sizing:border-box}
body{margin:0;background:var(--ground);color:var(--text);font:17px/1.6 var(--body)}
a{color:var(--accent)} a:hover{color:var(--accent-hover)}
a:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px}
.wrap{max-width:68rem;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
header.top{border-bottom:1px solid var(--hairline)}
header.top .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-block:16px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;color:var(--text);text-decoration:none}
.brand svg{flex-shrink:0}
.brand .b-l{stroke:var(--accent)} .brand .b-r,.brand .b-bar{stroke:var(--ink)}
.wm{font:500 1.35rem/1 var(--mono);letter-spacing:-.02em}
nav{display:flex;gap:18px;flex-wrap:wrap;font-size:.95rem;align-items:center}
nav a{color:var(--muted);text-decoration:none} nav a:hover{color:var(--text)}
nav .lang{font:500 .8rem var(--mono);border:1px solid var(--hairline);padding:2px 8px;border-radius:4px}
.hero .wrap{padding-block:68px 52px;display:grid;gap:22px}
.eyebrow{font:500 .8rem var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
h1{font:800 clamp(2.2rem,5.4vw,3.5rem)/1.08 var(--display);letter-spacing:-.03em;margin:0;max-width:18ch;text-wrap:balance}
.lede{font-size:1.2rem;color:var(--muted);max-width:42rem;margin:0}
.hero .note{margin:0;max-width:42rem;font-size:.95rem;border-left:3px solid var(--accent);padding-left:12px}
figure.console{margin:0}
.cta{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.btn{display:inline-block;background:var(--accent);color:var(--on-accent);padding:12px 20px;border-radius:6px;font-weight:600;text-decoration:none}
.btn:hover{background:var(--accent-hover);color:var(--on-accent)}
.ghost{color:var(--text);font-weight:600}
section{padding-block:56px;border-top:1px solid var(--hairline)}
h2{font:700 clamp(1.5rem,3vw,2rem)/1.2 var(--display);letter-spacing:-.02em;margin:0 0 12px;text-wrap:balance}
.sub{color:var(--muted);max-width:44rem;margin:0 0 32px}
/* agent console: a real exchange shown as mono transcript */
.agent{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:start}
.console{background:var(--surface);border:1px solid var(--hairline);border-radius:10px;padding:18px 20px;font:14px/1.6 var(--mono);display:grid;gap:10px;min-width:0}
.console .who{font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.console .you{color:var(--text)}
.console .tool{color:var(--accent)}
.console .ok{color:var(--muted)}
.console p{margin:0;overflow-wrap:anywhere}
.points{display:grid;gap:18px;margin:0;padding:0;list-style:none}
.points b{display:block;font-family:var(--display)}
.points span{color:var(--muted);font-size:.98rem}
/* lifetime timeline */
.timeline{background:var(--surface);border:1px solid var(--hairline);border-radius:10px;padding:24px;display:grid;gap:14px}
.row{display:grid;grid-template-columns:7.5rem 1fr 4.5rem;gap:14px;align-items:center;font-variant-numeric:tabular-nums}
.row .when{font:500 .9rem var(--mono);color:var(--muted)}
.bar{height:14px;border-radius:7px;background:var(--accent-soft);position:relative;overflow:hidden}
.bar i{position:absolute;inset:0 auto 0 0;background:var(--accent);border-radius:7px}
.row .days{font:600 1rem var(--mono);text-align:right}
.tl-note{font-size:.9rem;color:var(--muted);margin:4px 0 0}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:28px 32px}
.feat h3{font:700 1.05rem var(--display);margin:0 0 6px}
.feat p{margin:0;color:var(--muted);font-size:.98rem}
.proto{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}
.proto span{font:500 .85rem var(--mono);border:1px solid var(--hairline);background:var(--surface);padding:4px 10px;border-radius:4px}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:24px;counter-reset:s;margin:0;padding:0;list-style:none}
.steps li{counter-increment:s;display:grid;gap:6px}
.steps li::before{content:counter(s);font:700 .85rem var(--mono);color:var(--accent);border:1px solid var(--accent);width:1.9rem;height:1.9rem;border-radius:50%;display:grid;place-items:center}
.steps b{font-family:var(--display)}
.steps span{color:var(--muted);font-size:.98rem}
.status{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:24px}
.status div{display:grid;gap:4px}
.status .k{font:500 .8rem var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.contact{background:var(--surface);border:1px solid var(--hairline);border-radius:10px;padding:28px;display:grid;gap:10px;max-width:44rem}
.mail{font:600 1.1rem var(--mono);user-select:all}
.legal{max-width:44rem;padding-block:48px}
.legal h1{font-size:2rem;margin-bottom:24px}
.legal h2{font-size:1.15rem;margin:28px 0 8px}
.legal p,.legal li{color:var(--text)}
.legal address{font-style:normal}
footer{border-top:1px solid var(--hairline);color:var(--muted);font-size:.9rem}
footer .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-block:28px}
footer a{color:var(--muted)}
@media (max-width:760px){.agent{grid-template-columns:minmax(0,1fr)}}
@media (max-width:560px){.row{grid-template-columns:5.5rem 1fr 3.5rem;gap:10px}.hero .wrap{padding-block:44px 36px}}
@media (prefers-reduced-motion:no-preference){.bar i{animation:grow .9s ease-out both}@keyframes grow{from{width:0}}}
