/* Custom Styles for RSK4C Website */

/* ZTRavigsfen Font - Smal, Hoekig, Stevig */
@font-face {
    font-family: 'ZTRavigsfen';
    src: url('../assets/ZTRavigsfen-Regular.otf') format('opentype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'ZTRavigsfen';
    src: url('../assets/ZTRavigsfen-Oblique.otf') format('opentype');
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}

:root {
    --corner-size: 40px;
    --scrollbar-color: #684F98; /* Default purple */
}

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

body {
    /* Lenis Smooth Scroll Setup */
    overscroll-behavior: none;
    /* Body text uses ZTRavigsfen with normal tracking */
    font-family: 'ZTRavigsfen', sans-serif;
    letter-spacing: normal;
}

/* All headings and display text get tracking-wide by default */
h1, h2, h3, h4, h5, h6,
.font-display {
    letter-spacing: 0.05em; /* tracking-wide equivalent */
}

/* Hamburger Menu Animation */
.hamburger-line {
    transition: all 0.3s ease-in-out;
}

/* When menu is open */
#menu-toggle.active .hamburger-line:nth-child(1) {
    transform: rotate(45deg) translate(5px, 6px);
}

#menu-toggle.active .hamburger-line:nth-child(2) {
    opacity: 0;
}

#menu-toggle.active .hamburger-line:nth-child(3) {
    transform: rotate(-45deg) translate(5px, -6px);
}

/* Page Load Fade In */
.page-load-fade {
    opacity: 0;
    animation: fadeIn 1.5s ease-out forwards;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Custom Selection Color */
::selection {
    background-color: #684F98;
    color: white;
}

/* Custom Scrollbar */
::-webkit-scrollbar {
    width: 10px;
}

::-webkit-scrollbar-track {
    background: #0f0f0f;
}

::-webkit-scrollbar-thumb {
    background: var(--scrollbar-color);
    border-radius: 5px;
    transition: background 0.1s ease; /* Smooth transition */
}

::-webkit-scrollbar-thumb:hover {
    background: var(--scrollbar-color); /* Keep dynamic color on hover */
    filter: brightness(1.2);
}

/* Lenis Recommended CSS */
html.lenis, html.lenis body {
  height: auto;
}

.lenis.lenis-smooth {
  scroll-behavior: auto !important;
}

.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain;
}

.lenis.lenis-stopped {
  overflow: hidden;
}

.lenis.lenis-scrolling iframe {
  pointer-events: none;
}

/* Horizontal Scroll Section Styles */
.hero-container {
    width: 100%; /* Changed from 400% to 100% because we move content inside */
    height: 100vh;
    display: flex;
    flex-wrap: nowrap;
    /* overflow-x: hidden;  <-- Removed to allow GSAP to handle it, but actually we need hidden on body */
}

.hero-text-wrapper {
    display: flex;
    flex-wrap: nowrap;
    width: max-content; /* Ensure it takes full width of content */
    height: 100vh;
    align-items: center;
    padding-left: 0; /* Adjust initial padding */
    will-change: transform; /* Optimize for animation */
}

.hero-word {
    font-size: clamp(4rem, 15vw, 20rem);
    font-weight: 900;
    line-height: 1;
    white-space: nowrap;
    flex-shrink: 0;
    width: 100vw; /* Each word takes full viewport width */
    display: flex;
    justify-content: center; /* Center text in the viewport */
    align-items: center;
}

/* Portfolio Reveal Mask */
.portfolio-item-mask {
    clip-path: inset(0 100% 0 0);
    transition: clip-path 1s cubic-bezier(0.77, 0, 0.175, 1);
}

.portfolio-item-mask.visible {
    clip-path: inset(0 0 0 0);
}

.char-reveal {
    opacity: 0.1; /* Start state */
    transition: opacity 0.1s;
}

/* Mobile Menu Icon Animation */
#menu-toggle {
    cursor: pointer;
}

#menu-overlay {
    backdrop-filter: blur(10px);
}

/* Form Styling */
input:focus,
textarea:focus {
    outline: none;
}

input::placeholder,
textarea::placeholder {
    color: #666;
}

/* Blob Animations */
@keyframes blob {
    0% { transform: translate(0px, 0px) scale(1); }
    33% { transform: translate(30px, -50px) scale(1.1); }
    66% { transform: translate(-20px, 20px) scale(0.9); }
    100% { transform: translate(0px, 0px) scale(1); }
}

.animate-blob {
    animation: blob 7s infinite;
}

.animation-delay-2000 {
    animation-delay: 2s;
}

.animation-delay-4000 {
    animation-delay: 4s;
}
