/* The writing area retains useful Quarto article conventions, but not its default visual identity. */
.blog-page { min-height: 70vh; padding: 0 0 var(--section-space); }
.blog-hero { padding: clamp(80px, 9vw, 130px) max(48px, calc((100vw - 1180px) / 2)); color: var(--white); background: var(--teal-dark); }
.blog-hero .section-index { display: inline-block; padding: 8px 12px 7px 11px; border-left: 2px solid #00b8c9; color: var(--white); background: rgba(31,32,29,.35); }
.blog-hero h1 { max-width: 900px; margin: 28px 0; font-family: var(--display); font-size: clamp(4rem, 7vw, 7rem); font-weight: 400; letter-spacing: -.045em; line-height: .9; }
.blog-hero > p:not(.section-index) { max-width: 700px; color: rgba(255,255,255,.7); font-size: 1.08rem; }
.blog-language-switch { width: var(--shell); margin: 28px auto 0; padding-bottom: 24px; border-bottom: 1px solid var(--line); }
.blog-language-link { display: inline-block; padding-bottom: 4px; border-bottom: 1px solid; color: var(--teal-dark); font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-decoration: none; text-transform: uppercase; }
.blog-card-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; width: var(--shell); margin: 42px auto 0; }
.blog-card { overflow: hidden; border: 1px solid var(--line); background: rgba(255,255,255,.45); }
.blog-card > a { display: block; height: 100%; color: inherit; text-decoration: none; }
.blog-card img { display: block; width: 100%; height: 310px; object-fit: cover; filter: saturate(.72); }
.blog-card-body { padding: 28px; }
.blog-card-date { margin: 0 0 18px; color: var(--burgundy); font-size: .68rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.blog-card h2 { margin: 0 0 18px; font-family: var(--display); font-size: clamp(1.8rem, 2.4vw, 2.55rem); font-weight: 400; letter-spacing: -.025em; line-height: 1.08; }
.blog-card-body > p:last-child { margin: 0; color: var(--muted); line-height: 1.65; }
.quarto-listing { width: var(--shell); margin: 70px auto 0; }
.quarto-grid-item { overflow: hidden; border: 1px solid var(--line) !important; border-radius: 0 !important; background: rgba(255,255,255,.45) !important; box-shadow: none !important; }
.quarto-grid-item .card-img-top { height: 290px; object-fit: cover; border-radius: 0 !important; filter: saturate(.72); }
.quarto-grid-item .card-body { padding: 28px !important; }
.quarto-grid-item .listing-title { font-family: var(--display); font-size: 1.75rem; font-weight: 400; line-height: 1.08; }
.quarto-grid-item .listing-description { color: var(--muted); line-height: 1.65; }
.quarto-grid-item .listing-date { color: var(--burgundy); font-size: .68rem; font-weight: 700; letter-spacing: .1em; }

/* Article pages */
body:not(:has(.home-page)):not(:has(.bio-page)):not(:has(.blog-page)) #quarto-content { width: min(1320px, calc(100% - 64px)) !important; margin: 70px auto !important; }
body:not(:has(.home-page)):not(:has(.bio-page)):not(:has(.blog-page)) main.content { max-width: 760px !important; margin: 0 auto !important; }
.quarto-title-block { margin-bottom: 56px; padding-bottom: 34px; border-bottom: 1px solid var(--line); }
.quarto-title h1.title { font-family: var(--display); font-size: clamp(3rem, 5.2vw, 5rem); font-weight: 400; letter-spacing: -.04em; line-height: .96; }
.quarto-title .subtitle { color: var(--muted); font-size: 1.25rem; line-height: 1.5; }
.quarto-title-meta { color: var(--muted); font-size: .75rem; }
main.content h2, main.content h3 { font-family: var(--display); font-weight: 400; letter-spacing: -.02em; }
main.content h2 { margin-top: 3.6rem; font-size: 2.35rem; }
main.content h3 { margin-top: 2.6rem; font-size: 1.65rem; }
main.content p, main.content li { line-height: 1.78; }
main.content a { color: var(--burgundy); text-underline-offset: 3px; }
.sidebar nav[role="doc-toc"] > h2 { font-size: .66rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.sidebar nav[role="doc-toc"] a { color: var(--muted); font-size: .74rem; }
.photo-attribution { display: block; margin: -36px 0 48px; color: var(--muted); font-size: .67rem; text-align: right; }
.goals { margin: 38px 0; border: 1px solid var(--line); background: rgba(255,255,255,.5); }
.goals-header { padding: 14px 20px; color: var(--white); background: var(--teal-dark); font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.goals-container { padding: 22px; }
.merged-credits { margin-top: 70px; padding-top: 36px; border-top: 1px solid var(--line); }

@media (max-width: 700px) {
  .blog-hero { padding: 70px 20px; }
  .quarto-listing { margin-top: 42px; }
  body:not(:has(.home-page)):not(:has(.bio-page)):not(:has(.blog-page)) #quarto-content { width: calc(100% - 40px) !important; margin-top: 48px !important; }
  .quarto-grid-item .card-img-top { height: 230px; }
  .blog-card-grid { grid-template-columns: 1fr; margin-top: 42px; }
  .blog-card img { height: 240px; }
}
