/* JN Buchhaltung — Site CSS (extracted from inline styles) */

/* === index.html === */
:root{
  --jn-black:#0a0a0a;--jn-dark:#111418;--jn-blue:#00aaff;--jn-blue-light:#33bbff;
  --jn-white:#ffffff;--jn-gray:#8a9bb0;--jn-surface:#161b22;--jn-surface2:#1e2530;
  --font-display:'Playfair Display',Georgia,serif;--font-body:'DM Sans',sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:var(--font-body);background:var(--jn-dark);color:var(--jn-white);overflow-x:hidden;}
nav{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgba(10,10,10,0.95);backdrop-filter:blur(20px);border-bottom:1px solid rgba(0,170,255,0.12);}
.nav-inner{max-width:1200px;margin:0 auto;padding:0 2rem;height:72px;display:flex;align-items:center;justify-content:space-between;}
.nav-logo{display:flex;align-items:center;gap:12px;text-decoration:none;flex-shrink:0;}
.nav-logo img{height:42px;width:42px;object-fit:contain;}
.nav-logo-text{display:flex;flex-direction:column;line-height:1.2;}
.nav-logo-text .t1{font-family:var(--font-display);font-size:13px;font-weight:700;color:var(--jn-white);}
.nav-logo-text .t2{font-size:10px;color:var(--jn-blue);letter-spacing:1.2px;text-transform:uppercase;}
.nav-links{display:flex;align-items:center;gap:0;}
.nav-links a{color:rgba(255,255,255,0.72);text-decoration:none;font-size:13px;font-weight:500;padding:8px 14px;transition:color 0.2s;}
.nav-links a:hover,.nav-links a.active{color:var(--jn-blue);}
.nav-cta{background:var(--jn-blue)!important;color:var(--jn-black)!important;font-weight:600!important;padding:8px 18px!important;border-radius:6px!important;margin-left:6px;}
.hamburger{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px;padding:4px;}
.hamburger span{display:block;width:22px;height:2px;background:var(--jn-white);border-radius:2px;}
.mobile-menu{display:none;position:fixed;top:72px;left:0;right:0;background:rgba(10,10,10,0.98);backdrop-filter:blur(20px);padding:1.5rem 2rem;z-index:999;border-bottom:1px solid rgba(0,170,255,0.1);}
.mobile-menu a{display:block;color:rgba(255,255,255,0.8);text-decoration:none;font-size:15px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,0.06);}
.btn-primary{display:inline-block;background:var(--jn-blue);color:var(--jn-black);font-family:var(--font-body);font-size:14px;font-weight:600;padding:12px 28px;border-radius:8px;text-decoration:none;border:none;cursor:pointer;transition:all 0.2s;}
.btn-primary:hover{background:var(--jn-blue-light);transform:translateY(-1px);}
.btn-secondary{display:inline-block;background:transparent;color:var(--jn-white);font-family:var(--font-body);font-size:14px;font-weight:500;padding:12px 28px;border-radius:8px;text-decoration:none;border:1px solid rgba(255,255,255,0.2);cursor:pointer;transition:all 0.2s;}
.btn-secondary:hover{border-color:var(--jn-blue);color:var(--jn-blue);}
.page-hero{padding:7rem 2rem 3rem;background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(0,170,255,0.07) 0%,transparent 70%);}
.section-inner{max-width:1200px;margin:0 auto;}
.section-label{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--jn-blue);margin-bottom:0.6rem;font-weight:600;}
.section-title{font-family:var(--font-display);font-size:clamp(1.6rem,2.8vw,2.3rem);font-weight:700;color:var(--jn-white);margin-bottom:1rem;line-height:1.2;}
.card{background:var(--jn-surface);border:1px solid rgba(0,170,255,0.1);border-radius:16px;padding:2rem;}
.form-group{margin-bottom:1rem;}
.form-group label{display:block;font-size:12px;color:var(--jn-gray);margin-bottom:5px;letter-spacing:0.3px;}
.form-group input,.form-group select,.form-group textarea{width:100%;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.1);border-radius:8px;padding:10px 14px;font-family:var(--font-body);font-size:13px;color:var(--jn-white);outline:none;transition:border 0.2s;}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--jn-blue);}
.form-group select option{background:var(--jn-surface2);}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.btn-form{width:100%;background:var(--jn-blue);color:var(--jn-black);font-family:var(--font-body);font-size:14px;font-weight:600;padding:12px;border-radius:8px;border:none;cursor:pointer;transition:background 0.2s;margin-top:0.5rem;}
.btn-form:hover{background:var(--jn-blue-light);}
.legal-content h2{font-family:var(--font-display);font-size:1.2rem;color:var(--jn-white);margin:2rem 0 0.5rem;}
.legal-content h2:first-child{margin-top:0;}
.legal-content p{font-size:14px;color:var(--jn-gray);line-height:1.8;margin-bottom:0.75rem;}
.legal-content a{color:var(--jn-blue);}
.legal-content ul{list-style:none;padding:0;margin-bottom:0.75rem;}
.legal-content ul li{font-size:14px;color:var(--jn-gray);padding:3px 0 3px 16px;position:relative;}
.legal-content ul li::before{content:'–';position:absolute;left:0;color:var(--jn-blue);}
.success-box{display:none;text-align:center;padding:2.5rem;color:var(--jn-blue);}
.success-box strong{display:block;font-size:18px;margin-bottom:0.5rem;}
.success-box span{font-size:13px;color:var(--jn-gray);}
footer{background:var(--jn-black);border-top:1px solid rgba(0,170,255,0.08);padding:3rem 2rem 1.5rem;}
.footer-inner{max-width:1200px;margin:0 auto;}
.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr;gap:3rem;margin-bottom:2rem;}
.footer-brand p{font-size:13px;color:var(--jn-gray);line-height:1.7;max-width:300px;margin-top:0.75rem;}
.footer-col h4{font-size:11px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--jn-blue);margin-bottom:0.9rem;}
.footer-col a{display:block;font-size:13px;color:var(--jn-gray);text-decoration:none;padding:3px 0;transition:color 0.2s;}
.footer-col a:hover{color:var(--jn-white);}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.06);padding-top:1.25rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;}
.footer-bottom p{font-size:12px;color:rgba(255,255,255,0.28);}
.footer-links{display:flex;gap:1.5rem;}
.footer-links a{font-size:12px;color:rgba(255,255,255,0.28);text-decoration:none;}
.footer-links a:hover{color:var(--jn-gray);}
#ai-chat-btn{position:fixed;bottom:24px;right:24px;z-index:900;}
#ai-chat-btn button{width:54px;height:54px;border-radius:50%;background:var(--jn-blue);border:none;cursor:pointer;font-size:20px;box-shadow:0 4px 20px rgba(0,170,255,0.4);}
#cbadge{position:absolute;top:-4px;right:-4px;width:16px;height:16px;background:#ff4444;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;color:white;}
#ai-chat-win{display:none;position:fixed;bottom:88px;right:24px;z-index:900;width:320px;}
@media(max-width:768px){
  
  .footer-top{grid-template-columns:1fr;}
  .form-row{grid-template-columns:1fr;}
}
/* NAVBAR MOBILE FIX */

/* ═══════════════════════════════════════════
   NAVBAR — Desktop + Mobile (Complete Fix)
═══════════════════════════════════════════ */
nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
  background: rgba(10,10,10,0.96);
  backdrop-filter: blur(20px);
  border-bottom: 1px solid rgba(0,170,255,0.12);
}
.nav-inner {
  max-width: 1200px; margin: 0 auto; padding: 0 1.5rem;
  height: 68px; display: flex; align-items: center;
  justify-content: space-between; gap: 12px;
}
.nav-logo {
  display: flex; align-items: center; gap: 10px;
  text-decoration: none; flex-shrink: 0; min-width: 0;
}
.nav-logo img { height: 40px; width: 40px; object-fit: contain; }
.nav-logo-text { display: flex; flex-direction: column; line-height: 1.2; min-width: 0; }
.nav-logo-text .t1 { font-size: 13px; font-weight: 700; color: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nav-logo-text .t2 { font-size: 10px; color: #00aaff; letter-spacing: 1px; text-transform: uppercase; }
/* Desktop nav links */
.nav-links { display: flex; align-items: center; gap: 0; }
.nav-links a { color: rgba(255,255,255,0.72); text-decoration: none; font-size: 13px; font-weight: 500; padding: 8px 12px; transition: color 0.2s; white-space: nowrap; }
.nav-links a:hover, .nav-links a.active { color: #00aaff; }
.nav-cta { background: #00aaff !important; color: #000 !important; font-weight: 700 !important; padding: 8px 16px !important; border-radius: 6px !important; margin-left: 6px; }
.nav-cta:hover { background: #33bbff !important; color: #000 !important; }
/* Lang switcher */
#jn-lang-sw { flex-shrink: 0; }
/* Hamburger — hidden on desktop */
.hamburger {
  display: none; background: none; border: none; cursor: pointer;
  flex-direction: column; gap: 5px; padding: 6px; border-radius: 6px;
  flex-shrink: 0;
}
.hamburger span {
  display: block; width: 24px; height: 2px;
  background: #fff; border-radius: 2px;
  transition: transform 0.3s, opacity 0.3s;
}
.hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.hamburger.open span:nth-child(2) { opacity: 0; }
.hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
/* Mobile menu — hidden by default */
.mobile-menu {
  display: none;
  position: fixed; top: 68px; left: 0; right: 0; bottom: 0;
  background: rgba(8,8,12,0.98); backdrop-filter: blur(24px);
  z-index: 998; overflow-y: auto;
  padding: 0;
  animation: slideDown 0.25s ease;
}
@keyframes slideDown { from { opacity:0; transform:translateY(-10px); } to { opacity:1; transform:translateY(0); } }
.mobile-menu.open { display: block; }
.mobile-menu-inner { padding: 1rem 1.5rem 2rem; }
.mobile-menu a {
  display: flex; align-items: center; gap: 10px;
  color: rgba(255,255,255,0.85); text-decoration: none;
  font-size: 16px; font-weight: 500;
  padding: 14px 0;
  border-bottom: 1px solid rgba(255,255,255,0.07);
  transition: color 0.2s;
}
.mobile-menu a:hover { color: #00aaff; }
.mobile-menu a:last-child { border-bottom: none; }
.mobile-menu .mob-cta {
  display: block; background: #00aaff; color: #000 !important;
  font-weight: 700; text-align: center; padding: 14px !important;
  border-radius: 8px; margin-top: 1rem; border-bottom: none !important;
}
.mobile-menu .mob-divider {
  font-size: 11px; font-weight: 700; color: rgba(255,255,255,0.3);
  letter-spacing: 1.5px; text-transform: uppercase;
  padding: 16px 0 6px; border-bottom: none !important;
  pointer-events: none;
}
.mobile-menu .mob-lang {
  display: flex; gap: 8px; flex-wrap: wrap;
  padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,0.07);
}
.mobile-menu .mob-lang button {
  background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.15);
  border-radius: 6px; color: #fff; font-size: 13px; padding: 7px 12px;
  cursor: pointer; font-family: inherit;
}
.mobile-menu .mob-lang button.active { background: rgba(0,170,255,0.2); border-color: #00aaff; color: #00aaff; }
/* MOBILE BREAKPOINT */
@media (max-width: 900px) {
  .nav-links { display: none !important; }
  #jn-lang-sw { display: none !important; }
  .hamburger { display: flex !important; }
}
@media (max-width: 480px) {
  .nav-inner { padding: 0 1rem; height: 62px; }
  .mobile-menu { top: 62px; }
  .nav-logo-text .t1 { font-size: 12px; }
  .nav-logo-text .t2 { display: none; }
}


/* ═══════════════════════════════════════════════════
   GLOBAL MOBILE RESPONSIVE — All Pages
═══════════════════════════════════════════════════ */
@media (max-width: 768px) {
  /* Layout */
  body { padding-top: 62px !important; }
  .section { padding: 3rem 1.25rem !important; }
  .section-inner, .container { padding: 0 1.25rem; }
  
  /* Typography */
  .section-title { font-size: clamp(1.6rem, 6vw, 2.4rem) !important; }
  .section-label { font-size: 11px; }
  h1 { font-size: clamp(1.8rem, 7vw, 2.8rem) !important; }
  h2 { font-size: clamp(1.4rem, 5vw, 2rem) !important; }
  p { font-size: 15px !important; line-height: 1.7; }
  
  /* Hero */
  .hero { padding: 4rem 1.25rem 3rem !important; min-height: auto !important; }
  .hero-inner { flex-direction: column !important; text-align: center; gap: 1.5rem !important; }
  .hero-text { text-align: center; }
  .hero-btns { flex-direction: column !important; gap: 10px !important; align-items: stretch !important; }
  .hero-btns a, .hero-btns button { width: 100% !important; text-align: center; }
  .hero-visual, .hero-right { display: none; }
  
  /* Stats */
  .stats-grid, .stat-row { grid-template-columns: repeat(3, 1fr) !important; gap: 0.75rem !important; }
  .stat-item { padding: 1rem 0.5rem !important; }
  .stat-val { font-size: 1.6rem !important; }
  .stat-desc { font-size: 11px !important; }
  
  /* Services */
  .services-grid, .svc-grid, .leistungen-grid { grid-template-columns: 1fr !important; gap: 1rem !important; }
  .svc-card { padding: 1.25rem !important; }
  
  /* Forms */
  .form-row, .form-grid { grid-template-columns: 1fr !important; gap: 12px !important; }
  .form-group { margin-bottom: 14px; }
  input, select, textarea { font-size: 16px !important; } /* Prevent zoom on iOS */
  
  /* Footer */
  .footer-top { grid-template-columns: 1fr !important; gap: 2rem !important; }
  .footer-bottom { flex-direction: column !important; text-align: center; gap: 8px !important; }
  
  /* Cards */
  .card-grid { grid-template-columns: 1fr !important; }
  .team-grid { grid-template-columns: 1fr !important; }
  .values-grid { grid-template-columns: 1fr 1fr !important; }
  
  /* Contact/Termin layout */
  .kon-grid, .kon-layout, .termin-layout { grid-template-columns: 1fr !important; }
  .kon-info { order: -1; }
  
  /* Über uns */
  .uber-layout, .about-grid { flex-direction: column !important; }
  .uber-img { width: 100% !important; max-height: 250px; object-fit: cover; }
  
  /* Tables */
  table { font-size: 13px; }
  td, th { padding: 8px 6px !important; }
  
  /* AI Chat */
  #ai-chat-win { width: calc(100vw - 20px) !important; right: 10px !important; bottom: 70px !important; }
  #ai-chat-btn { bottom: 1.2rem !important; right: 1.2rem !important; }
}

@media (max-width: 480px) {
  .section { padding: 2.5rem 1rem !important; }
  .stats-grid { grid-template-columns: 1fr !important; }
  .values-grid { grid-template-columns: 1fr !important; }
  .hero-badge { font-size: 11px !important; }
  .nav-logo-text .t1 { max-width: 180px; }
}

/* === index.html === */
.hero{min-height:100vh;display:flex;align-items:center;padding:72px 2rem 2rem;position:relative;overflow:hidden;}
.hero-bg{position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 60% 40%,rgba(0,170,255,0.07) 0%,transparent 70%);pointer-events:none;}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(0,170,255,0.04) 1px,transparent 1px),linear-gradient(90deg,rgba(0,170,255,0.04) 1px,transparent 1px);background-size:60px 60px;mask-image:radial-gradient(ellipse at center,black 30%,transparent 80%);pointer-events:none;}
.hero-inner{max-width:1200px;margin:0 auto;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;position:relative;z-index:1;}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(0,170,255,0.1);border:1px solid rgba(0,170,255,0.25);border-radius:100px;padding:6px 16px;font-size:11px;color:var(--jn-blue);letter-spacing:1px;text-transform:uppercase;margin-bottom:1.5rem;}
.hero h1{font-family:var(--font-display);font-size:clamp(1.8rem,3.5vw,3rem);font-weight:700;line-height:1.15;margin-bottom:1.25rem;}
.hero h1 .accent{color:var(--jn-blue);}
.hero-desc{font-size:15px;color:var(--jn-gray);line-height:1.8;margin-bottom:2rem;}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;}
.hero-stats{display:flex;gap:2rem;margin-top:2rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,0.08);flex-wrap:wrap;}
.stat-val{display:block;font-size:22px;font-weight:700;color:var(--jn-blue);font-family:var(--font-display);}
.stat-desc{font-size:12px;color:var(--jn-gray);}
.hero-visual{display:flex;align-items:center;justify-content:center;}
.hero-logo-wrap{position:relative;width:320px;height:320px;display:flex;align-items:center;justify-content:center;}
.ring1{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(0,170,255,0.15);animation:spin 30s linear infinite;}
.ring2{position:absolute;inset:30px;border-radius:50%;border:1px dashed rgba(0,170,255,0.08);animation:spin 20s linear infinite reverse;}
@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
.hero-logo-img{width:200px;height:200px;object-fit:contain;position:relative;z-index:1;filter:drop-shadow(0 0 30px rgba(0,170,255,0.25));}
.services-section{background:var(--jn-surface);padding:5rem 2rem;}
.services-section .section-inner{text-align:center;}
.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin-bottom:2.5rem;text-align:left;}
.service-card{background:var(--jn-surface2);border:1px solid rgba(0,170,255,0.1);border-radius:14px;padding:1.75rem;transition:border-color 0.3s;cursor:default;}
.service-card:hover{border-color:rgba(0,170,255,0.35);}
.service-icon{font-size:28px;margin-bottom:1rem;}
.service-card h3{font-size:15px;font-weight:600;margin-bottom:0.4rem;}
.service-card p{font-size:13px;color:var(--jn-gray);line-height:1.6;}
.cta-section{padding:5rem 2rem;background:var(--jn-dark);text-align:center;}
@media(max-width:768px){
  .hero-inner{grid-template-columns:1fr;text-align:center;}
  .hero-visual{order:-1;}
  .hero-logo-wrap{width:200px;height:200px;}
  .hero-logo-img{width:130px;height:130px;}
  .hero-actions{justify-content:center;}
  .hero-stats{justify-content:center;}
}

/* === leistungen.html === */
:root{--jn-black:#0a0a0a;--jn-dark:#111418;--jn-blue:#00aaff;--jn-blue-light:#33bbff;--jn-white:#ffffff;--jn-gray:#8a9bb0;--jn-surface:#161b22;--jn-surface2:#1e2530;--font-display:'Playfair Display',Georgia,serif;--font-body:'DM Sans',sans-serif;}
*{margin:0;padding:0;box-sizing:border-box;}html{scroll-behavior:smooth;}body{font-family:var(--font-body);background:var(--jn-dark);color:var(--jn-white);overflow-x:hidden;}
nav{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgba(10,10,10,0.95);backdrop-filter:blur(20px);border-bottom:1px solid rgba(0,170,255,0.12);}
.nav-inner{max-width:1200px;margin:0 auto;padding:0 2rem;height:72px;display:flex;align-items:center;justify-content:space-between;}
.nav-logo{display:flex;align-items:center;gap:12px;text-decoration:none;flex-shrink:0;}
.nav-logo img{height:42px;width:42px;object-fit:contain;}
.nav-logo-text{display:flex;flex-direction:column;line-height:1.2;}
.nav-logo-text .t1{font-family:var(--font-display);font-size:13px;font-weight:700;color:var(--jn-white);}
.nav-logo-text .t2{font-size:10px;color:var(--jn-blue);letter-spacing:1.2px;text-transform:uppercase;}
.nav-links{display:flex;align-items:center;}
.nav-links a{color:rgba(255,255,255,0.72);text-decoration:none;font-size:13px;font-weight:500;padding:8px 14px;transition:color 0.2s;}
.nav-links a:hover,.nav-links a.active{color:var(--jn-blue);}
.nav-cta{background:var(--jn-blue)!important;color:var(--jn-black)!important;font-weight:600!important;padding:8px 18px!important;border-radius:6px!important;margin-left:6px;}
.hamburger{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px;padding:4px;}
.hamburger span{display:block;width:22px;height:2px;background:var(--jn-white);border-radius:2px;}
.mobile-menu{display:none;position:fixed;top:72px;left:0;right:0;background:rgba(10,10,10,0.98);backdrop-filter:blur(20px);padding:1.5rem 2rem;z-index:999;border-bottom:1px solid rgba(0,170,255,0.1);}
.mobile-menu a{display:block;color:rgba(255,255,255,0.8);text-decoration:none;font-size:15px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,0.06);}
.btn-primary{display:inline-block;background:var(--jn-blue);color:var(--jn-black);font-family:var(--font-body);font-size:14px;font-weight:600;padding:12px 28px;border-radius:8px;text-decoration:none;border:none;cursor:pointer;transition:all 0.2s;}
.btn-primary:hover{background:var(--jn-blue-light);transform:translateY(-1px);}
.btn-secondary{display:inline-block;background:transparent;color:var(--jn-white);font-family:var(--font-body);font-size:14px;font-weight:500;padding:12px 28px;border-radius:8px;text-decoration:none;border:1px solid rgba(255,255,255,0.2);cursor:pointer;transition:all 0.2s;}
.btn-secondary:hover{border-color:var(--jn-blue);color:var(--jn-blue);}
.page-hero{padding:7rem 2rem 3rem;background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(0,170,255,0.07) 0%,transparent 70%);}
.section-inner{max-width:1200px;margin:0 auto;}
.section-label{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--jn-blue);margin-bottom:0.6rem;font-weight:600;}
.section-title{font-family:var(--font-display);font-size:clamp(1.6rem,2.8vw,2.3rem);font-weight:700;color:var(--jn-white);margin-bottom:1rem;line-height:1.2;}
.card{background:var(--jn-surface);border:1px solid rgba(0,170,255,0.1);border-radius:16px;padding:2rem;}
.form-group{margin-bottom:1rem;}.form-group label{display:block;font-size:12px;color:var(--jn-gray);margin-bottom:5px;}
.form-group input,.form-group select,.form-group textarea{width:100%;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.1);border-radius:8px;padding:10px 14px;font-family:var(--font-body);font-size:13px;color:var(--jn-white);outline:none;transition:border 0.2s;}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--jn-blue);}
.form-group select option{background:var(--jn-surface2);}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.btn-form{width:100%;background:var(--jn-blue);color:var(--jn-black);font-family:var(--font-body);font-size:14px;font-weight:600;padding:12px;border-radius:8px;border:none;cursor:pointer;transition:background 0.2s;margin-top:0.5rem;}
.btn-form:hover{background:var(--jn-blue-light);}
.legal-content h2{font-family:var(--font-display);font-size:1.2rem;color:var(--jn-white);margin:2rem 0 0.5rem;}
.legal-content h2:first-child{margin-top:0;}
.legal-content p{font-size:14px;color:var(--jn-gray);line-height:1.8;margin-bottom:0.75rem;}
.legal-content a{color:var(--jn-blue);}.legal-content ul{list-style:none;padding:0;margin-bottom:0.75rem;}
.legal-content ul li{font-size:14px;color:var(--jn-gray);padding:3px 0 3px 16px;position:relative;}
.legal-content ul li::before{content:'–';position:absolute;left:0;color:var(--jn-blue);}
.success-box{display:none;text-align:center;padding:2.5rem;color:var(--jn-blue);}
.success-box strong{display:block;font-size:18px;margin-bottom:0.5rem;}
.success-box span{font-size:13px;color:var(--jn-gray);}
footer{background:var(--jn-black);border-top:1px solid rgba(0,170,255,0.08);padding:3rem 2rem 1.5rem;}
.footer-inner{max-width:1200px;margin:0 auto;}
.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr;gap:3rem;margin-bottom:2rem;}
.footer-brand p{font-size:13px;color:var(--jn-gray);line-height:1.7;max-width:300px;margin-top:0.75rem;}
.footer-col h4{font-size:11px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--jn-blue);margin-bottom:0.9rem;}
.footer-col a{display:block;font-size:13px;color:var(--jn-gray);text-decoration:none;padding:3px 0;transition:color 0.2s;}
.footer-col a:hover{color:var(--jn-white);}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.06);padding-top:1.25rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;}
.footer-bottom p{font-size:12px;color:rgba(255,255,255,0.28);}
.footer-links{display:flex;gap:1.5rem;}
.footer-links a{font-size:12px;color:rgba(255,255,255,0.28);text-decoration:none;}
.footer-links a:hover{color:var(--jn-gray);}
@media(max-width:768px){.footer-top{grid-template-columns:1fr;}.form-row{grid-template-columns:1fr;}}

/* NAVBAR MOBILE FIX */

/* ═══════════════════════════════════════════
   NAVBAR — Desktop + Mobile (Complete Fix)
═══════════════════════════════════════════ */
nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
  background: rgba(10,10,10,0.96);
  backdrop-filter: blur(20px);
  border-bottom: 1px solid rgba(0,170,255,0.12);
}
.nav-inner {
  max-width: 1200px; margin: 0 auto; padding: 0 1.5rem;
  height: 68px; display: flex; align-items: center;
  justify-content: space-between; gap: 12px;
}
.nav-logo {
  display: flex; align-items: center; gap: 10px;
  text-decoration: none; flex-shrink: 0; min-width: 0;
}
.nav-logo img { height: 40px; width: 40px; object-fit: contain; }
.nav-logo-text { display: flex; flex-direction: column; line-height: 1.2; min-width: 0; }
.nav-logo-text .t1 { font-size: 13px; font-weight: 700; color: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nav-logo-text .t2 { font-size: 10px; color: #00aaff; letter-spacing: 1px; text-transform: uppercase; }
/* Desktop nav links */
.nav-links { display: flex; align-items: center; gap: 0; }
.nav-links a { color: rgba(255,255,255,0.72); text-decoration: none; font-size: 13px; font-weight: 500; padding: 8px 12px; transition: color 0.2s; white-space: nowrap; }
.nav-links a:hover, .nav-links a.active { color: #00aaff; }
.nav-cta { background: #00aaff !important; color: #000 !important; font-weight: 700 !important; padding: 8px 16px !important; border-radius: 6px !important; margin-left: 6px; }
.nav-cta:hover { background: #33bbff !important; color: #000 !important; }
/* Lang switcher */
#jn-lang-sw { flex-shrink: 0; }
/* Hamburger — hidden on desktop */
.hamburger {
  display: none; background: none; border: none; cursor: pointer;
  flex-direction: column; gap: 5px; padding: 6px; border-radius: 6px;
  flex-shrink: 0;
}
.hamburger span {
  display: block; width: 24px; height: 2px;
  background: #fff; border-radius: 2px;
  transition: transform 0.3s, opacity 0.3s;
}
.hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.hamburger.open span:nth-child(2) { opacity: 0; }
.hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
/* Mobile menu — hidden by default */
.mobile-menu {
  display: none;
  position: fixed; top: 68px; left: 0; right: 0; bottom: 0;
  background: rgba(8,8,12,0.98); backdrop-filter: blur(24px);
  z-index: 998; overflow-y: auto;
  padding: 0;
  animation: slideDown 0.25s ease;
}
@keyframes slideDown { from { opacity:0; transform:translateY(-10px); } to { opacity:1; transform:translateY(0); } }
.mobile-menu.open { display: block; }
.mobile-menu-inner { padding: 1rem 1.5rem 2rem; }
.mobile-menu a {
  display: flex; align-items: center; gap: 10px;
  color: rgba(255,255,255,0.85); text-decoration: none;
  font-size: 16px; font-weight: 500;
  padding: 14px 0;
  border-bottom: 1px solid rgba(255,255,255,0.07);
  transition: color 0.2s;
}
.mobile-menu a:hover { color: #00aaff; }
.mobile-menu a:last-child { border-bottom: none; }
.mobile-menu .mob-cta {
  display: block; background: #00aaff; color: #000 !important;
  font-weight: 700; text-align: center; padding: 14px !important;
  border-radius: 8px; margin-top: 1rem; border-bottom: none !important;
}
.mobile-menu .mob-divider {
  font-size: 11px; font-weight: 700; color: rgba(255,255,255,0.3);
  letter-spacing: 1.5px; text-transform: uppercase;
  padding: 16px 0 6px; border-bottom: none !important;
  pointer-events: none;
}
.mobile-menu .mob-lang {
  display: flex; gap: 8px; flex-wrap: wrap;
  padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,0.07);
}
.mobile-menu .mob-lang button {
  background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.15);
  border-radius: 6px; color: #fff; font-size: 13px; padding: 7px 12px;
  cursor: pointer; font-family: inherit;
}
.mobile-menu .mob-lang button.active { background: rgba(0,170,255,0.2); border-color: #00aaff; color: #00aaff; }
/* MOBILE BREAKPOINT */
@media (max-width: 900px) {
  .nav-links { display: none !important; }
  #jn-lang-sw { display: none !important; }
  .hamburger { display: flex !important; }
}
@media (max-width: 480px) {
  .nav-inner { padding: 0 1rem; height: 62px; }
  .mobile-menu { top: 62px; }
  .nav-logo-text .t1 { font-size: 12px; }
  .nav-logo-text .t2 { display: none; }
}


/* ═══════════════════════════════════════════════════
   GLOBAL MOBILE RESPONSIVE — All Pages
═══════════════════════════════════════════════════ */
@media (max-width: 768px) {
  /* Layout */
  body { padding-top: 62px !important; }
  .section { padding: 3rem 1.25rem !important; }
  .section-inner, .container { padding: 0 1.25rem; }
  
  /* Typography */
  .section-title { font-size: clamp(1.6rem, 6vw, 2.4rem) !important; }
  .section-label { font-size: 11px; }
  h1 { font-size: clamp(1.8rem, 7vw, 2.8rem) !important; }
  h2 { font-size: clamp(1.4rem, 5vw, 2rem) !important; }
  p { font-size: 15px !important; line-height: 1.7; }
  
  /* Hero */
  .hero { padding: 4rem 1.25rem 3rem !important; min-height: auto !important; }
  .hero-inner { flex-direction: column !important; text-align: center; gap: 1.5rem !important; }
  .hero-text { text-align: center; }
  .hero-btns { flex-direction: column !important; gap: 10px !important; align-items: stretch !important; }
  .hero-btns a, .hero-btns button { width: 100% !important; text-align: center; }
  .hero-visual, .hero-right { display: none; }
  
  /* Stats */
  .stats-grid, .stat-row { grid-template-columns: repeat(3, 1fr) !important; gap: 0.75rem !important; }
  .stat-item { padding: 1rem 0.5rem !important; }
  .stat-val { font-size: 1.6rem !important; }
  .stat-desc { font-size: 11px !important; }
  
  /* Services */
  .services-grid, .svc-grid, .leistungen-grid { grid-template-columns: 1fr !important; gap: 1rem !important; }
  .svc-card { padding: 1.25rem !important; }
  
  /* Forms */
  .form-row, .form-grid { grid-template-columns: 1fr !important; gap: 12px !important; }
  .form-group { margin-bottom: 14px; }
  input, select, textarea { font-size: 16px !important; } /* Prevent zoom on iOS */
  
  /* Footer */
  .footer-top { grid-template-columns: 1fr !important; gap: 2rem !important; }
  .footer-bottom { flex-direction: column !important; text-align: center; gap: 8px !important; }
  
  /* Cards */
  .card-grid { grid-template-columns: 1fr !important; }
  .team-grid { grid-template-columns: 1fr !important; }
  .values-grid { grid-template-columns: 1fr 1fr !important; }
  
  /* Contact/Termin layout */
  .kon-grid, .kon-layout, .termin-layout { grid-template-columns: 1fr !important; }
  .kon-info { order: -1; }
  
  /* Über uns */
  .uber-layout, .about-grid { flex-direction: column !important; }
  .uber-img { width: 100% !important; max-height: 250px; object-fit: cover; }
  
  /* Tables */
  table { font-size: 13px; }
  td, th { padding: 8px 6px !important; }
  
  /* AI Chat */
  #ai-chat-win { width: calc(100vw - 20px) !important; right: 10px !important; bottom: 70px !important; }
  #ai-chat-btn { bottom: 1.2rem !important; right: 1.2rem !important; }
}

@media (max-width: 480px) {
  .section { padding: 2.5rem 1rem !important; }
  .stats-grid { grid-template-columns: 1fr !important; }
  .values-grid { grid-template-columns: 1fr !important; }
  .hero-badge { font-size: 11px !important; }
  .nav-logo-text .t1 { max-width: 180px; }
}

/* === uber-uns.html === */
:root{--jn-black:#0a0a0a;--jn-dark:#111418;--jn-blue:#00aaff;--jn-blue-light:#33bbff;--jn-white:#ffffff;--jn-gray:#8a9bb0;--jn-surface:#161b22;--jn-surface2:#1e2530;--font-display:'Playfair Display',Georgia,serif;--font-body:'DM Sans',sans-serif;}
*{margin:0;padding:0;box-sizing:border-box;}html{scroll-behavior:smooth;}body{font-family:var(--font-body);background:var(--jn-dark);color:var(--jn-white);overflow-x:hidden;}
nav{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgba(10,10,10,0.95);backdrop-filter:blur(20px);border-bottom:1px solid rgba(0,170,255,0.12);}
.nav-inner{max-width:1200px;margin:0 auto;padding:0 2rem;height:72px;display:flex;align-items:center;justify-content:space-between;}
.nav-logo{display:flex;align-items:center;gap:12px;text-decoration:none;flex-shrink:0;}
.nav-logo img{height:42px;width:42px;object-fit:contain;}
.nav-logo-text{display:flex;flex-direction:column;line-height:1.2;}
.nav-logo-text .t1{font-family:var(--font-display);font-size:13px;font-weight:700;color:var(--jn-white);}
.nav-logo-text .t2{font-size:10px;color:var(--jn-blue);letter-spacing:1.2px;text-transform:uppercase;}
.nav-links{display:flex;align-items:center;}
.nav-links a{color:rgba(255,255,255,0.72);text-decoration:none;font-size:13px;font-weight:500;padding:8px 14px;transition:color 0.2s;}
.nav-links a:hover,.nav-links a.active{color:var(--jn-blue);}
.nav-cta{background:var(--jn-blue)!important;color:var(--jn-black)!important;font-weight:600!important;padding:8px 18px!important;border-radius:6px!important;margin-left:6px;}
.hamburger{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px;padding:4px;}
.hamburger span{display:block;width:22px;height:2px;background:var(--jn-white);border-radius:2px;}
.mobile-menu{display:none;position:fixed;top:72px;left:0;right:0;background:rgba(10,10,10,0.98);backdrop-filter:blur(20px);padding:1.5rem 2rem;z-index:999;border-bottom:1px solid rgba(0,170,255,0.1);}
.mobile-menu a{display:block;color:rgba(255,255,255,0.8);text-decoration:none;font-size:15px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,0.06);}
.btn-primary{display:inline-block;background:var(--jn-blue);color:var(--jn-black);font-family:var(--font-body);font-size:14px;font-weight:600;padding:12px 28px;border-radius:8px;text-decoration:none;border:none;cursor:pointer;transition:all 0.2s;}
.btn-primary:hover{background:var(--jn-blue-light);transform:translateY(-1px);}
.btn-secondary{display:inline-block;background:transparent;color:var(--jn-white);font-family:var(--font-body);font-size:14px;font-weight:500;padding:12px 28px;border-radius:8px;text-decoration:none;border:1px solid rgba(255,255,255,0.2);cursor:pointer;transition:all 0.2s;}
.btn-secondary:hover{border-color:var(--jn-blue);color:var(--jn-blue);}
.page-hero{padding:7rem 2rem 3rem;background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(0,170,255,0.07) 0%,transparent 70%);}
.section-inner{max-width:1200px;margin:0 auto;}
.section-label{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--jn-blue);margin-bottom:0.6rem;font-weight:600;}
.section-title{font-family:var(--font-display);font-size:clamp(1.6rem,2.8vw,2.3rem);font-weight:700;color:var(--jn-white);margin-bottom:1rem;line-height:1.2;}
.card{background:var(--jn-surface);border:1px solid rgba(0,170,255,0.1);border-radius:16px;padding:2rem;}
.form-group{margin-bottom:1rem;}.form-group label{display:block;font-size:12px;color:var(--jn-gray);margin-bottom:5px;}
.form-group input,.form-group select,.form-group textarea{width:100%;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.1);border-radius:8px;padding:10px 14px;font-family:var(--font-body);font-size:13px;color:var(--jn-white);outline:none;transition:border 0.2s;}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--jn-blue);}
.form-group select option{background:var(--jn-surface2);}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.btn-form{width:100%;background:var(--jn-blue);color:var(--jn-black);font-family:var(--font-body);font-size:14px;font-weight:600;padding:12px;border-radius:8px;border:none;cursor:pointer;transition:background 0.2s;margin-top:0.5rem;}
.btn-form:hover{background:var(--jn-blue-light);}
.legal-content h2{font-family:var(--font-display);font-size:1.2rem;color:var(--jn-white);margin:2rem 0 0.5rem;}
.legal-content h2:first-child{margin-top:0;}
.legal-content p{font-size:14px;color:var(--jn-gray);line-height:1.8;margin-bottom:0.75rem;}
.legal-content a{color:var(--jn-blue);}.legal-content ul{list-style:none;padding:0;margin-bottom:0.75rem;}
.legal-content ul li{font-size:14px;color:var(--jn-gray);padding:3px 0 3px 16px;position:relative;}
.legal-content ul li::before{content:'–';position:absolute;left:0;color:var(--jn-blue);}
.success-box{display:none;text-align:center;padding:2.5rem;color:var(--jn-blue);}
.success-box strong{display:block;font-size:18px;margin-bottom:0.5rem;}
.success-box span{font-size:13px;color:var(--jn-gray);}
footer{background:var(--jn-black);border-top:1px solid rgba(0,170,255,0.08);padding:3rem 2rem 1.5rem;}
.footer-inner{max-width:1200px;margin:0 auto;}
.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr;gap:3rem;margin-bottom:2rem;}
.footer-brand p{font-size:13px;color:var(--jn-gray);line-height:1.7;max-width:300px;margin-top:0.75rem;}
.footer-col h4{font-size:11px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--jn-blue);margin-bottom:0.9rem;}
.footer-col a{display:block;font-size:13px;color:var(--jn-gray);text-decoration:none;padding:3px 0;transition:color 0.2s;}
.footer-col a:hover{color:var(--jn-white);}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.06);padding-top:1.25rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;}
.footer-bottom p{font-size:12px;color:rgba(255,255,255,0.28);}
.footer-links{display:flex;gap:1.5rem;}
.footer-links a{font-size:12px;color:rgba(255,255,255,0.28);text-decoration:none;}
.footer-links a:hover{color:var(--jn-gray);}
@media(max-width:768px){.footer-top{grid-template-columns:1fr;}.form-row{grid-template-columns:1fr;}}

/* NAVBAR MOBILE FIX */

/* ═══════════════════════════════════════════
   NAVBAR — Desktop + Mobile (Complete Fix)
═══════════════════════════════════════════ */
nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
  background: rgba(10,10,10,0.96);
  backdrop-filter: blur(20px);
  border-bottom: 1px solid rgba(0,170,255,0.12);
}
.nav-inner {
  max-width: 1200px; margin: 0 auto; padding: 0 1.5rem;
  height: 68px; display: flex; align-items: center;
  justify-content: space-between; gap: 12px;
}
.nav-logo {
  display: flex; align-items: center; gap: 10px;
  text-decoration: none; flex-shrink: 0; min-width: 0;
}
.nav-logo img { height: 40px; width: 40px; object-fit: contain; }
.nav-logo-text { display: flex; flex-direction: column; line-height: 1.2; min-width: 0; }
.nav-logo-text .t1 { font-size: 13px; font-weight: 700; color: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nav-logo-text .t2 { font-size: 10px; color: #00aaff; letter-spacing: 1px; text-transform: uppercase; }
/* Desktop nav links */
.nav-links { display: flex; align-items: center; gap: 0; }
.nav-links a { color: rgba(255,255,255,0.72); text-decoration: none; font-size: 13px; font-weight: 500; padding: 8px 12px; transition: color 0.2s; white-space: nowrap; }
.nav-links a:hover, .nav-links a.active { color: #00aaff; }
.nav-cta { background: #00aaff !important; color: #000 !important; font-weight: 700 !important; padding: 8px 16px !important; border-radius: 6px !important; margin-left: 6px; }
.nav-cta:hover { background: #33bbff !important; color: #000 !important; }
/* Lang switcher */
#jn-lang-sw { flex-shrink: 0; }
/* Hamburger — hidden on desktop */
.hamburger {
  display: none; background: none; border: none; cursor: pointer;
  flex-direction: column; gap: 5px; padding: 6px; border-radius: 6px;
  flex-shrink: 0;
}
.hamburger span {
  display: block; width: 24px; height: 2px;
  background: #fff; border-radius: 2px;
  transition: transform 0.3s, opacity 0.3s;
}
.hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.hamburger.open span:nth-child(2) { opacity: 0; }
.hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
/* Mobile menu — hidden by default */
.mobile-menu {
  display: none;
  position: fixed; top: 68px; left: 0; right: 0; bottom: 0;
  background: rgba(8,8,12,0.98); backdrop-filter: blur(24px);
  z-index: 998; overflow-y: auto;
  padding: 0;
  animation: slideDown 0.25s ease;
}
@keyframes slideDown { from { opacity:0; transform:translateY(-10px); } to { opacity:1; transform:translateY(0); } }
.mobile-menu.open { display: block; }
.mobile-menu-inner { padding: 1rem 1.5rem 2rem; }
.mobile-menu a {
  display: flex; align-items: center; gap: 10px;
  color: rgba(255,255,255,0.85); text-decoration: none;
  font-size: 16px; font-weight: 500;
  padding: 14px 0;
  border-bottom: 1px solid rgba(255,255,255,0.07);
  transition: color 0.2s;
}
.mobile-menu a:hover { color: #00aaff; }
.mobile-menu a:last-child { border-bottom: none; }
.mobile-menu .mob-cta {
  display: block; background: #00aaff; color: #000 !important;
  font-weight: 700; text-align: center; padding: 14px !important;
  border-radius: 8px; margin-top: 1rem; border-bottom: none !important;
}
.mobile-menu .mob-divider {
  font-size: 11px; font-weight: 700; color: rgba(255,255,255,0.3);
  letter-spacing: 1.5px; text-transform: uppercase;
  padding: 16px 0 6px; border-bottom: none !important;
  pointer-events: none;
}
.mobile-menu .mob-lang {
  display: flex; gap: 8px; flex-wrap: wrap;
  padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,0.07);
}
.mobile-menu .mob-lang button {
  background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.15);
  border-radius: 6px; color: #fff; font-size: 13px; padding: 7px 12px;
  cursor: pointer; font-family: inherit;
}
.mobile-menu .mob-lang button.active { background: rgba(0,170,255,0.2); border-color: #00aaff; color: #00aaff; }
/* MOBILE BREAKPOINT */
@media (max-width: 900px) {
  .nav-links { display: none !important; }
  #jn-lang-sw { display: none !important; }
  .hamburger { display: flex !important; }
}
@media (max-width: 480px) {
  .nav-inner { padding: 0 1rem; height: 62px; }
  .mobile-menu { top: 62px; }
  .nav-logo-text .t1 { font-size: 12px; }
  .nav-logo-text .t2 { display: none; }
}


/* ═══════════════════════════════════════════════════
   GLOBAL MOBILE RESPONSIVE — All Pages
═══════════════════════════════════════════════════ */
@media (max-width: 768px) {
  /* Layout */
  body { padding-top: 62px !important; }
  .section { padding: 3rem 1.25rem !important; }
  .section-inner, .container { padding: 0 1.25rem; }
  
  /* Typography */
  .section-title { font-size: clamp(1.6rem, 6vw, 2.4rem) !important; }
  .section-label { font-size: 11px; }
  h1 { font-size: clamp(1.8rem, 7vw, 2.8rem) !important; }
  h2 { font-size: clamp(1.4rem, 5vw, 2rem) !important; }
  p { font-size: 15px !important; line-height: 1.7; }
  
  /* Hero */
  .hero { padding: 4rem 1.25rem 3rem !important; min-height: auto !important; }
  .hero-inner { flex-direction: column !important; text-align: center; gap: 1.5rem !important; }
  .hero-text { text-align: center; }
  .hero-btns { flex-direction: column !important; gap: 10px !important; align-items: stretch !important; }
  .hero-btns a, .hero-btns button { width: 100% !important; text-align: center; }
  .hero-visual, .hero-right { display: none; }
  
  /* Stats */
  .stats-grid, .stat-row { grid-template-columns: repeat(3, 1fr) !important; gap: 0.75rem !important; }
  .stat-item { padding: 1rem 0.5rem !important; }
  .stat-val { font-size: 1.6rem !important; }
  .stat-desc { font-size: 11px !important; }
  
  /* Services */
  .services-grid, .svc-grid, .leistungen-grid { grid-template-columns: 1fr !important; gap: 1rem !important; }
  .svc-card { padding: 1.25rem !important; }
  
  /* Forms */
  .form-row, .form-grid { grid-template-columns: 1fr !important; gap: 12px !important; }
  .form-group { margin-bottom: 14px; }
  input, select, textarea { font-size: 16px !important; } /* Prevent zoom on iOS */
  
  /* Footer */
  .footer-top { grid-template-columns: 1fr !important; gap: 2rem !important; }
  .footer-bottom { flex-direction: column !important; text-align: center; gap: 8px !important; }
  
  /* Cards */
  .card-grid { grid-template-columns: 1fr !important; }
  .team-grid { grid-template-columns: 1fr !important; }
  .values-grid { grid-template-columns: 1fr 1fr !important; }
  
  /* Contact/Termin layout */
  .kon-grid, .kon-layout, .termin-layout { grid-template-columns: 1fr !important; }
  .kon-info { order: -1; }
  
  /* Über uns */
  .uber-layout, .about-grid { flex-direction: column !important; }
  .uber-img { width: 100% !important; max-height: 250px; object-fit: cover; }
  
  /* Tables */
  table { font-size: 13px; }
  td, th { padding: 8px 6px !important; }
  
  /* AI Chat */
  #ai-chat-win { width: calc(100vw - 20px) !important; right: 10px !important; bottom: 70px !important; }
  #ai-chat-btn { bottom: 1.2rem !important; right: 1.2rem !important; }
}

@media (max-width: 480px) {
  .section { padding: 2.5rem 1rem !important; }
  .stats-grid { grid-template-columns: 1fr !important; }
  .values-grid { grid-template-columns: 1fr !important; }
  .hero-badge { font-size: 11px !important; }
  .nav-logo-text .t1 { max-width: 180px; }
}

/* === uber-uns.html === */
@media(max-width:768px){#about-grid{grid-template-columns:1fr;gap:1.5rem;}}

/* === kontakt.html === */
:root{--jn-black:#0a0a0a;--jn-dark:#111418;--jn-blue:#00aaff;--jn-blue-light:#33bbff;--jn-white:#ffffff;--jn-gray:#8a9bb0;--jn-surface:#161b22;--jn-surface2:#1e2530;--font-display:'Playfair Display',Georgia,serif;--font-body:'DM Sans',sans-serif;}
*{margin:0;padding:0;box-sizing:border-box;}html{scroll-behavior:smooth;}body{font-family:var(--font-body);background:var(--jn-dark);color:var(--jn-white);overflow-x:hidden;}
nav{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgba(10,10,10,0.95);backdrop-filter:blur(20px);border-bottom:1px solid rgba(0,170,255,0.12);}
.nav-inner{max-width:1200px;margin:0 auto;padding:0 2rem;height:72px;display:flex;align-items:center;justify-content:space-between;}
.nav-logo{display:flex;align-items:center;gap:12px;text-decoration:none;flex-shrink:0;}
.nav-logo img{height:42px;width:42px;object-fit:contain;}
.nav-logo-text{display:flex;flex-direction:column;line-height:1.2;}
.nav-logo-text .t1{font-family:var(--font-display);font-size:13px;font-weight:700;color:var(--jn-white);}
.nav-logo-text .t2{font-size:10px;color:var(--jn-blue);letter-spacing:1.2px;text-transform:uppercase;}
.nav-links{display:flex;align-items:center;}
.nav-links a{color:rgba(255,255,255,0.72);text-decoration:none;font-size:13px;font-weight:500;padding:8px 14px;transition:color 0.2s;}
.nav-links a:hover,.nav-links a.active{color:var(--jn-blue);}
.nav-cta{background:var(--jn-blue)!important;color:var(--jn-black)!important;font-weight:600!important;padding:8px 18px!important;border-radius:6px!important;margin-left:6px;}
.hamburger{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px;padding:4px;}
.hamburger span{display:block;width:22px;height:2px;background:var(--jn-white);border-radius:2px;}
.mobile-menu{display:none;position:fixed;top:72px;left:0;right:0;background:rgba(10,10,10,0.98);backdrop-filter:blur(20px);padding:1.5rem 2rem;z-index:999;border-bottom:1px solid rgba(0,170,255,0.1);}
.mobile-menu a{display:block;color:rgba(255,255,255,0.8);text-decoration:none;font-size:15px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,0.06);}
.btn-primary{display:inline-block;background:var(--jn-blue);color:var(--jn-black);font-family:var(--font-body);font-size:14px;font-weight:600;padding:12px 28px;border-radius:8px;text-decoration:none;border:none;cursor:pointer;transition:all 0.2s;}
.btn-primary:hover{background:var(--jn-blue-light);transform:translateY(-1px);}
.btn-secondary{display:inline-block;background:transparent;color:var(--jn-white);font-family:var(--font-body);font-size:14px;font-weight:500;padding:12px 28px;border-radius:8px;text-decoration:none;border:1px solid rgba(255,255,255,0.2);cursor:pointer;transition:all 0.2s;}
.btn-secondary:hover{border-color:var(--jn-blue);color:var(--jn-blue);}
.page-hero{padding:7rem 2rem 3rem;background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(0,170,255,0.07) 0%,transparent 70%);}
.section-inner{max-width:1200px;margin:0 auto;}
.section-label{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--jn-blue);margin-bottom:0.6rem;font-weight:600;}
.section-title{font-family:var(--font-display);font-size:clamp(1.6rem,2.8vw,2.3rem);font-weight:700;color:var(--jn-white);margin-bottom:1rem;line-height:1.2;}
.card{background:var(--jn-surface);border:1px solid rgba(0,170,255,0.1);border-radius:16px;padding:2rem;}
.form-group{margin-bottom:1rem;}.form-group label{display:block;font-size:12px;color:var(--jn-gray);margin-bottom:5px;}
.form-group input,.form-group select,.form-group textarea{width:100%;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.1);border-radius:8px;padding:10px 14px;font-family:var(--font-body);font-size:13px;color:var(--jn-white);outline:none;transition:border 0.2s;}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--jn-blue);}
.form-group select option{background:var(--jn-surface2);}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.btn-form{width:100%;background:var(--jn-blue);color:var(--jn-black);font-family:var(--font-body);font-size:14px;font-weight:600;padding:12px;border-radius:8px;border:none;cursor:pointer;transition:background 0.2s;margin-top:0.5rem;}
.btn-form:hover{background:var(--jn-blue-light);}
.legal-content h2{font-family:var(--font-display);font-size:1.2rem;color:var(--jn-white);margin:2rem 0 0.5rem;}
.legal-content h2:first-child{margin-top:0;}
.legal-content p{font-size:14px;color:var(--jn-gray);line-height:1.8;margin-bottom:0.75rem;}
.legal-content a{color:var(--jn-blue);}.legal-content ul{list-style:none;padding:0;margin-bottom:0.75rem;}
.legal-content ul li{font-size:14px;color:var(--jn-gray);padding:3px 0 3px 16px;position:relative;}
.legal-content ul li::before{content:'–';position:absolute;left:0;color:var(--jn-blue);}
.success-box{display:none;text-align:center;padding:2.5rem;color:var(--jn-blue);}
.success-box strong{display:block;font-size:18px;margin-bottom:0.5rem;}
.success-box span{font-size:13px;color:var(--jn-gray);}
footer{background:var(--jn-black);border-top:1px solid rgba(0,170,255,0.08);padding:3rem 2rem 1.5rem;}
.footer-inner{max-width:1200px;margin:0 auto;}
.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr;gap:3rem;margin-bottom:2rem;}
.footer-brand p{font-size:13px;color:var(--jn-gray);line-height:1.7;max-width:300px;margin-top:0.75rem;}
.footer-col h4{font-size:11px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--jn-blue);margin-bottom:0.9rem;}
.footer-col a{display:block;font-size:13px;color:var(--jn-gray);text-decoration:none;padding:3px 0;transition:color 0.2s;}
.footer-col a:hover{color:var(--jn-white);}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.06);padding-top:1.25rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;}
.footer-bottom p{font-size:12px;color:rgba(255,255,255,0.28);}
.footer-links{display:flex;gap:1.5rem;}
.footer-links a{font-size:12px;color:rgba(255,255,255,0.28);text-decoration:none;}
.footer-links a:hover{color:var(--jn-gray);}
@media(max-width:768px){.footer-top{grid-template-columns:1fr;}.form-row{grid-template-columns:1fr;}}

/* NAVBAR MOBILE FIX */

/* ═══════════════════════════════════════════
   NAVBAR — Desktop + Mobile (Complete Fix)
═══════════════════════════════════════════ */
nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
  background: rgba(10,10,10,0.96);
  backdrop-filter: blur(20px);
  border-bottom: 1px solid rgba(0,170,255,0.12);
}
.nav-inner {
  max-width: 1200px; margin: 0 auto; padding: 0 1.5rem;
  height: 68px; display: flex; align-items: center;
  justify-content: space-between; gap: 12px;
}
.nav-logo {
  display: flex; align-items: center; gap: 10px;
  text-decoration: none; flex-shrink: 0; min-width: 0;
}
.nav-logo img { height: 40px; width: 40px; object-fit: contain; }
.nav-logo-text { display: flex; flex-direction: column; line-height: 1.2; min-width: 0; }
.nav-logo-text .t1 { font-size: 13px; font-weight: 700; color: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nav-logo-text .t2 { font-size: 10px; color: #00aaff; letter-spacing: 1px; text-transform: uppercase; }
/* Desktop nav links */
.nav-links { display: flex; align-items: center; gap: 0; }
.nav-links a { color: rgba(255,255,255,0.72); text-decoration: none; font-size: 13px; font-weight: 500; padding: 8px 12px; transition: color 0.2s; white-space: nowrap; }
.nav-links a:hover, .nav-links a.active { color: #00aaff; }
.nav-cta { background: #00aaff !important; color: #000 !important; font-weight: 700 !important; padding: 8px 16px !important; border-radius: 6px !important; margin-left: 6px; }
.nav-cta:hover { background: #33bbff !important; color: #000 !important; }
/* Lang switcher */
#jn-lang-sw { flex-shrink: 0; }
/* Hamburger — hidden on desktop */
.hamburger {
  display: none; background: none; border: none; cursor: pointer;
  flex-direction: column; gap: 5px; padding: 6px; border-radius: 6px;
  flex-shrink: 0;
}
.hamburger span {
  display: block; width: 24px; height: 2px;
  background: #fff; border-radius: 2px;
  transition: transform 0.3s, opacity 0.3s;
}
.hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.hamburger.open span:nth-child(2) { opacity: 0; }
.hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
/* Mobile menu — hidden by default */
.mobile-menu {
  display: none;
  position: fixed; top: 68px; left: 0; right: 0; bottom: 0;
  background: rgba(8,8,12,0.98); backdrop-filter: blur(24px);
  z-index: 998; overflow-y: auto;
  padding: 0;
  animation: slideDown 0.25s ease;
}
@keyframes slideDown { from { opacity:0; transform:translateY(-10px); } to { opacity:1; transform:translateY(0); } }
.mobile-menu.open { display: block; }
.mobile-menu-inner { padding: 1rem 1.5rem 2rem; }
.mobile-menu a {
  display: flex; align-items: center; gap: 10px;
  color: rgba(255,255,255,0.85); text-decoration: none;
  font-size: 16px; font-weight: 500;
  padding: 14px 0;
  border-bottom: 1px solid rgba(255,255,255,0.07);
  transition: color 0.2s;
}
.mobile-menu a:hover { color: #00aaff; }
.mobile-menu a:last-child { border-bottom: none; }
.mobile-menu .mob-cta {
  display: block; background: #00aaff; color: #000 !important;
  font-weight: 700; text-align: center; padding: 14px !important;
  border-radius: 8px; margin-top: 1rem; border-bottom: none !important;
}
.mobile-menu .mob-divider {
  font-size: 11px; font-weight: 700; color: rgba(255,255,255,0.3);
  letter-spacing: 1.5px; text-transform: uppercase;
  padding: 16px 0 6px; border-bottom: none !important;
  pointer-events: none;
}
.mobile-menu .mob-lang {
  display: flex; gap: 8px; flex-wrap: wrap;
  padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,0.07);
}
.mobile-menu .mob-lang button {
  background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.15);
  border-radius: 6px; color: #fff; font-size: 13px; padding: 7px 12px;
  cursor: pointer; font-family: inherit;
}
.mobile-menu .mob-lang button.active { background: rgba(0,170,255,0.2); border-color: #00aaff; color: #00aaff; }
/* MOBILE BREAKPOINT */
@media (max-width: 900px) {
  .nav-links { display: none !important; }
  #jn-lang-sw { display: none !important; }
  .hamburger { display: flex !important; }
}
@media (max-width: 480px) {
  .nav-inner { padding: 0 1rem; height: 62px; }
  .mobile-menu { top: 62px; }
  .nav-logo-text .t1 { font-size: 12px; }
  .nav-logo-text .t2 { display: none; }
}


/* ═══════════════════════════════════════════════════
   GLOBAL MOBILE RESPONSIVE — All Pages
═══════════════════════════════════════════════════ */
@media (max-width: 768px) {
  /* Layout */
  body { padding-top: 62px !important; }
  .section { padding: 3rem 1.25rem !important; }
  .section-inner, .container { padding: 0 1.25rem; }
  
  /* Typography */
  .section-title { font-size: clamp(1.6rem, 6vw, 2.4rem) !important; }
  .section-label { font-size: 11px; }
  h1 { font-size: clamp(1.8rem, 7vw, 2.8rem) !important; }
  h2 { font-size: clamp(1.4rem, 5vw, 2rem) !important; }
  p { font-size: 15px !important; line-height: 1.7; }
  
  /* Hero */
  .hero { padding: 4rem 1.25rem 3rem !important; min-height: auto !important; }
  .hero-inner { flex-direction: column !important; text-align: center; gap: 1.5rem !important; }
  .hero-text { text-align: center; }
  .hero-btns { flex-direction: column !important; gap: 10px !important; align-items: stretch !important; }
  .hero-btns a, .hero-btns button { width: 100% !important; text-align: center; }
  .hero-visual, .hero-right { display: none; }
  
  /* Stats */
  .stats-grid, .stat-row { grid-template-columns: repeat(3, 1fr) !important; gap: 0.75rem !important; }
  .stat-item { padding: 1rem 0.5rem !important; }
  .stat-val { font-size: 1.6rem !important; }
  .stat-desc { font-size: 11px !important; }
  
  /* Services */
  .services-grid, .svc-grid, .leistungen-grid { grid-template-columns: 1fr !important; gap: 1rem !important; }
  .svc-card { padding: 1.25rem !important; }
  
  /* Forms */
  .form-row, .form-grid { grid-template-columns: 1fr !important; gap: 12px !important; }
  .form-group { margin-bottom: 14px; }
  input, select, textarea { font-size: 16px !important; } /* Prevent zoom on iOS */
  
  /* Footer */
  .footer-top { grid-template-columns: 1fr !important; gap: 2rem !important; }
  .footer-bottom { flex-direction: column !important; text-align: center; gap: 8px !important; }
  
  /* Cards */
  .card-grid { grid-template-columns: 1fr !important; }
  .team-grid { grid-template-columns: 1fr !important; }
  .values-grid { grid-template-columns: 1fr 1fr !important; }
  
  /* Contact/Termin layout */
  .kon-grid, .kon-layout, .termin-layout { grid-template-columns: 1fr !important; }
  .kon-info { order: -1; }
  
  /* Über uns */
  .uber-layout, .about-grid { flex-direction: column !important; }
  .uber-img { width: 100% !important; max-height: 250px; object-fit: cover; }
  
  /* Tables */
  table { font-size: 13px; }
  td, th { padding: 8px 6px !important; }
  
  /* AI Chat */
  #ai-chat-win { width: calc(100vw - 20px) !important; right: 10px !important; bottom: 70px !important; }
  #ai-chat-btn { bottom: 1.2rem !important; right: 1.2rem !important; }
}

@media (max-width: 480px) {
  .section { padding: 2.5rem 1rem !important; }
  .stats-grid { grid-template-columns: 1fr !important; }
  .values-grid { grid-template-columns: 1fr !important; }
  .hero-badge { font-size: 11px !important; }
  .nav-logo-text .t1 { max-width: 180px; }
}

/* === kontakt.html === */
@media(max-width:768px){#kontakt-grid{grid-template-columns:1fr!important;}}

/* === termin.html === */
:root{--jn-black:#0a0a0a;--jn-dark:#111418;--jn-blue:#00aaff;--jn-blue-light:#33bbff;--jn-white:#ffffff;--jn-gray:#8a9bb0;--jn-surface:#161b22;--jn-surface2:#1e2530;--font-display:'Playfair Display',Georgia,serif;--font-body:'DM Sans',sans-serif;}
*{margin:0;padding:0;box-sizing:border-box;}html{scroll-behavior:smooth;}body{font-family:var(--font-body);background:var(--jn-dark);color:var(--jn-white);overflow-x:hidden;}
nav{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgba(10,10,10,0.95);backdrop-filter:blur(20px);border-bottom:1px solid rgba(0,170,255,0.12);}
.nav-inner{max-width:1200px;margin:0 auto;padding:0 2rem;height:72px;display:flex;align-items:center;justify-content:space-between;}
.nav-logo{display:flex;align-items:center;gap:12px;text-decoration:none;flex-shrink:0;}
.nav-logo img{height:42px;width:42px;object-fit:contain;}
.nav-logo-text{display:flex;flex-direction:column;line-height:1.2;}
.nav-logo-text .t1{font-family:var(--font-display);font-size:13px;font-weight:700;color:var(--jn-white);}
.nav-logo-text .t2{font-size:10px;color:var(--jn-blue);letter-spacing:1.2px;text-transform:uppercase;}
.nav-links{display:flex;align-items:center;}
.nav-links a{color:rgba(255,255,255,0.72);text-decoration:none;font-size:13px;font-weight:500;padding:8px 14px;transition:color 0.2s;}
.nav-links a:hover,.nav-links a.active{color:var(--jn-blue);}
.nav-cta{background:var(--jn-blue)!important;color:var(--jn-black)!important;font-weight:600!important;padding:8px 18px!important;border-radius:6px!important;margin-left:6px;}
.hamburger{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px;padding:4px;}
.hamburger span{display:block;width:22px;height:2px;background:var(--jn-white);border-radius:2px;}
.mobile-menu{display:none;position:fixed;top:72px;left:0;right:0;background:rgba(10,10,10,0.98);backdrop-filter:blur(20px);padding:1.5rem 2rem;z-index:999;border-bottom:1px solid rgba(0,170,255,0.1);}
.mobile-menu a{display:block;color:rgba(255,255,255,0.8);text-decoration:none;font-size:15px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,0.06);}
.btn-primary{display:inline-block;background:var(--jn-blue);color:var(--jn-black);font-family:var(--font-body);font-size:14px;font-weight:600;padding:12px 28px;border-radius:8px;text-decoration:none;border:none;cursor:pointer;transition:all 0.2s;}
.btn-primary:hover{background:var(--jn-blue-light);transform:translateY(-1px);}
.btn-secondary{display:inline-block;background:transparent;color:var(--jn-white);font-family:var(--font-body);font-size:14px;font-weight:500;padding:12px 28px;border-radius:8px;text-decoration:none;border:1px solid rgba(255,255,255,0.2);cursor:pointer;transition:all 0.2s;}
.btn-secondary:hover{border-color:var(--jn-blue);color:var(--jn-blue);}
.page-hero{padding:7rem 2rem 3rem;background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(0,170,255,0.07) 0%,transparent 70%);}
.section-inner{max-width:1200px;margin:0 auto;}
.section-label{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--jn-blue);margin-bottom:0.6rem;font-weight:600;}
.section-title{font-family:var(--font-display);font-size:clamp(1.6rem,2.8vw,2.3rem);font-weight:700;color:var(--jn-white);margin-bottom:1rem;line-height:1.2;}
.card{background:var(--jn-surface);border:1px solid rgba(0,170,255,0.1);border-radius:16px;padding:2rem;}
.form-group{margin-bottom:1rem;}.form-group label{display:block;font-size:12px;color:var(--jn-gray);margin-bottom:5px;}
.form-group input,.form-group select,.form-group textarea{width:100%;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.1);border-radius:8px;padding:10px 14px;font-family:var(--font-body);font-size:13px;color:var(--jn-white);outline:none;transition:border 0.2s;}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--jn-blue);}
.form-group select option{background:var(--jn-surface2);}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.btn-form{width:100%;background:var(--jn-blue);color:var(--jn-black);font-family:var(--font-body);font-size:14px;font-weight:600;padding:12px;border-radius:8px;border:none;cursor:pointer;transition:background 0.2s;margin-top:0.5rem;}
.btn-form:hover{background:var(--jn-blue-light);}
.legal-content h2{font-family:var(--font-display);font-size:1.2rem;color:var(--jn-white);margin:2rem 0 0.5rem;}
.legal-content h2:first-child{margin-top:0;}
.legal-content p{font-size:14px;color:var(--jn-gray);line-height:1.8;margin-bottom:0.75rem;}
.legal-content a{color:var(--jn-blue);}.legal-content ul{list-style:none;padding:0;margin-bottom:0.75rem;}
.legal-content ul li{font-size:14px;color:var(--jn-gray);padding:3px 0 3px 16px;position:relative;}
.legal-content ul li::before{content:'–';position:absolute;left:0;color:var(--jn-blue);}
.success-box{display:none;text-align:center;padding:2.5rem;color:var(--jn-blue);}
.success-box strong{display:block;font-size:18px;margin-bottom:0.5rem;}
.success-box span{font-size:13px;color:var(--jn-gray);}
footer{background:var(--jn-black);border-top:1px solid rgba(0,170,255,0.08);padding:3rem 2rem 1.5rem;}
.footer-inner{max-width:1200px;margin:0 auto;}
.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr;gap:3rem;margin-bottom:2rem;}
.footer-brand p{font-size:13px;color:var(--jn-gray);line-height:1.7;max-width:300px;margin-top:0.75rem;}
.footer-col h4{font-size:11px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--jn-blue);margin-bottom:0.9rem;}
.footer-col a{display:block;font-size:13px;color:var(--jn-gray);text-decoration:none;padding:3px 0;transition:color 0.2s;}
.footer-col a:hover{color:var(--jn-white);}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.06);padding-top:1.25rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;}
.footer-bottom p{font-size:12px;color:rgba(255,255,255,0.28);}
.footer-links{display:flex;gap:1.5rem;}
.footer-links a{font-size:12px;color:rgba(255,255,255,0.28);text-decoration:none;}
.footer-links a:hover{color:var(--jn-gray);}
@media(max-width:768px){.footer-top{grid-template-columns:1fr;}.form-row{grid-template-columns:1fr;}}

/* NAVBAR MOBILE FIX */

/* ═══════════════════════════════════════════
   NAVBAR — Desktop + Mobile (Complete Fix)
═══════════════════════════════════════════ */
nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
  background: rgba(10,10,10,0.96);
  backdrop-filter: blur(20px);
  border-bottom: 1px solid rgba(0,170,255,0.12);
}
.nav-inner {
  max-width: 1200px; margin: 0 auto; padding: 0 1.5rem;
  height: 68px; display: flex; align-items: center;
  justify-content: space-between; gap: 12px;
}
.nav-logo {
  display: flex; align-items: center; gap: 10px;
  text-decoration: none; flex-shrink: 0; min-width: 0;
}
.nav-logo img { height: 40px; width: 40px; object-fit: contain; }
.nav-logo-text { display: flex; flex-direction: column; line-height: 1.2; min-width: 0; }
.nav-logo-text .t1 { font-size: 13px; font-weight: 700; color: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nav-logo-text .t2 { font-size: 10px; color: #00aaff; letter-spacing: 1px; text-transform: uppercase; }
/* Desktop nav links */
.nav-links { display: flex; align-items: center; gap: 0; }
.nav-links a { color: rgba(255,255,255,0.72); text-decoration: none; font-size: 13px; font-weight: 500; padding: 8px 12px; transition: color 0.2s; white-space: nowrap; }
.nav-links a:hover, .nav-links a.active { color: #00aaff; }
.nav-cta { background: #00aaff !important; color: #000 !important; font-weight: 700 !important; padding: 8px 16px !important; border-radius: 6px !important; margin-left: 6px; }
.nav-cta:hover { background: #33bbff !important; color: #000 !important; }
/* Lang switcher */
#jn-lang-sw { flex-shrink: 0; }
/* Hamburger — hidden on desktop */
.hamburger {
  display: none; background: none; border: none; cursor: pointer;
  flex-direction: column; gap: 5px; padding: 6px; border-radius: 6px;
  flex-shrink: 0;
}
.hamburger span {
  display: block; width: 24px; height: 2px;
  background: #fff; border-radius: 2px;
  transition: transform 0.3s, opacity 0.3s;
}
.hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.hamburger.open span:nth-child(2) { opacity: 0; }
.hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
/* Mobile menu — hidden by default */
.mobile-menu {
  display: none;
  position: fixed; top: 68px; left: 0; right: 0; bottom: 0;
  background: rgba(8,8,12,0.98); backdrop-filter: blur(24px);
  z-index: 998; overflow-y: auto;
  padding: 0;
  animation: slideDown 0.25s ease;
}
@keyframes slideDown { from { opacity:0; transform:translateY(-10px); } to { opacity:1; transform:translateY(0); } }
.mobile-menu.open { display: block; }
.mobile-menu-inner { padding: 1rem 1.5rem 2rem; }
.mobile-menu a {
  display: flex; align-items: center; gap: 10px;
  color: rgba(255,255,255,0.85); text-decoration: none;
  font-size: 16px; font-weight: 500;
  padding: 14px 0;
  border-bottom: 1px solid rgba(255,255,255,0.07);
  transition: color 0.2s;
}
.mobile-menu a:hover { color: #00aaff; }
.mobile-menu a:last-child { border-bottom: none; }
.mobile-menu .mob-cta {
  display: block; background: #00aaff; color: #000 !important;
  font-weight: 700; text-align: center; padding: 14px !important;
  border-radius: 8px; margin-top: 1rem; border-bottom: none !important;
}
.mobile-menu .mob-divider {
  font-size: 11px; font-weight: 700; color: rgba(255,255,255,0.3);
  letter-spacing: 1.5px; text-transform: uppercase;
  padding: 16px 0 6px; border-bottom: none !important;
  pointer-events: none;
}
.mobile-menu .mob-lang {
  display: flex; gap: 8px; flex-wrap: wrap;
  padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,0.07);
}
.mobile-menu .mob-lang button {
  background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.15);
  border-radius: 6px; color: #fff; font-size: 13px; padding: 7px 12px;
  cursor: pointer; font-family: inherit;
}
.mobile-menu .mob-lang button.active { background: rgba(0,170,255,0.2); border-color: #00aaff; color: #00aaff; }
/* MOBILE BREAKPOINT */
@media (max-width: 900px) {
  .nav-links { display: none !important; }
  #jn-lang-sw { display: none !important; }
  .hamburger { display: flex !important; }
}
@media (max-width: 480px) {
  .nav-inner { padding: 0 1rem; height: 62px; }
  .mobile-menu { top: 62px; }
  .nav-logo-text .t1 { font-size: 12px; }
  .nav-logo-text .t2 { display: none; }
}


/* ═══════════════════════════════════════════════════
   GLOBAL MOBILE RESPONSIVE — All Pages
═══════════════════════════════════════════════════ */
@media (max-width: 768px) {
  /* Layout */
  body { padding-top: 62px !important; }
  .section { padding: 3rem 1.25rem !important; }
  .section-inner, .container { padding: 0 1.25rem; }
  
  /* Typography */
  .section-title { font-size: clamp(1.6rem, 6vw, 2.4rem) !important; }
  .section-label { font-size: 11px; }
  h1 { font-size: clamp(1.8rem, 7vw, 2.8rem) !important; }
  h2 { font-size: clamp(1.4rem, 5vw, 2rem) !important; }
  p { font-size: 15px !important; line-height: 1.7; }
  
  /* Hero */
  .hero { padding: 4rem 1.25rem 3rem !important; min-height: auto !important; }
  .hero-inner { flex-direction: column !important; text-align: center; gap: 1.5rem !important; }
  .hero-text { text-align: center; }
  .hero-btns { flex-direction: column !important; gap: 10px !important; align-items: stretch !important; }
  .hero-btns a, .hero-btns button { width: 100% !important; text-align: center; }
  .hero-visual, .hero-right { display: none; }
  
  /* Stats */
  .stats-grid, .stat-row { grid-template-columns: repeat(3, 1fr) !important; gap: 0.75rem !important; }
  .stat-item { padding: 1rem 0.5rem !important; }
  .stat-val { font-size: 1.6rem !important; }
  .stat-desc { font-size: 11px !important; }
  
  /* Services */
  .services-grid, .svc-grid, .leistungen-grid { grid-template-columns: 1fr !important; gap: 1rem !important; }
  .svc-card { padding: 1.25rem !important; }
  
  /* Forms */
  .form-row, .form-grid { grid-template-columns: 1fr !important; gap: 12px !important; }
  .form-group { margin-bottom: 14px; }
  input, select, textarea { font-size: 16px !important; } /* Prevent zoom on iOS */
  
  /* Footer */
  .footer-top { grid-template-columns: 1fr !important; gap: 2rem !important; }
  .footer-bottom { flex-direction: column !important; text-align: center; gap: 8px !important; }
  
  /* Cards */
  .card-grid { grid-template-columns: 1fr !important; }
  .team-grid { grid-template-columns: 1fr !important; }
  .values-grid { grid-template-columns: 1fr 1fr !important; }
  
  /* Contact/Termin layout */
  .kon-grid, .kon-layout, .termin-layout { grid-template-columns: 1fr !important; }
  .kon-info { order: -1; }
  
  /* Über uns */
  .uber-layout, .about-grid { flex-direction: column !important; }
  .uber-img { width: 100% !important; max-height: 250px; object-fit: cover; }
  
  /* Tables */
  table { font-size: 13px; }
  td, th { padding: 8px 6px !important; }
  
  /* AI Chat */
  #ai-chat-win { width: calc(100vw - 20px) !important; right: 10px !important; bottom: 70px !important; }
  #ai-chat-btn { bottom: 1.2rem !important; right: 1.2rem !important; }
}

@media (max-width: 480px) {
  .section { padding: 2.5rem 1rem !important; }
  .stats-grid { grid-template-columns: 1fr !important; }
  .values-grid { grid-template-columns: 1fr !important; }
  .hero-badge { font-size: 11px !important; }
  .nav-logo-text .t1 { max-width: 180px; }
}

/* === termin.html === */
@media(max-width:768px){{#termin-grid{{grid-template-columns:1fr!important;}}}}

/* === agb.html === */
:root{--jn-black:#0a0a0a;--jn-dark:#111418;--jn-blue:#00aaff;--jn-blue-light:#33bbff;--jn-white:#ffffff;--jn-gray:#8a9bb0;--jn-surface:#161b22;--jn-surface2:#1e2530;--font-display:'Playfair Display',Georgia,serif;--font-body:'DM Sans',sans-serif;}
*{margin:0;padding:0;box-sizing:border-box;}html{scroll-behavior:smooth;}body{font-family:var(--font-body);background:var(--jn-dark);color:var(--jn-white);overflow-x:hidden;}
nav{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgba(10,10,10,0.95);backdrop-filter:blur(20px);border-bottom:1px solid rgba(0,170,255,0.12);}
.nav-inner{max-width:1200px;margin:0 auto;padding:0 2rem;height:72px;display:flex;align-items:center;justify-content:space-between;}
.nav-logo{display:flex;align-items:center;gap:12px;text-decoration:none;flex-shrink:0;}
.nav-logo img{height:42px;width:42px;object-fit:contain;}
.nav-logo-text{display:flex;flex-direction:column;line-height:1.2;}
.nav-logo-text .t1{font-family:var(--font-display);font-size:13px;font-weight:700;color:var(--jn-white);}
.nav-logo-text .t2{font-size:10px;color:var(--jn-blue);letter-spacing:1.2px;text-transform:uppercase;}
.nav-links{display:flex;align-items:center;}
.nav-links a{color:rgba(255,255,255,0.72);text-decoration:none;font-size:13px;font-weight:500;padding:8px 14px;transition:color 0.2s;}
.nav-links a:hover,.nav-links a.active{color:var(--jn-blue);}
.nav-cta{background:var(--jn-blue)!important;color:var(--jn-black)!important;font-weight:600!important;padding:8px 18px!important;border-radius:6px!important;margin-left:6px;}
.hamburger{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px;padding:4px;}
.hamburger span{display:block;width:22px;height:2px;background:var(--jn-white);border-radius:2px;}
.mobile-menu{display:none;position:fixed;top:72px;left:0;right:0;background:rgba(10,10,10,0.98);backdrop-filter:blur(20px);padding:1.5rem 2rem;z-index:999;border-bottom:1px solid rgba(0,170,255,0.1);}
.mobile-menu a{display:block;color:rgba(255,255,255,0.8);text-decoration:none;font-size:15px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,0.06);}
.btn-primary{display:inline-block;background:var(--jn-blue);color:var(--jn-black);font-family:var(--font-body);font-size:14px;font-weight:600;padding:12px 28px;border-radius:8px;text-decoration:none;border:none;cursor:pointer;transition:all 0.2s;}
.btn-primary:hover{background:var(--jn-blue-light);transform:translateY(-1px);}
.btn-secondary{display:inline-block;background:transparent;color:var(--jn-white);font-family:var(--font-body);font-size:14px;font-weight:500;padding:12px 28px;border-radius:8px;text-decoration:none;border:1px solid rgba(255,255,255,0.2);cursor:pointer;transition:all 0.2s;}
.btn-secondary:hover{border-color:var(--jn-blue);color:var(--jn-blue);}
.page-hero{padding:7rem 2rem 3rem;background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(0,170,255,0.07) 0%,transparent 70%);}
.section-inner{max-width:1200px;margin:0 auto;}
.section-label{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--jn-blue);margin-bottom:0.6rem;font-weight:600;}
.section-title{font-family:var(--font-display);font-size:clamp(1.6rem,2.8vw,2.3rem);font-weight:700;color:var(--jn-white);margin-bottom:1rem;line-height:1.2;}
.card{background:var(--jn-surface);border:1px solid rgba(0,170,255,0.1);border-radius:16px;padding:2rem;}
.form-group{margin-bottom:1rem;}.form-group label{display:block;font-size:12px;color:var(--jn-gray);margin-bottom:5px;}
.form-group input,.form-group select,.form-group textarea{width:100%;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.1);border-radius:8px;padding:10px 14px;font-family:var(--font-body);font-size:13px;color:var(--jn-white);outline:none;transition:border 0.2s;}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--jn-blue);}
.form-group select option{background:var(--jn-surface2);}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.btn-form{width:100%;background:var(--jn-blue);color:var(--jn-black);font-family:var(--font-body);font-size:14px;font-weight:600;padding:12px;border-radius:8px;border:none;cursor:pointer;transition:background 0.2s;margin-top:0.5rem;}
.btn-form:hover{background:var(--jn-blue-light);}
.legal-content h2{font-family:var(--font-display);font-size:1.2rem;color:var(--jn-white);margin:2rem 0 0.5rem;}
.legal-content h2:first-child{margin-top:0;}
.legal-content p{font-size:14px;color:var(--jn-gray);line-height:1.8;margin-bottom:0.75rem;}
.legal-content a{color:var(--jn-blue);}.legal-content ul{list-style:none;padding:0;margin-bottom:0.75rem;}
.legal-content ul li{font-size:14px;color:var(--jn-gray);padding:3px 0 3px 16px;position:relative;}
.legal-content ul li::before{content:'–';position:absolute;left:0;color:var(--jn-blue);}
.success-box{display:none;text-align:center;padding:2.5rem;color:var(--jn-blue);}
.success-box strong{display:block;font-size:18px;margin-bottom:0.5rem;}
.success-box span{font-size:13px;color:var(--jn-gray);}
footer{background:var(--jn-black);border-top:1px solid rgba(0,170,255,0.08);padding:3rem 2rem 1.5rem;}
.footer-inner{max-width:1200px;margin:0 auto;}
.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr;gap:3rem;margin-bottom:2rem;}
.footer-brand p{font-size:13px;color:var(--jn-gray);line-height:1.7;max-width:300px;margin-top:0.75rem;}
.footer-col h4{font-size:11px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--jn-blue);margin-bottom:0.9rem;}
.footer-col a{display:block;font-size:13px;color:var(--jn-gray);text-decoration:none;padding:3px 0;transition:color 0.2s;}
.footer-col a:hover{color:var(--jn-white);}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.06);padding-top:1.25rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;}
.footer-bottom p{font-size:12px;color:rgba(255,255,255,0.28);}
.footer-links{display:flex;gap:1.5rem;}
.footer-links a{font-size:12px;color:rgba(255,255,255,0.28);text-decoration:none;}
.footer-links a:hover{color:var(--jn-gray);}
@media(max-width:768px){.footer-top{grid-template-columns:1fr;}.form-row{grid-template-columns:1fr;}}

/* NAVBAR MOBILE FIX */

/* ═══════════════════════════════════════════
   NAVBAR — Desktop + Mobile (Complete Fix)
═══════════════════════════════════════════ */
nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
  background: rgba(10,10,10,0.96);
  backdrop-filter: blur(20px);
  border-bottom: 1px solid rgba(0,170,255,0.12);
}
.nav-inner {
  max-width: 1200px; margin: 0 auto; padding: 0 1.5rem;
  height: 68px; display: flex; align-items: center;
  justify-content: space-between; gap: 12px;
}
.nav-logo {
  display: flex; align-items: center; gap: 10px;
  text-decoration: none; flex-shrink: 0; min-width: 0;
}
.nav-logo img { height: 40px; width: 40px; object-fit: contain; }
.nav-logo-text { display: flex; flex-direction: column; line-height: 1.2; min-width: 0; }
.nav-logo-text .t1 { font-size: 13px; font-weight: 700; color: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nav-logo-text .t2 { font-size: 10px; color: #00aaff; letter-spacing: 1px; text-transform: uppercase; }
/* Desktop nav links */
.nav-links { display: flex; align-items: center; gap: 0; }
.nav-links a { color: rgba(255,255,255,0.72); text-decoration: none; font-size: 13px; font-weight: 500; padding: 8px 12px; transition: color 0.2s; white-space: nowrap; }
.nav-links a:hover, .nav-links a.active { color: #00aaff; }
.nav-cta { background: #00aaff !important; color: #000 !important; font-weight: 700 !important; padding: 8px 16px !important; border-radius: 6px !important; margin-left: 6px; }
.nav-cta:hover { background: #33bbff !important; color: #000 !important; }
/* Lang switcher */
#jn-lang-sw { flex-shrink: 0; }
/* Hamburger — hidden on desktop */
.hamburger {
  display: none; background: none; border: none; cursor: pointer;
  flex-direction: column; gap: 5px; padding: 6px; border-radius: 6px;
  flex-shrink: 0;
}
.hamburger span {
  display: block; width: 24px; height: 2px;
  background: #fff; border-radius: 2px;
  transition: transform 0.3s, opacity 0.3s;
}
.hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.hamburger.open span:nth-child(2) { opacity: 0; }
.hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
/* Mobile menu — hidden by default */
.mobile-menu {
  display: none;
  position: fixed; top: 68px; left: 0; right: 0; bottom: 0;
  background: rgba(8,8,12,0.98); backdrop-filter: blur(24px);
  z-index: 998; overflow-y: auto;
  padding: 0;
  animation: slideDown 0.25s ease;
}
@keyframes slideDown { from { opacity:0; transform:translateY(-10px); } to { opacity:1; transform:translateY(0); } }
.mobile-menu.open { display: block; }
.mobile-menu-inner { padding: 1rem 1.5rem 2rem; }
.mobile-menu a {
  display: flex; align-items: center; gap: 10px;
  color: rgba(255,255,255,0.85); text-decoration: none;
  font-size: 16px; font-weight: 500;
  padding: 14px 0;
  border-bottom: 1px solid rgba(255,255,255,0.07);
  transition: color 0.2s;
}
.mobile-menu a:hover { color: #00aaff; }
.mobile-menu a:last-child { border-bottom: none; }
.mobile-menu .mob-cta {
  display: block; background: #00aaff; color: #000 !important;
  font-weight: 700; text-align: center; padding: 14px !important;
  border-radius: 8px; margin-top: 1rem; border-bottom: none !important;
}
.mobile-menu .mob-divider {
  font-size: 11px; font-weight: 700; color: rgba(255,255,255,0.3);
  letter-spacing: 1.5px; text-transform: uppercase;
  padding: 16px 0 6px; border-bottom: none !important;
  pointer-events: none;
}
.mobile-menu .mob-lang {
  display: flex; gap: 8px; flex-wrap: wrap;
  padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,0.07);
}
.mobile-menu .mob-lang button {
  background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.15);
  border-radius: 6px; color: #fff; font-size: 13px; padding: 7px 12px;
  cursor: pointer; font-family: inherit;
}
.mobile-menu .mob-lang button.active { background: rgba(0,170,255,0.2); border-color: #00aaff; color: #00aaff; }
/* MOBILE BREAKPOINT */
@media (max-width: 900px) {
  .nav-links { display: none !important; }
  #jn-lang-sw { display: none !important; }
  .hamburger { display: flex !important; }
}
@media (max-width: 480px) {
  .nav-inner { padding: 0 1rem; height: 62px; }
  .mobile-menu { top: 62px; }
  .nav-logo-text .t1 { font-size: 12px; }
  .nav-logo-text .t2 { display: none; }
}


/* ═══════════════════════════════════════════════════
   GLOBAL MOBILE RESPONSIVE — All Pages
═══════════════════════════════════════════════════ */
@media (max-width: 768px) {
  /* Layout */
  body { padding-top: 62px !important; }
  .section { padding: 3rem 1.25rem !important; }
  .section-inner, .container { padding: 0 1.25rem; }
  
  /* Typography */
  .section-title { font-size: clamp(1.6rem, 6vw, 2.4rem) !important; }
  .section-label { font-size: 11px; }
  h1 { font-size: clamp(1.8rem, 7vw, 2.8rem) !important; }
  h2 { font-size: clamp(1.4rem, 5vw, 2rem) !important; }
  p { font-size: 15px !important; line-height: 1.7; }
  
  /* Hero */
  .hero { padding: 4rem 1.25rem 3rem !important; min-height: auto !important; }
  .hero-inner { flex-direction: column !important; text-align: center; gap: 1.5rem !important; }
  .hero-text { text-align: center; }
  .hero-btns { flex-direction: column !important; gap: 10px !important; align-items: stretch !important; }
  .hero-btns a, .hero-btns button { width: 100% !important; text-align: center; }
  .hero-visual, .hero-right { display: none; }
  
  /* Stats */
  .stats-grid, .stat-row { grid-template-columns: repeat(3, 1fr) !important; gap: 0.75rem !important; }
  .stat-item { padding: 1rem 0.5rem !important; }
  .stat-val { font-size: 1.6rem !important; }
  .stat-desc { font-size: 11px !important; }
  
  /* Services */
  .services-grid, .svc-grid, .leistungen-grid { grid-template-columns: 1fr !important; gap: 1rem !important; }
  .svc-card { padding: 1.25rem !important; }
  
  /* Forms */
  .form-row, .form-grid { grid-template-columns: 1fr !important; gap: 12px !important; }
  .form-group { margin-bottom: 14px; }
  input, select, textarea { font-size: 16px !important; } /* Prevent zoom on iOS */
  
  /* Footer */
  .footer-top { grid-template-columns: 1fr !important; gap: 2rem !important; }
  .footer-bottom { flex-direction: column !important; text-align: center; gap: 8px !important; }
  
  /* Cards */
  .card-grid { grid-template-columns: 1fr !important; }
  .team-grid { grid-template-columns: 1fr !important; }
  .values-grid { grid-template-columns: 1fr 1fr !important; }
  
  /* Contact/Termin layout */
  .kon-grid, .kon-layout, .termin-layout { grid-template-columns: 1fr !important; }
  .kon-info { order: -1; }
  
  /* Über uns */
  .uber-layout, .about-grid { flex-direction: column !important; }
  .uber-img { width: 100% !important; max-height: 250px; object-fit: cover; }
  
  /* Tables */
  table { font-size: 13px; }
  td, th { padding: 8px 6px !important; }
  
  /* AI Chat */
  #ai-chat-win { width: calc(100vw - 20px) !important; right: 10px !important; bottom: 70px !important; }
  #ai-chat-btn { bottom: 1.2rem !important; right: 1.2rem !important; }
}

@media (max-width: 480px) {
  .section { padding: 2.5rem 1rem !important; }
  .stats-grid { grid-template-columns: 1fr !important; }
  .values-grid { grid-template-columns: 1fr !important; }
  .hero-badge { font-size: 11px !important; }
  .nav-logo-text .t1 { max-width: 180px; }
}

/* === datenschutz.html === */
:root{--jn-black:#0a0a0a;--jn-dark:#111418;--jn-blue:#00aaff;--jn-blue-light:#33bbff;--jn-white:#ffffff;--jn-gray:#8a9bb0;--jn-surface:#161b22;--jn-surface2:#1e2530;--font-display:'Playfair Display',Georgia,serif;--font-body:'DM Sans',sans-serif;}
*{margin:0;padding:0;box-sizing:border-box;}html{scroll-behavior:smooth;}body{font-family:var(--font-body);background:var(--jn-dark);color:var(--jn-white);overflow-x:hidden;}
nav{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgba(10,10,10,0.95);backdrop-filter:blur(20px);border-bottom:1px solid rgba(0,170,255,0.12);}
.nav-inner{max-width:1200px;margin:0 auto;padding:0 2rem;height:72px;display:flex;align-items:center;justify-content:space-between;}
.nav-logo{display:flex;align-items:center;gap:12px;text-decoration:none;flex-shrink:0;}
.nav-logo img{height:42px;width:42px;object-fit:contain;}
.nav-logo-text{display:flex;flex-direction:column;line-height:1.2;}
.nav-logo-text .t1{font-family:var(--font-display);font-size:13px;font-weight:700;color:var(--jn-white);}
.nav-logo-text .t2{font-size:10px;color:var(--jn-blue);letter-spacing:1.2px;text-transform:uppercase;}
.nav-links{display:flex;align-items:center;}
.nav-links a{color:rgba(255,255,255,0.72);text-decoration:none;font-size:13px;font-weight:500;padding:8px 14px;transition:color 0.2s;}
.nav-links a:hover,.nav-links a.active{color:var(--jn-blue);}
.nav-cta{background:var(--jn-blue)!important;color:var(--jn-black)!important;font-weight:600!important;padding:8px 18px!important;border-radius:6px!important;margin-left:6px;}
.hamburger{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px;padding:4px;}
.hamburger span{display:block;width:22px;height:2px;background:var(--jn-white);border-radius:2px;}
.mobile-menu{display:none;position:fixed;top:72px;left:0;right:0;background:rgba(10,10,10,0.98);backdrop-filter:blur(20px);padding:1.5rem 2rem;z-index:999;border-bottom:1px solid rgba(0,170,255,0.1);}
.mobile-menu a{display:block;color:rgba(255,255,255,0.8);text-decoration:none;font-size:15px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,0.06);}
.btn-primary{display:inline-block;background:var(--jn-blue);color:var(--jn-black);font-family:var(--font-body);font-size:14px;font-weight:600;padding:12px 28px;border-radius:8px;text-decoration:none;border:none;cursor:pointer;transition:all 0.2s;}
.btn-primary:hover{background:var(--jn-blue-light);transform:translateY(-1px);}
.btn-secondary{display:inline-block;background:transparent;color:var(--jn-white);font-family:var(--font-body);font-size:14px;font-weight:500;padding:12px 28px;border-radius:8px;text-decoration:none;border:1px solid rgba(255,255,255,0.2);cursor:pointer;transition:all 0.2s;}
.btn-secondary:hover{border-color:var(--jn-blue);color:var(--jn-blue);}
.page-hero{padding:7rem 2rem 3rem;background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(0,170,255,0.07) 0%,transparent 70%);}
.section-inner{max-width:1200px;margin:0 auto;}
.section-label{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--jn-blue);margin-bottom:0.6rem;font-weight:600;}
.section-title{font-family:var(--font-display);font-size:clamp(1.6rem,2.8vw,2.3rem);font-weight:700;color:var(--jn-white);margin-bottom:1rem;line-height:1.2;}
.card{background:var(--jn-surface);border:1px solid rgba(0,170,255,0.1);border-radius:16px;padding:2rem;}
.form-group{margin-bottom:1rem;}.form-group label{display:block;font-size:12px;color:var(--jn-gray);margin-bottom:5px;}
.form-group input,.form-group select,.form-group textarea{width:100%;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.1);border-radius:8px;padding:10px 14px;font-family:var(--font-body);font-size:13px;color:var(--jn-white);outline:none;transition:border 0.2s;}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--jn-blue);}
.form-group select option{background:var(--jn-surface2);}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.btn-form{width:100%;background:var(--jn-blue);color:var(--jn-black);font-family:var(--font-body);font-size:14px;font-weight:600;padding:12px;border-radius:8px;border:none;cursor:pointer;transition:background 0.2s;margin-top:0.5rem;}
.btn-form:hover{background:var(--jn-blue-light);}
.legal-content h2{font-family:var(--font-display);font-size:1.2rem;color:var(--jn-white);margin:2rem 0 0.5rem;}
.legal-content h2:first-child{margin-top:0;}
.legal-content p{font-size:14px;color:var(--jn-gray);line-height:1.8;margin-bottom:0.75rem;}
.legal-content a{color:var(--jn-blue);}.legal-content ul{list-style:none;padding:0;margin-bottom:0.75rem;}
.legal-content ul li{font-size:14px;color:var(--jn-gray);padding:3px 0 3px 16px;position:relative;}
.legal-content ul li::before{content:'–';position:absolute;left:0;color:var(--jn-blue);}
.success-box{display:none;text-align:center;padding:2.5rem;color:var(--jn-blue);}
.success-box strong{display:block;font-size:18px;margin-bottom:0.5rem;}
.success-box span{font-size:13px;color:var(--jn-gray);}
footer{background:var(--jn-black);border-top:1px solid rgba(0,170,255,0.08);padding:3rem 2rem 1.5rem;}
.footer-inner{max-width:1200px;margin:0 auto;}
.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr;gap:3rem;margin-bottom:2rem;}
.footer-brand p{font-size:13px;color:var(--jn-gray);line-height:1.7;max-width:300px;margin-top:0.75rem;}
.footer-col h4{font-size:11px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--jn-blue);margin-bottom:0.9rem;}
.footer-col a{display:block;font-size:13px;color:var(--jn-gray);text-decoration:none;padding:3px 0;transition:color 0.2s;}
.footer-col a:hover{color:var(--jn-white);}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.06);padding-top:1.25rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;}
.footer-bottom p{font-size:12px;color:rgba(255,255,255,0.28);}
.footer-links{display:flex;gap:1.5rem;}
.footer-links a{font-size:12px;color:rgba(255,255,255,0.28);text-decoration:none;}
.footer-links a:hover{color:var(--jn-gray);}
@media(max-width:768px){.footer-top{grid-template-columns:1fr;}.form-row{grid-template-columns:1fr;}}

/* NAVBAR MOBILE FIX */

/* ═══════════════════════════════════════════
   NAVBAR — Desktop + Mobile (Complete Fix)
═══════════════════════════════════════════ */
nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
  background: rgba(10,10,10,0.96);
  backdrop-filter: blur(20px);
  border-bottom: 1px solid rgba(0,170,255,0.12);
}
.nav-inner {
  max-width: 1200px; margin: 0 auto; padding: 0 1.5rem;
  height: 68px; display: flex; align-items: center;
  justify-content: space-between; gap: 12px;
}
.nav-logo {
  display: flex; align-items: center; gap: 10px;
  text-decoration: none; flex-shrink: 0; min-width: 0;
}
.nav-logo img { height: 40px; width: 40px; object-fit: contain; }
.nav-logo-text { display: flex; flex-direction: column; line-height: 1.2; min-width: 0; }
.nav-logo-text .t1 { font-size: 13px; font-weight: 700; color: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nav-logo-text .t2 { font-size: 10px; color: #00aaff; letter-spacing: 1px; text-transform: uppercase; }
/* Desktop nav links */
.nav-links { display: flex; align-items: center; gap: 0; }
.nav-links a { color: rgba(255,255,255,0.72); text-decoration: none; font-size: 13px; font-weight: 500; padding: 8px 12px; transition: color 0.2s; white-space: nowrap; }
.nav-links a:hover, .nav-links a.active { color: #00aaff; }
.nav-cta { background: #00aaff !important; color: #000 !important; font-weight: 700 !important; padding: 8px 16px !important; border-radius: 6px !important; margin-left: 6px; }
.nav-cta:hover { background: #33bbff !important; color: #000 !important; }
/* Lang switcher */
#jn-lang-sw { flex-shrink: 0; }
/* Hamburger — hidden on desktop */
.hamburger {
  display: none; background: none; border: none; cursor: pointer;
  flex-direction: column; gap: 5px; padding: 6px; border-radius: 6px;
  flex-shrink: 0;
}
.hamburger span {
  display: block; width: 24px; height: 2px;
  background: #fff; border-radius: 2px;
  transition: transform 0.3s, opacity 0.3s;
}
.hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.hamburger.open span:nth-child(2) { opacity: 0; }
.hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
/* Mobile menu — hidden by default */
.mobile-menu {
  display: none;
  position: fixed; top: 68px; left: 0; right: 0; bottom: 0;
  background: rgba(8,8,12,0.98); backdrop-filter: blur(24px);
  z-index: 998; overflow-y: auto;
  padding: 0;
  animation: slideDown 0.25s ease;
}
@keyframes slideDown { from { opacity:0; transform:translateY(-10px); } to { opacity:1; transform:translateY(0); } }
.mobile-menu.open { display: block; }
.mobile-menu-inner { padding: 1rem 1.5rem 2rem; }
.mobile-menu a {
  display: flex; align-items: center; gap: 10px;
  color: rgba(255,255,255,0.85); text-decoration: none;
  font-size: 16px; font-weight: 500;
  padding: 14px 0;
  border-bottom: 1px solid rgba(255,255,255,0.07);
  transition: color 0.2s;
}
.mobile-menu a:hover { color: #00aaff; }
.mobile-menu a:last-child { border-bottom: none; }
.mobile-menu .mob-cta {
  display: block; background: #00aaff; color: #000 !important;
  font-weight: 700; text-align: center; padding: 14px !important;
  border-radius: 8px; margin-top: 1rem; border-bottom: none !important;
}
.mobile-menu .mob-divider {
  font-size: 11px; font-weight: 700; color: rgba(255,255,255,0.3);
  letter-spacing: 1.5px; text-transform: uppercase;
  padding: 16px 0 6px; border-bottom: none !important;
  pointer-events: none;
}
.mobile-menu .mob-lang {
  display: flex; gap: 8px; flex-wrap: wrap;
  padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,0.07);
}
.mobile-menu .mob-lang button {
  background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.15);
  border-radius: 6px; color: #fff; font-size: 13px; padding: 7px 12px;
  cursor: pointer; font-family: inherit;
}
.mobile-menu .mob-lang button.active { background: rgba(0,170,255,0.2); border-color: #00aaff; color: #00aaff; }
/* MOBILE BREAKPOINT */
@media (max-width: 900px) {
  .nav-links { display: none !important; }
  #jn-lang-sw { display: none !important; }
  .hamburger { display: flex !important; }
}
@media (max-width: 480px) {
  .nav-inner { padding: 0 1rem; height: 62px; }
  .mobile-menu { top: 62px; }
  .nav-logo-text .t1 { font-size: 12px; }
  .nav-logo-text .t2 { display: none; }
}


/* ═══════════════════════════════════════════════════
   GLOBAL MOBILE RESPONSIVE — All Pages
═══════════════════════════════════════════════════ */
@media (max-width: 768px) {
  /* Layout */
  body { padding-top: 62px !important; }
  .section { padding: 3rem 1.25rem !important; }
  .section-inner, .container { padding: 0 1.25rem; }
  
  /* Typography */
  .section-title { font-size: clamp(1.6rem, 6vw, 2.4rem) !important; }
  .section-label { font-size: 11px; }
  h1 { font-size: clamp(1.8rem, 7vw, 2.8rem) !important; }
  h2 { font-size: clamp(1.4rem, 5vw, 2rem) !important; }
  p { font-size: 15px !important; line-height: 1.7; }
  
  /* Hero */
  .hero { padding: 4rem 1.25rem 3rem !important; min-height: auto !important; }
  .hero-inner { flex-direction: column !important; text-align: center; gap: 1.5rem !important; }
  .hero-text { text-align: center; }
  .hero-btns { flex-direction: column !important; gap: 10px !important; align-items: stretch !important; }
  .hero-btns a, .hero-btns button { width: 100% !important; text-align: center; }
  .hero-visual, .hero-right { display: none; }
  
  /* Stats */
  .stats-grid, .stat-row { grid-template-columns: repeat(3, 1fr) !important; gap: 0.75rem !important; }
  .stat-item { padding: 1rem 0.5rem !important; }
  .stat-val { font-size: 1.6rem !important; }
  .stat-desc { font-size: 11px !important; }
  
  /* Services */
  .services-grid, .svc-grid, .leistungen-grid { grid-template-columns: 1fr !important; gap: 1rem !important; }
  .svc-card { padding: 1.25rem !important; }
  
  /* Forms */
  .form-row, .form-grid { grid-template-columns: 1fr !important; gap: 12px !important; }
  .form-group { margin-bottom: 14px; }
  input, select, textarea { font-size: 16px !important; } /* Prevent zoom on iOS */
  
  /* Footer */
  .footer-top { grid-template-columns: 1fr !important; gap: 2rem !important; }
  .footer-bottom { flex-direction: column !important; text-align: center; gap: 8px !important; }
  
  /* Cards */
  .card-grid { grid-template-columns: 1fr !important; }
  .team-grid { grid-template-columns: 1fr !important; }
  .values-grid { grid-template-columns: 1fr 1fr !important; }
  
  /* Contact/Termin layout */
  .kon-grid, .kon-layout, .termin-layout { grid-template-columns: 1fr !important; }
  .kon-info { order: -1; }
  
  /* Über uns */
  .uber-layout, .about-grid { flex-direction: column !important; }
  .uber-img { width: 100% !important; max-height: 250px; object-fit: cover; }
  
  /* Tables */
  table { font-size: 13px; }
  td, th { padding: 8px 6px !important; }
  
  /* AI Chat */
  #ai-chat-win { width: calc(100vw - 20px) !important; right: 10px !important; bottom: 70px !important; }
  #ai-chat-btn { bottom: 1.2rem !important; right: 1.2rem !important; }
}

@media (max-width: 480px) {
  .section { padding: 2.5rem 1rem !important; }
  .stats-grid { grid-template-columns: 1fr !important; }
  .values-grid { grid-template-columns: 1fr !important; }
  .hero-badge { font-size: 11px !important; }
  .nav-logo-text .t1 { max-width: 180px; }
}

/* === impressum.html === */
:root{--jn-black:#0a0a0a;--jn-dark:#111418;--jn-blue:#00aaff;--jn-blue-light:#33bbff;--jn-white:#ffffff;--jn-gray:#8a9bb0;--jn-surface:#161b22;--jn-surface2:#1e2530;--font-display:'Playfair Display',Georgia,serif;--font-body:'DM Sans',sans-serif;}
*{margin:0;padding:0;box-sizing:border-box;}html{scroll-behavior:smooth;}body{font-family:var(--font-body);background:var(--jn-dark);color:var(--jn-white);overflow-x:hidden;}
nav{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgba(10,10,10,0.95);backdrop-filter:blur(20px);border-bottom:1px solid rgba(0,170,255,0.12);}
.nav-inner{max-width:1200px;margin:0 auto;padding:0 2rem;height:72px;display:flex;align-items:center;justify-content:space-between;}
.nav-logo{display:flex;align-items:center;gap:12px;text-decoration:none;flex-shrink:0;}
.nav-logo img{height:42px;width:42px;object-fit:contain;}
.nav-logo-text{display:flex;flex-direction:column;line-height:1.2;}
.nav-logo-text .t1{font-family:var(--font-display);font-size:13px;font-weight:700;color:var(--jn-white);}
.nav-logo-text .t2{font-size:10px;color:var(--jn-blue);letter-spacing:1.2px;text-transform:uppercase;}
.nav-links{display:flex;align-items:center;}
.nav-links a{color:rgba(255,255,255,0.72);text-decoration:none;font-size:13px;font-weight:500;padding:8px 14px;transition:color 0.2s;}
.nav-links a:hover,.nav-links a.active{color:var(--jn-blue);}
.nav-cta{background:var(--jn-blue)!important;color:var(--jn-black)!important;font-weight:600!important;padding:8px 18px!important;border-radius:6px!important;margin-left:6px;}
.hamburger{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px;padding:4px;}
.hamburger span{display:block;width:22px;height:2px;background:var(--jn-white);border-radius:2px;}
.mobile-menu{display:none;position:fixed;top:72px;left:0;right:0;background:rgba(10,10,10,0.98);backdrop-filter:blur(20px);padding:1.5rem 2rem;z-index:999;border-bottom:1px solid rgba(0,170,255,0.1);}
.mobile-menu a{display:block;color:rgba(255,255,255,0.8);text-decoration:none;font-size:15px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,0.06);}
.btn-primary{display:inline-block;background:var(--jn-blue);color:var(--jn-black);font-family:var(--font-body);font-size:14px;font-weight:600;padding:12px 28px;border-radius:8px;text-decoration:none;border:none;cursor:pointer;transition:all 0.2s;}
.btn-primary:hover{background:var(--jn-blue-light);transform:translateY(-1px);}
.btn-secondary{display:inline-block;background:transparent;color:var(--jn-white);font-family:var(--font-body);font-size:14px;font-weight:500;padding:12px 28px;border-radius:8px;text-decoration:none;border:1px solid rgba(255,255,255,0.2);cursor:pointer;transition:all 0.2s;}
.btn-secondary:hover{border-color:var(--jn-blue);color:var(--jn-blue);}
.page-hero{padding:7rem 2rem 3rem;background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(0,170,255,0.07) 0%,transparent 70%);}
.section-inner{max-width:1200px;margin:0 auto;}
.section-label{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--jn-blue);margin-bottom:0.6rem;font-weight:600;}
.section-title{font-family:var(--font-display);font-size:clamp(1.6rem,2.8vw,2.3rem);font-weight:700;color:var(--jn-white);margin-bottom:1rem;line-height:1.2;}
.card{background:var(--jn-surface);border:1px solid rgba(0,170,255,0.1);border-radius:16px;padding:2rem;}
.form-group{margin-bottom:1rem;}.form-group label{display:block;font-size:12px;color:var(--jn-gray);margin-bottom:5px;}
.form-group input,.form-group select,.form-group textarea{width:100%;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.1);border-radius:8px;padding:10px 14px;font-family:var(--font-body);font-size:13px;color:var(--jn-white);outline:none;transition:border 0.2s;}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--jn-blue);}
.form-group select option{background:var(--jn-surface2);}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.btn-form{width:100%;background:var(--jn-blue);color:var(--jn-black);font-family:var(--font-body);font-size:14px;font-weight:600;padding:12px;border-radius:8px;border:none;cursor:pointer;transition:background 0.2s;margin-top:0.5rem;}
.btn-form:hover{background:var(--jn-blue-light);}
.legal-content h2{font-family:var(--font-display);font-size:1.2rem;color:var(--jn-white);margin:2rem 0 0.5rem;}
.legal-content h2:first-child{margin-top:0;}
.legal-content p{font-size:14px;color:var(--jn-gray);line-height:1.8;margin-bottom:0.75rem;}
.legal-content a{color:var(--jn-blue);}.legal-content ul{list-style:none;padding:0;margin-bottom:0.75rem;}
.legal-content ul li{font-size:14px;color:var(--jn-gray);padding:3px 0 3px 16px;position:relative;}
.legal-content ul li::before{content:'–';position:absolute;left:0;color:var(--jn-blue);}
.success-box{display:none;text-align:center;padding:2.5rem;color:var(--jn-blue);}
.success-box strong{display:block;font-size:18px;margin-bottom:0.5rem;}
.success-box span{font-size:13px;color:var(--jn-gray);}
footer{background:var(--jn-black);border-top:1px solid rgba(0,170,255,0.08);padding:3rem 2rem 1.5rem;}
.footer-inner{max-width:1200px;margin:0 auto;}
.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr;gap:3rem;margin-bottom:2rem;}
.footer-brand p{font-size:13px;color:var(--jn-gray);line-height:1.7;max-width:300px;margin-top:0.75rem;}
.footer-col h4{font-size:11px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--jn-blue);margin-bottom:0.9rem;}
.footer-col a{display:block;font-size:13px;color:var(--jn-gray);text-decoration:none;padding:3px 0;transition:color 0.2s;}
.footer-col a:hover{color:var(--jn-white);}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.06);padding-top:1.25rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;}
.footer-bottom p{font-size:12px;color:rgba(255,255,255,0.28);}
.footer-links{display:flex;gap:1.5rem;}
.footer-links a{font-size:12px;color:rgba(255,255,255,0.28);text-decoration:none;}
.footer-links a:hover{color:var(--jn-gray);}
@media(max-width:768px){.footer-top{grid-template-columns:1fr;}.form-row{grid-template-columns:1fr;}}

/* NAVBAR MOBILE FIX */

/* ═══════════════════════════════════════════
   NAVBAR — Desktop + Mobile (Complete Fix)
═══════════════════════════════════════════ */
nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
  background: rgba(10,10,10,0.96);
  backdrop-filter: blur(20px);
  border-bottom: 1px solid rgba(0,170,255,0.12);
}
.nav-inner {
  max-width: 1200px; margin: 0 auto; padding: 0 1.5rem;
  height: 68px; display: flex; align-items: center;
  justify-content: space-between; gap: 12px;
}
.nav-logo {
  display: flex; align-items: center; gap: 10px;
  text-decoration: none; flex-shrink: 0; min-width: 0;
}
.nav-logo img { height: 40px; width: 40px; object-fit: contain; }
.nav-logo-text { display: flex; flex-direction: column; line-height: 1.2; min-width: 0; }
.nav-logo-text .t1 { font-size: 13px; font-weight: 700; color: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nav-logo-text .t2 { font-size: 10px; color: #00aaff; letter-spacing: 1px; text-transform: uppercase; }
/* Desktop nav links */
.nav-links { display: flex; align-items: center; gap: 0; }
.nav-links a { color: rgba(255,255,255,0.72); text-decoration: none; font-size: 13px; font-weight: 500; padding: 8px 12px; transition: color 0.2s; white-space: nowrap; }
.nav-links a:hover, .nav-links a.active { color: #00aaff; }
.nav-cta { background: #00aaff !important; color: #000 !important; font-weight: 700 !important; padding: 8px 16px !important; border-radius: 6px !important; margin-left: 6px; }
.nav-cta:hover { background: #33bbff !important; color: #000 !important; }
/* Lang switcher */
#jn-lang-sw { flex-shrink: 0; }
/* Hamburger — hidden on desktop */
.hamburger {
  display: none; background: none; border: none; cursor: pointer;
  flex-direction: column; gap: 5px; padding: 6px; border-radius: 6px;
  flex-shrink: 0;
}
.hamburger span {
  display: block; width: 24px; height: 2px;
  background: #fff; border-radius: 2px;
  transition: transform 0.3s, opacity 0.3s;
}
.hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.hamburger.open span:nth-child(2) { opacity: 0; }
.hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
/* Mobile menu — hidden by default */
.mobile-menu {
  display: none;
  position: fixed; top: 68px; left: 0; right: 0; bottom: 0;
  background: rgba(8,8,12,0.98); backdrop-filter: blur(24px);
  z-index: 998; overflow-y: auto;
  padding: 0;
  animation: slideDown 0.25s ease;
}
@keyframes slideDown { from { opacity:0; transform:translateY(-10px); } to { opacity:1; transform:translateY(0); } }
.mobile-menu.open { display: block; }
.mobile-menu-inner { padding: 1rem 1.5rem 2rem; }
.mobile-menu a {
  display: flex; align-items: center; gap: 10px;
  color: rgba(255,255,255,0.85); text-decoration: none;
  font-size: 16px; font-weight: 500;
  padding: 14px 0;
  border-bottom: 1px solid rgba(255,255,255,0.07);
  transition: color 0.2s;
}
.mobile-menu a:hover { color: #00aaff; }
.mobile-menu a:last-child { border-bottom: none; }
.mobile-menu .mob-cta {
  display: block; background: #00aaff; color: #000 !important;
  font-weight: 700; text-align: center; padding: 14px !important;
  border-radius: 8px; margin-top: 1rem; border-bottom: none !important;
}
.mobile-menu .mob-divider {
  font-size: 11px; font-weight: 700; color: rgba(255,255,255,0.3);
  letter-spacing: 1.5px; text-transform: uppercase;
  padding: 16px 0 6px; border-bottom: none !important;
  pointer-events: none;
}
.mobile-menu .mob-lang {
  display: flex; gap: 8px; flex-wrap: wrap;
  padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,0.07);
}
.mobile-menu .mob-lang button {
  background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.15);
  border-radius: 6px; color: #fff; font-size: 13px; padding: 7px 12px;
  cursor: pointer; font-family: inherit;
}
.mobile-menu .mob-lang button.active { background: rgba(0,170,255,0.2); border-color: #00aaff; color: #00aaff; }
/* MOBILE BREAKPOINT */
@media (max-width: 900px) {
  .nav-links { display: none !important; }
  #jn-lang-sw { display: none !important; }
  .hamburger { display: flex !important; }
}
@media (max-width: 480px) {
  .nav-inner { padding: 0 1rem; height: 62px; }
  .mobile-menu { top: 62px; }
  .nav-logo-text .t1 { font-size: 12px; }
  .nav-logo-text .t2 { display: none; }
}


/* ═══════════════════════════════════════════════════
   GLOBAL MOBILE RESPONSIVE — All Pages
═══════════════════════════════════════════════════ */
@media (max-width: 768px) {
  /* Layout */
  body { padding-top: 62px !important; }
  .section { padding: 3rem 1.25rem !important; }
  .section-inner, .container { padding: 0 1.25rem; }
  
  /* Typography */
  .section-title { font-size: clamp(1.6rem, 6vw, 2.4rem) !important; }
  .section-label { font-size: 11px; }
  h1 { font-size: clamp(1.8rem, 7vw, 2.8rem) !important; }
  h2 { font-size: clamp(1.4rem, 5vw, 2rem) !important; }
  p { font-size: 15px !important; line-height: 1.7; }
  
  /* Hero */
  .hero { padding: 4rem 1.25rem 3rem !important; min-height: auto !important; }
  .hero-inner { flex-direction: column !important; text-align: center; gap: 1.5rem !important; }
  .hero-text { text-align: center; }
  .hero-btns { flex-direction: column !important; gap: 10px !important; align-items: stretch !important; }
  .hero-btns a, .hero-btns button { width: 100% !important; text-align: center; }
  .hero-visual, .hero-right { display: none; }
  
  /* Stats */
  .stats-grid, .stat-row { grid-template-columns: repeat(3, 1fr) !important; gap: 0.75rem !important; }
  .stat-item { padding: 1rem 0.5rem !important; }
  .stat-val { font-size: 1.6rem !important; }
  .stat-desc { font-size: 11px !important; }
  
  /* Services */
  .services-grid, .svc-grid, .leistungen-grid { grid-template-columns: 1fr !important; gap: 1rem !important; }
  .svc-card { padding: 1.25rem !important; }
  
  /* Forms */
  .form-row, .form-grid { grid-template-columns: 1fr !important; gap: 12px !important; }
  .form-group { margin-bottom: 14px; }
  input, select, textarea { font-size: 16px !important; } /* Prevent zoom on iOS */
  
  /* Footer */
  .footer-top { grid-template-columns: 1fr !important; gap: 2rem !important; }
  .footer-bottom { flex-direction: column !important; text-align: center; gap: 8px !important; }
  
  /* Cards */
  .card-grid { grid-template-columns: 1fr !important; }
  .team-grid { grid-template-columns: 1fr !important; }
  .values-grid { grid-template-columns: 1fr 1fr !important; }
  
  /* Contact/Termin layout */
  .kon-grid, .kon-layout, .termin-layout { grid-template-columns: 1fr !important; }
  .kon-info { order: -1; }
  
  /* Über uns */
  .uber-layout, .about-grid { flex-direction: column !important; }
  .uber-img { width: 100% !important; max-height: 250px; object-fit: cover; }
  
  /* Tables */
  table { font-size: 13px; }
  td, th { padding: 8px 6px !important; }
  
  /* AI Chat */
  #ai-chat-win { width: calc(100vw - 20px) !important; right: 10px !important; bottom: 70px !important; }
  #ai-chat-btn { bottom: 1.2rem !important; right: 1.2rem !important; }
}

@media (max-width: 480px) {
  .section { padding: 2.5rem 1rem !important; }
  .stats-grid { grid-template-columns: 1fr !important; }
  .values-grid { grid-template-columns: 1fr !important; }
  .hero-badge { font-size: 11px !important; }
  .nav-logo-text .t1 { max-width: 180px; }
}

/* ═══════════════════════════════════════════════════
   DEFINITIVE NAV CSS — This section overrides ALL above
   Added last to win the cascade
═══════════════════════════════════════════════════ */

/* Desktop (>900px): show nav, hide hamburger */
@media (min-width: 901px) {
  .hamburger { display: none !important; }
  #mob, .mobile-menu { display: none !important; visibility: hidden !important; }
  .nav-links { display: flex !important; }
  #jn-lang-sw { display: inline-block !important; }
}

/* Mobile (≤900px): show hamburger, hide nav */
@media (max-width: 900px) {
  .hamburger {
    display: flex !important;
    flex-direction: column; gap: 5px;
    background: none; border: none; cursor: pointer;
    padding: 6px; z-index: 1001;
  }
  .hamburger span {
    display: block; width: 24px; height: 2px;
    background: #fff; border-radius: 2px;
    transition: transform 0.3s, opacity 0.3s;
  }
  .hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .hamburger.open span:nth-child(2) { opacity: 0; }
  .hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  .nav-links { display: none !important; }
  #jn-lang-sw { display: none !important; }
  #mob, .mobile-menu {
    display: none;
    position: fixed; top: 68px; left: 0; right: 0; bottom: 0;
    z-index: 1000; overflow-y: auto;
    background: rgba(8,8,12,0.98);
    padding: 1.5rem 1.5rem 3rem;
  }
  #mob.open, .mobile-menu.open {
    display: block !important;
  }
}
