<?php
/**
 * SiteRecord - Marketing Landing Page
 * 
 * DESIGN INTENT:
 * - Authoritative, not flashy
 * - Calm, not sterile  
 * - Modern, not trendy
 * - Designed for legal, compliance, and executive audiences
 * 
 * This page should feel like a foundational document, not a product brochure.
 */

require_once __DIR__ . '/includes/bootstrap.php';
require_once dirname(__DIR__) . '/app/services/CsrfService.php';

if (SessionService::isLoggedIn() && !defined('ROUTER_CALL')) {
    header('Location: ' . BASE_PATH . '/dashboard');
    exit;
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>SiteRecord - Accessibility Compliance Records and Legal Defense Documentation</title>
    <link rel="stylesheet" href="<?php echo BASE_PATH; ?>/assets/css/marketing.css">
</head>
<body class="marketing-page">
    <div class="m-hero-zone">
        <canvas class="m-opening-canvas" id="particleCanvas"></canvas>

        <header class="m-header">
            <div class="m-header-inner">
                <a href="<?php echo BASE_PATH; ?>/" class="m-wordmark">SiteRecord</a>
                <nav class="m-nav">
                    <a href="<?php echo BASE_PATH; ?>/articles.php" class="m-nav-link">Articles</a>
                    <a href="<?php echo BASE_PATH; ?>/login.php" class="m-nav-link">Sign in</a>
                </nav>
            </div>
        </header>

        <section class="m-opening">
        <div style="position: relative; z-index: 1;">
            <h1 class="m-headline">You've been doing the work.<br>Now someone is asking you to <span class="m-headline-shimmer">prove</span> it.</h1>
            <p class="m-premise">ADA web accessibility lawsuits have increased sharply every year. When a demand letter arrives - and for many organizations it will - your attorney's first question is what documentation you have. This gap is well documented in large-scale accessibility studies and ADA litigation trends. A <a href="<?php echo BASE_PATH; ?>/are-accessibility-scans-enough-for-compliance" style="color:inherit;border-bottom:1px solid rgba(90,90,90,0.4);text-decoration:none;">scan report</a> proves you ran a scan. It does not prove you knew about issues, acted on them, tracked remediation, or maintained ongoing oversight. SiteRecord builds <a href="<?php echo BASE_PATH; ?>/what-is-accessibility-compliance-evidence" style="color:inherit;border-bottom:1px solid rgba(90,90,90,0.4);text-decoration:none;">the record</a> that answers those questions before they are asked.</p>
            <div style="margin-top:2rem;">
                <a href="<?php echo BASE_PATH; ?>/register.php" style="display:inline-block;padding:0.875rem 2rem;background:#1a365d;color:#fff;border-radius:4px;font-size:1rem;font-weight:500;text-decoration:none;letter-spacing:0.01em;">
                    Start free 30-day trial
                </a>
                <p style="margin-top:0.75rem;font-size:0.875rem;color:#6c757d;">No credit card required. Full access during trial.</p>
            </div>
        </div>
        </section>
    </div>

    <div class="m-rule"><hr class="m-rule-line"></div>

    <section class="m-propositions">
        <div class="m-proposition">
            <div class="m-proposition-label">The Problem</div>
            <div class="m-proposition-content">
                <h2 class="m-proposition-heading">Most organizations have no <a href="<?php echo BASE_PATH; ?>/what-is-a-defensible-accessibility-record" style="color:inherit;text-decoration:none;border-bottom:1px solid currentColor;">defensible record</a> of their accessibility work</h2>
                <p class="m-proposition-text">Scanners detect issues. Spreadsheets track them loosely. Email threads document decisions that no one can find later. When legal scrutiny arrives, organizations discover that years of genuine effort left behind nothing a court or regulator will credit. The work happened. The record does not exist.</p>
            </div>
        </div>

        <div class="m-proposition">
            <div class="m-proposition-label">The Scale of the Problem</div>
            <div class="m-proposition-content">
                <p class="m-proposition-text">Large-scale analyses of over one million websites consistently find that most fail basic accessibility checks. ADA-related digital accessibility lawsuits now exceed 4,000 cases per year in federal court alone, with thousands more in state courts and demand letters. Regulatory requirements are expanding across jurisdictions. The question is no longer whether your organization will face scrutiny, but whether you can produce evidence when it arrives.</p>
            </div>
        </div>

        <div class="m-proposition">
            <div class="m-proposition-label">Why Scanners Are Not Enough</div>
            <div class="m-proposition-content">
                <h2 class="m-proposition-heading">Automated scans capture only a fraction of issues and document none of the response</h2>
                <p class="m-proposition-text">Industry research shows automated tools detect only a portion of accessibility barriers. They do not show who was responsible for each issue, what remediation steps were taken, who reviewed the evidence, or whether the same issue was detected and ignored six months earlier. Under legal examination, a scan report without a governance record demonstrates activity, not accountability. Plaintiff counsel knows this. Your organization should too.</p>
                <ul class="m-proposition-list">
                    <li>Scans produce snapshots. Courts need timelines.</li>
                    <li>Detection is not the same as documented response.</li>
                    <li>An unremediated finding with no record is worse than no scan at all.</li>
                </ul>
            </div>
        </div>

        <div class="m-proposition">
            <div class="m-proposition-label">What SiteRecord Does</div>
            <div class="m-proposition-content">
                <h2 class="m-proposition-heading">A chain of institutional accountability, not just a log of findings</h2>
                <p class="m-proposition-text">SiteRecord records every step: when an issue was detected, who acknowledged it, who was assigned responsibility, what evidence of remediation was submitted, who reviewed that evidence, what they decided, and when. Every action is attributed, timestamped, and immutable. The result is a record that can be examined by someone who assumes you are wrong and is looking for gaps - and holds up anyway.</p>
                <ul class="m-proposition-list">
                    <li>Immutable finding and evidence records</li>
                    <li>Full attribution chain from detection to resolution</li>
                    <li>Separation of duties between evidence submission and review</li>
                    <li>Cryptographic integrity verification</li>
                </ul>
            </div>
        </div>

        <div class="m-proposition">
            <div class="m-proposition-label">Who Needs This</div>
            <div class="m-proposition-content">
                <h2 class="m-proposition-heading">You are competing with the absence of a system</h2>
                <p class="m-proposition-text">SiteRecord is not competing with other accessibility tools. It is replacing the spreadsheets, disconnected audit reports, and email threads that most organizations currently rely on. If you have received an ADA demand letter, operate under Section 508 obligations, or work with legal counsel on accessibility compliance, you already know what is missing. SiteRecord is what fills that gap.</p>
            </div>
        </div>
    </section>

    <div class="m-rule"><hr class="m-rule-line"></div>

    <section class="m-tiers">
        <div class="m-tiers-inner">
            <header class="m-tiers-header">
                <h2 class="m-tiers-title">Governance Levels</h2>
                <p class="m-tiers-subtitle">Both plans include unlimited websites and users. Governed covers recordkeeping and external sharing. Assurance adds governance controls, scoped access, and process verification.</p>
            </header>

            <div class="m-tiers-grid">
                <div class="m-tier featured">
                    <h3 class="m-tier-name">Governed</h3>
                    <p class="m-tier-price">$349<span class="m-tier-price-period"> / month</span></p>
                    <p class="m-tier-description">Automated scanning, structured finding records, compliance exports, and read-only external access links with logged access.</p>
                    <ul class="m-tier-inclusions">
                        <li>Automated accessibility scanning (scheduled and on-demand)</li>
                        <li>Structured finding records with lifecycle tracking</li>
                        <li>Remediation evidence submission</li>
                        <li>Independent evidence verification (triple separation of duties)</li>
                        <li>External anchoring via RFC 3161 Timestamp Authority</li>
                        <li>Compliance record export with embedded integrity hash</li>
                        <li>Deterministic record generation</li>
                        <li>Evidence Record and evidence package exports</li>
                        <li>External access links (read-only, expiring, revocable)</li>
                        <li>External access logging (IP, timestamp, token attribution)</li>
                    </ul>
                    <div style="margin-top:1.5rem;">
                        <a href="<?php echo BASE_PATH; ?>/register.php" style="display:inline-block;width:100%;box-sizing:border-box;text-align:center;padding:0.75rem 1rem;background:#1a365d;color:#fff;border-radius:4px;font-size:0.9375rem;font-weight:500;text-decoration:none;">
                            Start free trial
                        </a>
                    </div>
                </div>

                <div class="m-tier">
                    <h3 class="m-tier-name">Assurance</h3>
                    <p class="m-tier-price">$749<span class="m-tier-price-period"> / month</span></p>
                    <p class="m-tier-description">Adds governance controls, time-range scoped access, external review acknowledgment, and a tamper-evident chain of custody.</p>
                    <ul class="m-tier-inclusions">
                        <li>Everything in Governed</li>
                        <li>Evidence review workflow (accept/reject with rationale)</li>
                        <li>Separation of duties enforcement</li>
                        <li>Governance audit log with actor attribution</li>
                        <li>Verification-aware exports with coverage summary</li>
                        <li>Record-level anchoring status and coverage signals</li>
                        <li>Chain of custody with tamper-evident event sequence</li>
                        <li>Time-range scoped external access (restrict visible data by date)</li>
                        <li>External review acknowledgment (append-only, logged)</li>
                    </ul>
                    <div style="margin-top:1.5rem;">
                        <a href="<?php echo BASE_PATH; ?>/register.php" style="display:inline-block;width:100%;box-sizing:border-box;text-align:center;padding:0.75rem 1rem;background:#1a365d;color:#fff;border-radius:4px;font-size:0.9375rem;font-weight:500;text-decoration:none;">
                            Start free trial
                        </a>
                    </div>
                </div>
            </div>

            <p class="m-tiers-note">30-day free trial on both plans. No credit card required. Unlimited websites and users included.</p>
        </div>
    </section>

    <section class="m-learn-more">
        <h2>Learn More About Accessibility Compliance</h2>
        <ul>
            <li><a href="<?php echo BASE_PATH; ?>/what-is-accessibility-compliance-evidence">What Is Accessibility Compliance Evidence?</a></li>
            <li><a href="<?php echo BASE_PATH; ?>/are-accessibility-scans-enough-for-compliance">Are Accessibility Scans Enough for Compliance?</a></li>
            <li><a href="<?php echo BASE_PATH; ?>/what-is-a-defensible-accessibility-record">What Is a Defensible Accessibility Record?</a></li>
            <li><a href="<?php echo BASE_PATH; ?>/accessibility-testing-vs-accessibility-governance">Accessibility Testing vs. Accessibility Governance</a></li>
            <li><a href="<?php echo BASE_PATH; ?>/how-to-prove-accessibility-remediation">How to Prove Accessibility Remediation</a></li>
        </ul>
    </section>

    <footer class="m-footer">
        <p class="m-footer-disclaimer">SiteRecord produces documentation of monitoring and remediation activity. It is not a substitute for legal counsel and does not certify compliance with any regulation. Whether your records are sufficient for any legal purpose depends on your specific circumstances - consult qualified counsel.</p>
        <p class="m-footer-copyright">© 2026 SiteRecord</p>
    </footer>

    <script>
    (function() {
        // Respect prefers-reduced-motion
        var prefersReduced = window.matchMedia && window.matchMedia('(prefers-reduced-motion: reduce)').matches;

        // --- Scroll Reveal ---
        var propositions = document.querySelectorAll('.m-proposition');
        if (!prefersReduced && 'IntersectionObserver' in window) {
            var observer = new IntersectionObserver(function(entries) {
                entries.forEach(function(entry) {
                    if (entry.isIntersecting) {
                        entry.target.classList.add('is-visible');
                        observer.unobserve(entry.target);
                    }
                });
            }, { threshold: 0.15 });
            propositions.forEach(function(el) { observer.observe(el); });
        } else {
            // No observer or reduced motion — show immediately
            propositions.forEach(function(el) { el.classList.add('is-visible'); });
        }

        // --- Ambient Field Canvas ---
        if (prefersReduced) return;

        var canvas = document.getElementById('particleCanvas');
        if (!canvas || !canvas.getContext) return;
        var ctx = canvas.getContext('2d');
        if (!ctx) return;

        var width, height;
        var time = 0;
        var animFrame;

        function resize() {
            var zone = document.querySelector('.m-hero-zone');
            width = canvas.width = zone ? zone.offsetWidth : window.innerWidth;
            height = canvas.height = zone ? zone.offsetHeight : window.innerHeight;
        }
        resize();

        window.addEventListener('resize', resize);

        function draw() {
            time += 0.003;

            ctx.clearRect(0, 0, width, height);

            // soft gradient wash
            var grad = ctx.createRadialGradient(
                width * 0.5,
                height * 0.4,
                0,
                width * 0.5,
                height * 0.4,
                width * 0.8
            );

            grad.addColorStop(0, 'rgba(26, 54, 93, 0.08)');
            grad.addColorStop(1, 'rgba(26, 54, 93, 0.00)');

            ctx.fillStyle = grad;
            ctx.fillRect(0, 0, width, height);

            // flowing wave lines
            var lines = 6;
            for (var i = 0; i < lines; i++) {
                var offset = i * 40;
                ctx.beginPath();

                for (var x = 0; x <= width; x += 6) {
                    var y =
                        height * 0.5 +
                        Math.sin(x * 0.002 + time + i) * 20 +
                        offset;

                    if (x === 0) ctx.moveTo(x, y);
                    else ctx.lineTo(x, y);
                }

                ctx.strokeStyle = 'rgba(26, 54, 93, 0.12)';
                ctx.lineWidth = 1;
                ctx.stroke();
            }

            animFrame = requestAnimationFrame(draw);
        }

        draw();

        document.addEventListener('visibilitychange', function () {
            if (document.hidden) {
                cancelAnimationFrame(animFrame);
            } else {
                draw();
            }
        });
    })();
    </script>
</body>
</html>
