/* STYLES: leistungen.html */

html{ scroll-behavior:smooth; }
  body{ background:var(--bg); color:var(--text); font-family:'Inter', sans-serif; overflow-x:hidden; -webkit-font-smoothing:antialiased; }
  h1,h2,h3{ font-family:'Space Grotesk', sans-serif; font-weight:600; letter-spacing:-0.01em; }
  .mono{ font-family:'JetBrains Mono', monospace; }

  nav{
    position:sticky; top:0; z-index:100; display:flex; align-items:center; justify-content:space-between;
    padding: 20px clamp(20px, 5vw, 64px); background:rgba(10,20,32,0.85); backdrop-filter:blur(10px);
    border-bottom:1px solid var(--border);
  }
  .nav-mark{ display:flex; align-items:center; gap:10px; text-decoration:none; color:var(--text); }
  .nav-mark img{ height:32px; width:32px; display:block; }
  .nav-mark span{ font-family:'Space Grotesk',sans-serif; font-weight:500; font-size:17px; letter-spacing:-0.015em; }
  .nav-mark em{ font-style:normal; font-weight:600; color:var(--accent); }
  .nav-right{ display:flex; align-items:center; gap:20px; }
  .nav-link{ font-family:'JetBrains Mono', monospace; font-size:13px; color:var(--text-muted); text-decoration:none; }
  .nav-link.active, .nav-link:hover{ color:var(--accent); }
  .nav-cta{
    font-family:'JetBrains Mono', monospace; font-size:13px; color:var(--text);
    border:1px solid var(--border); padding:9px 18px; border-radius:2px; text-decoration:none;
    transition: border-color 0.25s ease, background 0.25s ease;
  }
  .nav-cta:hover{ border-color:var(--accent); background:var(--accent-soft); }

  .nav-burger{
    display:none; position:relative;
    width:36px; height:36px; background:transparent; border:1px solid var(--border); border-radius:2px;
    cursor:pointer; padding:0; flex:0 0 auto;
  }
  .nav-burger span{
    position:absolute; left:50%; top:50%; width:16px; height:1.5px; background:var(--text);
    transition: transform 0.25s ease, opacity 0.25s ease;
  }
  .nav-burger span:nth-child(1){ transform: translate(-50%,-50%) translateY(-5px); }
  .nav-burger span:nth-child(2){ transform: translate(-50%,-50%); }
  .nav-burger span:nth-child(3){ transform: translate(-50%,-50%) translateY(5px); }
  .nav-burger.open span:nth-child(1){ transform: translate(-50%,-50%) rotate(45deg); }
  .nav-burger.open span:nth-child(2){ opacity:0; }
  .nav-burger.open span:nth-child(3){ transform: translate(-50%,-50%) rotate(-45deg); }
  @media (max-width:640px){
    .nav-links{
      display:none; position:absolute; top:100%; left:0; right:0;
      flex-direction:column; align-items:flex-start; gap:0;
      background:rgba(10,20,32,0.97); backdrop-filter:blur(10px);
      border-bottom:1px solid var(--border); padding:8px clamp(20px,5vw,64px) 16px;
    }
    .nav-links.open{ display:flex; }
    .nav-links .nav-link{ width:100%; padding:14px 0; font-size:14px; border-bottom:1px solid var(--border); }
    .nav-links .nav-link:last-child{ border-bottom:none; }
    .nav-burger{ display:flex; }
  }

  header.hero{ padding:120px 24px 64px; background: radial-gradient(ellipse at 50% 0%, rgba(94,234,212,0.06), transparent 60%); }
  .hero-inner{ max-width:720px; margin:0 auto; }
  .eyebrow{ font-family:'JetBrains Mono', monospace; font-size:13px; color:var(--accent); letter-spacing:0.18em; text-transform:uppercase; display:block; }
  header.hero h1{ margin-top:16px; font-size:clamp(32px,5vw,52px); line-height:1.1; }
  header.hero p{ margin-top:18px; font-size:16px; line-height:1.7; color:var(--text-muted); }

  main{ max-width:1080px; margin:0 auto; padding:20px 24px 64px; }
  section{ padding:64px 0; border-top:1px solid var(--border); }
  section:first-of-type{ border-top:none; }
  .reveal{ opacity:0; transform:translateY(24px); transition: opacity 0.7s ease, transform 0.7s ease; }
  .reveal.in-view{ opacity:1; transform:translateY(0); }
  section h2{ font-size:clamp(22px,3.2vw,30px); }
  section > p.lead{ margin-top:14px; max-width:640px; font-size:15px; line-height:1.75; color:var(--text-muted); }

  /* kernleistungen */
  .service-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--border); border:1px solid var(--border); margin-top:40px; }
  .service-card{ background:var(--bg-2); padding:30px 26px; }
  .service-card .idx{ font-family:'JetBrains Mono',monospace; font-size:12px; color:var(--accent); letter-spacing:0.1em; }
  .service-card h3{ margin-top:16px; font-size:18px; }
  .service-card p{ margin-top:10px; font-size:14px; line-height:1.7; color:var(--text-muted); }
  @media (max-width:820px){ .service-grid{ grid-template-columns:1fr 1fr; } }
  @media (max-width:560px){ .service-grid{ grid-template-columns:1fr; } }

  /* technologie-stack */
  .tech-stack{ margin-top:40px; border-top:1px solid var(--border); padding-top:32px; }
  .tech-stack-label{ font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--accent); letter-spacing:0.12em; text-transform:uppercase; }
  .tech-tags{ display:flex; flex-wrap:wrap; gap:10px; margin-top:16px; }
  .tech-tag{
    font-family:'JetBrains Mono', monospace; font-size:13px; color:var(--text);
    border:1px solid var(--border); border-radius:2px; padding:8px 14px; background:var(--card-bg);
  }
  .tech-stack p{ margin-top:16px; font-size:13px; line-height:1.6; color:var(--text-muted); max-width:560px; }

  /* hosting */
  .hosting-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--border); border:1px solid var(--border); margin-top:40px; }
  .hosting-card{ background:var(--card-bg); padding:28px 26px; }
  .hosting-card .tag-label{ font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--accent-2); letter-spacing:0.1em; text-transform:uppercase; }
  .hosting-card h3{ margin-top:14px; font-size:17px; }
  .hosting-card p{ margin-top:10px; font-size:13px; line-height:1.6; color:var(--text-muted); }
  .hosting-card .running-cost{
    margin-top:16px; padding-top:14px; border-top:1px solid var(--border);
    font-family:'JetBrains Mono',monospace; font-size:13px; color:var(--accent);
  }
  .hosting-card .running-cost span{ display:block; color:var(--text-muted); font-size:11.5px; margin-top:2px; }
  @media (max-width:820px){ .hosting-grid{ grid-template-columns:1fr; } }

  .url-row{ display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--border); border:1px solid var(--border); margin-top:24px; }
  .url-field{ background:var(--bg-2); padding:22px 26px; }
  .url-field label{ display:block; font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--accent); letter-spacing:0.12em; text-transform:uppercase; margin-bottom:8px; }
  .url-field p{ font-size:14px; line-height:1.7; color:var(--text-muted); }
  .url-field code{ font-family:'JetBrains Mono',monospace; font-size:13px; color:var(--text); }
  @media (max-width:640px){ .url-row{ grid-template-columns:1fr; } }

  .cta-row{ margin-top:56px; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:20px; }
  .cta-row p{ font-size:15px; color:var(--text-muted); }
  .cta-link{
    font-family:'JetBrains Mono',monospace; font-size:14px; color:var(--bg); background:var(--accent);
    padding:14px 28px; border-radius:2px; text-decoration:none; white-space:nowrap;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
  }
  .cta-link:hover{ transform:translateY(-2px); box-shadow:0 8px 24px rgba(94,234,212,0.25); }

  .note{
    margin-top:32px; padding:18px 22px; border:1px dashed rgba(255,180,84,0.4);
    background:rgba(255,180,84,0.06); font-size:13px; line-height:1.6; color:var(--text-muted);
  }
  .note strong{ color:var(--accent-2); }

  footer{ background:var(--bg); padding:36px 24px; text-align:center; font-family:'JetBrains Mono', monospace; font-size:12px; color:var(--text-muted); border-top:1px solid var(--border); }
  footer a{ color:var(--text-muted); } footer a:hover{ color:var(--accent); }

  @media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } .reveal{ transition:none !important; } }

/* Standort-Zeile in den Hosting-Karten */
.standort-zeile{
  display:flex; align-items:center; gap:9px; margin-top:16px;
  font-family:'JetBrains Mono',monospace; font-size:11.5px; color:var(--accent);
}
.standort-punkt{
  width:7px; height:7px; border-radius:50%; background:var(--accent);
  box-shadow:0 0 0 3px rgba(94,234,212,0.15); flex:0 0 auto;
}

/* Standort und Datenschutz */
.dsgvo-block{ margin-top:44px; border:1px solid rgba(94,234,212,0.3); background:var(--card-bg); padding:32px 34px; }
.dsgvo-kopf h3{ margin-top:12px; font-size:clamp(19px,2.6vw,24px); line-height:1.35; }
.dsgvo-intro{ margin-top:14px; font-size:15px; line-height:1.75; color:var(--text-muted); max-width:760px; }
.dsgvo-punkte{ margin-top:28px; display:grid; grid-template-columns:1fr 1fr; gap:26px 34px; }
.d-punkt strong{
  display:block; font-family:'Space Grotesk',sans-serif; font-size:15px; font-weight:600;
  color:var(--text); padding-left:16px; position:relative;
}
.d-punkt strong::before{ content:''; position:absolute; left:0; top:8px; width:7px; height:7px; background:var(--accent); }
.d-punkt p{ margin-top:9px; padding-left:16px; font-size:14px; line-height:1.7; color:var(--text-muted); }
@media (max-width:760px){ .dsgvo-punkte{ grid-template-columns:1fr; } }
