/* M-Co AG — Hauptstylesheet
   Design-System: heller Swiss Style + dunkle Slate-Sektionen, Logo-Grün #a0c857 */

:root{
  --ink:#384859;
  --ink-2:#2f3d4c;
  --paper:#f6f7f9;
  --white:#ffffff;
  --brand:#a0c857;
  --brand-dark:#8ab53e;
  --brand-ink:#6d9327;
  --muted:#5b6b82;
  --line:#e3e7ee;
  --line-dark:rgba(255,255,255,.09);
  --radius:16px;
  --font-display:'Space Grotesk',sans-serif;
  --font-body:'IBM Plex Sans',sans-serif;
  --font-mono:'IBM Plex Mono',monospace;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--font-body);color:var(--ink);background:var(--paper);line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%}
a{color:inherit;text-decoration:none}
.wrap{max-width:1160px;margin:0 auto;padding:0 24px}
.narrow{max-width:820px}
.eyebrow{font-family:var(--font-mono);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--brand-ink);margin-bottom:14px}
.dark .eyebrow{color:var(--brand)}
h1,h2,h3{font-family:var(--font-display);line-height:1.12;letter-spacing:-.01em}
h2{font-size:clamp(1.6rem,3.2vw,2.4rem);margin-bottom:14px}
.lead{color:var(--muted);font-size:1.05rem;max-width:60ch}
.dark .lead{color:#b3c0cd}
section{padding:88px 0}
.dark{background:var(--ink);color:#fff}
.bg-white{background:var(--white)}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:.95rem;padding:13px 24px;border-radius:999px;transition:transform .18s ease,background .18s ease,box-shadow .18s ease;cursor:pointer;border:none}
.btn-primary{background:var(--brand);color:#26313a;box-shadow:0 6px 20px rgba(160,200,87,.35)}
.btn-primary:hover{background:var(--brand-dark);transform:translateY(-2px)}
.btn-ghost{border:1.5px solid var(--line);color:var(--ink);background:transparent}
.dark .btn-ghost{border-color:var(--line-dark);color:#fff}
.btn-ghost:hover{border-color:var(--brand-ink);color:var(--brand-ink)}
.dark .btn-ghost:hover{border-color:var(--brand);color:var(--brand)}

/* Header */
header.site-header{position:sticky;top:0;z-index:50;background:rgba(246,247,249,.85);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:68px}
.logo{font-family:var(--font-display);font-weight:700;font-size:1.35rem;letter-spacing:-.02em;color:var(--brand-ink)}
.logo .pipe{color:#878787;font-weight:400;margin:0 1px}
.nav-links{display:flex;gap:28px;font-size:.92rem;font-weight:500;color:var(--muted)}
.nav-links a:hover,.nav-links a.active{color:var(--ink)}
.nav .btn{padding:9px 18px;font-size:.86rem}
@media(max-width:760px){.nav-links{display:none}}

/* Hero (Startseite) */
.hero{padding:110px 0 100px;position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background:
  radial-gradient(ellipse 60% 50% at 75% 20%,rgba(160,200,87,.10),transparent 60%),
  radial-gradient(ellipse 40% 40% at 15% 90%,rgba(160,200,87,.05),transparent 60%);pointer-events:none}
.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center;position:relative}
@media(max-width:900px){.hero .wrap{grid-template-columns:1fr;gap:48px}}
.hero h1{font-size:clamp(2.3rem,5vw,3.6rem);margin:18px 0 20px}
.hero h1 em,.subhero h1 em{font-style:normal;color:var(--brand)}
.hero p{color:#b3c0cd;font-size:1.1rem;max-width:46ch;margin-bottom:32px}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap}

/* Sub-Hero (Unterseiten) */
.subhero{padding:84px 0 76px;position:relative;overflow:hidden}
.subhero::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 55% 60% at 80% 10%,rgba(160,200,87,.12),transparent 60%);pointer-events:none}
.subhero .wrap{position:relative}
.crumb{font-family:var(--font-mono);font-size:.8rem;color:#8b9aa9;margin-bottom:20px}
.crumb a:hover{color:var(--brand)}
.subhero h1{font-size:clamp(2rem,4.4vw,3.1rem);margin:14px 0 18px;max-width:22ch}
.subhero p{color:#b3c0cd;font-size:1.08rem;max-width:54ch;margin-bottom:30px}
.tag{font-family:var(--font-mono);font-size:.78rem;color:var(--brand);border:1px solid rgba(160,200,87,.35);border-radius:6px;padding:5px 11px;display:inline-block}

/* Terminal / Code-Fenster */
.terminal{background:var(--ink-2);border:1px solid var(--line-dark);border-radius:14px;box-shadow:0 30px 80px rgba(0,0,0,.35);font-family:var(--font-mono);font-size:.86rem;overflow:hidden}
.term-bar{display:flex;gap:7px;padding:12px 16px;border-bottom:1px solid var(--line-dark)}
.term-bar i{width:11px;height:11px;border-radius:50%;background:#4d5b69}
.term-bar i:first-child{background:#ff5f57}.term-bar i:nth-child(2){background:#febc2e}.term-bar i:nth-child(3){background:#28c840}
.term-body{padding:20px 22px 26px;min-height:60px;line-height:1.9;color:#d3dce5}
.terminal.typing .term-body{min-height:220px}
.term-body .prompt,.term-body .g{color:var(--brand)}
.term-body .ok{color:var(--brand)}
.term-body .dim,.term-body .d{color:#8b9aa9}
.cursor{display:inline-block;width:9px;height:1.1em;background:var(--brand);vertical-align:text-bottom;animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}

/* Partner-Strip */
.strip{padding:38px 0;border-bottom:1px solid var(--line);background:var(--white)}
.strip .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.strip span.label{font-family:var(--font-mono);font-size:.8rem;color:var(--muted);letter-spacing:.06em}
.strip .logos{display:flex;gap:30px;flex-wrap:wrap;font-family:var(--font-display);font-weight:600;color:#93a1b5;font-size:1rem}

/* Bento & Karten */
.bento{display:grid;grid-template-columns:repeat(6,1fr);gap:18px;margin-top:48px}
.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:30px;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.card:hover{transform:translateY(-5px);box-shadow:0 18px 44px rgba(11,21,36,.09);border-color:#d7e6b5}
.card h3{font-size:1.2rem;margin:16px 0 8px}
.card p{color:var(--muted);font-size:.94rem}
.card .icon{width:44px;height:44px;border-radius:12px;background:#f0f6e0;color:var(--brand-ink);display:flex;align-items:center;justify-content:center}
.card .icon svg{width:22px;height:22px}
.card ul{list-style:none;margin-top:14px;display:flex;flex-wrap:wrap;gap:8px}
.card ul li{font-family:var(--font-mono);font-size:.72rem;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:4px 10px}
.c-2{grid-column:span 2}.c-3{grid-column:span 3}.c-4{grid-column:span 4}
@media(max-width:900px){.c-2,.c-3,.c-4{grid-column:span 6}}
.ops-tag{font-family:var(--font-mono);font-size:.76rem;color:var(--brand-ink);background:#f0f6e0;border:1px solid #dcebbe;border-radius:6px;padding:4px 10px;display:inline-block}
.card .ops-tag+h3{margin-top:14px}

/* Statistiken */
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:52px}
@media(max-width:760px){.stats{grid-template-columns:1fr}}
.stat{border:1px solid var(--line-dark);border-radius:var(--radius);padding:28px;background:rgba(255,255,255,.02)}
.stat b{font-family:var(--font-display);font-size:2.4rem;display:block;color:#fff}
.stat b i{font-style:normal;color:var(--brand)}
.stat span{color:#b3c0cd;font-size:.92rem}

/* IT-Übersetzer */
.tr-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:48px;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
@media(max-width:820px){.tr-grid{grid-template-columns:1fr}}
.tr-col{padding:34px}
.tr-col:first-child{background:var(--ink);color:#d3dce5;font-family:var(--font-mono);font-size:.9rem;line-height:2}
.tr-col:first-child h4{font-family:var(--font-mono);color:var(--brand);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:18px}
.tr-col:last-child h4{font-family:var(--font-mono);color:var(--brand-ink);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:18px}
.tr-row{padding:10px 0;border-bottom:1px dashed rgba(255,255,255,.12)}
.tr-col:last-child .tr-row{border-bottom:1px dashed var(--line);font-size:1rem;line-height:1.55;padding:13px 0}
.tr-row:last-child{border-bottom:none}

/* Zitat */
.about .wrap{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
@media(max-width:820px){.about .wrap{grid-template-columns:1fr;gap:40px}}
.quote{background:var(--white);border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:var(--radius);padding:30px;font-size:1.06rem}
.quote footer{margin-top:16px;font-size:.88rem;color:var(--muted);font-family:var(--font-mono)}

/* Schmerzpunkte */
.pains{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:44px}
@media(max-width:820px){.pains{grid-template-columns:1fr}}
.pain{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:26px}
.pain b{font-family:var(--font-display);font-size:1.05rem;display:block;margin-bottom:8px}
.pain p{color:var(--muted);font-size:.93rem}
.pain .x{font-family:var(--font-mono);color:#c2554f;font-size:.8rem;display:block;margin-bottom:10px}

/* Diagramm / Pre-Fenster */
.mesh{background:var(--ink-2);border:1px solid var(--line-dark);border-radius:var(--radius);padding:36px;margin-top:44px;font-family:var(--font-mono);font-size:.82rem;color:#d3dce5;overflow-x:auto}
.mesh pre{line-height:1.7;font-family:inherit}
.mesh .g{color:var(--brand)}
.mesh .d{color:#8b9aa9}

/* Feature-Grid (dunkel) */
.features{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:44px}
@media(max-width:820px){.features{grid-template-columns:1fr}}
.feature{border:1px solid var(--line-dark);border-radius:var(--radius);padding:26px;background:rgba(255,255,255,.03)}
.feature .ft{font-family:var(--font-mono);font-size:.76rem;color:var(--brand);display:block;margin-bottom:12px}
.feature b{font-family:var(--font-display);font-size:1.05rem;display:block;margin-bottom:8px;color:#fff}
.feature p{color:#b3c0cd;font-size:.92rem}

/* Callout */
.callout{margin-top:28px;border:1px solid rgba(160,200,87,.4);background:rgba(160,200,87,.08);border-radius:var(--radius);padding:24px 28px;display:flex;gap:18px;align-items:flex-start;flex-wrap:wrap}
.callout .big{font-family:var(--font-mono);color:var(--brand);font-size:1.5rem;line-height:1}
.callout b{font-family:var(--font-display);display:block;color:#fff;margin-bottom:4px}
.callout p{color:#b3c0cd;font-size:.93rem;max-width:60ch}

/* Duo (Zwei-Spalten-Vergleich) */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:44px;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--white)}
@media(max-width:820px){.duo{grid-template-columns:1fr}}
.duo-col{padding:34px}
.duo-col+.duo-col{border-left:1px solid var(--line)}
@media(max-width:820px){.duo-col+.duo-col{border-left:none;border-top:1px solid var(--line)}}
.duo-col h4{font-family:var(--font-mono);color:var(--brand-ink);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:14px}
.duo-col h3{font-size:1.25rem;margin-bottom:10px}
.duo-col>p{color:var(--muted);font-size:.95rem;margin-bottom:18px}
.duo-col ul{list-style:none}
.duo-col li{padding:9px 0;border-bottom:1px dashed var(--line);font-size:.93rem;display:flex;gap:10px}
.duo-col li:last-child{border-bottom:none}
.duo-col li::before{content:"✓";color:var(--brand-ink);font-family:var(--font-mono);font-weight:600}

/* Vergleichstabelle */
.cmp{width:100%;border-collapse:collapse;margin-top:40px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.cmp th,.cmp td{padding:15px 18px;text-align:left;border-bottom:1px solid var(--line);font-size:.92rem;vertical-align:top}
.cmp th{font-family:var(--font-display);font-size:.98rem;background:var(--paper)}
.cmp th.hl{color:var(--brand-ink)}
.cmp td:first-child{font-weight:600;width:28%}
.cmp td{color:var(--muted)}
.cmp td:first-child{color:var(--ink)}
.cmp td.y{color:var(--brand-ink);font-weight:600}
.cmp td.n{color:#c2554f}
.cmp tr:last-child td{border-bottom:none}
@media(max-width:700px){.cmp th,.cmp td{padding:10px 10px;font-size:.8rem}}
.honest{border-left:4px solid var(--brand);background:var(--paper);border-radius:0 12px 12px 0;padding:20px 24px;margin-top:28px;font-size:.97rem;max-width:72ch}
.honest .mono{font-family:var(--font-mono);font-size:.78rem;color:var(--brand-ink);display:block;margin-bottom:6px}

/* Ablauf-Schritte */
.steps{counter-reset:step;margin-top:44px;display:grid;gap:0}
.step{display:grid;grid-template-columns:64px 1fr;gap:20px;padding:26px 0;border-bottom:1px dashed var(--line)}
.step:last-child{border-bottom:none}
.step::before{counter-increment:step;content:"0" counter(step);font-family:var(--font-mono);font-size:1.4rem;color:var(--brand-ink);font-weight:500}
.step b{font-family:var(--font-display);font-size:1.08rem;display:block;margin-bottom:6px}
.step p{color:var(--muted);font-size:.95rem;max-width:62ch}

/* FAQ */
.faq details{border:1px solid var(--line);border-radius:12px;margin-top:14px;background:var(--paper)}
.faq summary{cursor:pointer;padding:18px 22px;font-weight:600;font-family:var(--font-display);font-size:1rem;list-style:none;display:flex;justify-content:space-between;align-items:center}
.faq summary::after{content:"+";font-family:var(--font-mono);color:var(--brand-ink);font-size:1.2rem;transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details .answer{padding:0 22px 20px;color:var(--muted);font-size:.95rem;max-width:70ch}

/* CTA */
.cta{text-align:center}
.cta h2{font-size:clamp(1.8rem,3.6vw,2.6rem)}
.cta p{color:#b3c0cd;max-width:52ch;margin:0 auto 32px}
.cta .mono-hint{font-family:var(--font-mono);color:var(--brand);font-size:.85rem;margin-bottom:18px;display:block}

/* Footer */
footer.site-footer{background:#26313d;color:#9aa7b4;padding:52px 0;font-size:.88rem}
footer.site-footer .wrap{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
footer.site-footer a:hover{color:#fff}
footer.site-footer strong{color:#fff;font-family:var(--font-display)}
footer.site-footer .links{display:flex;gap:22px;flex-wrap:wrap}

/* Einfache Textseiten */
.plain{max-width:820px}
.plain h1{font-size:clamp(2rem,4vw,2.8rem);margin-bottom:20px}
.plain .text{margin-top:20px}
.plain .text p{margin-bottom:1em;color:var(--ink)}

/* Scroll-Reveal */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
  .cursor{animation:none}
  html{scroll-behavior:auto}
}
