/**
 * base.css — Global Reset & Base Styles
 * ────────────────────────────────────────
 * Applies a minimal box-model reset, sets global html/body defaults,
 * and enables smooth scrolling. No component-specific classes here —
 * only the "blank canvas" every page starts from.
 *
 * Depends on: variables.css (must load first)
 */

/* ── Universal Box-Model Reset ── */
*,
*::before,
*::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* ── Document Root & Global Background Anchor ── */
html,
body {
    background-color: var(--black, #0A0A0A);
    color:            var(--cream);
    min-height:       100%;
}

html {
    scroll-behavior: smooth;  /* Native smooth-scroll for anchor links */
}

/* ── Body ── */
body {
    font-family:  var(--sans);
    font-weight:  300;
    overflow-x:   hidden;   /* Prevent horizontal overflow from animations */
    cursor:       none;     /* Hide default cursor (custom cursor used instead) */
}

/* ── Global Matte Film-Grain Texture Overlay (Body Level Only) ── */
body::before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    pointer-events: none; /* Ensures user clicks pass through to interactive elements */
    z-index: 9999;       /* Overlay across elements while remaining below custom cursor */
    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.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");
    background-repeat: repeat;
    opacity: 0.035;      /* Subtle matte paper grain texture */
}

/* ══════════════════════════════════════════════════════════════
   STRICT UNIFIED BACKGROUND & SEAMLESS SECTION RESET
   Enforce pure dark theme canvas across all section containers
   ══════════════════════════════════════════════════════════════ */

/* Strip rogue backgrounds, radial glow gradients, borders & drop-shadows */
section,
article,
main,
.section-wrapper,
.hero-section,
.marquee-ticker-section,
.portfolio,
.portfolio-minimal-section,
.films-section,
.about,
.contact-section,
.testimonials,
.love-notes-section,
.standards-section,
.services,
.process,
.faq {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    border: none !important;
    border-top: none !important;
    border-bottom: none !important;
}

/* Seamless Blending: Kill vertical margins to prevent white background peek-through */
section,
article,
main,
.section-wrapper,
.hero-section,
.marquee-ticker-section,
.portfolio,
.portfolio-minimal-section,
.films-section,
.about,
.contact-section,
.testimonials,
.love-notes-section,
.standards-section,
.services,
.process,
.faq {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    /* Vertical rhythm between sections is strictly handled via padding */
}

/* ── Touch/Mobile: restore default cursor ── */
@media (pointer: coarse) {
    body {
        cursor: auto;
    }
}
