@import url('https://fonts.cdnfonts.com/css/glacial-indifference-2');
@import url('https://fonts.googleapis.com/css2?family=Bodoni+Moda:ital,opsz,wght@0,6..96,400..900;1,6..96,400..900&display=swap');

/* Scoffed Bakehouse — Self-hosted Fonts */

/* Bangers */
@font-face {
    font-family: 'Bangers';
    src: url('../fonts/bangers/Bangers-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}






/* Scoffed Bakehouse — Shared Styles */

/* Material Symbols */
.material-symbols-outlined {
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}

/* Editorial Shadow — Midnight Plum tinted */
.editorial-shadow {
    box-shadow: 0 20px 40px -10px rgba(63, 31, 74, 0.5);
}

/* Glass Panel — Midnight Plum frosted */
.glass-panel {
    background: rgba(63, 31, 74, 0.65);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
}

/* Legal page content styles */
.legal-content h2 {
    font-family: 'Glacial Indifference', sans-serif;
    font-size: 1.75rem;
    font-weight: 700;
    color: #A07C2E;
    margin-top: 2.5rem;
    margin-bottom: 1rem;
}

.legal-content h3 {
    font-family: 'Glacial Indifference', sans-serif;
    font-size: 1.25rem;
    font-weight: 600;
    color: #E83D89;
    margin-top: 1.5rem;
    margin-bottom: 0.75rem;
}

.legal-content p {
    color: #d4b8cb;
    line-height: 1.8;
    margin-bottom: 1rem;
    font-size: 0.95rem;
}

.legal-content ul {
    list-style: disc;
    padding-left: 1.5rem;
    margin-bottom: 1rem;
}

.legal-content ul li {
    color: #d4b8cb;
    line-height: 1.8;
    margin-bottom: 0.25rem;
    font-size: 0.95rem;
}

.legal-content a {
    color: #E83D89;
    text-decoration: underline;
    text-underline-offset: 2px;
    transition: color 0.2s;
}

.legal-content a:hover {
    color: #A07C2E;
}

/* === Interaction & Reveal Animations === */
.reveal-target {
    opacity: 0;
    will-change: transform, opacity;
}

.reveal-up {
    transform: translateY(80px);
    transition: opacity 0.8s cubic-bezier(0.34, 1.56, 0.64, 1), transform 0.8s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.reveal-scale {
    transform: scale(0.9);
    transition: opacity 1.2s cubic-bezier(0.34, 1.56, 0.64, 1), transform 1.2s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.reveal-target.revealed {
    opacity: 1;
    transform: translateY(0) scale(1);
}

.delay-100 { transition-delay: 100ms; }
.delay-200 { transition-delay: 200ms; }
.delay-300 { transition-delay: 300ms; }
.delay-400 { transition-delay: 400ms; }
.delay-500 { transition-delay: 500ms; }

/* === Hero Animations === */
@keyframes hero-reveal-up {
    0% {
        transform: translateY(150%);
        opacity: 0;
    }
    100% {
        transform: translateY(0);
        opacity: 1;
    }
}

.animate-hero-title {
    animation: hero-reveal-up 1.2s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

@keyframes hero-fade-up {
    0% {
        transform: translateY(40px);
        opacity: 0;
    }
    100% {
        transform: translateY(0);
        opacity: 1;
    }
}

.animate-hero-subtitle {
    animation: hero-fade-up 1s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}