/*
    Guidepost — Aurelian Design System
    Minimal reset. All layout handled by Tailwind utility classes.
*/

*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
}

body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    background-color: #131313;
    color: #e5e2e1;
    font-family: 'Manrope', sans-serif;
    overflow-x: hidden;
}

/* Glass Navigation */
.glass-nav {
    background: rgba(19, 19, 19, 0.75);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
}

/* Material Symbols */
.material-symbols-outlined {
    font-variation-settings: 'FILL' 0, 'wght' 300, 'GRAD' 0, 'opsz' 24;
    display: inline-block;
    line-height: 1;
    font-size: inherit;
    vertical-align: middle;
}

/* Links */
a {
    text-decoration: none;
    color: inherit;
}

ul { list-style: none; }

/* Scroll animations */
.fade-up {
    opacity: 0;
    transform: translateY(32px);
    transition: opacity 0.7s ease-out, transform 0.7s ease-out;
}
.fade-up.visible {
    opacity: 1;
    transform: translateY(0);
}

/* FAQ Accordion answer */
.faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.35s ease-out, padding 0.35s ease-out;
    padding: 0 24px;
}
.faq-item.open .faq-answer {
    max-height: 300px;
    padding: 0 24px 24px;
}
.faq-item.open .faq-icon {
    transform: rotate(180deg);
}
.faq-icon {
    transition: transform 0.3s ease;
}

/* Mega menu */
.mega-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    min-width: 240px;
    z-index: 100;
    padding-top: 8px;
}
.nav-mega:hover .mega-menu,
.mega-menu:hover {
    display: block;
}

/* Mobile nav */
.mobile-nav {
    display: none;
}
.mobile-nav.open {
    display: flex;
}

/* Selection */
::selection {
    background-color: rgba(0, 115, 119, 0.35);
    color: #e5e2e1;
}
