/* ============================================================
   MARILOU PRESS — refinement layer: moderate refresh over shared.css
   Keeps: dark ground, two-column hero, page layout.
   Changes: Fraunces -> Newsreader; no italic headlines;
   mono labels -> tightly-tracked bold grotesque; no logo dot;
   no arrow cards; fewer/heavier rules; red accent (no terracotta).
   ============================================================ */

:root, [data-palette] {
  --serif:   'Newsreader', 'Source Serif 4', Georgia, serif;
  --display: 'Newsreader', 'Source Serif 4', Georgia, serif;
  --mono:    'Archivo', 'Noto Sans', system-ui, sans-serif;
  --sans:    'Archivo', 'Noto Sans', system-ui, sans-serif;
}

/* Ground pulled off warm-brown toward neutral charcoal; accent to true red */
[data-palette="midnight"], [data-palette="sepia"], html:not([data-palette]) {
  --bg: #101011; --bg-2: #17171a; --bg-3: #1f1f23;
  --ink: #eae7e1; --ink-2: #b6b2ab; --ink-3: #85817a;
  --rule: #2b2b30;
  --accent: #e05a4a; --accent-dk: #b3382b;
  --accent-cta: #b3261e; --accent-cta-dk: #8e1c16;
  --white: #f4f1ec;
}
[data-palette="paper"] {
  --accent: #a8241e; --accent-dk: #82170f;
  --accent-cta: #b3261e; --accent-cta-dk: #8e1c16;
  --rule: #c4b9a2;
}
[data-palette="sepia"] { --accent: #e0705c; --accent-dk: #b3483a; --accent-cta: #b3382b; --accent-cta-dk: #8e2a20; --bg-2: #191518; }

body { font-size: 1.25rem; line-height: 1.6; }
/* Per-page rules override the body cascade — set body copy explicitly */
.home-intro-text p:not(.sec-label),
.author-text p:not(.sec-label):not(.author-video-meta),
.press-body p:not(.sec-label):not(.press-contact),
.book-desc p, .mockups-intro,
.review-body p, .press-item p:not(.press-source),
.intro-block p, .row p, .up-intro p, .collections-note {
  font-size: 1.25rem;
  line-height: 1.68;
}
.row.long p { font-size: 1.25rem; line-height: 1.68; }

/* ── Display: roman, sturdy news serif ── */
.hero-title, .hero-title .en, .hero-title .gr, .home-intro-text h2,
.nav-block .nb-title, .buy-strip-text, .press-hero h1, .press-hero h1 em,
.reviews-hero h1, .collections-heading, h1, h2, h3 { font-style: normal; }
.hero-title { font-weight: 600; line-height: 0.98; letter-spacing: -0.012em; }
.hero .hero-title .en { font-weight: 600; color: var(--ink); }
.hero .hero-title .fn { color: var(--ink); }
.hero .hero-title .ln { color: var(--ink); }
/* Hero: smaller English subtitle, full Greek title in serif beneath */
.hero-subtitle .sub-main { font-family: var(--display); font-weight: 400; font-size: clamp(19px, 2vw, 28px); line-height: 1.15; color: var(--accent); white-space: normal; max-width: none; margin-bottom: 0; }
.hero-subtitle .gr-full {
  display: block;
  font-family: var(--serif);
  font-style: normal;
  font-size: clamp(16px, 1.45vw, 20px);
  line-height: 1.4;
  color: var(--ink-2);
  max-width: none;
  margin: 16px 0 18px;
}
.hero-title .gr { font-weight: 500; color: var(--ink-2); }
.home-intro-text h2, .collections-heading { font-weight: 600; line-height: 1.05; letter-spacing: -0.012em; }
.home-intro-text h2 em, .buy-strip-text em { font-style: normal; color: var(--accent); font-weight: 600; }

/* Page-level rules set italic on their own headings — override them all */
h1, h2, h3, h1 em, h2 em, h3 em { font-style: normal !important; }

/* ── Labels: bold grotesque, tightly tracked (not airy letterspaced mono) ── */
.mono, .sec-label, .hero-subtitle .sub-meta, .ship-item, .nav-block .nb-desc,
.footer-col h4, .footer-base, .press-hero-sub, .collections-link,
.nav-links, .nav-buy, .btn, .nav-block .nb-num {
  font-family: var(--sans);
  letter-spacing: 0.02em;
  font-weight: 600;
  font-variant-caps: normal;
}
.sec-label { color: var(--accent); font-size: 0.76rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.03em; }
.mono, .hero-kicker .mono { font-size: 0.76rem; letter-spacing: 0.03em; }
.hero-kicker .mono { font-size: 0.92rem; letter-spacing: 0.04em; }
.hero-subtitle .sub-meta { font-size: 0.78rem; letter-spacing: 0.03em; line-height: 1.7; color: var(--ink-3); }
.ship-item { font-size: 0.8rem; letter-spacing: 0.02em; }
.nav-block .nb-desc { font-family: var(--serif); font-size: 1.02rem; font-weight: 400; letter-spacing: 0; text-transform: none; line-height: 1.5; color: var(--ink-3); }
/* Greek fallback for faces that carry a Latin-only subset */
.up-greek, .author-greek, .book-subtitle-gr, [lang="el"] { font-family: var(--serif); }
.footer-col h4 { font-size: 0.74rem; letter-spacing: 0.06em; font-weight: 700; color: var(--ink-3); }
.footer-base { font-size: 0.76rem; letter-spacing: 0.02em; }
.collections-note { font-family: var(--serif); font-size: 1.05rem; letter-spacing: 0; }
.collections-link { font-size: 0.82rem; letter-spacing: 0.04em; font-weight: 700; }

/* Hero cover sizing lives in one place — see the images block below. */

/* Book page hero: one accent, not two stacked reds */
.book-hero h1 { color: var(--ink); }
.book-isbn { font-size: 0.92rem !important; letter-spacing: 0.04em; color: var(--ink-3) !important; }
.book-text { container-type: inline-size; }
.book-hero-grid > div:last-child { container-type: inline-size; }
@media (min-width: 861px) { .book-hero-grid { grid-template-columns: 420px 1fr; column-gap: 56px; } }
/* Mid-range: hold book hero type large before the single-column break */
@media (max-width: 1180px) and (min-width: 981px) {
  .book-hero-grid { grid-template-columns: 300px 1fr; column-gap: 40px; }
  .book-page-title { font-size: clamp(44px, 10.4cqw, 76px); }
  .book-page-title em { font-size: clamp(24px, 4cqw, 34px); }
}
@media (max-width: 980px) and (min-width: 861px) {
  .book-hero-grid { grid-template-columns: 280px 1fr; column-gap: 36px; }
  .book-page-title { white-space: normal; font-size: clamp(40px, 11cqw, 60px); }
  .book-page-title em { font-size: clamp(21px, 4.4cqw, 28px); }
}
@media (max-width: 860px) and (min-width: 601px) {
  .book-page-title { white-space: normal; font-size: clamp(48px, 8vw, 72px); }
  .book-page-title em { font-size: clamp(22px, 3.4vw, 30px); }
  .book-page-greek, .book-title-greek { font-size: 0.8rem !important; letter-spacing: 0.18em !important; }
}
@media (max-width: 600px) {
  .book-page-title { white-space: normal; font-size: clamp(36px, 10vw, 52px); }
  .book-page-title em { font-size: clamp(19px, 5vw, 25px); }
  .book-page-greek, .book-title-greek { font-size: 0.74rem !important; letter-spacing: 0.14em !important; }
}
.book-page-title { font-size: clamp(34px, 10.9cqw, 94px); white-space: nowrap; font-weight: 400; }
.book-page-title em { font-size: clamp(22px, 3.9cqw, 47px); white-space: normal; letter-spacing: -0.01em; text-transform: none; }
.book-page-greek, .book-title-greek { font-size: 0.82rem !important; letter-spacing: 0.22em !important; color: var(--ink-2); }
.book-desc em { font-style: italic; color: inherit; }

/* ── Reviews page ── */
.reviews-hero h1 { font-size: clamp(40px, 5vw, 76px); }
.review-attribution { font-size: 0.78rem !important; }
/* Keep the closing curly quote on the last line of the quote */
.review-quote { padding-right: 4%; text-wrap: pretty; }
@media (max-width: 1100px) and (min-width: 861px) {
  .reviews-hero h1 { font-size: clamp(44px, 5vw, 55px); }
  .review-quote { font-size: clamp(21px, 2.5vw, 26px); }
}
@media (max-width: 860px) and (min-width: 601px) {
  .reviews-hero h1 { font-size: clamp(46px, 7.6vw, 66px); white-space: normal; }
  .review-quote { font-size: clamp(22px, 3.4vw, 27px); padding-right: 0; }
  .review-attribution { font-size: 0.76rem !important; }
}
@media (max-width: 600px) {
  .reviews-hero h1 { font-size: clamp(46px, 14.6vw, 62px); white-space: normal; line-height: 1.0; }
  .review-quote { font-size: clamp(23px, 6.3vw, 25px); padding-right: 0; }
  .review-attribution { font-size: 0.74rem !important; }
}

/* ── Author page ── */
.author-text h1 { font-size: clamp(40px, 5vw, 76px); font-weight: 400; }
.author-text { container-type: inline-size; }
@media (min-width: 861px) { .author-text h1 { font-size: clamp(44px, 10.6cqw, 128px); white-space: nowrap; } }
@media (min-width: 861px) { .author-hero-grid { grid-template-columns: minmax(280px, 34%) 1fr; gap: 48px; } }
@media (min-width: 1200px) { .author-hero-grid { grid-template-columns: 400px 1fr; gap: 56px; } }
.author-text h1 em { display: inline; }
.press-section .press-body { container-type: inline-size; }
@media (min-width: 861px) { .press-section .press-body h2 { font-size: clamp(40px, 10.6cqw, 128px); font-weight: 400; white-space: nowrap; } }
@media (max-width: 860px) and (min-width: 601px) {
  .author-text h1 { font-size: clamp(46px, 7.6vw, 66px); }
  .press-section .press-body h2 { font-size: clamp(42px, 6.4vw, 58px); font-weight: 400; }
}
@media (max-width: 600px) {
  .author-text h1 { font-size: clamp(46px, 14.6vw, 62px); line-height: 1.0; }
  .press-section .press-body h2 { font-size: clamp(34px, 9.6vw, 42px); font-weight: 400; }
}
/* Mobile: tighten the gap between the press list and the collections block */
@media (max-width: 700px) {
  .press-list { padding-bottom: 24px; }
  .collections-section { padding: 40px 0 56px; border-top: 0; }
  .press-item:last-child { border-bottom: 0; }
}
/* Book specs: ISBN larger and on one line */
.specs-strip .spec-item .v[style] { font-size: 1.15rem !important; white-space: nowrap; }
@media (max-width: 700px) { .specs-strip .spec-item:last-child { grid-column: 1 / -1; } .specs-strip .spec-item:last-child .v[style] { font-size: 1.45rem !important; white-space: nowrap; } .book-isbn { font-size: 1.05rem !important; white-space: nowrap; } }
.author-pull-quote, .author-quote, .author-text blockquote, .author-text .author-pull p { font-style: normal !important; }

.up-hero h1 { font-size: clamp(38px, 4.6vw, 68px); }
@media (max-width: 600px) { .up-hero h1 { font-size: clamp(46px, 14.6vw, 62px) !important; line-height: 1.0; } }

/* ── Press page ── */
.press-hero h1 { font-size: clamp(40px, 5vw, 76px); }
@media (max-width: 1100px) and (min-width: 861px) { .press-hero h1 { font-size: clamp(44px, 5vw, 55px); } }
@media (max-width: 860px) and (min-width: 601px) {
  .press-hero h1 { font-size: clamp(40px, 5.2vw, 45px); }
  .press-hero-jump { font-size: 0.8rem; margin-top: 32px; }
}
@media (max-width: 600px) {
  .press-hero h1 { font-size: clamp(46px, 14.6vw, 62px); line-height: 1.0; }
  .press-hero-jump { font-size: 0.76rem; margin-top: 24px; }
  .collections-heading { font-size: clamp(24px, 7vw, 32px); }
}

/* ── Updates page ── */
.entry-page-num { font-family: var(--sans) !important; font-weight: 500; letter-spacing: -0.02em; }
.row-label, .lang-col .col-label, .entry-page-label, .entry-page-kind { font-family: var(--sans) !important; font-size: 0.75rem !important; }
.row.long p { font-size: 1.25rem; line-height: 1.68; }
.mockups-intro { font-family: var(--serif) !important; }

/* ── Nav: solid, no blur, no dot, grotesque wordmark ── */
.site-nav { background: var(--bg); backdrop-filter: none; -webkit-backdrop-filter: none; border-bottom: 1px solid var(--rule); }
.nav-logo .dot, .footer-brand .logo .dot { display: none; }
.nav-logo { font-family: var(--sans); font-size: 0.92rem; font-weight: 700; letter-spacing: 0.01em; text-transform: uppercase; gap: 0; }
.footer-brand .logo { font-family: var(--sans); font-size: 1rem; font-weight: 700; letter-spacing: 0.01em; text-transform: uppercase; }
.nav-links { font-size: 0.78rem; letter-spacing: 0.03em; gap: 30px; }
/* Nav hover: light red, no underline */
.nav-links a { border-bottom-color: transparent !important; }
.nav-links a:hover, .nav-links a.active { color: #e05a4a !important; border-bottom-color: transparent !important; }
.nav-buy { font-size: 0.78rem; letter-spacing: 0.03em; font-weight: 700; }
@media (max-width: 820px) { .nav-links a { font-size: 0.82rem; letter-spacing: 0.04em; } }

.btn { font-size: 0.79rem; letter-spacing: 0.03em; font-weight: 700; padding: 14px 26px; }

/* ── Buy strip: deep brick fill, white text ── */
.buy-strip { background: #7f2a24; }
.buy-strip-text { color: var(--white); font-weight: 500; }
.buy-strip-text em { color: var(--white); }
.ship-item { color: rgba(255,255,255,0.95); }
.ship-divider { background: rgba(255,255,255,0.3); }
.buy-strip a[href*="greece-cyprus"] { color: var(--white) !important; border-bottom-color: rgba(255,255,255,0.75) !important; }
.buy-strip .btn-solid { background: var(--white); color: #2a0b08; }
.buy-strip .btn-solid:hover { background: #2a0b08; color: var(--white); }

/* ── Section index: no arrows, no hairline cage; space + weight instead ── */
.home-nav-blocks { border-top: 2px solid var(--rule); gap: 0; background: transparent; }
.nav-block { border-right: 0; background: transparent; padding: 38px 32px 38px 0; gap: 10px; }
.nav-block:hover { background: transparent; }
.nav-block:hover .nb-title { color: var(--accent); }
.nav-block .nb-arrow { display: none; }
.nav-block .nb-num { font-size: 0.74rem; font-weight: 700; letter-spacing: 0.06em; color: var(--ink-3); }
.nav-block .nb-title { font-family: var(--display); font-weight: 600; font-size: 1.75rem; letter-spacing: -0.01em; transition: color 0.15s; }
.nav-block:hover .nb-num { color: var(--accent); }

/* ── Rules: fewer and with weight, not hairlines everywhere ── */
.sec-rule { border-top: 2px solid var(--rule); }
.site-footer { border-top: 2px solid var(--rule); }

/* ── Footer: roman, matching the rest of the page ── */
.footer-brand p, .footer-col a { font-style: normal; }
.footer-col a { font-family: var(--sans); font-size: 0.95rem; letter-spacing: 0.01em; }
.footer-col a:hover { color: #e05a4a; }
.footer-base span { font-family: var(--sans); font-size: 0.76rem; letter-spacing: 0.02em; font-weight: 600; }

/* ── Images: single hero-cover rule; scales up instead of capping at 420px ── */
.hero-cover img { box-shadow: 0 16px 40px -20px rgba(0,0,0,0.8); border: 1px solid var(--ink-3); transition: none; width: 100%; max-width: 400px; max-height: calc(100vh - 180px); object-fit: contain; }
@media (max-width: 900px) { .hero-cover img { max-width: 380px; } }
@media (min-width: 1100px) { .hero-cover img { max-width: 300px; } }
@media (min-width: 1100px) { .hero-cover { padding-left: 0; justify-self: end; } }
@media (min-width: 1100px) { .hero-subtitle .gr-full { white-space: nowrap; } }
/* Let the name wrap instead of spilling into the cover panel */
.hero-text { min-width: 0; }
.hero .hero-title, .hero .hero-title .en { white-space: normal; }
.hero { column-gap: 40px; }
@media (min-width: 1100px) { .hero { grid-template-columns: 1fr 300px; column-gap: 56px; } }
/* Headline sized to sit on one line in the wide column */
/* Size the name off its own column, not the viewport, so it always fits one line */
.hero-text { container-type: inline-size; }
.hero .hero-title .en { font-size: clamp(40px, 12cqw, 104px); font-weight: 500; }
/* Mid-range: hold the type large instead of letting vw shrink it away.
   Below 1100px the name wraps to two lines, which frees width for size. */
@media (max-width: 1099px) and (min-width: 901px) {
  .hero .hero-title .en { font-size: clamp(62px, 7.4vw, 84px); }
  .hero-subtitle .sub-main { font-size: clamp(24px, 2.6vw, 30px); }
  .hero-subtitle .gr-full { font-size: clamp(19px, 2vw, 23px); }
}
@media (max-width: 900px) and (min-width: 601px) {
  .hero .hero-title .en { font-size: clamp(54px, 8.6vw, 76px); }
  .hero-subtitle .sub-main { font-size: clamp(22px, 3.2vw, 28px); }
  .hero-subtitle .gr-full { font-size: clamp(18px, 2.6vw, 22px); }
}
@media (max-width: 600px) {
  .hero .hero-title .en { font-size: clamp(46px, 18.6vw, 82px); line-height: 0.94; }
  .hero-subtitle .sub-main { font-size: clamp(20px, 5.2vw, 25px); }
  .hero-subtitle .gr-full { font-size: clamp(17px, 4.4vw, 20px); }
}
.hero-subtitle .sub-main { font-family: var(--sans) !important; font-weight: 400; font-size: clamp(19px, 2.05vw, 31px); letter-spacing: -0.005em; }
@media (min-width: 1100px) { .hero .hero-title, .hero .hero-title .en { white-space: nowrap; } }
.hero-cover:hover img { transform: none; }
.home-intro-book img { box-shadow: 0 16px 40px -24px rgba(0,0,0,0.75); border: 1px solid var(--ink-3); }

a { color: inherit; }
a:hover { color: var(--accent); }


.footer-col a { font-weight: 600; }

@media (max-width: 600px) {
  .hero .hero-title .en { font-size: clamp(42px, 16.4vw, 72px); }
  .hero-subtitle .sub-main { font-size: clamp(23px, 6.1vw, 29px) !important; }
  .hero-subtitle .gr-full { font-size: clamp(18px, 4.9vw, 22px); }
}
