html { scroll-behavior: smooth; }
#mobileMenu { z-index: 40; }
:root {
    --alufacade-primary: #0F52BA;
    --alufacade-dark: #1E293B;
    --alufacade-light: #F8FAFC;
    --alufacade-accent: #E67E22;
    --alufacade-font-sans: 'Inter', system-ui, sans-serif;
    --alufacade-font-display: 'Montserrat', sans-serif;
}
.font-sans { font-family: var(--alufacade-font-sans); }
.font-display { font-family: var(--alufacade-font-display); }
.font-medium { font-weight: 500; }
.custom-logo-link { display: inline-flex; align-items: center; }
.custom-logo { max-height: 48px; width: auto; height: auto; }
.bg-light { background-color: var(--alufacade-light); }
.text-dark { color: var(--alufacade-dark); }
.bg-dark { background-color: var(--alufacade-dark); }
.text-primary { color: var(--alufacade-primary); }
.bg-primary { background-color: var(--alufacade-primary); }
.bg-primary\/5 { background-color: rgba(15, 82, 186, 0.05); }
.bg-primary\/10 { background-color: rgba(15, 82, 186, 0.1); }
.bg-primary\/20 { background-color: rgba(15, 82, 186, 0.2); }
.bg-accent { background-color: var(--alufacade-accent); }
.text-white\/70 { color: rgba(255, 255, 255, 0.7); }
.hover\:text-primary:hover { color: var(--alufacade-primary); }
.hover\:text-white:hover { color: #fff; }
.hover-scale { transition: transform 0.3s ease; }
.hover-scale:hover { transform: scale(1.03); }
.timeline-dot { position: absolute; top: 1rem; left: 50%; transform: translateX(-50%); width: 1rem; height: 1rem; border-radius: 9999px; background-color: var(--alufacade-primary); border: 4px solid #fff; z-index: 10; }
.timeline-line { position: absolute; top: 1.5rem; bottom: 0; left: 50%; width: 2px; background-color: rgba(148, 163, 184, 0.35); }
.custom-shadow { box-shadow: 0 10px 25px -5px rgba(15, 82, 186, 0.1); }
#primary-menu,
#mobile-menu {
    list-style: none;
    margin: 0;
    padding: 0;
}
#primary-menu {
    display: flex;
    align-items: center;
    gap: 2rem;
}
#mobile-menu {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}
#primary-menu li,
#mobile-menu li {
    margin: 0;
}
#primary-menu a,
#mobile-menu a {
    text-decoration: none;
    color: var(--alufacade-dark);
    font-family: var(--alufacade-font-sans);
    font-size: 15px;
    font-weight: 500;
    line-height: 1.5;
}
#mobile-menu a {
    font-size: 14px;
    display: block;
}
#primary-menu a:hover,
#mobile-menu a:hover {
    color: var(--alufacade-primary);
}
.product-card-shadow {
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    transition: box-shadow 0.3s ease, transform 0.3s ease;
}
.product-card-shadow:hover {
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
}
.scrollbar-hide {
    -ms-overflow-style: none;
    scrollbar-width: none;
}
.scrollbar-hide::-webkit-scrollbar {
    display: none;
}
.product-img-zoom { overflow: hidden; }
.product-img-zoom img { transition: transform 0.5s ease; }
.product-img-zoom:hover img { transform: scale(1.05); }
.specs-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.tab-active { border-color: var(--alufacade-primary); color: var(--alufacade-primary); }
.project-img-zoom { overflow: hidden; }
.project-img-zoom img { transition: transform 0.5s ease; }
.project-img-zoom:hover img { transform: scale(1.05); }
.filter-active { background-color: var(--alufacade-primary); color: #fff; }
.project-card { height: 100%; display: flex; flex-direction: column; }
.project-card-content { flex: 1; }
.text-shadow { text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); }
.counter { font-variant-numeric: tabular-nums; }
.article-img-zoom { overflow: hidden; }
.article-img-zoom img { transition: transform 0.5s ease; }
.article-img-zoom:hover img { transform: scale(1.05); }
.category-tag { background-color: rgba(15, 82, 186, 0.1); color: var(--alufacade-primary); }
.article-card { height: 100%; display: flex; flex-direction: column; }
.article-card-content { flex: 1; }
.article-after-content { clear: both; position: relative; }
