:root {
    --font-site-serif: Georgia, "Times New Roman", serif;
    --font-ui-sans: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
}

body {
    font-family: var(--font-site-serif);
}

.font-sans {
    font-family: var(--font-ui-sans);
}

.csp-honeypot {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.preview-banner {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 9999;
    background: linear-gradient(90deg, #d97706, #f59e0b);
    color: #000;
    text-align: center;
    padding: 0.65rem 1rem;
    font-family: var(--font-ui-sans);
    font-size: 0.85rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

.preview-banner__expiry {
    margin-left: 1rem;
    opacity: 0.8;
    font-weight: 400;
}

.preview-banner__spacer {
    height: 2.75rem;
}

@media print {
    *, *::before, *::after {
        color: #000 !important;
        background: #fff !important;
        box-shadow: none !important;
        text-shadow: none !important;
        border-color: #ccc !important;
    }

    body {
        font-family: Georgia, "Times New Roman", serif;
        font-size: 12pt;
        line-height: 1.6;
    }

    nav, footer,
    .sticky-share-bar,
    .cinematic-hero .hero-bg,
    .cinematic-hero .hero-gradient,
    .print-hero,
    section[class*="h-["],
    #reading-progress,
    .breadcrumb,
    .tags-section, .tags-list,
    .chronicle-related, .related-reflections, .related-grid,
    .event-card, .press-clip, .ticket,
    .photo-grid, .timeline-item,
    .review-side, .review-card, .review-notice,
    .faq-section,
    .bibliography-export,
    .reflection-sidenotes, .reflection-footer,
    .footer-translation, .footer-taxonomy,
    .hero-reflection-badge, .hero-thinkers,
    .event-badge-hero,
    .keynote-card, .committee-member, .program-day,
    .publication-card, .citation-box,
    .audio-player, #podcast-audio, .download-btn,
    #transcriptToggle, #transcriptContent,
    #travel-map,
    .author-img,
    .most-read-section,
    [data-print-btn-sidebar],
    [class*="comments"], [class*="most-read"], [class*="most_read"] {
        display: none !important;
    }

    .cinematic-hero {
        position: static !important;
        height: auto !important;
        overflow: visible !important;
        background: #fff !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .hero-text-container,
    .hero-text-inner {
        position: static !important;
        padding: 0 !important;
        max-width: 100% !important;
    }

    .hero-title-main, h1 {
        font-size: 22pt !important;
        font-weight: 400 !important;
        line-height: 1.25 !important;
        letter-spacing: normal !important;
        margin: 0 0 6pt !important;
        page-break-after: avoid;
    }

    .hero-description-text {
        font-size: 11pt !important;
        font-style: italic !important;
        margin-bottom: 8pt !important;
        max-width: 100% !important;
    }

    .meta-info-row {
        font-size: 9pt !important;
        margin-bottom: 14pt !important;
        padding-bottom: 8pt !important;
        border-bottom: 1px solid #ccc !important;
        gap: 6pt !important;
    }

    .author-details, .post-meta-details {
        font-size: 9pt !important;
    }

    main, article,
    .article-main,
    .reflection-article, .reflection-container,
    .reflection-layout, .reflection-prose,
    .reflection-content,
    .review-layout, .review-main,
    .prose-content, .prose,
    [itemprop="articleBody"] {
        max-width: 100% !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        display: block !important;
    }

    .prose-content, .reflection-prose, .prose,
    [itemprop="articleBody"] {
        font-size: 11pt !important;
        line-height: 1.65 !important;
    }

    .prose-content > p:first-of-type::first-letter,
    .reflection-prose > p:first-of-type::first-letter {
        float: none !important;
        font-size: inherit !important;
        line-height: inherit !important;
        margin: 0 !important;
    }

    .prose-content h2, .reflection-prose h2, .prose h2 {
        font-size: 15pt !important;
        font-weight: 600 !important;
        margin: 14pt 0 6pt !important;
        page-break-after: avoid;
    }

    .prose-content h2::before,
    .reflection-prose h2::before {
        display: none !important;
    }

    .prose-content h3, .reflection-prose h3, .prose h3 {
        font-size: 13pt !important;
        font-weight: 600 !important;
        margin: 10pt 0 4pt !important;
        page-break-after: avoid;
    }

    blockquote {
        border-left: 2pt solid #999 !important;
        padding: 4pt 12pt !important;
        margin: 10pt 0 !important;
        font-style: italic !important;
    }

    a[href^="http"]::after {
        content: " (" attr(href) ")";
        font-size: 8pt;
        color: #666 !important;
        word-break: break-all;
    }

    img:not(.hero-bg):not(.author-img) {
        max-width: 70% !important;
        height: auto !important;
        margin: 8pt auto !important;
        display: block !important;
        filter: none !important;
    }

    h2, h3 {
        page-break-after: avoid;
    }

    img, blockquote {
        page-break-inside: avoid;
    }

    p {
        orphans: 3;
        widows: 3;
    }

    body::before {
        content: "amaljarrahi.art";
        display: block;
        font-size: 8pt;
        color: #999 !important;
        text-align: right;
        margin-bottom: 6pt;
        letter-spacing: 0.1em;
        text-transform: uppercase;
    }

    @page {
        margin: 2cm;
        size: A4;
    }
}
