@font-face {
    font-family: 'Suisse';
    src: url('./fonts/SuisseIntlMono-Bold.otf') format('opentype');
    font-weight: bold;
    font-style: normal;
}
@font-face {
    font-family: 'Suisse';
    src: url('./fonts/SuisseIntlMono-Thin.otf') format('opentype');
    font-weight: normal;
    font-style: normal;
}

body {
    --primary: white;
    --primary-dark: black;
    background-color: var(--primary-dark);
    color: black;
    margin: 0;
    padding: 0;
}

h1 {
    font-family: "scandia-web", sans-serif;
    color: var(--primary);
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    letter-spacing: -0.05em;
    margin: 0;
    padding: 0;
}

.title {
    position: fixed;
    color: var(--primary);
    left: 32px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 100;
}

.title a {
    color: var(--primary);;
    text-decoration: none;
}

.title a:hover {
    opacity: 45%;
}

.contact {
    font-family: 'Suisse', monospace;
    font-size: 14px;
    position: fixed;
    top: 32px;
    right: 32px;
    z-index: 100;
}

.contact a {
    color: var(--primary);
    text-decoration: none;
}

.contact a:hover {
    opacity: 45%;
}

menu {
    font-family: 'Suisse', monospace;
    font-size: 14px;
    list-style: none;
    margin: 0;
    padding: 32px;
    display: flex; 
    flex-direction: column;
    position: fixed;
    top: 0;
    left: 0; 
    z-index: 100;
}

nav {
    display: flex;
    flex-direction: column;
}

menu a {
    color: var(--primary);
    text-decoration: none;
}

menu a:hover {
    opacity: 45%;
}

li {
    margin: 0;
    list-style: none;
}

/* Footer links */
.footer-links {
    font-family: 'Suisse', monospace;
    font-size: 14px;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    display: flex;
    gap: 20px;
    z-index: 100;
    background-color: var(--primary-dark);
    padding: 32px;
    box-sizing: border-box;
}

.footer-links a {
    color: var(--primary);
    text-decoration: none;
}

.footer-links a:hover {
    opacity: 45%;
}

.email-link {
    margin-left: auto;
    position: fixed;
    bottom: 32px;
    right: 32px;
}

/* Page specific design - image grid */
.grid-container {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 10px;
    padding: 100px 250px 100px 250px; /* top right bottom left */
    max-width: 1200px;
}

.grid-item {
    width: 100%;
    height: auto; 
    object-fit: contain; 
    display: block;
}