/* Cheap Weekend Breaks: a practical newspaper, built on the foundation's semantic layouts. */
html:root {
  --paper: #faf8ef;
  --ink: #20271e;
  --muted: #535b4d;
  --line: #c5c8b5;
  --panel: #f0f0e3;
  --heading: Georgia, 'Times New Roman', serif;
  font-size: 17px;
  line-height: 1.7;
}
html[data-theme="journal"] body { background: var(--paper); }
html[data-theme="journal"] .wrap { width: min(1240px, calc(100% - 5rem)); }
html[data-theme="journal"] .preview-notice { background: #e2e9b2; color: var(--ink); letter-spacing: .045em; }
html[data-theme="journal"] .site-header { display: block; border-bottom: 3px double var(--ink); padding: 1.8rem 0 0; }
html[data-theme="journal"] .site-header .brand { display: block; font-size: clamp(1.8rem, 5vw, 3.9rem); line-height: 1.04; letter-spacing: -.065em; padding-bottom: 1.1rem; }
html[data-theme="journal"] .site-header nav { border-top: 1px solid var(--line); }
html[data-theme="journal"] .site-header nav ul { gap: 0; justify-content: space-between; font-size: .8rem; font-weight: 700; }
html[data-theme="journal"] .site-header nav a { padding: .85rem .6rem; min-height: 44px; }
html[data-theme="journal"] .site-header nav li:first-child a { padding-left: 0; }
html[data-theme="journal"] .site-header nav a:hover, html[data-theme="journal"] .site-header nav a[aria-current] { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .35em; }
html[data-theme="journal"] .breadcrumbs { padding-top: 1.2rem; }
html[data-theme="journal"] .page-header { position: relative; padding: 3.5rem 0 2.4rem; border-bottom: 1px solid var(--ink); margin-bottom: 2.4rem; }
html[data-theme="journal"] h1 { font-size: clamp(2.7rem, 5.6vw, 5.4rem); max-width: 20ch; line-height: 1.04; letter-spacing: -.055em; }
html[data-theme="journal"] .eyebrow { color: #344027; font-size: .7rem; letter-spacing: .17em; }
html[data-theme="journal"] .page-header > .eyebrow { display: inline-block; padding: .32rem .65rem; margin-bottom: .7rem; background: var(--accent); }
html[data-theme="journal"] .intro { max-width: 65ch; font-size: 1.18rem; line-height: 1.55; }
html[data-theme="journal"] .byline { font-size: .76rem; letter-spacing: .015em; }
html[data-theme="journal"] h2 { font-size: clamp(1.65rem, 3vw, 2.45rem); line-height: 1.15; }
html[data-theme="journal"] h3 { font-size: 1.45rem; line-height: 1.2; }
html[data-theme="journal"] .feature-list { display: grid; grid-template-columns: 1fr 2.3fr; gap: 3rem; border-block: 0; padding: 0 0 2.5rem; }
html[data-theme="journal"] .section-label { padding-top: 1.4rem; }
html[data-theme="journal"] .curated-links { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 2rem; }
html[data-theme="journal"] .curated-item { display: grid; grid-template-columns: 2.2rem 1fr; gap: .6rem; border: 0; border-top: 1px solid var(--ink); padding: 1.6rem 0; background: transparent; }
html[data-theme="journal"] .item-number { display: block; font-family: var(--heading); font-size: 1.5rem; line-height: 1.1; color: #58643b; }
html[data-theme="journal"] .curated-item h3 { font-size: 1.5rem; margin-bottom: .7rem; }
html[data-theme="journal"] .curated-item h3 a { text-decoration: none; }
html[data-theme="journal"] .curated-item h3 a:hover { text-decoration: underline; }
html[data-theme="journal"] .curated-item p { font-size: .94rem; line-height: 1.6; margin-bottom: 0; }
html[data-theme="journal"] .archetype-home .curated-item:first-child { grid-column: 1/-1; padding: 1.8rem 1.3rem; background: #e9edcd; border-top: 2px solid var(--ink); }
html[data-theme="journal"] .archetype-home .curated-item:first-child h3 { font-size: 2.1rem; }
html[data-theme="journal"] .prose { max-width: 76ch; }
html[data-theme="journal"] .prose section { padding: 1.8rem 0; border-top: 1px solid var(--line); }
html[data-theme="journal"] .prose section:first-child { border-top: 0; }
html[data-theme="journal"] .prose p, html[data-theme="journal"] .route p { max-width: 70ch; }
html[data-theme="journal"] .section-sources { font-size: .72rem; line-height: 1.9; color: var(--muted); }
html[data-theme="journal"] .section-sources a { display: inline-block; margin-right: .65rem; overflow-wrap: anywhere; }
html[data-theme="journal"] .on-this-page { background: var(--panel); padding: 1.5rem 1.8rem; border: 1px solid var(--line); margin-bottom: 2rem; max-width: 76ch; }
html[data-theme="journal"] .on-this-page h2 { font: 700 .8rem Arial, sans-serif; letter-spacing: .06em; text-transform: uppercase; }
html[data-theme="journal"] .on-this-page a { display: inline-block; padding: .25rem 0; }
html[data-theme="journal"] .table-scroll { border: 1px solid var(--ink); background: #fffdf6; margin: 1rem 0 2.6rem; }
html[data-theme="journal"] table { font-size: .9rem; }
html[data-theme="journal"] caption { text-align: left; background: #e6edb9; color: var(--ink); padding: 1.2rem; font-weight: 700; font-size: 1rem; }
html[data-theme="journal"] th, html[data-theme="journal"] td { padding: 1.1rem; vertical-align: top; }
html[data-theme="journal"] thead th { background: var(--ink); color: var(--paper); font-size: .75rem; letter-spacing: .04em; }
html[data-theme="journal"] tbody th { font-family: var(--heading); font-size: 1.1rem; font-weight: 400; }
html[data-theme="journal"] tbody tr:nth-child(even) { background: #f1f2e7; }
html[data-theme="journal"] .route { border: 0; padding: 0; }
html[data-theme="journal"] .route ol { padding-left: 2.4rem; }
html[data-theme="journal"] .route li { padding: 0 0 1.8rem 1rem; border-bottom: 1px solid var(--line); margin-bottom: 1.8rem; }
html[data-theme="journal"] .route li::marker { font: italic 1.8rem Georgia, serif; color: #526231; }
html[data-theme="journal"] .research-method { background: var(--panel); border: 1px solid var(--line); padding: 2rem; margin-bottom: 2rem; max-width: 85ch; }
html[data-theme="journal"] .merchant-section { margin-top: 3rem; border-top: 3px double var(--ink); padding-top: 2rem; }
html[data-theme="journal"] .merchant { background: transparent; border: 1px solid var(--line); padding: 1.5rem; margin: 1.4rem 0; max-width: 76ch; }
html[data-theme="journal"] .button { display: inline-block; background: var(--ink); color: var(--paper); border: 1px solid var(--ink); min-height: 44px; padding: .7rem 1.2rem; font-size: .85rem; font-weight: 700; text-decoration: none; }
html[data-theme="journal"] .button:hover { background: #e0e89b; color: var(--ink); }
html[data-theme="journal"] .evidence { margin-top: 3rem; border-top: 1px solid var(--ink); padding-top: 2rem; max-width: 90ch; }
html[data-theme="journal"] .evidence h3 { font-family: Arial, sans-serif; font-weight: 700; font-size: .95rem; }
html[data-theme="journal"] .evidence article { padding: 1.2rem 0; border-bottom: 1px solid var(--line); }
html[data-theme="journal"] .evidence p { font-size: .8rem; }
html[data-theme="journal"] .hero-image { margin: 0 0 3rem; }
html[data-theme="journal"] .hero-image img { border: 1px solid var(--line); }
html[data-theme="journal"] .hero-image figcaption { padding-top: .6rem; max-width: 85ch; font-size: .75rem; }
html[data-theme="journal"] .site-footer { border-top: 3px double var(--ink); padding-top: 2rem; padding-bottom: 3rem; margin-top: 4rem; }
html[data-theme="journal"] .site-footer .brand { font-size: 1.8rem; }
html[data-theme="journal"] .site-footer p:last-child { max-width: 85ch; font-size: .82rem; }
html[data-theme="journal"] a:focus-visible, html[data-theme="journal"] [tabindex]:focus-visible { outline: 3px solid #395c0c; outline-offset: 4px; }
@media (max-width: 900px) {
html[data-theme="journal"] .wrap { width: calc(100% - 3rem); }
html[data-theme="journal"] .feature-list { grid-template-columns: 1fr; gap: .5rem; }
html[data-theme="journal"] .site-header nav ul { justify-content: flex-start; column-gap: 1.1rem; }
html[data-theme="journal"] .site-header nav a { padding-inline: 0; }
html[data-theme="journal"] .page-header { padding-top: 2.4rem; }
}
@media (max-width: 600px) {
html:root { font-size: 16px; }
html[data-theme="journal"] .wrap { width: calc(100% - 2rem); }
html[data-theme="journal"] .site-header { padding-top: 1.3rem; }
html[data-theme="journal"] .site-header .brand { font-size: clamp(1.6rem, 7.2vw, 2.5rem); letter-spacing: -.055em; }
html[data-theme="journal"] .site-header nav ul { display: grid; grid-template-columns: 1fr 1fr; gap: 0 .6rem; font-size: .75rem; }
html[data-theme="journal"] .site-header nav a { padding-block: .6rem; }
html[data-theme="journal"] .page-header { padding: 2rem 0 1.4rem; margin-bottom: 1.7rem; }
html[data-theme="journal"] h1 { font-size: clamp(2.25rem, 10vw, 3.4rem); }
html[data-theme="journal"] .intro { font-size: 1.08rem; }
html[data-theme="journal"] .curated-links { grid-template-columns: 1fr; gap: 0; }
html[data-theme="journal"] .archetype-home .curated-item:first-child { padding-inline: .9rem; }
html[data-theme="journal"] .archetype-home .curated-item:first-child h3 { font-size: 1.75rem; }
html[data-theme="journal"] .curated-item { padding-block: 1.3rem; }
html[data-theme="journal"] .on-this-page, html[data-theme="journal"] .research-method, html[data-theme="journal"] .merchant { padding: 1.2rem; }
html[data-theme="journal"] .route ol { padding-left: 1.7rem; }
html[data-theme="journal"] .route li { padding-left: .3rem; }
html[data-theme="journal"] .table-scroll { max-width: 100%; }
html[data-theme="journal"] th, html[data-theme="journal"] td { padding: .8rem; }
html[data-theme="journal"] .evidence { overflow-wrap: anywhere; }
}
@media print {
html[data-theme="journal"] body { background: white; }
html[data-theme="journal"] .site-header { padding: 0 0 1rem; }
html[data-theme="journal"] .site-header .brand { font-size: 22pt; }
html[data-theme="journal"] .page-header { padding-top: 1rem; }
html[data-theme="journal"] .curated-links, html[data-theme="journal"] .feature-list { display: block; }
html[data-theme="journal"] .curated-item { break-inside: avoid; }
html[data-theme="journal"] .merchant { break-inside: avoid; }
html[data-theme="journal"] .button { background: white; color: black; }
}
/* Markdown bodies on comparison/research layouts are direct main children. */
html[data-theme="journal"] main > p,
html[data-theme="journal"] .entity-details > p { max-width: 72ch; }
