/* Local Fonts for GDPR Compliance */
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 300;
    src: url('resources/fonts/inter-300.ttf') format('truetype');
}

@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 400;
    src: url('resources/fonts/inter-400.ttf') format('truetype');
}

@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 500;
    src: url('resources/fonts/inter-500.ttf') format('truetype');
}

@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 600;
    src: url('resources/fonts/inter-600.ttf') format('truetype');
}

@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 700;
    src: url('resources/fonts/inter-700.ttf') format('truetype');
}

@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 800;
    src: url('resources/fonts/inter-800.ttf') format('truetype');
}

@font-face {
    font-family: 'Outfit';
    font-style: normal;
    font-weight: 400;
    src: url('resources/fonts/outfit-400.ttf') format('truetype');
}

@font-face {
    font-family: 'Outfit';
    font-style: normal;
    font-weight: 600;
    src: url('resources/fonts/outfit-600.ttf') format('truetype');
}

@font-face {
    font-family: 'Outfit';
    font-style: normal;
    font-weight: 800;
    src: url('resources/fonts/outfit-800.ttf') format('truetype');
}

html {
    font-size: 14px;
    /* Stronger reduction to scale down everything (rem-based) */
}

/* Base styles for a more elegant, compact feel */
body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    line-height: 1.55;
}

/* Refined Typography */
h1,
h2,
h3,
h4 {
    line-height: 1.15;
    letter-spacing: -0.01em;
}

h2,
h3,
h4 {
    line-height: 1.2;
    letter-spacing: -0.01em;
}

/* Specific scaling for large utility classes to keep them elegant */
.text-lg,
.text-xl,
.text-2xl {
    line-height: 1.5;
    letter-spacing: 0.01em;
}

/* Prevent sections from being too airy */
section {
    padding-top: clamp(2rem, 5vh, 6rem) !important;
    padding-bottom: clamp(2rem, 5vh, 6rem) !important;
}

/* Ensure the first section of every page clears the fixed navigation bar */
main section:first-of-type {
    padding-top: 8.5rem !important;
}