/* Restyles the old Quarto article pages to match the main site.
   Loaded after the old stylesheets, so it overrides them. */
@font-face{font-family:'VT Lineal Light';src:url(fonts/Lineal-Light.woff2) format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:'VT Lineal Medium';src:url(fonts/Lineal-Medium.woff2) format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:'Geist';src:url(fonts/Geist-Variable.woff2) format('woff2');font-weight:100 900;font-display:swap}

:root{
  color-scheme:light;
  --surface:#F3F0E9; --surface-side:#ECE8DF; --line:#DAD5C8; --text:#1A1814; --text-muted:#7B766B;
  --c-red:#9A3B33; --c-green:#3E6B4B; --c-purple:#7A4A86; --c-blue:#2A4A77; --c-gold:#9A7A2E; --c-rose:#8A6474;
  --fallback:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --font-body:'Geist',var(--fallback); --font-display:'VT Lineal Light',var(--fallback); --font-title:'VT Lineal Medium',var(--fallback);
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  color-scheme:dark; --surface:#13120F; --surface-side:#1A1915; --line:#2A2822; --text:#EFEBE2; --text-muted:#9A958A;
  --c-red:#C9776D; --c-green:#7FA88A; --c-purple:#A987B3; --c-blue:#7C99C4; --c-gold:#C6A862; --c-rose:#B28E9D;}}
:root[data-theme="dark"]{
  color-scheme:dark; --surface:#13120F; --surface-side:#1A1915; --line:#2A2822; --text:#EFEBE2; --text-muted:#9A958A;
  --c-red:#C9776D; --c-green:#7FA88A; --c-purple:#A987B3; --c-blue:#7C99C4; --c-gold:#C6A862; --c-rose:#B28E9D;}

/* remove the old site's chrome */
#quarto-header, footer.footer, #termsfeed-com---nb, .toc-actions, .nav-footer, .quarto-alternate-formats, #quarto-sidebar-glass { display:none !important; }
body.nav-fixed, body { padding-top:0 !important; }

html, body { background:var(--surface) !important; color:var(--text) !important; }
body { font-family:var(--font-body) !important; font-size:16px; line-height:1.7; -webkit-font-smoothing:antialiased; }
::selection { background:var(--line); }

/* top bar */
.site-bar { display:flex; align-items:baseline; justify-content:space-between; gap:16px; padding:20px clamp(16px,4vw,48px); background:var(--surface-side); }
.site-bar a { font-family:var(--font-title); font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--text-muted); text-decoration:none; }
.site-bar a:hover { color:var(--text); }
.site-bar .name { font-size:15px; color:var(--text); }

/* titles */
#title-block-header { background:none !important; border:0 !important; padding:0 !important; }
h1.title, .quarto-title h1 {
  font-family:var(--font-display) !important; font-weight:400 !important; font-style:normal !important; text-transform:none !important;
  font-size:clamp(34px,5.4vw,64px) !important; line-height:1.05 !important; letter-spacing:-.03em !important; color:var(--text) !important; text-shadow:none !important; margin:0 0 16px !important;
}
.subtitle, p.subtitle { font-family:var(--font-body) !important; font-style:normal !important; font-size:18px !important; line-height:1.5 !important; color:var(--text-muted) !important; text-transform:none !important; text-shadow:none !important; }
.quarto-categories { display:flex; flex-wrap:wrap; gap:4px 18px; margin:20px 0 !important; }
.quarto-category { border:0 !important; background:none !important; padding:0 !important; border-radius:0 !important; font:500 12px/1.4 var(--font-body) !important; letter-spacing:.02em !important; text-transform:none !important; color:var(--text-muted) !important; display:inline-flex; align-items:center; gap:7px; }
.quarto-category::before { content:""; width:8px; height:8px; background:var(--c-blue); }
.quarto-category:nth-child(6n+2)::before { background:var(--c-purple); }
.quarto-category:nth-child(6n+3)::before { background:var(--c-green); }
.quarto-category:nth-child(6n+4)::before { background:var(--c-gold); }
.quarto-category:nth-child(6n+5)::before { background:var(--c-red); }
.quarto-category:nth-child(6n+6)::before { background:var(--c-rose); }
.quarto-title-meta-heading, .quarto-title-meta-contents, .quarto-title-meta-contents p { font-family:var(--font-body) !important; font-size:13px !important; color:var(--text-muted) !important; text-transform:none !important; letter-spacing:0 !important; }
.quarto-title-meta-heading { font-size:11px !important; letter-spacing:.08em !important; text-transform:uppercase !important; }
.abstract, .quarto-title-meta + div, .abstract p { font-family:var(--font-body) !important; }

/* headings are titles: Lineal Medium */
h2, h3, h4, h5, h6, .level2>h2, .callout-title-container, .quarto-title-banner h2 {
  font-family:var(--font-title) !important; font-weight:400 !important; font-style:normal !important; text-transform:none !important;
  color:var(--text) !important; text-shadow:none !important; letter-spacing:-.01em !important; line-height:1.2 !important;
}
h2 { font-size:clamp(24px,3vw,32px) !important; margin-top:2.2em !important; }
h3 { font-size:20px !important; margin-top:1.8em !important; }
h4,h5,h6 { font-size:16px !important; }
.header-section-number { color:var(--text-muted); font-family:var(--font-body); font-size:.55em; margin-right:.6em; }

/* body text */
main, p, li, td, th, figcaption, .caption, blockquote, .callout-body { font-family:var(--font-body) !important; color:var(--text); }
main p, main li { font-size:16px; line-height:1.7; }
main a, .citation a, a.quarto-xref { color:var(--c-blue) !important; text-decoration:underline; text-underline-offset:3px; text-decoration-color:color-mix(in srgb,var(--c-blue) 40%,transparent); }
main a:hover { text-decoration-color:currentColor; }
#TOC, #TOC a, .sidebar nav, .sidebar nav a { font-family:var(--font-body) !important; font-size:13px !important; color:var(--text-muted) !important; text-decoration:none !important; text-transform:none !important; }
#TOC a.active, #TOC a:hover { color:var(--text) !important; border-color:var(--c-blue) !important; }
.sidebar nav[role=doc-toc] > h2 { font-family:var(--font-title) !important; font-size:12px !important; letter-spacing:.1em !important; text-transform:uppercase !important; color:var(--text-muted) !important; margin:0 0 10px !important; }

/* cards, quotes, callouts: flat, hairline, accent bar */
.pull-quote-card, blockquote, .callout, .card { background:var(--surface-side) !important; border:0 !important; border-left:3px solid var(--c-blue) !important; border-radius:0 !important; box-shadow:none !important; color:var(--text) !important; }
.pull-quote-text { font-family:var(--font-display) !important; font-style:normal !important; font-size:22px !important; line-height:1.4 !important; color:var(--text) !important; }
.pull-quote-icon { color:var(--c-blue) !important; }
.callout-title-container { font-size:14px !important; }
pre, code, div.sourceCode { background:var(--surface-side) !important; border-radius:0 !important; border:0 !important; color:var(--text) !important; }
table { border-color:var(--line) !important; }
th, td { border-color:var(--line) !important; background:none !important; color:var(--text) !important; }
hr { border-color:var(--line) !important; opacity:1; }
img, figure img { max-width:100%; height:auto; border-radius:6px; }
iframe { border:0 !important; border-radius:6px; background:var(--surface-side); }

/* keep the author/date block left-aligned and the title block readable */
.quarto-title-meta-author, .quarto-title-meta, .quarto-title-meta-contents, p.author, p.date { text-align:left !important; }
.quarto-title-meta-contents p { margin:0 !important; }

/* ---------- layout and mobile ---------- */

/* One reading column with the same gutter everywhere. */
:root { --gutter:clamp(20px,5vw,48px); }
.quarto-container-body { max-width:none !important; padding:0 !important; margin:0 !important; }
#quarto-content {
  display:block !important; box-sizing:border-box; width:100% !important; max-width:calc(880px + 2*var(--gutter)) !important;
  margin:0 auto !important; padding:clamp(24px,5vw,56px) var(--gutter) 72px !important;
}
#quarto-document-content, main.content { box-sizing:border-box; width:100% !important; max-width:none !important; margin:0 !important; padding:0 !important; grid-column:auto !important; }
#quarto-margin-sidebar, .sidebar.margin-sidebar, #quarto-sidebar-toc-left { display:none !important; }
.page-columns { display:block !important; }
.page-columns > * { grid-column:auto !important; }
.quarto-title-block .quarto-title-banner, .quarto-title-meta, article.content, .content-body, .page-columns, .posts-container, .content-block { max-width:none !important; }
.page-columns .column-page { max-width:none !important; }
.columns .column { padding:0 !important; }

/* title block */
.quarto-title-meta { display:flex !important; flex-wrap:wrap; gap:14px 40px; margin:0 0 24px !important; padding:0 !important; border:0 !important; grid-template-columns:none !important; }
.quarto-title-meta > div { margin:0 !important; padding:0 !important; }
.quarto-title-meta-author { display:block !important; }
.quarto-title-meta-heading, .quarto-title-meta-contents, .quarto-title-meta-contents p, .quarto-title-meta-contents p.author, p.author, p.date { text-align:left !important; margin:0 !important; padding:0 !important; }
.quarto-title-meta-heading { margin-bottom:2px !important; }
.abstract { margin:0 0 24px !important; padding:0 !important; }
.abstract-title { font-family:var(--font-body) !important; font-size:11px !important; letter-spacing:.08em !important; text-transform:uppercase !important; color:var(--text-muted) !important; margin:0 0 6px !important; }

/* full-width image banners become flat bands */
.parallax {
  box-sizing:border-box; width:calc(100% + 2*var(--gutter)) !important; min-width:0 !important; min-height:clamp(180px,34vw,320px) !important; margin:40px calc(-1*var(--gutter)) !important;
  background-attachment:scroll !important; border-radius:0 !important; box-shadow:none !important;
}
.parallax-title { max-width:100%; padding:1rem 1.25rem !important; }
.parallax h1, .parallax-title h1 { font-size:clamp(24px,6.4vw,40px) !important; line-height:1.15 !important; overflow-wrap:anywhere; margin:0 !important; }
section.level1.parallax > h1 { padding:0 20px; }

/* media never wider than the column */
iframe, video, svg, canvas, figure, .figure, .quarto-figure { max-width:100% !important; }
iframe { width:100% !important; }
.cell-output-display, .html-widget, .plotly, .leaflet { max-width:100% !important; }
pre, div.sourceCode, .table-responsive, table { max-width:100%; overflow-x:auto; }
table { display:block; }
.figure-caption, figcaption { font-size:13px !important; color:var(--text-muted) !important; text-align:left !important; }
p, li, h1, h2, h3, h4, a { overflow-wrap:break-word; }
.pull-quote-card { padding:20px 22px !important; margin:28px 0 !important; }

@media (max-width:991.98px){
  div.columns { display:block !important; }
  div.columns > div.column { display:block !important; width:100% !important; flex:none !important; }
  .row > [class*="col-"] { max-width:100%; }
  .insight-card { margin-bottom:16px; }
}

@media (max-width:600px){
  body { font-size:16px; }
  .site-bar { padding:14px 20px; }
  h1.title, .quarto-title h1 { font-size:clamp(30px,9vw,40px) !important; }
  .subtitle, p.subtitle { font-size:16px !important; }
  h2 { margin-top:1.8em !important; }
  .header-section-number { display:block; font-size:12px; margin:0 0 4px; }
  .parallax { margin-top:28px !important; margin-bottom:28px !important; min-height:200px !important; }
  .viz-iframe { height:340px !important; }
  .pull-quote-text { font-size:19px !important; }
  .insight-card { padding:18px !important; }
  .insight-icon { flex:none; }
  .callout, blockquote { margin-left:0 !important; margin-right:0 !important; }
  .quarto-title-meta { gap:12px 28px; }
}
.quarto-title, .quarto-title-block, #title-block-header, .quarto-title-block > * { margin-left:0 !important; padding-left:0 !important; }
.quarto-title h1.title, .quarto-title .subtitle, .quarto-categories { margin-left:0 !important; padding-left:0 !important; }
.row { margin-left:0 !important; margin-right:0 !important; --bs-gutter-x:0; }
.row > * { padding-left:0 !important; padding-right:0 !important; }
.insight-card { box-sizing:border-box; max-width:100%; overflow:hidden; }

/* cards: flat, palette colours */
.insight-card, .viz-frame, .column-card, .callout { border-radius:0 !important; box-shadow:none !important; transform:none !important; transition:none !important; color:var(--text) !important; }
.insight-card { background:var(--surface-side) !important; border:0 !important; border-left:3px solid var(--card-c,var(--c-blue)) !important; margin-bottom:16px; }
.insight-card.primary { --card-c:var(--c-red); }
.insight-card.secondary { --card-c:var(--c-blue); }
.insight-card.tertiary { --card-c:var(--c-green); }
.insight-card.quaternary { --card-c:var(--c-gold); }
.insight-card.quinary { --card-c:var(--c-rose); }
.insight-card h3, .insight-card h4 { margin-top:0 !important; }
.insight-card p, .insight-card li { color:var(--text) !important; }
.insight-icon { color:var(--card-c,var(--c-blue)) !important; opacity:.35; }
.viz-frame { background:var(--surface-side) !important; border:0 !important; padding:16px !important; }
.viz-frame h3 { margin-top:0 !important; font-size:16px !important; }
.viz-iframe { box-shadow:none !important; border-radius:0 !important; background:#fff; }
.parallax { background-color:#2A2822; }
.parallax, .parallax h1, .parallax-title h1 { color:#fff !important; }

/* back-to-top: small pill in the corner, not over the text */
#quarto-back-to-top {
  left:auto !important; right:16px !important; bottom:16px !important; transform:none !important;
  padding:8px 12px !important; border:1px solid var(--line) !important; border-radius:999px !important; box-shadow:none !important;
  background:var(--surface-side) !important; color:var(--text-muted) !important; font:500 12px/1 var(--font-body) !important; text-decoration:none !important;
}
@media (max-width:600px){ #quarto-back-to-top { font-size:0 !important; padding:11px !important; } #quarto-back-to-top i { font-size:14px; } }

/* banner titles: plain text over the image, no hover effects */
.parallax-title { background:rgba(19,18,15,.45) !important; border:0 !important; border-radius:0 !important; box-shadow:none !important; backdrop-filter:none !important; transform:none !important; }
.parallax-title::before, .parallax-title::after { display:none !important; }
.parallax h1, .parallax-title h1, .parallax h1 .header-section-number {
  font-family:var(--font-display) !important; font-weight:400 !important; text-shadow:none !important; transform:none !important; animation:none !important; letter-spacing:-.02em !important; text-align:center;
}
.parallax .header-section-number { display:block; color:rgba(255,255,255,.7) !important; font-family:var(--font-body) !important; font-size:12px !important; letter-spacing:.1em !important; margin:0 0 6px !important; }
