:root {
    --brand-dark: #0A2342;
    --brand-accent: #2CA5E0;
    --brand-gray: #B0B0B0;
    --font-primary: 'Montserrat', sans-serif;
    --font-secondary: 'Lato', sans-serif;
}

body {
    font-family: var(--font-secondary);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    background-color: var(--brand-dark);
    color: #333;
    overflow: hidden;
}

#presentation-container {
    position: relative;
    width: 100vw;
    height: 100vh;
}

.presentation-slide {
    position: absolute !important;
    inset: 0 !important;
    transition: opacity 0.8s cubic-bezier(0.25, 1, 0.5, 1), visibility 0.8s !important;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 5vw;
    overflow: hidden;
    box-sizing: border-box;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    z-index: 1;
}

.presentation-slide:first-child {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    z-index: 2;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-primary);
}

.bg-brand-dark { background-color: var(--brand-dark); }
.bg-brand-accent { background-color: var(--brand-accent); }
.text-brand-dark { color: var(--brand-dark); }
.text-brand-accent { color: var(--brand-accent); }
.text-brand-gray { color: var(--brand-gray); }
.border-brand-accent { border-color: var(--brand-accent); }

/* Layout Flexibility Helpers */
.presentation-slide.layout-fullscreen { padding: 0; }
.presentation-slide.layout-minimal { padding: 2vw; }
.presentation-slide.layout-spacious { padding: 8vw; }
.presentation-slide.layout-asymmetric { padding: 2vw 8vw 8vw 2vw; }
.presentation-slide.layout-corner { justify-content: flex-start; align-items: flex-start; }
.presentation-slide.layout-edge-right { justify-content: center; align-items: flex-end; }
.presentation-slide.layout-diagonal { transform: rotate(5deg); }
.presentation-slide.layout-split { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; }
.presentation-slide.layout-thirds { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 1rem; }
.presentation-slide.layout-overlay { display: block; position: relative; }
.presentation-slide.layout-floating { perspective: 1000px; }
.presentation-slide.layout-stack { display: flex; flex-direction: column; gap: 1rem; }
.presentation-slide.layout-scatter { display: block; }
.presentation-slide.layout-scatter > * { position: absolute; }

@media (max-width: 768px) {
    .presentation-slide { padding: 2rem; }
    .presentation-slide.layout-split, .presentation-slide.layout-thirds { grid-template-columns: 1fr; }
    .presentation-slide.layout-asymmetric { padding: 2rem; }
    h1 { font-size: 2.5rem; }
    h2 { font-size: 2rem; }
}

[data-animate] {
    opacity: 0;
}
