/* Article prose (Post design .prose) plus the core blocks an editor can use in posts and pages.
   wp-block-library is dequeued, so every core block used on the site is styled here. Scoped to .entry. */
.entry{max-width:68ch;font-size:18px;line-height:1.75;color:var(--text);min-width:0}
.entry > * + *{margin-top:1.3em}
.entry > :first-child{margin-top:0}
.entry p{margin-top:0;margin-bottom:0;text-wrap:pretty}
.entry h2{font-size:clamp(26px,2.6vw,32px);line-height:1.15;letter-spacing:-.03em;font-weight:600;margin:2.6em 0 0;scroll-margin-top:96px;text-wrap:balance}
.entry h2 + p{margin-top:.8em}
.entry > h2:first-child{margin-top:0}
.entry h3,.entry h4,.entry h5,.entry h6{line-height:1.2;letter-spacing:-.025em;font-weight:600;margin:2.1em 0 0;scroll-margin-top:96px;text-wrap:balance}
.entry h3{font-size:clamp(21px,2vw,24px)}
.entry h4{font-size:20px}
.entry h5,.entry h6{font-size:17px}
.entry h3 + p,.entry h4 + p,.entry h5 + p,.entry h6 + p{margin-top:.7em}
.entry a{color:var(--text);text-decoration:underline;text-decoration-color:var(--acc-fg);text-decoration-thickness:1.5px;text-underline-offset:3px;transition:color 150ms ease}
.entry a:hover{color:var(--acc-fg)}
.entry a{overflow-wrap:anywhere}
.entry strong,.entry b{font-weight:600;color:var(--hi)}
.entry ul,.entry ol{padding:0;list-style:none;display:flex;flex-direction:column;gap:12px;margin-bottom:0}
.entry ul ul,.entry ul ol,.entry ol ul,.entry ol ol{margin-top:12px}
.entry ul li{position:relative;padding-left:26px}
.entry ul li::before{content:"";position:absolute;left:4px;top:.72em;width:8px;height:8px;border-radius:2px;background:var(--acc-fg)}
.entry ol{counter-reset:s}
.entry ol li{counter-increment:s;position:relative;padding-left:48px;min-height:32px}
.entry ol li::before{content:counter(s,decimal-leading-zero);position:absolute;left:0;top:2px;font-family:"Geist Mono",ui-monospace,monospace;font-size:13px;color:var(--acc-fg);border:1px solid var(--line2);border-radius:7px;width:34px;height:26px;display:grid;place-items:center;line-height:1}
/* start attribute: the counter ignores it, so reset to start-1 (2 to 30) */
.entry ol[start="2"]{counter-reset:s 1}
.entry ol[start="3"]{counter-reset:s 2}
.entry ol[start="4"]{counter-reset:s 3}
.entry ol[start="5"]{counter-reset:s 4}
.entry ol[start="6"]{counter-reset:s 5}
.entry ol[start="7"]{counter-reset:s 6}
.entry ol[start="8"]{counter-reset:s 7}
.entry ol[start="9"]{counter-reset:s 8}
.entry ol[start="10"]{counter-reset:s 9}
.entry ol[start="11"]{counter-reset:s 10}
.entry ol[start="12"]{counter-reset:s 11}
.entry ol[start="13"]{counter-reset:s 12}
.entry ol[start="14"]{counter-reset:s 13}
.entry ol[start="15"]{counter-reset:s 14}
.entry ol[start="16"]{counter-reset:s 15}
.entry ol[start="17"]{counter-reset:s 16}
.entry ol[start="18"]{counter-reset:s 17}
.entry ol[start="19"]{counter-reset:s 18}
.entry ol[start="20"]{counter-reset:s 19}
.entry ol[start="21"]{counter-reset:s 20}
.entry ol[start="22"]{counter-reset:s 21}
.entry ol[start="23"]{counter-reset:s 22}
.entry ol[start="24"]{counter-reset:s 23}
.entry ol[start="25"]{counter-reset:s 24}
.entry ol[start="26"]{counter-reset:s 25}
.entry ol[start="27"]{counter-reset:s 26}
.entry ol[start="28"]{counter-reset:s 27}
.entry ol[start="29"]{counter-reset:s 28}
.entry ol[start="30"]{counter-reset:s 29}
/* type="a": lower-alpha marker (the type value is matched case-insensitively, so type="A" shows lower case too) */
.entry ol[type="a"] > li::before{content:counter(s,lower-alpha)}
/* bullet list nested in an ordered list keeps its square bullet, not the number box */
.entry ol ul > li{counter-increment:none;padding-left:26px;min-height:0}
.entry ol ul > li::before{content:"";left:4px;top:.72em;width:8px;height:8px;border:0;border-radius:2px;background:var(--acc-fg);display:block}
.entry mark{background:color-mix(in oklch,var(--accent) 28%,transparent);color:inherit;border-radius:3px;padding:0 3px}
.entry small{font-size:.85em;color:var(--muted)}
.entry hr,.entry .wp-block-separator{border:0;border-top:1px solid var(--line2);height:0;margin-block:2.2em;background:none;opacity:1}
/* design callout */
.callout{border:1px solid var(--line2);background:var(--bg2);border-radius:14px;padding:20px 22px;display:flex;gap:14px;font-size:17px;line-height:1.6}
.callout svg{flex:none;margin-top:3px;color:var(--acc-fg)}
.callout p{margin:0}
/* quote, pullquote */
.entry blockquote,.entry .wp-block-quote{margin-inline:0;margin-bottom:0;padding:4px 0 4px 22px;border-left:2px solid var(--acc-fg);color:var(--text)}
.entry blockquote p{font-size:clamp(19px,2vw,22px);line-height:1.5;letter-spacing:-.01em}
.entry blockquote p + p{margin-top:.8em}
.entry blockquote cite,.entry .wp-block-quote cite,.entry .wp-block-pullquote cite{display:block;margin-top:12px;font-family:"Geist Mono",ui-monospace,monospace;font-size:13px;font-style:normal;color:var(--muted)}
.entry .wp-block-pullquote{margin-inline:0;padding:28px 0;border-block:1px solid var(--line2);text-align:left}
.entry .wp-block-pullquote blockquote{border:0;padding:0}
.entry .wp-block-pullquote p{font-size:clamp(22px,2.6vw,28px);line-height:1.35;letter-spacing:-.02em;font-weight:500}
/* code */
.entry code,.entry kbd,.entry samp{font-family:"Geist Mono",ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88em;background:var(--bg3);border:1px solid var(--line);border-radius:6px;padding:.1em .4em}
.entry pre,.entry .wp-block-code,.entry .wp-block-preformatted{font-family:"Geist Mono",ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px;line-height:1.6;background:var(--bg2);border:1px solid var(--line2);border-radius:14px;padding:18px 20px;overflow-x:auto;white-space:pre;tab-size:2}
.entry .wp-block-preformatted{white-space:pre-wrap}
.entry pre code,.entry .wp-block-code code{background:none;border:0;padding:0;font-size:inherit}
/* tables (design .tbl): core table block and plain tables */
.entry .wp-block-table,.entry .tbl{border:1px solid var(--line2);border-radius:14px;overflow-x:auto;margin-inline:0}
.entry .wp-block-table table,.entry .tbl table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.5;min-width:520px;border:0}
.entry .wp-block-table th,.entry .wp-block-table td,.entry .tbl th,.entry .tbl td{text-align:left;padding:14px 18px;border:0;border-bottom:1px solid var(--line);vertical-align:top}
.entry .wp-block-table thead th,.entry .tbl thead th{font-family:"Geist Mono",ui-monospace,monospace;font-weight:500;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:var(--bg2)}
.entry .tbl tbody th{font-weight:500;color:var(--muted);width:30%}
.entry .wp-block-table tr:last-child th,.entry .wp-block-table tr:last-child td,.entry .tbl tr:last-child th,.entry .tbl tr:last-child td{border-bottom:0}
.entry .wp-block-table figcaption{padding:10px 18px;border-top:1px solid var(--line)}
.entry .wp-block-table:focus-visible,.entry .tbl:focus-visible{outline:2px solid var(--acc-fg);outline-offset:3px}
/* images and captions (design .fig) */
.fig,.entry figure{margin:2em 0 0}
.entry figure{margin-inline:0;margin-bottom:0}
.entry img,.entry video{max-width:100%;height:auto}
.fig img,.entry figure img{display:block;width:100%;height:auto;border-radius:14px;border:1px solid var(--line2);background:var(--bg3)}
.fig img{aspect-ratio:16/9;object-fit:cover}
.fig figcaption,.entry figcaption,.entry .wp-caption-text{margin-top:10px;font-size:14px;line-height:1.5;color:var(--muted)}
.entry > .fig:first-child{margin-top:0}
.entry .wp-block-image{margin-inline:0}
.entry .wp-block-image img{width:auto;max-width:100%}
.entry .wp-block-image.is-resized img,.entry .wp-block-image.size-full img{width:auto}
.entry .alignwide,.entry .alignfull{width:100%;max-width:none}
.entry .aligncenter{margin-inline:auto;text-align:center}
.entry .aligncenter img,.entry img.aligncenter{margin-inline:auto}
.entry img.aligncenter{display:block}
.entry .alignleft,.entry .alignright{max-width:50%;margin-top:.4em;margin-bottom:.8em}
.entry .alignleft{float:left;margin-right:28px}
.entry .alignright{float:right;margin-left:28px}
.entry::after{content:"";display:block;clear:both}
@media (max-width:600px){.entry .alignleft,.entry .alignright{float:none;max-width:100%;margin-inline:0}}
/* gallery */
.entry .wp-block-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-inline:0;padding:0;list-style:none}
.entry .wp-block-gallery.columns-1{grid-template-columns:minmax(0,1fr)}
.entry .wp-block-gallery.columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.entry .wp-block-gallery.columns-4,.entry .wp-block-gallery.columns-5,.entry .wp-block-gallery.columns-6,.entry .wp-block-gallery.columns-7,.entry .wp-block-gallery.columns-8{grid-template-columns:repeat(4,minmax(0,1fr))}
.entry .wp-block-gallery .wp-block-image{margin:0;display:flex;flex-direction:column}
.entry .wp-block-gallery .wp-block-image img{width:100%;height:100%;aspect-ratio:4/3;object-fit:cover}
.entry .wp-block-gallery > figcaption{grid-column:1/-1;margin-top:0}
@media (max-width:600px){.entry .wp-block-gallery.columns-3,.entry .wp-block-gallery.columns-4,.entry .wp-block-gallery.columns-5,.entry .wp-block-gallery.columns-6,.entry .wp-block-gallery.columns-7,.entry .wp-block-gallery.columns-8{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* embeds and video: 16:9 box */
.entry .wp-block-embed__wrapper{overflow-wrap:anywhere}
/* core's responsive-embeds CSS adds a padding-top spacer via ::before; the aspect-ratio box below replaces it */
.entry .wp-block-embed .wp-block-embed__wrapper::before,.wp-embed-responsive .entry .wp-block-embed .wp-block-embed__wrapper::before{content:none;display:none;padding:0}
.entry .wp-block-embed__wrapper:has(iframe,video){position:relative;aspect-ratio:16/9;border-radius:14px;overflow:hidden;border:1px solid var(--line2);background:var(--bg3)}
.entry .wp-block-embed__wrapper:has(iframe,video) iframe,.entry .wp-block-embed__wrapper:has(iframe,video) video{position:absolute;inset:0;width:100%;height:100%;border:0}
.entry .wp-block-embed.wp-embed-aspect-4-3 .wp-block-embed__wrapper:has(iframe,video){aspect-ratio:4/3}
.entry .wp-block-embed.wp-embed-aspect-1-1 .wp-block-embed__wrapper:has(iframe,video){aspect-ratio:1/1}
.entry .wp-block-embed.wp-embed-aspect-21-9 .wp-block-embed__wrapper:has(iframe,video){aspect-ratio:21/9}
.entry .wp-block-embed.wp-embed-aspect-9-16 .wp-block-embed__wrapper:has(iframe,video){aspect-ratio:9/16;max-width:360px}
.entry .wp-block-embed.is-type-rich:not(.wp-has-aspect-ratio) .wp-block-embed__wrapper{aspect-ratio:auto;overflow:visible;border:0;background:none}
.entry .wp-block-embed.is-type-rich:not(.wp-has-aspect-ratio) iframe{position:static;max-width:100%}
.entry .wp-block-video video{display:block;width:100%;height:auto;border-radius:14px;border:1px solid var(--line2);background:#000}
.entry iframe{max-width:100%;border:0}
/* buttons */
.entry .wp-block-buttons{display:flex;flex-wrap:wrap;gap:12px}
.entry .wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:0 20px;border-radius:10px;font:inherit;font-size:15px;font-weight:600;line-height:1.2;text-decoration:none;cursor:pointer;border:1px solid transparent;background:var(--accent);color:#04140C;box-shadow:none;transition:background-color 150ms ease,border-color 150ms ease,color 150ms ease,box-shadow 200ms ease,transform 150ms ease}
.entry .wp-block-button__link:hover{background:var(--acc-hover);color:#04140C;box-shadow:0 1px 2px var(--drop),0 10px 28px -10px var(--glow)}
.entry .wp-block-button__link:active{transform:translateY(1px);box-shadow:none}
.entry .wp-block-button.is-style-outline .wp-block-button__link{background:transparent;color:var(--text);border-color:var(--ctl)}
.entry .wp-block-button.is-style-outline .wp-block-button__link:hover{border-color:var(--ctl-h);background:var(--bg2);color:var(--hi);box-shadow:0 1px 2px var(--drop),0 8px 20px -12px var(--drop)}
/* columns and groups */
.entry .wp-block-columns{display:flex;flex-wrap:wrap;gap:clamp(20px,3vw,32px)}
.entry .wp-block-column{flex:1 1 220px;min-width:0}
.entry .wp-block-column > * + *{margin-top:1.15em}
.entry .wp-block-group > * + *{margin-top:1.15em}
.entry .wp-block-group.has-background,.entry .wp-block-group.has-border-color{padding:20px 22px;border-radius:14px}
.entry .wp-block-details{border:1px solid var(--line2);border-radius:14px;padding:14px 18px}
.entry .wp-block-details summary{cursor:pointer;font-weight:600;min-height:32px;display:flex;align-items:center}
.entry .wp-block-spacer{display:block}
.entry .wp-block-more,.entry .wp-block-nextpage{display:none}
@media (prefers-reduced-motion:reduce){.entry a,.entry .wp-block-button__link{transition:none}}
.entry > .fig + *{margin-top:1.6em}
