/* ============================================
   CSS Variables - Design System
   ============================================ */

:root {
    /* Colors */
    --color-primary: #121726;
    --color-text: #F5F2EA;
    --color-accent: #C66B38;
    --color-glow: rgba(245, 242, 234, 0.12);
    
    /* Typography */
    --font-display: 'Lacquer', cursive;
    
    /* Transitions */
    --transition-fast: 0.2s ease;
    --transition-normal: 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* ============================================
   Reset & Base Styles
   ============================================ */

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

html, body {
    height: 100vh;
    height: 100dvh;
    overflow: hidden;
}

body {
    font-family: var(--font-display);
    background-color: var(--color-primary);
    color: var(--color-text);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* ============================================
   Background Stickers
   ============================================ */

.bg-stickers {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    overflow: hidden;
    z-index: 0;
}

.floating-sticker {
    position: absolute;
    border-radius: 50%;
    opacity: 0.05;
    background: var(--color-text);
    animation: float ease-in-out infinite;
}

.sticker-1 { width: 25vmin; height: 25vmin; top: -5%; left: -5%; animation-duration: 20s; }
.sticker-2 { width: 18vmin; height: 18vmin; top: 20%; right: -5%; animation-duration: 25s; animation-delay: -5s; }
.sticker-3 { width: 15vmin; height: 15vmin; bottom: 20%; left: 5%; animation-duration: 18s; animation-delay: -2s; }
.sticker-4 { width: 20vmin; height: 20vmin; bottom: -5%; right: 10%; animation-duration: 22s; animation-delay: -8s; }
.sticker-5 { width: 10vmin; height: 10vmin; top: 50%; left: 30%; animation-duration: 30s; animation-delay: -10s; opacity: 0.03; }
.sticker-6 { width: 16vmin; height: 16vmin; top: 10%; right: 30%; animation-duration: 24s; animation-delay: -12s; opacity: 0.04; }
.sticker-7 { width: 12vmin; height: 12vmin; bottom: 30%; right: 25%; animation-duration: 28s; animation-delay: -15s; opacity: 0.03; }
.sticker-8 { width: 22vmin; height: 22vmin; top: 60%; left: -3%; animation-duration: 26s; animation-delay: -7s; opacity: 0.04; }

@keyframes float {
    0%, 100% { transform: translateY(0) rotate(0deg) scale(1); }
    33% { transform: translateY(-20px) rotate(5deg) scale(1.05); }
    66% { transform: translateY(10px) rotate(-3deg) scale(0.95); }
}

/* ============================================
   Main Layout
   ============================================ */

.container {
    width: 100%;
    height: 100vh;
    height: 100dvh;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 1;
    padding: 2vh;
}

.content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 2.5vh;
    width: 100%;
    max-width: 90vw;
}

/* ============================================
   Reveal Animations
   ============================================ */

.reveal {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.8s ease, transform 0.8s var(--transition-normal);
}

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

/* ============================================
   Logo with Glow
   ============================================ */

.logo-container {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 100%;
}

.logo {
    width: auto;
    height: auto;
    max-width: 55vw;
    max-height: 38vh;
    display: block;
    position: relative;
    z-index: 2;
}

.logo-glow {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 60%;
    height: 120%;
    background: radial-gradient(ellipse, var(--color-glow) 0%, transparent 70%);
    z-index: 1;
    filter: blur(40px);
    animation: glowPulse 4s ease-in-out infinite;
}

@keyframes glowPulse {
    0%, 100% { opacity: 0.5; transform: translate(-50%, -50%) scale(1); }
    50% { opacity: 0.8; transform: translate(-50%, -50%) scale(1.1); }
}

/* ============================================
   Sticker Title
   ============================================ */

.sticker-wrapper {
    position: relative;
    display: inline-block;
    cursor: pointer;
    filter: drop-shadow(0 10px 20px rgba(0,0,0,0.4));
}

.sticker-shadow {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0,0,0,0.3);
    border-radius: 1vmin;
    transform: translate(8px, 8px);
    filter: blur(10px);
    transition: transform 0.4s ease, filter 0.4s ease;
    z-index: -2;
}

.sticker-back {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: var(--color-accent);
    border-radius: 1vmin;
    transform: translate(4px, 4px) rotate(1deg);
    z-index: -1;
    transition: transform 0.5s var(--transition-normal);
}

.title {
    font-family: var(--font-display);
    font-size: clamp(1.5rem, 6vmin, 4rem);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    line-height: 1.2;
    padding: 1.5vh 3vw;
    background: var(--color-text);
    border-radius: 1vmin;
    position: relative;
    display: inline-block;
    transform: rotate(-1deg);
    white-space: nowrap;
    transition: transform 0.5s var(--transition-normal);
    overflow: hidden;
}

.shine {
    position: absolute;
    top: -50%; left: -50%;
    width: 200%; height: 200%;
    background: linear-gradient(45deg, transparent 40%, rgba(255,255,255,0.15) 50%, transparent 60%);
    transform: rotate(45deg) translateX(-100%);
    transition: transform 0.8s ease;
    pointer-events: none;
    z-index: 3;
}

.sticker-wrapper:hover .title {
    transform: rotate(0deg) translateY(-4px) scale(1.02);
}

.sticker-wrapper:hover .sticker-back {
    transform: translate(5px, 5px) rotate(0deg);
}

.sticker-wrapper:hover .sticker-shadow {
    transform: translate(12px, 12px);
}

.sticker-wrapper:hover .shine {
    transform: rotate(45deg) translateX(100%);
}

/* ============================================
   Contact Link
   ============================================ */

.contact-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5vw;
    text-decoration: none;
    color: var(--color-accent);
    font-size: clamp(0.8rem, 2.5vmin, 1.1rem);
    letter-spacing: 0.05em;
    padding: 1vh 2vw;
    border-radius: 50px;
    border: 2px solid var(--color-accent);
    transition: all 0.4s var(--transition-normal);
    background: transparent;
    white-space: nowrap;
}

.contact-link:hover {
    background: var(--color-accent);
    color: var(--color-text);
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(198, 107, 56, 0.3);
}

.contact-label {
    font-family: var(--font-display);
}

.mail-icon {
    font-size: clamp(1.2rem, 3vmin, 2rem);
    transition: transform 0.3s ease;
}

.contact-link:hover .mail-icon {
    transform: scale(1.1) rotate(10deg);
}

/* ============================================
   Footer
   ============================================ */

.footer {
    width: 100%;
    text-align: center;
    padding: 1vh;
    font-family: var(--font-display);
    font-size: clamp(0.6rem, 1.5vmin, 0.8rem);
    color: var(--color-text);
    opacity: 0.25;
    letter-spacing: 0.05em;
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 10;
    background: linear-gradient(to top, rgba(18, 23, 38, 0.9), transparent);
    padding-top: 3vh;
}

/* ============================================
   Responsive - Compact Screens
   ============================================ */

@media screen and (max-width: 480px) {
    .logo {
        max-height: 22vh;
    }
    
    .title {
        padding: 1.2vh 2.5vw;
        letter-spacing: 0.05em;
    }
    
    .content {
        gap: 2vh;
    }
    
    .floating-sticker {
        display: none;
    }
}

@media screen and (max-height: 500px) {
    .content {
        gap: 1.5vh;
    }
    
    .logo {
        max-height: 25vh;
    }
    
    .title {
        font-size: clamp(1.2rem, 5vmin, 2.5rem);
        padding: 1vh 2vw;
    }
    
.contact-link {
    margin-top: 2vh;
        padding: 0.8vh 1.5vw;
        font-size: clamp(0.7rem, 2vmin, 1rem);
    }
}

@media screen and (max-height: 380px) {
    .content {
        gap: 1vh;
    }
    
    .logo {
        max-height: 20vh;
    }
    
    .title {
        font-size: clamp(1rem, 4vmin, 2rem);
    }
    
    .footer {
        display: none;
    }
}

/* ============================================
   Reduced Motion
   ============================================ */

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
    
    .reveal {
        opacity: 1;
        transform: none;
    }
}
