/* ============================================ MOSEMATIC PORTFOLIO - MAIN STYLES ============================================ */ /* CSS Variables */ :root { --kitchen-red: #FF2A00; --pitch-green: #00FF41; --paper-white: #F4F1EA; --ink-black: #0A0A0A; --tech-blue: #0066FF; --raw-concrete: #8B8680; --cursor-size: 20px; --border-width: 3px; --shadow-offset: 6px; } /* Reset & Base */ * { margin: 0; padding: 0; box-sizing: border-box; } html { scroll-behavior: smooth; } body { font-family: 'Space Grotesk', sans-serif; background-color: var(--paper-white); color: var(--ink-black); overflow-x: hidden; line-height: 1.6; } /* Typography */ .font-display { font-family: 'Syne', sans-serif; } .font-sans { font-family: 'Space Grotesk', sans-serif; } /* Selection */ ::selection { background-color: var(--kitchen-red); color: white; } /* Scrollbar */ ::-webkit-scrollbar { width: 12px; } ::-webkit-scrollbar-track { background: var(--paper-white); } ::-webkit-scrollbar-thumb { background: var(--ink-black); border: 3px solid var(--paper-white); } ::-webkit-scrollbar-thumb:hover { background: var(--kitchen-red); } /* Focus States */ *:focus-visible { outline: 3px solid var(--kitchen-red); outline-offset: 2px; } /* Image Defaults */ img { max-width: 100%; height: auto; display: block; } /* Link Defaults */ a { color: inherit; text-decoration: none; } /* Utility Classes */ .hover-target { cursor: none; } @media (max-width: 768px) { .hover-target { cursor: pointer; } } /* Section Number Background */ .section-number { font-family: 'Syne', sans-serif; font-size: 20vw; font-weight: 800; color: transparent; -webkit-text-stroke: 2px var(--ink-black); position: absolute; z-index: 0; opacity: 0.1; line-height: 1; pointer-events: none; user-select: none; } /* Noise Overlay */ .noise { position: fixed; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; z-index: 9998; opacity: 0.03; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' 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"); } /* Reveal Animation Helper */ .reveal-text { display: block; transform: translateY(0); } /* Responsive Typography */ @media (max-width: 768px) { .section-number { font-size: 30vw; } }