/* Per-page effect classes, consolidated from the live page-*.css files.
 * Loaded on every page (after styles.css). All class-based — CSP-safe. */

/* Parchment background + paper texture (was each page's inline <style> body). */
body{background-color:#fbf9f4;background-image:url("/images/natural-paper.png");color:#1b1c19;}

/* Thin architectural rule lines (hero grid overlay). */
.architectural-line{background-color:#191b1c;opacity:.15;}

/* 40px architectural grid background (service hero sections). */
.architectural-grid{
  background-size:40px 40px;
  background-image:
    linear-gradient(to right,rgba(25,27,28,.03) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(25,27,28,.03) 1px,transparent 1px);
}

.text-glow{text-shadow:0 0 20px rgba(0,6,102,.1);}

/* Subtle paper noise overlay (it-support). */
.noise-overlay{background-image:url("/images/natural-paper.png");opacity:.03;pointer-events:none;}

/* Feathered image mask (cloud-platforms hero score). */
.hero-score{
  -webkit-mask-image:radial-gradient(125% 115% at 50% 42%,#000 55%,transparent 92%);
  mask-image:radial-gradient(125% 115% at 50% 42%,#000 55%,transparent 92%);
}

/* Reveal classes are intentionally inert (the live site renders them visible;
 * there is NO scroll JS and NO animation-timeline). Kept for class parity. */
.reveal-up,.reveal-on-scroll{opacity:1;transform:none;}
.dly-100,.dly-150,.dly-200,.dly-300{transition-delay:0ms;}

/* Filled icon variant (mail in some CTAs). */
.ms-fill .ms-svg{fill:currentColor;stroke:none;}

/* Accessibility: motion-sensitive users get the still poster, not the loop. */
@media (prefers-reduced-motion: reduce){ .hero-video{display:none;} }

/* ---------- 404 page (scoped to .page-404 so it never affects other pages) ---------- */
.page-404{
  min-height:100vh;display:flex;align-items:center;justify-content:center;
  padding:2rem;text-align:center;color:var(--primary);
  background-color:#fbf9f4;background-image:none;
}
.page-404 .wrap{max-width:36rem;}
.page-404 .code{font-family:var(--serif);font-size:clamp(4rem,14vw,8rem);font-weight:600;line-height:1;letter-spacing:-.02em;}
.page-404 h1{font-family:var(--serif);font-weight:600;font-size:clamp(1.5rem,4vw,2rem);margin-top:1rem;}
.page-404 p{color:var(--secondary);font-size:1.125rem;line-height:1.6;margin-top:.75rem;}
.page-404 a.home{display:inline-block;margin-top:2rem;padding:.75rem 1.75rem;background-color:var(--primary);color:var(--surface);font-weight:500;letter-spacing:.01em;border-radius:2px;}
.page-404 a.home:hover{background-color:var(--primary-container);}
