/* ═══════════════════════════════════════════════════════════════════════
   Money Thoughts — recreation of https://gothix.wixsite.com/money-thoughts

   Design tokens are the site's own Wix theme values, read from the live
   pages' inline CSS:
     base 1 #FFFFFF · base 2 #000000 · accent 1 #12824C
     headings  Playfair Display 700
     body      Neue Haas Unica Pro 300  (Helvetica Neue / Inter substitute)
     script    Reenie Beanie ("by Karolina")

   Wix sizes type and spacing in "spx" — a fraction of the viewport width —
   so everything scales fluidly. That is reproduced with --sf (the scaling
   factor) and calc(ratio * var(--sf)); the ratios are the site's own.
   ═══════════════════════════════════════════════════════════════════════ */

:root {
  /* palette */
  --base-1: #ffffff;
  --base-2: #000000;
  --accent-1: #12824c;
  --accent-2: #47b07d;
  --shade-1: #e6e6e6;
  --shade-2: #b3b3b3;
  --shade-3: #595959;
  --hairline: rgba(0, 0, 0, 0.2);

  /* families */
  --serif: "Playfair Display", Georgia, serif;
  --sans: "Helvetica Neue", "Neue Haas Unica Pro", Inter, Helvetica, Arial, sans-serif;
  --script: "Reenie Beanie", "Bradley Hand", cursive;

  /* fluid scaling factor + max content width (Wix: 1920px) */
  --sf: 100vw;
  --max: 1920px;

  /* type scale (desktop ratios) */
  --h1: calc(0.090625 * var(--sf));
  --h4: calc(0.0328125 * var(--sf));
  --p1: calc(0.0132812 * var(--sf));
  --p2: calc(0.0117188 * var(--sf));
  --p3: calc(0.0109375 * var(--sf));
}

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }

body {
  margin: 0;
  background: var(--base-1);
  color: var(--base-2);
  font: 300 var(--p1) / 1.3em var(--sans);
  overflow-x: hidden;
}

img { display: block; max-width: 100%; }
a { color: inherit; }
h1, h2, h3, p, figure, ul, ol { margin: 0; }
button { font: inherit; }
:focus-visible { outline: 2px solid var(--accent-1); outline-offset: 3px; }

.skip-link {
  position: absolute; left: -9999px; top: 0;
  padding: 8px 14px; background: var(--base-1); font-size: 14px; z-index: 100;
}
.skip-link:focus { left: 0; }

.visually-hidden {
  position: absolute; width: 1px; height: 1px;
  margin: -1px; padding: 0; overflow: hidden;
  clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

/* ── 404 ────────────────────────────────────────────────────────────── */

.notfound { display: grid; place-items: center; min-height: 52vh; padding: 80px 20px; }
.notfound-inner { max-width: 620px; text-align: center; }
.notfound h1 { font: 700 clamp(34px, 6vw, 56px) / 1.1em var(--serif); }
.notfound p { margin-top: 18px; font: 300 17px / 1.5em var(--sans); }
.notfound-links {
  display: flex; align-items: center; justify-content: center; gap: 14px;
  margin-top: 28px;
}
.notfound-links a { color: var(--accent-1); }

.section-inner, .header-inner, .footer-inner {
  max-width: var(--max); margin: 0 auto; position: relative;
}

/* ── header ─────────────────────────────────────────────────────────── */

.site-header {
  --sf: min(100vw, 1920px);
  background: var(--base-1);
  position: relative;
  z-index: 20;
}
.header-inner { padding-top: calc(0.0085938 * var(--sf)); }
.header-bar {
  position: relative;
  height: calc(0.0330313 * var(--sf));
  border-bottom: 1px solid var(--base-2);
}

.logo {
  position: absolute; left: 5.862651%; top: 50%; width: 2.55%;
  transform: translateY(-50%);
}
.logo img { width: 100%; height: auto; }

.header-rule {
  position: absolute; top: 0; width: 1px;
  height: calc(0.0320313 * var(--sf)); background: var(--base-2);
}
.header-rule--left { left: 14.506753%; }
.header-rule--right { left: 85.419220%; }

.main-nav {
  position: absolute; left: 34.661359%; top: 50%; width: 30.58%;
  transform: translateY(-50%);
}
.main-nav ul {
  display: flex; justify-content: center; align-items: center; gap: 16px;
  padding: 0; list-style: none;
}
.main-nav a {
  display: block; padding: 0 calc(0.0078125 * var(--sf));
  font: 300 var(--p2) / 1.3em var(--sans);
  text-decoration: none; white-space: nowrap;
}
.main-nav a:hover,
.main-nav a[aria-current="page"] { color: var(--accent-1); }

.social-bar ul {
  display: flex; align-items: center; gap: 18px;
  padding: 0; list-style: none;
}
.social-bar a { display: block; }
.social-bar svg {
  width: calc(0.015625 * var(--sf)); height: calc(0.015625 * var(--sf));
  fill: var(--base-2);
}
.social-bar a:hover svg { fill: var(--accent-1); }

.social-bar--header {
  position: absolute; left: 85.494460%; top: 50%; width: 14.38%;
  transform: translateY(-50%);
}
.social-bar--header ul { padding-left: calc(0.0078125 * var(--sf)); }

.hamburger { display: none; }

/* ── hero ───────────────────────────────────────────────────────────── */

.hero-title {
  width: 83.58%; margin-left: 8.250732%;
  padding-top: calc(0.059845 * var(--sf));
  font: 700 var(--h1) / 1em var(--serif);
  text-align: center;
}
.hero-signature {
  width: 20.56%; margin-left: 74.746094%;
  padding-bottom: calc(0.0151978 * var(--sf));
  font-family: var(--script); font-weight: 400;
  font-size: calc(0.05 * var(--sf)); line-height: 1.2em; text-align: center;
}

/* ── post cards (Wix blog post list) ────────────────────────────────── */

.post-card { border: 1px solid var(--base-2); background: var(--base-1); }
.post-card--featured { border-color: var(--hairline); }

.post-card-link { display: block; text-decoration: none; color: inherit; }

.post-media { aspect-ratio: 4 / 3; overflow: hidden; background: var(--shade-1); }
.post-media--wide { aspect-ratio: 16 / 9; }
.post-media img {
  width: 100%; height: 100%; object-fit: cover;
  transition: transform 900ms cubic-bezier(0.645, 0.045, 0.355, 1);
}
.post-card-link:hover .post-media img { transform: scale(1.04); }

.post-body { padding: 28px 20px 0; }

.card-author { display: flex; align-items: center; gap: 10px; margin-bottom: 16px; }
.avatar { width: 32px; height: 32px; border-radius: 50%; object-fit: cover; }
.card-author-name { font: 300 14px / 1.3em var(--sans); }

.post-title { font: 700 30px / 1.2em var(--serif); color: var(--base-2); }
.post-card-link:hover .post-title { text-decoration: underline; }

.post-description {
  margin-top: 11px;
  font: 300 15px / 1.3em var(--sans);
  /* Wix caps each card's text box (278px grid / 350px feed / 323px featured);
     clamping the excerpt keeps the meta row visible the same way. */
  display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden;
  -webkit-line-clamp: 3;
}
.post-card--feed .post-description { -webkit-line-clamp: 4; }
.post-card--featured .post-description { -webkit-line-clamp: 8; }

.post-meta {
  display: flex; align-items: center; gap: 8px;
  margin-top: 15px; padding-bottom: 26px;
  font-size: 12px; line-height: 1.4em;
}
.post-meta-dot {
  width: 3px; height: 3px; border-radius: 50%; background: currentColor;
}

/* ── featured post ──────────────────────────────────────────────────── */

.featured-stack { position: relative; }
.post-card--featured {
  width: 70.38%; margin-left: 14.817116%;
  margin-top: calc(0.0369873 * var(--sf));
  margin-bottom: calc(0.0351563 * var(--sf));
}
.featured-label {
  position: absolute; top: calc(0.0196977 * var(--sf)); left: 14.817116%;
  width: 14.79%; min-height: calc(0.03125 * var(--sf));
  display: flex; align-items: center; justify-content: center;
  padding: calc(0.0058594 * var(--sf)) calc(0.0078125 * var(--sf));
  border: 1px solid var(--base-2); background: var(--base-1);
  font: 300 var(--p1) / 1em var(--sans);
  text-transform: uppercase; letter-spacing: 0.1em; white-space: nowrap;
}

/* ── latest thoughts ────────────────────────────────────────────────── */

.latest .section-inner { border-top: 1px solid var(--base-2); }

.latest-title {
  width: 25.35%; margin-left: 37.365112%;
  padding-top: calc(0.0548157 * var(--sf));
  padding-bottom: calc(0.0398926 * var(--sf));
  font: 700 var(--h4) / 1.1em var(--serif); text-align: center;
}

.post-grid {
  width: 93.75%; margin-left: 3.142700%;
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px;
}

.button {
  display: flex; align-items: center; justify-content: center;
  width: 10.9%; margin-left: 44.547896%;
  margin-top: calc(0.0264116 * var(--sf));
  min-height: calc(0.0078125 * var(--sf));
  padding: calc(0.0078125 * var(--sf));
  border-radius: calc(0.078125 * var(--sf));
  background: var(--accent-1); color: var(--base-1);
  font: 300 var(--p2) / 1.3em var(--sans);
  text-align: center; text-decoration: none;
  transition: background-color 200ms ease;
}
.button:hover { background: var(--accent-2); }

/* ── about ──────────────────────────────────────────────────────────── */

.about { scroll-margin-top: 0; }
.about-grid { position: relative; min-height: calc(0.3639 * var(--sf)); }

.about-portrait {
  position: absolute; left: 1.5625%; top: calc(0.03125 * var(--sf));
  width: 26.98%; aspect-ratio: 1 / 1.2107296;
  overflow: hidden; background: var(--shade-1);
}
.about-portrait img { width: 100%; height: 100%; object-fit: cover; }

.about-label {
  width: 12.33%; margin-left: 32.805176%;
  padding-top: calc(0.03125 * var(--sf));
  padding-bottom: calc(0.0148438 * var(--sf));
  font: 300 calc(0.0140625 * var(--sf)) / 1.3em var(--sans);
  text-transform: uppercase; letter-spacing: 0.1em;
}
.about-body {
  width: 57.97%; margin-left: 32.805176%;
  padding-bottom: calc(0.1054688 * var(--sf));
  font-family: var(--serif); font-weight: 400;
  font-size: calc(0.01875 * var(--sf)); line-height: 1.3em;
  text-align: justify;
}
.about-body p + p { margin-top: 1.3em; }

.about-rule {
  width: 107.18%; margin: 0 0 0 -1.953125%;
  border: 0; border-top: 1px solid var(--base-2);
}

/* ── footer ─────────────────────────────────────────────────────────── */

.site-footer { --sf: min(100vw, 1920px); background: var(--base-1); }
.footer-inner { min-height: calc(0.1508 * var(--sf)); }

.footer-logo {
  position: absolute; left: 2.742920%; top: calc(0.0429688 * var(--sf));
  width: 4.67%;
}
.footer-logo img { width: 100%; height: auto; }

.footer-nav { position: absolute; left: 20.262451%; top: calc(0.0203125 * var(--sf)); }
.footer-nav ul { display: flex; align-items: center; gap: 2px; padding: 0; list-style: none; }
.footer-nav a {
  display: block; padding: 0 calc(0.00625 * var(--sf));
  font: 300 var(--p2) / 1.3em var(--sans); text-decoration: none; white-space: nowrap;
}
.footer-nav a:hover { color: var(--accent-1); }

.social-bar--footer {
  position: absolute; left: 61.445313%; top: calc(0.0195313 * var(--sf)); width: 14.47%;
}
.social-bar--footer ul { justify-content: center; }

/* ═══ blog feed page ═══════════════════════════════════════════════════ */

.blog-nav { border-bottom: 1px solid var(--hairline); }
.blog-nav-inner {
  max-width: 980px; margin: 0 auto; height: 80px;
  display: flex; align-items: center; padding: 0 20px;
}
.blog-nav ul { display: flex; gap: 24px; padding: 0; list-style: none; }
.blog-nav a {
  font: 300 15px / 1.3em var(--sans); text-decoration: none;
  padding: 6px 0; border-bottom: 2px solid transparent;
}
.blog-nav a[aria-current="page"] { border-bottom-color: var(--base-2); }
.blog-nav a:hover { color: var(--accent-1); }

.feed { max-width: 1020px; margin: 0 auto; padding: 40px 20px 90px; }
.feed-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
.post-card--feed .post-body { padding-top: 24px; }

/* ═══ post page ════════════════════════════════════════════════════════ */

.post-page {
  --postPageWidth: 740px;
  --postPagePadX: clamp(18px, 8vmin, 60px);
  --postPagePadY: clamp(32px, 8vmin, 60px);
  max-width: 940px; margin: 0 auto; padding: 20px 0 80px;
}

.post { display: block; }

.post-header {
  position: relative;
  display: flex; flex-direction: column; align-items: center;
  padding: var(--postPagePadY) var(--postPagePadX) 0;
}
.post-header h1 {
  max-width: var(--postPageWidth);
  font: 700 40px / 1.4em var(--serif); text-align: center;
}
.post-byline {
  display: flex; align-items: center; gap: 10px;
  margin-top: 18px; padding: 0; list-style: none;
  font: 300 14px / 1.3em var(--sans);
}
.post-byline li { display: flex; align-items: center; gap: 10px; }
.post-byline li + li::before {
  content: ""; width: 3px; height: 3px; border-radius: 50%; background: currentColor;
}
.byline-author { font-weight: 400; }

.post-more { position: absolute; right: var(--postPagePadX); top: calc(var(--postPagePadY) + 4px); }
.more-button {
  display: grid; place-items: center; width: 32px; height: 32px;
  border: 0; background: none; cursor: pointer; border-radius: 50%;
}
.more-button svg { width: 20px; height: 20px; fill: currentColor; }
.more-button:hover { background: var(--shade-1); }
.more-menu {
  position: absolute; right: 0; top: 36px; z-index: 5;
  min-width: 160px; padding: 6px 0;
  background: var(--base-1); border: 1px solid var(--hairline);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
}
.more-menu button {
  display: block; width: 100%; padding: 10px 16px;
  border: 0; background: none; text-align: left; cursor: pointer;
  font: 300 15px / 1.3em var(--sans);
}
.more-menu button:hover { background: var(--shade-1); }

.post-updated { display: none; }

.post-content {
  max-width: var(--postPageWidth);
  margin: 0 auto; padding: 32px var(--postPagePadX) 0;
  font: 300 18px / 1.5em var(--sans);
  text-align: justify;
  hyphens: auto;
}
.post-content > * + * { margin-top: 1.2em; }
.post-content h2 {
  margin-top: 1.6em;
  font: 700 30px / 1.2em var(--serif);
  text-align: left;
}
.post-content a { color: var(--accent-1); text-decoration: underline; }
.post-content strong { font-weight: 500; }
.post-content ul, .post-content ol { padding-left: 1.4em; }
.post-content li + li { margin-top: 0.5em; }

.post-figure { margin: 1.8em 0; }
.post-figure-media { position: relative; overflow: hidden; background: var(--shade-1); }
.post-figure-media img { width: 100%; height: 100%; object-fit: cover; cursor: zoom-in; }
.post-figure .expand {
  position: absolute; top: 12px; right: 12px;
  width: 32px; height: 32px; display: grid; place-items: center;
  border: 0; border-radius: 4px; cursor: pointer;
  background: rgba(255, 255, 255, 0.85);
  opacity: 0; transition: opacity 200ms ease;
}
.post-figure-media:hover .expand,
.post-figure .expand:focus-visible { opacity: 1; }
.post-figure .expand svg { width: 17px; height: 17px; fill: var(--base-2); }
.post-figure figcaption {
  margin-top: 10px;
  font: italic 300 14px / 1.4em var(--sans);
  color: var(--shade-3);
  text-align: center;
}

.post-actions {
  display: flex; align-items: center; justify-content: center;
  gap: 20px; max-width: var(--postPageWidth);
  margin: 48px auto 0; padding: 20px var(--postPagePadX) 0;
  border-top: 1px solid var(--hairline);
}
.share-row { display: flex; align-items: center; gap: 6px; }
.share-btn {
  display: grid; place-items: center; width: 34px; height: 34px;
  border: 0; border-radius: 50%; background: none; cursor: pointer;
}
.share-btn svg { width: 19px; height: 19px; fill: var(--base-2); }
.share-btn:hover { background: var(--shade-1); }
.share-btn:hover svg { fill: var(--accent-1); }

/* recent posts */
.recent-posts {
  max-width: var(--postPageWidth);
  margin: 64px auto 0; padding: 0 var(--postPagePadX);
}
.recent-posts header {
  display: flex; align-items: baseline; justify-content: space-between;
  margin-bottom: 18px;
}
.recent-posts h2 { font: 700 22px / 1.2em var(--serif); }
.recent-posts header a {
  font: 300 14px / 1.3em var(--sans); color: var(--accent-1); text-decoration: none;
}
.recent-posts header a:hover { text-decoration: underline; }
.recent-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.recent-card { border: 1px solid var(--hairline); background: var(--base-1); }
.recent-media { aspect-ratio: 16 / 9; overflow: hidden; background: var(--shade-1); }
.recent-media img { width: 100%; height: 100%; object-fit: cover; }
.recent-body { padding: 18px 18px 20px; }
.recent-body h3 { font: 700 20px / 1.2em var(--serif); }
.recent-body h3 a { text-decoration: none; }
.recent-body h3 a:hover { text-decoration: underline; }
.recent-meta {
  display: flex; align-items: center; gap: 8px;
  margin-top: 12px; font-size: 12px; line-height: 1.4em;
}

/* ── lightbox + toast ───────────────────────────────────────────────── */

.lightbox {
  position: fixed; inset: 0; z-index: 200;
  display: grid; place-items: center; padding: 40px;
  background: rgba(0, 0, 0, 0.92);
}
.lightbox[hidden] { display: none; }
.lightbox img { max-width: 100%; max-height: 100%; width: auto; height: auto; }
.lightbox-close {
  position: absolute; top: 16px; right: 24px;
  width: 44px; height: 44px; border: 0; background: none;
  color: #fff; font-size: 34px; line-height: 1; cursor: pointer;
}

.toast {
  position: fixed; left: 50%; bottom: 32px; z-index: 210;
  transform: translate(-50%, 20px);
  padding: 12px 20px; border-radius: 999px;
  background: var(--base-2); color: var(--base-1);
  font: 300 14px / 1.3em var(--sans);
  opacity: 0; pointer-events: none;
  transition: opacity 200ms ease, transform 200ms ease;
}
.toast.is-visible { opacity: 1; transform: translate(-50%, 0); }

/* ═══ mobile (Wix breakpoint: 1023px) ══════════════════════════════════ */

@media screen and (max-width: 1023px) {
  :root {
    --h4: calc(0.0666667 * var(--sf));
    --p1: calc(0.0410256 * var(--sf));
    --p2: calc(0.0410256 * var(--sf));
    --p3: calc(0.0358974 * var(--sf));
  }

  /* header */
  .header-inner { padding-top: 0; }
  .header-bar { height: calc(0.14 * var(--sf)); }
  .logo { left: 1.814751%; width: 14.56%; }
  .header-rule, .social-bar--header { display: none; }

  .hamburger {
    display: flex; flex-direction: column; justify-content: center; gap: 5px;
    position: absolute; right: 6.153846%; top: 50%; transform: translateY(-50%);
    width: 30px; height: 30px; padding: 0; border: 0; background: none; cursor: pointer;
  }
  .hamburger span {
    display: block; height: 2px; background: var(--base-2);
    transition: transform 200ms ease, opacity 200ms ease;
  }
  .nav-open .hamburger span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .nav-open .hamburger span:nth-child(2) { opacity: 0; }
  .nav-open .hamburger span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

  .main-nav {
    position: fixed; inset: 0; width: 100%; transform: none;
    background: #fdfdfd; padding-top: calc(0.0769231 * var(--sf));
    visibility: hidden; opacity: 0;
    transition: opacity 250ms ease, visibility 250ms ease; z-index: 30;
  }
  .nav-open .main-nav { visibility: visible; opacity: 1; }
  .nav-open { overflow: hidden; }
  .main-nav ul {
    flex-direction: column; align-items: stretch; gap: 6px;
    padding-top: calc(0.18 * var(--sf));
  }
  .main-nav a {
    padding: calc(0.025641 * var(--sf)) calc(0.0307692 * var(--sf));
    font-size: calc(0.0410256 * var(--sf)); text-align: center;
  }

  /* hero */
  .hero-title {
    width: 90.69%; margin-left: 4.743590%;
    padding-top: calc(0.1328125 * var(--sf));
    padding-bottom: calc(0.0304688 * var(--sf));
  }
  .hero-signature {
    width: 87.692308%; margin: 0 6.153846%;
    padding-bottom: calc(0.0828125 * var(--sf));
    font-size: calc(0.0765625 * var(--sf));
  }

  /* featured */
  .post-card--featured {
    width: 87.7%; margin-left: 6.045673%;
    margin-top: calc(0.1046875 * var(--sf));
    margin-bottom: calc(0.1257813 * var(--sf));
  }
  .featured-label {
    top: calc(0.0617188 * var(--sf)); left: 6.045673%;
    /* shrink-to-fit so the label can never outgrow its box on narrow screens */
    width: auto; min-width: 37.71%; max-width: 87.7%;
    min-height: calc(0.0769231 * var(--sf));
    padding: calc(0.0153846 * var(--sf)) calc(0.0307692 * var(--sf));
    font-size: calc(0.0358974 * var(--sf));
  }

  /* latest */
  .latest-title {
    width: 87.7%; margin-left: 6.153846%;
    padding-top: calc(0.0617188 * var(--sf));
    padding-bottom: calc(0.1 * var(--sf));
  }
  .post-grid {
    width: 87.692308%; margin: 0 6.153846%;
    grid-template-columns: 1fr; gap: calc(0.0617188 * var(--sf));
  }
  .button {
    width: 35.77%; margin-left: 32.115385%;
    margin-top: calc(0.0871795 * var(--sf));
    min-height: calc(0.025641 * var(--sf));
  }
  .post-description, .post-card--featured .post-description { -webkit-line-clamp: 5; }

  /* about — image drops below the copy */
  .about-grid { display: flex; flex-direction: column; min-height: 0; }
  .about-label {
    order: 1; width: 87.7%; margin-left: 6.153846%;
    padding-top: calc(0.1359375 * var(--sf));
    padding-bottom: calc(0.0304688 * var(--sf));
    font-size: calc(0.0461538 * var(--sf));
  }
  .about-body {
    order: 2; width: 87.7%; margin-left: 6.153846%;
    padding-bottom: calc(0.0461538 * var(--sf));
    font-size: calc(0.0461538 * var(--sf));
  }
  .about-portrait {
    order: 4; position: static; width: 87.692308%;
    margin: calc(0.0384615 * var(--sf)) 6.153846% calc(0.0617188 * var(--sf));
    aspect-ratio: 1 / 0.877193;
  }
  .about-rule { order: 3; width: 87.7%; margin-left: 6.153846%; }

  /* footer */
  .footer-inner {
    min-height: 0; display: flex; flex-direction: column; align-items: center;
    padding: calc(0.0769231 * var(--sf)) 6.153846%;
    gap: calc(0.0615385 * var(--sf));
  }
  .footer-logo, .footer-nav, .social-bar--footer {
    position: static; left: auto; top: auto; width: auto; margin: 0;
  }
  .footer-logo { order: 2; width: 31.32%; }
  .footer-nav { order: 1; }
  .footer-nav ul { gap: 4px; }
  .footer-nav a {
    padding: 0 calc(0.0205128 * var(--sf)); font-size: calc(0.0410256 * var(--sf));
  }
  .social-bar--footer { order: 3; }
  .social-bar svg {
    width: calc(0.0512821 * var(--sf)); height: calc(0.0512821 * var(--sf));
  }

  /* blog + post */
  .blog-nav-inner { height: 60px; }
  .feed { padding: 28px 18px 60px; }
  .feed-grid { grid-template-columns: 1fr; gap: 28px; }
  .post-page { padding: 12px 0 48px; }
  .post-header h1 { font-size: 32px; }
  .post-more { right: 18px; }
  .post-content { font-size: 17px; }
  .post-content h2 { font-size: 26px; }
  .recent-grid { grid-template-columns: 1fr; }
}

@media print {
  .site-header, .site-footer, .blog-nav, .post-actions,
  .recent-posts, .post-more, .skip-link, .toast { display: none !important; }
  .post-page { max-width: none; }
  .post-content { font-size: 12pt; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  * { animation: none !important; transition: none !important; }
}
