/* Instrument Sans - lokal hosten für DSGVO */
@font-face { font-family: 'Instrument Sans'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/InstrumentSans-Regular.woff2') format('woff2'), url('../fonts/InstrumentSans-Regular.ttf') format('truetype'); }
@font-face { font-family: 'Instrument Sans'; font-style: normal; font-weight: 500; font-display: swap; src: url('../fonts/InstrumentSans-Medium.woff2') format('woff2'), url('../fonts/InstrumentSans-Medium.ttf') format('truetype'); }
@font-face { font-family: 'Instrument Sans'; font-style: normal; font-weight: 600; font-display: swap; src: url('../fonts/InstrumentSans-SemiBold.woff2') format('woff2'), url('../fonts/InstrumentSans-SemiBold.ttf') format('truetype'); }

*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; background: #fff; }
body { font-family: 'Instrument Sans', system-ui, -apple-system, sans-serif; color: #2b3238; -webkit-font-smoothing: antialiased; }
a { color: #b97d05; text-decoration: none; }
a:hover { color: #F0A500; }
img { max-width: 100%; height: auto; }
::selection { background: rgba(240,165,0,0.25); }
:focus-visible { outline: 2px solid #F0A500; outline-offset: 3px; }
@keyframes riseIn { from { opacity:0; transform:translateY(14px); } to { opacity:1; transform:none; } }

/* Hover / Focus classes */
.topbar-link:hover { color: #F0A500 !important; }
.nav-link:hover { background: #f3f6f8; color: #2b3238 !important; }
.phone-cta:hover { background: rgba(240,165,0,0.09); color: #8f6104 !important; }
.burger-btn:hover { border-color: #F0A500 !important; color: #b97d05 !important; }
.mobile-link:hover { color: #b97d05 !important; }
.info-toggle:hover { background: #d99400 !important; }
.info-close:hover { border-color: #F0A500 !important; color: #b97d05 !important; }
.anamnesebogen:hover { background: rgba(240,165,0,0.08) !important; }
.btn-dark:hover { background: #1d2327 !important; }
.btn-outline:hover { border-color: #F0A500 !important; color: #b97d05 !important; }
.btn-accent:hover { background: rgba(240,165,0,0.09) !important; }
.gallery-nav:hover { border-color: #F0A500 !important; color: #b97d05 !important; }
.footer-link:hover { color: #F0A500 !important; }
.tab-btn:hover { background: #f3f6f8; color: #2b3238 !important; }
.form-input:focus { border-color: #F0A500 !important; outline: none; }
.btn-submit:hover { background: #1d2327 !important; }

/* Gallery slider */
.gallery-track { scrollbar-width: none; -ms-overflow-style: none; }
.gallery-track::-webkit-scrollbar { display: none; }

/* Info panel */
.info-overlay { transition: opacity 0.3s ease; }
.info-panel { transition: transform 0.35s cubic-bezier(0.4,0,0.2,1); }

/* Responsive */
@media (min-width:1150px) { .burger-btn { display:none !important; } .mobile-menu { display:none !important; } }
@media (max-width:1149px) { .desktop-nav { display:none !important; } .desktop-cta { display:none !important; } }
@media (max-width:899px) { .leistungen-layout { grid-template-columns:1fr !important; } .leistungen-nav { position:static !important; } }
@media (max-width:859px) { .two-col { grid-template-columns:1fr !important; } .hero-text { max-width:100% !important; } .footer-grid { grid-template-columns:1fr !important; } .footer-info { padding:64px 0 48px !important; } }
@media (max-width:979px) { .team-grid-3 { grid-template-columns:repeat(2,1fr) !important; } }
@media (max-width:619px) { .team-grid-3 { grid-template-columns:1fr !important; } .card-grid { grid-template-columns:1fr !important; } .form-row { grid-template-columns:1fr !important; } }
