:root{--font-display:"Playfair Display",serif;--font-body:"Space Grotesk",sans-serif;--color-bg-primary:#0a0a0a;--color-bg-secondary:#111;--color-bg-tertiary:#1a1a1a;--color-accent:#4a4a4a;--color-accent-hover:#5a5a5a;--color-accent-light:#6a6a6a;--color-metallic-start:#3a3a3a;--color-metallic-end:#5a5a5a;--color-text-primary:#fff;--color-text-secondary:#a0a0a0;--color-text-muted:#666;--color-border:#2a2a2a;font-family:var(--font-body);color-scheme:dark;color:var(--color-text-primary);background-color:var(--color-bg-primary);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;line-height:1.6}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background-color:var(--color-bg-primary);min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}
::-webkit-scrollbar{width:8px}
::-webkit-scrollbar-track{background:var(--color-bg-primary)}
::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}
::-webkit-scrollbar-thumb:hover{background:var(--color-accent)}
.noise-overlay{pointer-events:none;z-index:9999;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");width:100%;height:100%;position:fixed;top:0;left:0}
.font-display{font-family:var(--font-display)}
.font-body{font-family:var(--font-body)}
.creative-grey-text{-webkit-text-fill-color:transparent;text-shadow:0 0 20px #4a4a4a80,0 0 40px #4a4a4a4d,0 0 60px #4a4a4a33;background:linear-gradient(135deg,#6a6a6a 0%,#4a4a4a 25%,#5a5a5a 50%,#4a4a4a 75%,#6a6a6a 100%) 0 0/200%;-webkit-background-clip:text;background-clip:text;animation:3s linear infinite shimmerText}
@keyframes shimmerText{0%{background-position:0%}to{background-position:200%}}
.embossed-grey{color:#4a4a4a;text-shadow:1px 1px #ffffff1a,-1px -1px 1px #00000080,0 0 20px #4a4a4a66}
.floating-shadow{transition:all .4s;box-shadow:0 10px 30px #00000080,0 30px 60px #4a4a4a26,inset 0 1px #ffffff1a}
.floating-shadow:hover{transform:translateY(-5px);box-shadow:0 20px 40px #0009,0 40px 80px #4a4a4a33,inset 0 1px #ffffff26}
.animated-line{background:linear-gradient(90deg,#0000 0%,#4a4a4a 20%,#6a6a6a 50%,#4a4a4a 80%,#0000 100%) 0 0/200% 100%;height:2px;animation:3s ease-in-out infinite slideLine}
@keyframes slideLine{0%,to{background-position:100% 0}50%{background-position:-100% 0}}
.hover-lift{transition:all .4s cubic-bezier(.175,.885,.32,1.275)}
.hover-lift:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 20px 40px #0006,0 0 0 1px #4a4a4a4d}
.metallic-sheen{position:relative;overflow:hidden}
.metallic-sheen:after{content:"";background:linear-gradient(45deg,#0000 30%,#ffffff1a 50%,#0000 70%);width:200%;height:200%;animation:4s ease-in-out infinite sheen;position:absolute;top:-50%;left:-50%;pointer-events:none}
@keyframes sheen{0%,to{transform:translate(-100%) translateY(-100%) rotate(45deg)}50%{transform:translate(100%) translateY(100%) rotate(45deg)}}
.gradient-mesh{background:radial-gradient(at 20% 30%,#4a4a4a26 0%,#0000 50%),radial-gradient(at 80% 70%,#4a4a4a1a 0%,#0000 50%),radial-gradient(#ffffff08 0%,#0000 70%)}
@keyframes shimmer{0%{background-position:-200%}to{background-position:200%}}
.shimmer-effect{background:linear-gradient(90deg,#0000 0%,#ffffff1a 50%,#0000 100%) 0 0/200% 100%;animation:3s infinite shimmer}
.elevated-grey{box-shadow:0 4px 6px -1px #0000004d,0 10px 20px -5px #0006,0 0 0 1px #4a4a4a33}
.text-shadow-elegant{text-shadow:0 2px 4px #00000080,0 0 40px #4a4a4a4d}
::selection{background-color:var(--color-accent);color:var(--color-bg-primary)}
.glass{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#111111b3;border:1px solid #ffffff1a}
.diagonal-clip{clip-path:polygon(0 0,100% 0,100% 85%,0 100%)}
.accent-underline{display:inline-block;position:relative}
.accent-underline:after{content:"";background:var(--color-accent);transform-origin:100%;width:100%;height:2px;transition:transform .4s cubic-bezier(.77,0,.175,1);position:absolute;bottom:-4px;left:0;transform:scaleX(0)}
.accent-underline:hover:after{transform-origin:0;transform:scaleX(1)}
.img-zoom{overflow:hidden}
.img-zoom img{transition:transform .7s cubic-bezier(.25,.46,.45,.94)}
.img-zoom:hover img{transform:scale(1.08)}
#mobile-menu{display:none}
#mobile-menu.open{display:flex}