@font-face { font-family: 'Lato'; src: url('fonts/Lato-Light.ttf') format('truetype'); font-weight: 300; font-style: normal; font-display: swap; }
@font-face { font-family: 'Lato'; src: url('fonts/Lato-Regular.ttf') format('truetype'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Lato'; src: url('fonts/Lato-Bold.ttf') format('truetype'); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: 'Montserrat'; src: url('fonts/Montserrat-Regular.ttf') format('truetype'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Montserrat'; src: url('fonts/Montserrat-SemiBold.ttf') format('truetype'); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: 'Montserrat'; src: url('fonts/Montserrat-Bold.ttf') format('truetype'); font-weight: 700; font-style: normal; font-display: swap; }

html { scroll-behavior: smooth; }

.header-transparent { background: transparent; }
.header-solid { background: white; box-shadow: 0 1px 3px rgba(0,0,0,0.1); }
header { transition: background 0.3s ease, box-shadow 0.3s ease; }

body.no-scroll { overflow: hidden; }
#mobile-menu {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}
#mobile-menu.open {
    opacity: 1;
    visibility: visible;
}

#hamburger-icon, #close-icon {
    transition: transform 0.3s ease, opacity 0.3s ease;
}
.icon-hidden { transform: rotate(90deg); opacity: 0; position: absolute; }
.icon-visible { transform: rotate(0deg); opacity: 1; position: relative; }

.logo-hover img { transition: opacity 0.3s ease; }
.logo-hover:hover img { opacity: 0.7; }
