nav { transition: box-shadow 0.24s ease; }
nav.scrolled { box-shadow: 0 8px 20px rgba(17, 17, 17, 0.12); }

.nav-overlay { transition: opacity 0.25s ease; }
.nav-overlay-panel { transition: transform 0.3s ease; }
.nav-overlay.open { opacity: 1; pointer-events: auto; }
.nav-overlay.open .nav-overlay-panel { transform: translateX(0); }

.menu-toggle span { transition: transform 0.2s ease, opacity 0.2s ease; }
body.nav-open .menu-toggle span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
body.nav-open .menu-toggle span:nth-child(2) { opacity: 0; }
body.nav-open .menu-toggle span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.lang-btn { transition: background 0.2s, color 0.2s; }
.lang-btn:hover { background: var(--black); color: var(--bg); }

.nav-cta { transition: background 0.2s; }
.nav-cta:hover { background: var(--red); }

.btn-main { transition: background 0.2s, transform 0.15s; }
.btn-main:hover { background: #b8301f; transform: translateY(-1px); }

.contact-quick-btn { transition: background 0.2s, color 0.2s, border-color 0.2s; }
.contact-quick-btn:hover { background: var(--black); color: white; border-color: var(--black); }

.form-alt-link { transition: background 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s, transform 0.15s; }
.form-alt-link:hover { background: var(--red); color: white; border-color: var(--red); box-shadow: 0 8px 18px rgba(214, 60, 42, 0.24); transform: translateY(-1px); }

.svc { transition: background 0.2s, opacity 0.55s ease, transform 0.55s ease; }
.svc.svc-reveal { opacity: 0; transform: translateY(18px); }
.svc.svc-reveal.visible { opacity: 1; transform: none; }
.svc:hover { background: white; }
.svc::before { transition: opacity 0.2s ease; }
.svc:hover::before { opacity: 1; }

.form-field input, .form-field select, .form-field textarea { transition: border-color 0.2s; }
.form-field input:focus, .form-field select:focus, .form-field textarea:focus { border-color: var(--black); }

.form-submit { transition: background 0.2s; }
.form-submit:hover { background: var(--red); }

.reveal { opacity: 0; transform: translateY(24px); transition: opacity 0.6s ease, transform 0.6s ease; }
.reveal.visible { opacity: 1; transform: none; }
