/* ============================================================
   Canvas Signature Heritage — Documents + 404
   csh-documents.css
   Shared theme alignment for policy and error pages
   ============================================================ */

.csh-document-page,
.error404 .csh-404-page {
    background-color: var(--csh-warm-white);
}

.csh-document-hero,
.csh-404-hero {
    background:
        linear-gradient(180deg, rgba(26, 39, 68, 0.92) 0%, rgba(26, 39, 68, 0.82) 100%),
        linear-gradient(135deg, rgba(201, 169, 110, 0.12) 0%, rgba(201, 169, 110, 0) 48%);
}

.csh-document-hero .csh-hero__content,
.csh-404-hero .csh-hero__content {
    padding: 170px 0 92px;
}

.csh-document-hero__eyebrow,
.csh-404-hero__eyebrow {
    margin-bottom: 1.1rem;
}

.csh-document-hero__title,
.csh-404-hero__title {
    max-width: 11ch;
    color: #fff;
    margin-bottom: 1.25rem;
}

.csh-document-hero__summary,
.csh-404-hero__summary {
    max-width: 42rem;
    margin-bottom: 0;
    color: rgba(255, 255, 255, 0.82);
}

.csh-document-shell,
.csh-404-shell {
    position: relative;
}

.csh-document-shell::before,
.csh-404-shell::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: min(100% - 3rem, calc(var(--container-mid) - 96px));
    height: 1px;
    transform: translateX(-50%);
    background: rgba(26, 39, 68, 0.12);
}

.csh-document-content {
    max-width: var(--container-narrow);
    padding-top: 1.5rem;
}

.csh-document-content > :first-child {
    margin-top: 0;
}

.csh-document-content h1,
.csh-document-content h2,
.csh-document-content h3,
.csh-document-content h4,
.csh-document-content h5,
.csh-document-content h6,
.csh-404-card h2,
.csh-404-links h2 {
    color: var(--csh-navy);
}

.csh-document-content h2 {
    margin: 3rem 0 1rem;
    font-size: clamp(1.9rem, 2.8vw, 2.7rem);
    line-height: 1.08;
}

.csh-document-content h3 {
    margin: 2.25rem 0 0.75rem;
    font-size: clamp(1.35rem, 2vw, 1.8rem);
    line-height: 1.15;
}

.csh-document-content p,
.csh-document-content li,
.csh-404-card p,
.csh-404-links li {
    font-family: var(--font-sans);
    font-size: 1rem;
    line-height: 1.85;
    color: var(--csh-text-mid);
}

.csh-document-content p + p,
.csh-document-content ul + p,
.csh-document-content ol + p,
.csh-document-content h2 + p,
.csh-document-content h3 + p {
    margin-top: 1rem;
}

.csh-document-content p strong:first-child {
    display: inline-block;
    margin-bottom: 0.25rem;
    font-size: 0.72rem;
    font-weight: 400;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--csh-gold-dark);
}

.csh-document-content ul,
.csh-document-content ol {
    margin: 1rem 0 1.25rem 1.25rem;
    padding: 0;
}

.csh-document-content ul {
    list-style: disc;
}

.csh-document-content ol {
    list-style: decimal;
}

.csh-document-content li + li {
    margin-top: 0.4rem;
}

.csh-document-content a,
.csh-404-links a {
    color: var(--csh-navy);
    text-decoration: underline;
    text-decoration-color: rgba(201, 169, 110, 0.8);
    text-decoration-thickness: 1px;
    text-underline-offset: 0.18em;
}

.csh-document-content a:hover,
.csh-404-links a:hover {
    color: var(--csh-gold-dark);
}

.csh-document-content blockquote {
    margin: 2.25rem 0;
    padding: 0 0 0 1.5rem;
    border-left: 1px solid var(--csh-gold);
}

.csh-document-content hr {
    border: 0;
    border-top: 1px solid rgba(26, 39, 68, 0.12);
    margin: 2.5rem 0;
}

.csh-404-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(18rem, 0.85fr);
    gap: 48px;
    align-items: start;
}

.csh-404-card,
.csh-404-links {
    padding: 0;
}

.csh-404-card h2,
.csh-404-links h2 {
    margin: 0 0 1rem;
    font-size: clamp(1.6rem, 2vw, 2.1rem);
    line-height: 1.1;
}

.csh-404-links ul {
    display: grid;
    gap: 0.85rem;
}

@media (max-width: 900px) {
    .csh-document-hero .csh-hero__content,
    .csh-404-hero .csh-hero__content {
        padding: 148px 0 72px;
    }

    .csh-404-grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }
}
