/* ==========================================================================
   Londyn Publishing — Copyright & Intellectual Property
   Veil Design System
   ========================================================================== */

.veil-legal-page {
    --legal-gold: #c6a45c;
    --legal-gold-bright: #e1c47a;
    --legal-gold-muted: rgba(198, 164, 92, 0.38);
    --legal-text: #d9d6cf;
    --legal-text-muted: #9e9a91;
    --legal-bg: #09090b;
    --legal-panel: rgba(18, 18, 21, 0.86);
    --legal-border: rgba(198, 164, 92, 0.22);

    position: relative;
    overflow: hidden;
    padding: clamp(48px, 7vw, 96px) 24px;
    color: var(--legal-text);
    background:
        radial-gradient(
            circle at 50% 0%,
            rgba(92, 26, 39, 0.20),
            transparent 38%
        ),
        linear-gradient(
            180deg,
            #0c0b0e 0%,
            var(--legal-bg) 45%,
            #070709 100%
        );
}


/* --------------------------------------------------------------------------
   Atmospheric background
   -------------------------------------------------------------------------- */

.veil-legal-page::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: 0.34;

    background:
        radial-gradient(
            circle at 15% 20%,
            rgba(118, 35, 50, 0.12),
            transparent 30%
        ),
        radial-gradient(
            circle at 85% 65%,
            rgba(93, 68, 35, 0.10),
            transparent 34%
        );
}


/* --------------------------------------------------------------------------
   Main document
   -------------------------------------------------------------------------- */

.veil-legal-inner {
    position: relative;
    z-index: 1;

    width: min(100%, 900px);
    margin: 0 auto;
    padding: clamp(34px, 5vw, 68px);

    background:
        linear-gradient(
            145deg,
            rgba(22, 21, 24, 0.94),
            rgba(11, 11, 13, 0.96)
        );

    border: 1px solid var(--legal-border);
    border-radius: 4px;

    box-shadow:
        0 30px 80px rgba(0, 0, 0, 0.42),
        inset 0 1px 0 rgba(255, 255, 255, 0.025);
}


/* --------------------------------------------------------------------------
   Header
   -------------------------------------------------------------------------- */

.veil-legal-header {
    position: relative;
    margin-bottom: 56px;
    padding-bottom: 42px;
    text-align: center;
}

.veil-legal-header::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;

    width: min(280px, 65%);
    height: 1px;

    transform: translateX(-50%);

    background:
        linear-gradient(
            90deg,
            transparent,
            var(--legal-gold),
            transparent
        );
}

.veil-legal-header h1 {
    margin: 0 0 20px;

    color: #f1eadc;

    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2rem, 4vw, 3.25rem);
    font-weight: 500;
    line-height: 1.12;
    letter-spacing: 0.035em;
}

.veil-legal-copyright {
    margin: 0;

    color: var(--legal-text-muted);

    font-size: 0.95rem;
    line-height: 1.8;
    letter-spacing: 0.025em;
}

.veil-legal-copyright strong {
    color: var(--legal-gold-bright);
    font-weight: 500;
}


/* --------------------------------------------------------------------------
   Sections
   -------------------------------------------------------------------------- */

.veil-legal-section {
    position: relative;
    margin: 0 0 52px;
}

.veil-legal-section:last-of-type {
    margin-bottom: 0;
}

.veil-legal-section h2 {
    position: relative;

    margin: 0 0 24px;
    padding-bottom: 14px;

    color: var(--legal-gold-bright);

    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.25rem, 2.2vw, 1.6rem);
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: 0.045em;
}

.veil-legal-section h2::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;

    width: 72px;
    height: 1px;

    background:
        linear-gradient(
            90deg,
            var(--legal-gold),
            transparent
        );
}

.veil-legal-section p {
    margin: 0 0 20px;

    color: var(--legal-text);

    font-size: 1rem;
    line-height: 1.85;
}

.veil-legal-section p:last-child {
    margin-bottom: 0;
}

.veil-legal-section strong {
    color: #eee7d9;
    font-weight: 600;
}


/* --------------------------------------------------------------------------
   Suggested credit
   -------------------------------------------------------------------------- */

.veil-legal-credit {
    position: relative;

    margin: 30px 0 !important;
    padding: 22px 26px;

    background:
        linear-gradient(
            90deg,
            rgba(198, 164, 92, 0.07),
            rgba(198, 164, 92, 0.025)
        );

    border-left: 2px solid var(--legal-gold);
}

.veil-legal-credit span {
    display: block;
    margin-bottom: 8px;

    color: var(--legal-gold);

    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.veil-legal-credit em {
    color: #f0ebe1;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.05rem;
    line-height: 1.7;
}


/* --------------------------------------------------------------------------
   Email / links
   -------------------------------------------------------------------------- */

.veil-legal-page a {
    color: var(--legal-gold-bright);
    text-decoration-color: rgba(225, 196, 122, 0.45);
    text-underline-offset: 3px;

    transition:
        color 160ms ease,
        text-decoration-color 160ms ease;
}

.veil-legal-page a:hover,
.veil-legal-page a:focus-visible {
    color: #f4dfaa;
    text-decoration-color: currentColor;
}


/* --------------------------------------------------------------------------
   Footer
   -------------------------------------------------------------------------- */

.veil-legal-footer {
    position: relative;

    margin-top: 64px;
    padding-top: 42px;

    text-align: center;
}

.veil-legal-footer::before {
    content: "✦";
    position: absolute;
    top: 0;
    left: 50%;

    padding: 0 18px;

    transform: translate(-50%, -50%);

    color: var(--legal-gold);
    background: #0d0d0f;

    font-size: 0.8rem;
}

.veil-legal-footer::after {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;

    width: min(360px, 70%);
    height: 1px;

    transform: translateX(-50%);
    z-index: -1;

    background:
        linear-gradient(
            90deg,
            transparent,
            var(--legal-gold-muted),
            transparent
        );
}

.veil-legal-footer p {
    max-width: 650px;
    margin: 0 auto 22px;

    color: var(--legal-text-muted);

    font-family: Georgia, "Times New Roman", serif;
    font-size: 1rem;
    line-height: 1.8;
}

.veil-legal-footer .veil-legal-closing {
    margin-top: 30px;
    margin-bottom: 0;

    color: var(--legal-gold-bright);

    font-size: 1.15rem;
    letter-spacing: 0.08em;
}


/* --------------------------------------------------------------------------
   Selection
   -------------------------------------------------------------------------- */

.veil-legal-page ::selection {
    color: #fff;
    background: rgba(118, 35, 50, 0.75);
}


/* --------------------------------------------------------------------------
   Mobile
   -------------------------------------------------------------------------- */

@media (max-width: 700px) {

    .veil-legal-page {
        padding: 24px 12px 48px;
    }

    .veil-legal-inner {
        padding: 32px 22px;
    }

    .veil-legal-header {
        margin-bottom: 42px;
        padding-bottom: 32px;
    }

    .veil-legal-section {
        margin-bottom: 42px;
    }

    .veil-legal-section p {
        font-size: 0.96rem;
        line-height: 1.75;
    }

    .veil-legal-credit {
        padding: 18px 20px;
    }

    .veil-legal-footer {
        margin-top: 52px;
    }
}


/* --------------------------------------------------------------------------
   Reduced motion
   -------------------------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .veil-legal-page *,
    .veil-legal-page *::before,
    .veil-legal-page *::after {
        transition: none !important;
    }
}


/* ==========================================================================
   TYPOGRAPHY — LP DESIGN SYSTEM
   ========================================================================== */

/* Default copyright page typography */
.veil-legal-page {
    font-family: var(--lpds-font-body);
}


/* Main page title */
.veil-legal-page .veil-legal-header h1 {
    font-family: var(
        --lpds-font-decorative,
        "Cinzel Decorative",
        Cinzel,
        serif
    );
    font-weight: 700;
}


/* Section headings */
.veil-legal-page .veil-legal-section h2 {
    font-family: var(
        --lpds-font-decorative,
        "Cinzel Decorative",
        Cinzel,
        serif
    );
    font-weight: 700;
}


/* Body copy */
.veil-legal-page p,
.veil-legal-page li {
    font-family: var(--lpds-font-body);
}


/* Copyright statement / introductory text */
.veil-legal-page .veil-legal-copyright {
    font-family: var(--lpds-font-display);
}


/* Suggested credit block */
.veil-legal-page .veil-legal-credit,
.veil-legal-page .veil-legal-credit p {
    font-family: var(--lpds-font-literary);
}


/* Links and email address */
.veil-legal-page a {
    font-family: inherit;
}


/* Footer */
.veil-legal-page .veil-legal-footer,
.veil-legal-page .veil-legal-footer p {
    font-family: var(--lpds-font-body);
}


/* Closing line */
.veil-legal-page .veil-legal-closing {
    font-family: var(--lpds-font-display);
}
