/* ============ FOUNDATIONS ============ */
      html { scroll-behavior: smooth; }

      body {
        background-color: #FAF7F1;
        color: #1C2827;
        position: relative;
      }

      /* Fine paper-grain texture — ties the "official document / ledger" motif
         to every surface without competing with content */
      body::before {
        content: '';
        position: fixed;
        inset: 0;
        pointer-events: none;
        z-index: 0;
        opacity: 0.05;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
      }

      section, header, footer { position: relative; z-index: 1; }

      /* ============ EYEBROW / LEDGER LABEL SYSTEM ============
         Small caps monospace labels used the way a case file or ledger
         entry would be numbered — signals "official document" throughout. */
      .eyebrow {
        font-family: 'IBM Plex Mono', monospace;
        letter-spacing: 0.22em;
        text-transform: uppercase;
        font-size: 0.72rem;
        font-weight: 600;
        color: #9C7B3E;
      }

      .rule-gold {
        height: 1px;
        background: linear-gradient(90deg, transparent, #C9A961 20%, #C9A961 80%, transparent);
      }

      /* ============ LUXURY BUTTONS ============ */
      .btn-shimmer {
        position: relative;
        overflow: hidden;
        isolation: isolate;
      }
      .btn-shimmer::after {
        content: '';
        position: absolute;
        top: 0;
        left: -80%;
        width: 45%;
        height: 100%;
        background: linear-gradient(115deg, transparent, rgba(255,255,255,0.55), transparent);
        transform: skewX(-18deg);
        z-index: 1;
        pointer-events: none;
      }
      .btn-shimmer:hover::after { animation: shimmer 1.1s ease forwards; }
      @keyframes shimmer { to { left: 130%; } }

      /* ============ LEDGER / CERTIFICATE CARD ============ */
      .ledger-card {
        position: relative;
        border-top: 2px solid #C9A961;
      }
      .ledger-card .file-no {
        font-family: 'IBM Plex Mono', monospace;
        letter-spacing: 0.18em;
        text-transform: uppercase;
        font-size: 0.68rem;
        color: #9C7B3E;
      }

      /* Corner ticks — a seal / certificate detail used sparingly on the
         hero portrait and the purchase-order document card */
      .corner-ticks::before,
      .corner-ticks::after,
      .corner-ticks .tick-tr,
      .corner-ticks .tick-bl {
        content: '';
        position: absolute;
        width: 22px;
        height: 22px;
        border-color: #C9A961;
        z-index: 2;
      }
      .corner-ticks::before { top: -1px; left: -1px; border-top: 2px solid; border-left: 2px solid; }
      .corner-ticks::after { bottom: -1px; right: -1px; border-bottom: 2px solid; border-right: 2px solid; }
      .corner-ticks .tick-tr { top: -1px; right: -1px; border-top: 2px solid; border-right: 2px solid; }
      .corner-ticks .tick-bl { bottom: -1px; left: -1px; border-bottom: 2px solid; border-left: 2px solid; }

      /* ============ MOTION ============ */
      @keyframes float {
        0%, 100% { transform: translateY(0); }
        50% { transform: translateY(-8px); }
      }
      .animate-float { animation: float 6s ease-in-out infinite; }

      @keyframes pulse-glow {
        0%, 100% { opacity: 0.35; transform: scale(1); }
        50% { opacity: 0.6; transform: scale(1.08); }
      }
      .animate-pulse-glow { animation: pulse-glow 5s ease-in-out infinite; }

      .reveal {
        opacity: 0;
        transform: translateY(26px);
        transition: opacity 0.85s cubic-bezier(.2,.7,.2,1), transform 0.85s cubic-bezier(.2,.7,.2,1);
      }
      .reveal.is-visible { opacity: 1; transform: translateY(0); }

      @media (prefers-reduced-motion: reduce) {
        html { scroll-behavior: auto; }
        .reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
        .animate-float, .animate-pulse-glow { animation: none !important; }
        .btn-shimmer::after { display: none !important; }
      }

      /* Focus states kept visible for accessibility */
      a:focus-visible, button:focus-visible {
        outline: 2px solid #C9A961;
        outline-offset: 3px;
      }

/* Styles moved from HTML style attributes. */
.page-inline-1 { transition-delay:80ms; }
.page-inline-2 { transition-delay:160ms; }
.page-inline-3 { transition-delay:240ms; }
.page-inline-4 { transition-delay:80ms; }
.page-inline-5 { transition-delay:160ms; }
.page-inline-6 { transition-delay:240ms; }
.page-inline-7 { transition-delay:100ms; }
.page-inline-8 { transition-delay:200ms; }
.page-inline-9 { transition-delay:80ms; }
.page-inline-10 { transition-delay:160ms; }
.page-inline-11 { transition-delay:80ms; }
.page-inline-12 { transition-delay:160ms; }
.page-inline-13 { transition-delay:80ms; }
.page-inline-14 { transition-delay:160ms; }
.page-inline-15 { transition-delay:240ms; }
