/* Raw Transformation — Custom Styles */

/* Base */
*, *::before, *::after { box-sizing: border-box; }
html { font-size: 16px; }
body {
    margin: 0;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    background-color: #FAF7F4;
    color: #3D3232;
}

/* Selection */
::selection { background: #fce7eb; color: #6c192c; }

/* Scrollbar */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: #FAF7F4; }
::-webkit-scrollbar-thumb { background: #e8c8d0; border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: #c42a48; }

/* Focus */
a:focus-visible, button:focus-visible {
    outline: 2px solid #c42a48;
    outline-offset: 3px;
    border-radius: 2px;
}

/* Mobile menu transitions */
#mobile-menu.open { opacity: 1 !important; pointer-events: all !important; }
#mobile-menu.closed { opacity: 0 !important; pointer-events: none !important; }

/* Hamburger animation */
.hamburger.active span:nth-child(1) { transform: rotate(45deg) translate(3px, 3px); }
.hamburger.active span:nth-child(2) { opacity: 0; }

/* Smooth image loading */
img { display: block; max-width: 100%; }

/* Print */
@media print {
    nav, .hero-overlay, #hero::after { display: none; }
    body { background: white; color: black; }
    .reveal { opacity: 1 !important; transform: none !important; }
}
