* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: 'Sora', sans-serif;
    background: #FAF8F5;
    color: #2C2416;
    overflow-x: hidden;
}

.font-display {
    font-family: 'Playfair Display', serif;
}

.noise-overlay {
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 50;
    opacity: 0.025;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
}

.double-bezel-outer {
    background: rgba(255, 255, 255, 0.6);
    border: 1px solid rgba(0, 0, 0, 0.06);
    padding: 6px;
    border-radius: 2rem;
}

.double-bezel-inner {
    background: #FAF8F5;
    border-radius: calc(2rem - 6px);
    box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.8);
}

.magnetic-btn {
    transition: all 0.7s cubic-bezier(0.32, 0.72, 0, 1);
}

.magnetic-btn:hover {
    transform: scale(1.02);
}

.magnetic-btn:active {
    transform: scale(0.98);
}

.icon-circle {
    transition: all 0.7s cubic-bezier(0.32, 0.72, 0, 1);
}

.magnetic-btn:hover .icon-circle {
    transform: translateX(4px) translateY(-2px) scale(1.1);
}

.fade-up {
    opacity: 0;
    transform: translateY(40px);
    filter: blur(4px);
    transition: all 1s cubic-bezier(0.32, 0.72, 0, 1);
}

.fade-up.visible {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
}

.stagger-1 {
    transition-delay: 0.1s;
}

.stagger-2 {
    transition-delay: 0.2s;
}

.stagger-3 {
    transition-delay: 0.3s;
}

.stagger-4 {
    transition-delay: 0.4s;
}

.stagger-5 {
    transition-delay: 0.5s;
}

.card-hover {
    transition: all 0.7s cubic-bezier(0.32, 0.72, 0, 1);
}

.card-hover:hover {
    transform: translateY(-8px);
    box-shadow:
        0 20px 40px rgba(0, 0, 0, 0.08),
        0 0 0 1px rgba(201, 162, 39, 0.1);
}

.pill-nav {
    transition: all 0.7s cubic-bezier(0.32, 0.72, 0, 1);
}

.pill-nav:hover {
    background: rgba(201, 162, 39, 0.1);
}

@keyframes float {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-10px);
    }
}

.float-animation {
    animation: float 6s ease-in-out infinite;
}

.hamburger-line {
    transition: all 0.5s cubic-bezier(0.32, 0.72, 0, 1);
}

.menu-open .hamburger-line:nth-child(1) {
    transform: rotate(45deg) translate(5px, 5px);
}

.menu-open .hamburger-line:nth-child(2) {
    opacity: 0;
    transform: translateX(-10px);
}

.menu-open .hamburger-line:nth-child(3) {
    transform: rotate(-45deg) translate(5px, -5px);
}

.nav-link {
    transition: all 0.7s cubic-bezier(0.32, 0.72, 0, 1);
}

.nav-link:hover {
    color: #C9A227;
    transform: translateX(8px);
}

::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: #FAF8F5;
}

::-webkit-scrollbar-thumb {
    background: #C9A227;
    border-radius: 4px;
}