/* ==========================================
   THE INVESTOR JOURNAL — NEWSPAPER BLOG
   ========================================== */

/* --- Base Reset --- */
*, *::before, *::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 20px;
}

::selection {
    background: #1a1a1a;
    color: #faf8f2;
}

body {
    font-family: 'Source Serif 4', 'Libre Baskerville', Georgia, 'Times New Roman', serif;
    background: #faf8f2;
    color: #1a1a1a;
    line-height: 1.7;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
}

a { color: #1a1a1a; text-decoration: none; }
ul { list-style: none; }

/* Newspaper texture */
body::before {
    content: '';
    position: fixed;
    inset: 0;
    background: url("data:image/svg+xml,%3Csvg width='200' height='200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.015'/%3E%3C/svg%3E");
    pointer-events: none;
    z-index: 0;
}

/* --- Masthead --- */
.masthead {
    max-width: 1100px;
    margin: 0 auto;
    padding: 24px 32px 0;
    position: relative;
    z-index: 1;
}

.masthead-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 12px;
}

.masthead-center { text-align: center; flex: 1; }

.masthead-title-link { color: #1a1a1a; text-decoration: none; }
.masthead-title-link:hover { color: #8b0000; }

.masthead-title {
    font-family: 'UnifrakturMaguntia', 'Playfair Display', serif;
    font-size: clamp(2.2rem, 5.5vw, 3.8rem);
    font-weight: 400;
    letter-spacing: 0.02em;
    line-height: 1.1;
    transition: color 0.2s;
}

.masthead-subtitle {
    font-family: 'Libre Baskerville', serif;
    font-style: italic;
    font-size: 0.82rem;
    color: #666;
    margin-top: 4px;
    letter-spacing: 0.03em;
}

.masthead-left,
.masthead-right { min-width: 180px; }
.masthead-right { text-align: right; }

.dateline {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #888;
    font-family: 'Source Serif 4', serif;
}

/* Rules */
.masthead-rule { height: 1px; background: #1a1a1a; width: 100%; }

.masthead-rule.double {
    height: 0;
    border-top: 3px solid #1a1a1a;
    border-bottom: 1px solid #1a1a1a;
    padding-top: 3px;
}

.masthead-rule.thin { background: #ccc; }

/* Nav */
.masthead-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    padding: 10px 0;
    flex-wrap: wrap;
}

.masthead-nav a {
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-weight: 600;
    color: #1a1a1a;
    transition: color 0.2s;
    font-family: 'Source Serif 4', serif;
    padding: 4px 0;
    border-bottom: 2px solid transparent;
}

.masthead-nav a:hover { color: #8b0000; }
.masthead-nav a.active { color: #8b0000; border-bottom-color: #8b0000; }
.nav-dot { color: #ccc; font-size: 0.6rem; }

/* --- Page Indicator --- */
.page-indicator {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 0 10px;
    font-family: 'Source Serif 4', serif;
}

.page-label {
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: #888;
}

.page-section {
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    color: #1a1a1a;
}

.page-date {
    font-size: 0.72rem;
    font-style: italic;
    color: #888;
    font-family: 'Libre Baskerville', serif;
}

/* --- Broadsheet --- */
.broadsheet {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 32px 60px;
    position: relative;
    z-index: 1;
}

/* --- Front Page --- */
.headline-banner {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 20px 0 16px;
}

.banner-rule { flex: 1; height: 1px; background: #ccc; }

.edition-tag {
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    color: #8b0000;
    font-weight: 700;
    white-space: nowrap;
    font-family: 'Source Serif 4', serif;
}

.main-headline {
    font-family: 'Playfair Display', serif;
    font-size: clamp(1.8rem, 4vw, 2.9rem);
    font-weight: 900;
    line-height: 1.15;
    letter-spacing: -0.01em;
    color: #1a1a1a;
    text-align: center;
    padding: 8px 0 16px;
}

.headline-deck {
    text-align: center;
    font-family: 'Libre Baskerville', serif;
    font-style: italic;
    font-size: 1.05rem;
    color: #444;
    line-height: 1.7;
    max-width: 740px;
    margin: 0 auto 20px;
}

.byline-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 0 12px;
    flex-wrap: wrap;
    gap: 8px;
}

.byline { font-size: 0.82rem; color: #555; }
.byline-label { font-style: italic; }
.byline strong {
    color: #1a1a1a;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-size: 0.78rem;
}
.byline-date { font-size: 0.78rem; color: #888; font-style: italic; }

/* --- Featured Grid (Front Page) --- */
.featured-grid {
    display: grid;
    grid-template-columns: 1fr 380px;
    gap: 36px;
    margin-top: 24px;
}

.article-card.lead {
    border-right: 1px solid #ddd;
    padding-right: 32px;
}

.article-category {
    font-size: 0.65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    color: #8b0000;
    margin-bottom: 10px;
    font-family: 'Source Serif 4', serif;
}

.article-title {
    font-family: 'Playfair Display', serif;
    font-size: 1.6rem;
    font-weight: 800;
    line-height: 1.2;
    margin-bottom: 12px;
}

.article-title a { transition: color 0.2s; }
.article-title a:hover { color: #8b0000; }

.article-deck {
    font-family: 'Libre Baskerville', serif;
    font-style: italic;
    font-size: 0.92rem;
    color: #555;
    line-height: 1.6;
    margin-bottom: 16px;
}

.article-body p {
    font-size: 0.95rem;
    margin-bottom: 14px;
    text-align: justify;
    hyphens: auto;
}

/* Sidebar stories */
.sidebar-stories {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.sidebar-rule {
    height: 1px;
    background: #ddd;
}

.article-card.compact {
    padding: 0;
}

.article-title-sm {
    font-family: 'Playfair Display', serif;
    font-size: 1.1rem;
    font-weight: 700;
    line-height: 1.25;
    margin-bottom: 8px;
}

.article-title-sm a { transition: color 0.2s; }
.article-title-sm a:hover { color: #8b0000; }

.article-excerpt {
    font-size: 0.85rem;
    color: #555;
    line-height: 1.6;
    margin-bottom: 6px;
}

.read-more {
    font-size: 0.78rem;
    font-family: 'Source Serif 4', serif;
}

/* Bottom Strip */
.bottom-strip {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
}

.strip-item {
    border-left: 1px solid #ddd;
    padding-left: 20px;
}

.strip-item:first-child {
    border-left: none;
    padding-left: 0;
}

.strip-text {
    font-size: 0.85rem;
    color: #555;
    line-height: 1.6;
    font-style: italic;
}

/* --- Drop Cap --- */
.drop-cap::first-letter {
    font-family: 'Playfair Display', serif;
    float: left;
    font-size: 4.2rem;
    font-weight: 900;
    line-height: 0.75;
    padding: 6px 10px 0 0;
    color: #1a1a1a;
}

/* --- Pull Quote --- */
.pull-quote {
    break-inside: avoid;
    margin: 24px 0;
    padding: 0;
}

.pq-rule { height: 2px; background: #1a1a1a; }

.pull-quote blockquote {
    font-family: 'Playfair Display', serif;
    font-size: 1.15rem;
    font-weight: 500;
    font-style: italic;
    line-height: 1.6;
    padding: 16px 0;
    color: #1a1a1a;
    text-align: center;
}

.pq-attribution {
    display: block;
    font-size: 0.82rem;
    font-style: normal;
    font-weight: 400;
    color: #888;
    margin-top: 6px;
    font-family: 'Source Serif 4', serif;
}

/* --- Links --- */
.continued {
    font-style: italic;
    color: #666;
    font-size: 0.88rem !important;
    break-inside: avoid;
}

.text-link {
    color: #8b0000;
    font-weight: 700;
    font-style: normal;
    border-bottom: 1px solid #8b0000;
    transition: color 0.2s, border-color 0.2s;
}

.text-link:hover { color: #1a1a1a; border-color: #1a1a1a; }

.page-turn {
    text-align: right;
    padding: 24px 0 8px;
    border-top: 1px solid #e5e2da;
    margin-top: 24px;
    font-size: 0.88rem;
    font-family: 'Source Serif 4', serif;
}

/* --- Sidebar Components --- */
.sidebar-box { padding: 0; }

.box-header {
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.16em;
    color: #1a1a1a;
    font-family: 'Source Serif 4', serif;
    padding-bottom: 6px;
}

.box-rule { height: 2px; background: #1a1a1a; margin-bottom: 14px; }

.number-item {
    padding: 10px 0;
    border-bottom: 1px solid #e5e2da;
}
.number-item:last-child { border-bottom: none; }

.big-num {
    display: block;
    font-family: 'Playfair Display', serif;
    font-size: 1.8rem;
    font-weight: 900;
    color: #1a1a1a;
    line-height: 1.1;
    transition: color 0.2s;
}

.num-label {
    display: block;
    font-size: 0.78rem;
    color: #666;
    line-height: 1.4;
    margin-top: 2px;
}

.sidebar-bullets li {
    padding: 6px 0;
    font-size: 0.82rem;
    color: #444;
    line-height: 1.5;
    border-bottom: 1px solid #e5e2da;
    padding-left: 14px;
    position: relative;
}

.sidebar-bullets li::before {
    content: '\25A0';
    position: absolute;
    left: 0;
    font-size: 0.5rem;
    top: 10px;
    color: #1a1a1a;
}

.sidebar-bullets li:last-child { border-bottom: none; }

.sidebar-bullets.compact li {
    padding: 4px 0 4px 14px;
    font-size: 0.8rem;
}

.sidebar-index li { border-bottom: 1px solid #e5e2da; }
.sidebar-index li:last-child { border-bottom: none; }

.sidebar-index a {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding: 8px 0;
    font-size: 0.82rem;
    color: #1a1a1a;
    transition: color 0.2s;
}
.sidebar-index a:hover { color: #8b0000; }

.page-num {
    font-size: 0.72rem;
    color: #888;
    font-style: italic;
    font-family: 'Libre Baskerville', serif;
    white-space: nowrap;
}

/* --- Scenario Items (Strategy page) --- */
.scenario-item {
    padding: 12px 0;
    border-bottom: 1px solid #e5e2da;
}
.scenario-item:last-child { border-bottom: none; }

.scenario-label {
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #1a1a1a;
    font-family: 'Source Serif 4', serif;
}

.scenario-weight {
    float: right;
    font-size: 0.72rem;
    color: #8b0000;
    font-weight: 700;
    font-family: 'Source Serif 4', serif;
}

.scenario-item p {
    font-size: 0.8rem;
    color: #555;
    line-height: 1.5;
    margin-top: 4px;
    clear: both;
}

/* --- Section Rules & Ornaments --- */
.section-rule-ornament {
    text-align: center;
    padding: 36px 0;
    position: relative;
}

.section-rule-ornament::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    height: 1px;
    background: #ccc;
}

.ornament {
    position: relative;
    display: inline-block;
    background: #faf8f2;
    padding: 0 20px;
    font-family: 'Playfair Display', serif;
    font-size: 1.2rem;
    color: #999;
}

/* --- Section News --- */
.section-news { padding: 0; }

.section-label {
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    color: #8b0000;
    margin-bottom: 8px;
    font-family: 'Source Serif 4', serif;
}

.section-headline {
    font-family: 'Playfair Display', serif;
    font-size: clamp(1.4rem, 3vw, 2.1rem);
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -0.01em;
    color: #1a1a1a;
    margin-bottom: 24px;
}

.subsection-headline {
    font-family: 'Playfair Display', serif;
    font-size: 1.2rem;
    font-weight: 700;
    color: #1a1a1a;
}

/* --- Two Columns --- */
.two-columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 36px;
}

.two-columns p {
    font-size: 0.95rem;
    margin-bottom: 14px;
    text-align: justify;
    hyphens: auto;
}

/* --- Front Columns (with sidebar) --- */
.front-columns {
    display: grid;
    grid-template-columns: 1fr 340px;
    gap: 36px;
}

.col-main {
    column-count: 2;
    column-gap: 32px;
    column-rule: 1px solid #ddd;
}

.col-main p {
    font-size: 0.95rem;
    margin-bottom: 14px;
    text-align: justify;
    hyphens: auto;
    orphans: 3;
    widows: 3;
}

.col-sidebar {
    display: flex;
    flex-direction: column;
    gap: 24px;
    border-left: 1px solid #ccc;
    padding-left: 28px;
}

/* --- Data Table --- */
.data-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.85rem;
    margin-bottom: 24px;
}

.data-table th {
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-weight: 700;
    text-align: left;
    padding: 8px 10px;
    border-bottom: 2px solid #1a1a1a;
    border-top: 2px solid #1a1a1a;
    color: #1a1a1a;
    font-family: 'Source Serif 4', serif;
}

.data-table td {
    padding: 10px 10px;
    border-bottom: 1px solid #e5e2da;
    color: #333;
    vertical-align: top;
}

.data-table td strong { color: #1a1a1a; }
.data-table tbody tr:hover { background: rgba(0, 0, 0, 0.02); }

.table-note {
    font-size: 0.75rem;
    color: #888;
    line-height: 1.5;
    margin-top: -16px;
}

/* --- Inline Box --- */
.inline-box { padding: 16px 0 0; }

.inline-box p {
    font-size: 0.85rem;
    margin-bottom: 6px;
    text-align: left !important;
}

/* --- Ideas Page: Mental Models Grid --- */
.ideas-intro {
    max-width: 800px;
}

.ideas-intro p {
    font-size: 0.95rem;
    text-align: justify;
    hyphens: auto;
    margin-bottom: 14px;
}

.models-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    border: 1px solid #ccc;
    margin-top: 28px;
}

.model-card {
    padding: 24px;
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    transition: background 0.2s;
    position: relative;
}

.model-card:nth-child(3n) { border-right: none; }
.model-card:nth-child(n+10) { border-bottom: none; }

.model-card:hover { background: #f5f3ed; }

.model-number {
    display: block;
    font-family: 'Playfair Display', serif;
    font-size: 1.8rem;
    font-weight: 900;
    color: #e5e2da;
    line-height: 1;
    margin-bottom: 8px;
}

.model-card h4 {
    font-family: 'Playfair Display', serif;
    font-size: 1.05rem;
    font-weight: 700;
    margin-bottom: 4px;
}

.model-source {
    display: inline-block;
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #8b0000;
    font-weight: 700;
    font-family: 'Source Serif 4', serif;
    margin-bottom: 10px;
}

.model-card p {
    font-size: 0.82rem;
    color: #555;
    line-height: 1.6;
}

/* --- Classifieds --- */
.classifieds-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    border: 2px solid #1a1a1a;
    margin-top: 8px;
}

.classified-ad {
    padding: 24px;
    border-right: 1px solid #ccc;
    text-align: center;
}

.classified-ad:last-child { border-right: none; }

.ad-header {
    font-size: 0.65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.16em;
    color: #1a1a1a;
    padding-bottom: 10px;
    margin-bottom: 12px;
    border-bottom: 1px solid #ccc;
    font-family: 'Source Serif 4', serif;
}

.ad-body p {
    font-size: 0.82rem;
    color: #444;
    line-height: 1.6;
    margin-bottom: 8px;
}

.contact-link {
    display: block;
    font-family: 'Playfair Display', serif;
    font-size: 1rem;
    font-weight: 700;
    color: #1a1a1a;
    margin-bottom: 8px;
    transition: color 0.2s;
    word-break: break-all;
}

.contact-link:hover { color: #8b0000; }

/* --- Ledger (About page) --- */
.ledger-item {
    display: flex;
    justify-content: space-between;
    padding: 8px 0;
    border-bottom: 1px solid #e5e2da;
    font-size: 0.85rem;
}
.ledger-item:last-child { border-bottom: none; }

.ledger-label {
    color: #888;
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-family: 'Source Serif 4', serif;
}

.ledger-value {
    font-weight: 700;
    text-align: right;
    color: #1a1a1a;
}

/* --- Editorial List --- */
.editorial-list {
    margin: 16px 0;
}

.editorial-list li {
    padding: 8px 0 8px 18px;
    font-size: 0.92rem;
    color: #333;
    line-height: 1.6;
    border-bottom: 1px solid #e5e2da;
    position: relative;
}

.editorial-list li::before {
    content: '\25A0';
    position: absolute;
    left: 0;
    font-size: 0.5rem;
    top: 14px;
    color: #8b0000;
}

.editorial-list li:last-child { border-bottom: none; }

.editorial-list li strong {
    color: #1a1a1a;
}

/* --- Disclaimer --- */
.disclaimer-text {
    font-size: 0.78rem;
    color: #888;
    line-height: 1.6;
    font-style: italic;
}

/* --- Final Note --- */
.final-note {
    text-align: center;
    font-size: 0.92rem;
    color: #666;
    line-height: 1.7;
}

.final-note .back-link { margin-top: 16px; }

/* --- Colophon --- */
.colophon {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 32px 40px;
    position: relative;
    z-index: 1;
}

.colophon-content { text-align: center; padding: 20px 0; }

.colophon-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-bottom: 16px;
    flex-wrap: wrap;
}

.colophon-nav a {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-weight: 600;
    color: #888;
    font-family: 'Source Serif 4', serif;
    transition: color 0.2s;
}

.colophon-nav a:hover { color: #8b0000; }
.colophon-nav span { color: #ccc; font-size: 0.6rem; }

.colophon-note {
    font-size: 0.78rem;
    color: #888;
    line-height: 1.6;
    margin-bottom: 4px;
}

.colophon-copy { font-size: 0.72rem; color: #aaa; }

/* --- Edition Archive (Landing Page) --- */
.edition-archive {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 32px 60px;
    position: relative;
    z-index: 1;
}

.editions-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 32px;
    margin-top: 28px;
}

.edition-card {
    border: 1px solid #ccc;
    padding: 28px;
    transition: background 0.2s, border-color 0.2s;
}

.edition-card:hover {
    background: #f5f3ed;
    border-color: #999;
}

.edition-card .edition-vol {
    font-size: 0.65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    color: #8b0000;
    font-family: 'Source Serif 4', serif;
    margin-bottom: 8px;
}

.edition-card h3 {
    font-family: 'Playfair Display', serif;
    font-size: 1.3rem;
    font-weight: 800;
    line-height: 1.2;
    margin-bottom: 10px;
}

.edition-card h3 a {
    transition: color 0.2s;
}

.edition-card h3 a:hover {
    color: #8b0000;
}

.edition-card .edition-date {
    font-size: 0.78rem;
    color: #888;
    font-style: italic;
    font-family: 'Libre Baskerville', serif;
    margin-bottom: 12px;
}

.edition-card .edition-summary {
    font-size: 0.85rem;
    color: #555;
    line-height: 1.6;
    margin-bottom: 14px;
}

.edition-card .edition-link {
    font-size: 0.78rem;
    font-family: 'Source Serif 4', serif;
}

/* --- Animations --- */
.front-page,
.section-news {
    animation: fadeIn 0.6s ease-out;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

.number-item:hover .big-num { color: #8b0000; }

/* --- Responsive --- */
@media (max-width: 960px) {
    .featured-grid { grid-template-columns: 1fr; }
    .article-card.lead { border-right: none; padding-right: 0; border-bottom: 1px solid #ddd; padding-bottom: 24px; }
    .front-columns { grid-template-columns: 1fr; }
    .col-main { column-count: 2; }
    .col-sidebar {
        border-left: none;
        padding-left: 0;
        border-top: 1px solid #ccc;
        padding-top: 24px;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 24px;
    }
    .two-columns { grid-template-columns: 1fr 1fr; }
    .bottom-strip { grid-template-columns: 1fr 1fr; }
    .models-grid { grid-template-columns: repeat(2, 1fr); }
    .model-card:nth-child(3n) { border-right: 1px solid #ccc; }
    .model-card:nth-child(2n) { border-right: none; }
    .classifieds-grid { grid-template-columns: 1fr 1fr; }
    .classified-ad:nth-child(2) { border-right: none; }
    .classified-ad:nth-child(1),
    .classified-ad:nth-child(2) { border-bottom: 1px solid #ccc; }
}

@media (max-width: 680px) {
    .masthead { padding: 16px 20px 0; }
    .broadsheet { padding: 0 20px 40px; }
    .colophon { padding: 0 20px 30px; }
    .edition-archive { padding: 0 20px 40px; }
    .masthead-left, .masthead-right { display: none; }
    .masthead-nav { gap: 8px; }
    .masthead-nav a { font-size: 0.68rem; letter-spacing: 0.06em; }
    .main-headline { font-size: 1.5rem; }
    .col-main { column-count: 1; }
    .col-sidebar { grid-template-columns: 1fr; }
    .featured-grid,
    .front-columns,
    .two-columns,
    .bottom-strip,
    .models-grid,
    .classifieds-grid {
        grid-template-columns: 1fr;
    }
    .strip-item { border-left: none; padding-left: 0; border-top: 1px solid #ddd; padding-top: 16px; }
    .strip-item:first-child { border-top: none; padding-top: 0; }
    .model-card { border-right: none !important; }
    .classified-ad { border-right: none; border-bottom: 1px solid #ccc; }
    .classified-ad:last-child { border-bottom: none; }
    .page-indicator { flex-direction: column; gap: 4px; text-align: center; }
    .editions-grid { grid-template-columns: 1fr; }
}

@media print {
    body { background: white; }
    body::before { display: none; }
    .masthead-nav, .colophon-nav, .page-turn { display: none; }
}
