    :root{
      --bg:#0b1220;
      --card:#0f1a2e;
      --text:#e8eefc;
      --muted:#b8c4e6;
      --brand:#22c55e;
      --brand2:#2dd4bf;
      --white:#ffffff;
      --ink:#0f172a;
      --line: rgba(15,23,42,.12);
      --shadow: 0 10px 30px rgba(2,6,23,.18);
      --radius: 18px;
      --radius2: 24px;
      --max: 1160px;
    }

    *{box-sizing:border-box}
    html,body{margin:0;padding:0;font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; color:var(--ink); background: #fff;}
    a{color:inherit}
    img{max-width:100%; display:block}

    /* layout */
    .container{max-width:var(--max); margin:0 auto; padding:0 18px;}
    .grid{display:grid; gap:18px;}
    .btn{
      display:inline-flex; align-items:center; justify-content:center;
      padding:12px 16px; border-radius:14px; text-decoration:none; font-weight:700;
      border:1px solid transparent; transition:transform .08s ease, box-shadow .18s ease, background .18s ease;
      user-select:none;
    }
    .btn:active{transform:translateY(1px)}
    .btn-primary{background:linear-gradient(90deg, var(--brand), var(--brand2)); color:#062018; box-shadow: var(--shadow);}
    .btn-secondary{background:rgba(255,255,255,.08); color:var(--text); border-color:rgba(232,238,252,.22);}
    .pill{display:inline-flex; gap:10px; align-items:center; padding:10px 12px; border-radius:999px; border:1px solid rgba(232,238,252,.18); color:var(--muted); background:rgba(255,255,255,.06);}
    .kicker{letter-spacing:.12em; text-transform:uppercase; font-size:.78rem; color:rgba(232,238,252,.8);}
    .h1{font-size:clamp(2rem, 3.6vw, 3.2rem); line-height:1.05; margin:10px 0 12px; color:var(--text);}
    .lead{font-size:1.06rem; line-height:1.6; color:var(--muted); margin:0 0 18px;}
    .section{padding:64px 0;}
    .section-title{font-size:1.6rem; margin:0 0 6px;}
    .section-sub{margin:0 0 18px; color:#334155; line-height:1.6;}
    .card{
      background:var(--white);
      border:1px solid var(--line);
      border-radius:var(--radius);
      padding:18px;
      box-shadow: 0 8px 20px rgba(2,6,23,.06);
    }

    /* header */
    .topbar{
      position:sticky; top:0; z-index:50;
      background:rgba(255,255,255,.92);
      backdrop-filter: blur(10px);
      border-bottom:1px solid rgba(15,23,42,.08);
    }
    .topbar-inner{display:flex; align-items:center; justify-content:space-between; padding:12px 0; gap:14px;}
    .brand{display:flex; align-items:center; gap:10px; text-decoration:none;}
    .logo{
      width:38px; height:38px; border-radius:12px;
      background:linear-gradient(135deg, var(--brand), var(--brand2));
      box-shadow: 0 12px 26px rgba(34,197,94,.22);
    }
    .brand strong{font-size:1rem; letter-spacing:.2px;}
    nav{display:flex; gap:14px; flex-wrap:wrap; justify-content:flex-end;}
    nav a{color:#0f172a; text-decoration:none; font-weight:650; font-size:.95rem; opacity:.82}
    nav a:hover{opacity:1}

    /* hero */
    .hero{
      background: radial-gradient(1200px 700px at 15% 10%, rgba(45,212,191,.22), transparent 60%),
                  radial-gradient(1000px 600px at 90% 20%, rgba(34,197,94,.22), transparent 60%),
                  var(--bg);
      color:var(--text);
      padding:56px 0 36px;
    }
    .hero-grid{
      display:grid;
      grid-template-columns: 1.05fr .95fr;
      gap:22px;
      align-items:stretch;
    }
    .hero-card{
      background: rgba(255,255,255,.06);
      border:1px solid rgba(232,238,252,.14);
      border-radius:var(--radius2);
      padding:22px;
      box-shadow: 0 18px 44px rgba(2,6,23,.28);
    }
    .hero-media{
      border-radius:var(--radius2);
      overflow:hidden;
      border:1px solid rgba(232,238,252,.12);
      min-height: 340px;
      background:
        linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,0)),
        url("../media/2601032147_LogoMelischBauShort.png");
      background-size:cover;
      background-position:center;
    }
    .hero-actions{display:flex; gap:10px; flex-wrap:wrap; margin:16px 0 14px;}
    .hero-bullets{display:flex; gap:10px; flex-wrap:wrap; margin-top:8px;}

    /* services */
    .services{grid-template-columns: repeat(3, 1fr);}
    .service{
      border:1px solid var(--line);
      border-radius:var(--radius);
      padding:18px;
      background:#fff;
    }
    .service h3{margin:0 0 6px; font-size:1.08rem;}
    .service p{margin:0; color:#334155; line-height:1.55;}
    .icon{
      width:44px; height:44px; border-radius:14px; margin-bottom:10px;
      background: linear-gradient(135deg, rgba(34,197,94,.18), rgba(45,212,191,.18));
      border:1px solid rgba(15,23,42,.10);
    }

    /* steps */
    .steps{grid-template-columns: repeat(3, 1fr);}
    .step h3{margin:0 0 6px;}
    .step p{margin:0; color:#334155; line-height:1.6;}

    /* contact */
    .contact-grid{grid-template-columns: .9fr 1.1fr; align-items:start;}
    form{display:grid; gap:12px;}
    label{font-weight:650; font-size:.92rem;}
    input, textarea{
      width:100%;
      padding:12px 12px;
      border-radius:14px;
      border:1px solid rgba(15,23,42,.16);
      font: inherit;
      outline:none;
    }
    textarea{min-height:120px; resize:vertical;}
    .hint{font-size:.9rem; color:#475569; line-height:1.5;}
    .fineprint{font-size:.82rem; color:#64748b; line-height:1.5;}
    .footer{
      border-top:1px solid rgba(15,23,42,.10);
      padding:28px 0;
      color:#475569;
      font-size:.95rem;
    }

    /* responsive */
    @media (max-width: 920px){
      .hero-grid{grid-template-columns: 1fr; }
      .services{grid-template-columns: repeat(2, 1fr);}
      .steps{grid-template-columns: 1fr;}
      .contact-grid{grid-template-columns: 1fr;}
      nav{display:none;}
    }
    @media (max-width: 520px){
      .services{grid-template-columns: 1fr;}
    }
