/* Shared article styles for migrated legacy pages. */
#pz-root .pz-dd.pz-dd--right{left:auto!important;right:0!important;transform:none!important}#pz-root .pz-dd.pz-dd--right::before,#pz-root .pz-dd.pz-dd--right::after{left:auto;right:22px}

#pz-root .pz-bl-hero{position:relative;padding:clamp(64px,9vw,120px) 0 clamp(30px,4vw,54px);overflow:hidden}
#pz-root .pz-bl-hero .pz-wrap{position:relative}
#pz-root .pz-bl-eyebrow{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-deep,#A8803A);margin-bottom:14px}
#pz-root .pz-bl-h1{font-family:var(--font-display),serif;font-weight:500;font-size:clamp(38px,6vw,64px);line-height:1.06;color:var(--ink);margin:0 0 16px}
#pz-root .pz-bl-h1 em{font-style:italic;color:var(--gold-deep,#A8803A)}
#pz-root .pz-bl-sub{max-width:560px;font-size:16.5px;line-height:1.75;color:color-mix(in srgb,var(--ink) 70%,transparent);margin:0}
#pz-root .pz-bl-sprig{position:absolute;width:clamp(96px,10vw,148px);pointer-events:none;line-height:0}
#pz-root .pz-bl-sprig.sTR{top:26px;right:2%;transform:scaleX(-1)}
#pz-root .pz-bl-sprig.sBL{bottom:-6px;left:1.5%}
#pz-root .pz-bl-sprig .sst{stroke-dasharray:300;stroke-dashoffset:300;animation:pzblDraw 1.6s ease .3s forwards}
#pz-root .pz-bl-sprig .slf{opacity:0;animation:pzblIn .9s ease 1.1s forwards}
#pz-root .pz-bl-sprig .ssw{transform-box:fill-box;transform-origin:10% 90%;animation:pzblSway 11s ease-in-out 2s infinite alternate}
@keyframes pzblDraw{to{stroke-dashoffset:0}}@keyframes pzblIn{to{opacity:1}}
@keyframes pzblSway{from{transform:rotate(-1.4deg)}to{transform:rotate(1.6deg)}}
/* featured */
#pz-root .pz-bl-feat{display:grid;grid-template-columns:1.1fr .9fr;gap:0;border-radius:22px;overflow:hidden;background:#0b4c30;margin:10px 0 34px}
#pz-root .pz-bl-feat-tx{padding:clamp(26px,4vw,52px);color:#F2EAD5;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
#pz-root .pz-bl-feat h2{font-family:var(--font-display),serif;font-weight:500;font-size:clamp(24px,3vw,36px);line-height:1.15;margin:12px 0 12px}
#pz-root .pz-bl-feat h2 a{color:inherit;text-decoration:none}
#pz-root .pz-bl-feat h2 a:hover{color:#E9CE8F}
#pz-root .pz-bl-feat p{margin:0 0 20px;line-height:1.75;color:#d0cdba;font-size:15px}
#pz-root .pz-bl-feat-img{position:relative;min-height:260px;background:#0b4a30}
#pz-root .pz-bl-feat-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.92}
/* chips + meta */
#pz-root .pz-bl-chip{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep,#A8803A);background:#efe2c9;border:1px solid #d9c5a1;border-radius:999px;padding:5px 11px}
#pz-root .pz-bl-feat .pz-bl-chip{color:#E9CE8F;border-color:#717454;background:#243a2e}
#pz-root .pz-bl-meta{font-size:12.5px;letter-spacing:.04em;color:color-mix(in srgb,var(--ink) 55%,transparent)}
#pz-root .pz-bl-feat .pz-bl-meta{color:#979d8e}
/* filters */
#pz-root .pz-bl-filters{display:flex;flex-wrap:wrap;gap:9px;margin:6px 0 26px}
#pz-root .pz-bl-fbtn{font:600 12.5px/1 'Hanken Grotesk',sans-serif;letter-spacing:.06em;padding:9px 16px;border-radius:999px;cursor:pointer;border:1px solid #d5c099;background:transparent;color:var(--ink);transition:all .3s ease}
#pz-root .pz-bl-fbtn:hover{border-color:#A8803A;transform:translateY(-1px)}
#pz-root .pz-bl-fbtn.on{background:#0C5C3A;border-color:#0C5C3A;color:#F2EAD5}
/* grid cards */
#pz-root .pz-bl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:40px}
#pz-root .pz-bl-card{position:relative;display:flex;flex-direction:column;gap:12px;padding:24px 22px 20px;border-radius:18px;background:#fffdf8;border:1px solid #e3d3b6;text-decoration:none;overflow:hidden;transition:transform .5s cubic-bezier(.2, .7, .2, 1), border-color .5s ease, opacity .35s ease}
#pz-root .pz-bl-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:#bf9852}
#pz-root .pz-bl-card:hover{transform:translateY(-5px);border-color:#ae955c}
#pz-root .pz-bl-card h3{font-family:var(--font-display),serif;font-weight:500;font-size:19.5px;line-height:1.28;color:var(--ink);margin:0}
#pz-root .pz-bl-card p{margin:0;font-size:13.8px;line-height:1.7;color:color-mix(in srgb,var(--ink) 66%,transparent);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
#pz-root .pz-bl-card .pz-bl-read{margin-top:auto;display:flex;align-items:center;gap:8px;font:600 13px/1 'Hanken Grotesk',sans-serif;color:var(--gold-deep,#A8803A)}
#pz-root .pz-bl-read svg{width:16px;height:16px;transition:transform .35s ease}
#pz-root .pz-bl-card:hover .pz-bl-read svg{transform:translateX(4px)}
#pz-root .pz-bl-card.hide{opacity:0;transform:scale(.96);pointer-events:none}
#pz-root .pz-bl-card.gone{display:none}
#pz-root .pz-bl-grid.armed .pz-bl-card{opacity:0;transform:translateY(18px)}
#pz-root .pz-bl-grid.armed .pz-bl-card.in{opacity:1;transform:none;transition:opacity .7s cubic-bezier(.2, .7, .2, 1), transform .7s cubic-bezier(.2, .7, .2, 1);transition-delay:var(--d,0s)}
#pz-root .pz-bl-grid.armed .pz-bl-card.in:hover{transition-delay:0s;transform:translateY(-5px)}
/* archive note + cta */


/* article pages */
#pz-root .pz-bp-progress{position:fixed;top:0;left:0;height:3px;width:0;background:#bf9852;z-index:1200}
#pz-root .pz-bp-hero{padding:clamp(56px,8vw,104px) 0 8px;text-align:left}
#pz-root .pz-bp-h1{font-family:var(--font-display),serif;font-weight:500;font-size:clamp(30px,4.6vw,50px);line-height:1.1;color:var(--ink);margin:14px 0 12px;max-width:820px}
#pz-root .pz-bp-heroimg{margin:26px 0 8px;border-radius:20px;overflow:hidden}
#pz-root .pz-bp-heroimg img{display:block;width:100%;height:auto}
#pz-root .pz-bp-art{max-width:760px;margin:26px auto 30px;padding:0 4px}
#pz-root .pz-bp-art p{font-size:16.5px;line-height:1.85;color:color-mix(in srgb,var(--ink) 82%,transparent);margin:0 0 20px}
#pz-root .pz-bp-art > p:first-of-type::first-letter{font-family:var(--font-display),serif;font-size:3.3em;line-height:.82;float:left;padding:6px 10px 0 0;color:var(--gold-deep,#A8803A)}
#pz-root .pz-bp-art h2{font-family:var(--font-display),serif;font-weight:500;font-size:clamp(23px,2.6vw,30px);line-height:1.2;color:var(--ink);margin:40px 0 14px;padding-left:16px;border-left:3px solid #D6B06A}
#pz-root .pz-bp-art h3{font-family:var(--font-display),serif;font-weight:500;font-size:20px;color:var(--ink);margin:28px 0 10px}
#pz-root .pz-bp-art ul{margin:0 0 20px;padding-left:22px}
#pz-root .pz-bp-art li{font-size:15.5px;line-height:1.8;color:color-mix(in srgb,var(--ink) 78%,transparent);margin-bottom:6px}
#pz-root .pz-bp-art a{color:var(--gold-deep,#A8803A);text-decoration:underline;text-underline-offset:3px}
#pz-root .pz-bp-faq{border:1px solid #deccac;border-radius:14px;background:#fffdf8;margin-bottom:12px;overflow:hidden}
#pz-root .pz-bp-faq summary{cursor:pointer;list-style:none;padding:16px 18px;font:600 15.5px/1.4 'Hanken Grotesk',sans-serif;color:var(--ink);display:flex;justify-content:space-between;gap:12px;align-items:center}
#pz-root .pz-bp-faq summary::-webkit-details-marker{display:none}
#pz-root .pz-bp-faq summary::after{content:'+';font-family:var(--font-display),serif;font-size:22px;color:#A8803A;transition:transform .3s ease}
#pz-root .pz-bp-faq[open] summary::after{transform:rotate(45deg)}
#pz-root .pz-bp-faq p{padding:0 18px 16px;margin:0;font-size:14.5px}
#pz-root .pz-bp-cta{display:inline-flex;align-items:center;gap:10px;background:#e0bf7c;color:#22352a;font:700 15px/1 'Hanken Grotesk',sans-serif;padding:16px 26px;border-radius:999px;text-decoration:none;transition:transform .35s ease;margin:6px 0 10px}
#pz-root .pz-bp-cta:hover{transform:translateY(-2px)}
#pz-root .pz-bp-next{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;border-top:1px solid #ddd6c6;padding-top:22px;margin-top:36px}
#pz-root .pz-bp-next a{font:600 14px/1.4 'Hanken Grotesk',sans-serif;color:var(--ink);text-decoration:none;max-width:46%}
#pz-root .pz-bp-next a:hover{color:var(--gold-deep,#A8803A)}
#pz-root .pz-bp-next small{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-deep,#A8803A);margin-bottom:5px}
#pz-root [data-rv]{opacity:0;transform:translateY(16px);transition:opacity .7s ease, transform .7s ease}
#pz-root [data-rv].is-rv{opacity:1;transform:none}
@media(max-width:900px){#pz-root .pz-bl-grid{grid-template-columns:1fr 1fr}#pz-root .pz-bl-feat{grid-template-columns:1fr}#pz-root .pz-bl-feat-img{min-height:210px;order:-1}}
@media(max-width:640px){#pz-root .pz-bl-grid{grid-template-columns:1fr}#pz-root .pz-bl-sprig.sBL{display:none}}
@media(prefers-reduced-motion:reduce){
#pz-root .pz-bl-sprig .sst{animation:none;stroke-dashoffset:0}#pz-root .pz-bl-sprig .slf{animation:none;opacity:1}#pz-root .pz-bl-sprig .ssw{animation:none}
#pz-root .pz-bl-grid.armed .pz-bl-card{opacity:1;transform:none;transition:none}
#pz-root [data-rv]{opacity:1;transform:none;transition:none}
#pz-root .pz-bl-card,#pz-root .pz-bl-read svg,#pz-root .pz-bp-cta{transition:none}}


/* ---------- per-post scroll-animation themes ---------- */
/* theme: rise (soft rise + floating gold ring parallax) */
body[data-anim="rise"] #pz-blog .pz-bp-art p[data-rv]{transition-duration:.8s}
#pz-root .pz-th-ring{position:fixed;right:4vw;top:30vh;width:220px;height:220px;border:1px solid #e9d6b2;border-radius:50%;pointer-events:none;z-index:0}
#pz-root .pz-th-ring::after{content:'';position:absolute;inset:26px;border:1px solid #eddec3;border-radius:50%}
/* theme: vine (margin vine draws with scroll) */
#pz-root .pz-th-vinerail{position:absolute;left:calc(50% - 620px);top:0;bottom:0;width:120px;pointer-events:none}
#pz-root .pz-th-vinerail svg{width:100%;height:100%;overflow:visible}
@media(max-width:1330px){#pz-root .pz-th-vinerail{display:none}}
/* theme: drift (leaves at different parallax speeds) */
#pz-root .pz-th-leaf{position:fixed;pointer-events:none;z-index:0;opacity:.5;will-change:transform}
#pz-root .pz-th-leaf svg{width:100%;height:100%}
/* theme: rules (h2 underline draws on enter + drop cap pop) */
body[data-anim="rules"] #pz-blog .pz-bp-art h2{border-left:none;padding-left:0;position:relative;padding-bottom:10px}
body[data-anim="rules"] #pz-blog .pz-bp-art h2::after{content:'';position:absolute;left:0;bottom:0;height:2px;width:0;background:#bf9852;transition:width 1.1s cubic-bezier(.2, .7, .2, 1)}
body[data-anim="rules"] #pz-blog .pz-bp-art h2.is-rv::after{width:72px}
body[data-anim="rules"] #pz-blog .pz-bp-art > p:first-of-type::first-letter{transition:none}
/* theme: alternate (blocks slide from alternating sides) + dots rail */
body[data-anim="alt"] #pz-blog .pz-bp-art [data-rv]{transform:translateX(-34px)}
body[data-anim="alt"] #pz-blog .pz-bp-art [data-rv].alt-r{transform:translateX(34px)}
body[data-anim="alt"] #pz-blog .pz-bp-art [data-rv].is-rv{transform:none}
#pz-root .pz-th-dots{position:fixed;right:22px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:10px;z-index:5}
#pz-root .pz-th-dots span{width:8px;height:8px;border-radius:50%;border:1px solid #c6aa7a;transition:background .3s ease, transform .3s ease}
#pz-root .pz-th-dots span.on{background:#A8803A;transform:scale(1.25)}
@media(max-width:900px){#pz-root .pz-th-dots,#pz-root .pz-th-ring{display:none}}
/* theme: petals (gold petals settle downward with scroll) */
#pz-root .pz-th-petal{position:fixed;pointer-events:none;z-index:0;opacity:.55;will-change:transform}
/* theme: sway (blocks tilt in + breathing orb) */
body[data-anim="sway"] #pz-blog .pz-bp-art [data-rv]{transform:perspective(900px) rotateX(7deg) translateY(22px);transform-origin:50% 100%}
body[data-anim="sway"] #pz-blog .pz-bp-art [data-rv].is-rv{transform:none}
#pz-root .pz-th-orb{position:fixed;left:3vw;bottom:6vh;width:180px;height:180px;border-radius:50%;pointer-events:none;z-index:0;
 animation:pzthOrb 9s ease-in-out infinite alternate}
@keyframes pzthOrb{from{transform:scale(.92)}to{transform:scale(1.08)}}
/* theme: zoom (sections scale in + hero panel eases back on scroll) */
body[data-anim="zoom"] #pz-blog .pz-bp-art [data-rv]{transform:scale(.955);transform-origin:50% 60%}
body[data-anim="zoom"] #pz-blog .pz-bp-art [data-rv].is-rv{transform:scale(1)}
body[data-anim="zoom"] #pz-blog .pz-bp-heroimg{will-change:transform}
@media(prefers-reduced-motion:reduce){body[data-anim="zoom"] #pz-blog .pz-bp-art [data-rv]{transform:none}}
/* theme: trace (dotted margin path fills dot-by-dot) */
#pz-root .pz-th-trace{position:fixed;left:calc(50% - 560px - 70px);top:12vh;height:74vh;width:24px;pointer-events:none;z-index:0}
#pz-root .pz-th-trace span{position:absolute;left:9px;width:6px;height:6px;border-radius:50%;background:#A8803A;opacity:.15;transition:opacity .3s ease, transform .3s ease}
#pz-root .pz-th-trace span.on{opacity:.85;transform:scale(1.3)}
@media(max-width:1240px){#pz-root .pz-th-trace{display:none}}
/* theme: split (sections wipe in from alternating sides) */
body[data-anim="split"] #pz-blog .pz-bp-art [data-rv]{transform:none;
 -webkit-mask:linear-gradient(90deg,#000 40%,transparent 60%) 100% 0/300% 100% no-repeat;
 mask:linear-gradient(90deg,#000 40%,transparent 60%) 100% 0/300% 100% no-repeat;
 transition:-webkit-mask-position .95s cubic-bezier(.2, .7, .2, 1), mask-position .95s cubic-bezier(.2, .7, .2, 1), opacity .5s ease}
body[data-anim="split"] #pz-blog .pz-bp-art [data-rv].sp-r{
 -webkit-mask:linear-gradient(270deg,#000 40%,transparent 60%) 100% 0/300% 100% no-repeat;
 mask:linear-gradient(270deg,#000 40%,transparent 60%) 100% 0/300% 100% no-repeat}
body[data-anim="split"] #pz-blog .pz-bp-art [data-rv].is-rv{-webkit-mask-position:0 0;mask-position:0 0}
@media(prefers-reduced-motion:reduce){body[data-anim="split"] #pz-blog .pz-bp-art [data-rv]{-webkit-mask:none;mask:none}}
/* theme: focus (paragraphs de-blur into focus + calm halo) */
body[data-anim="focus"] #pz-blog .pz-bp-art [data-rv]{filter:blur(7px);transform:none;transition:filter .9s ease, opacity .6s ease}
body[data-anim="focus"] #pz-blog .pz-bp-art [data-rv].is-rv{filter:blur(0)}
#pz-root .pz-th-halo{position:fixed;right:5vw;top:16vh;width:150px;height:150px;border-radius:50%;pointer-events:none;z-index:0;
 border:1px solid #e6d0a7;animation:pzhalo 7s ease-in-out infinite}
#pz-root .pz-th-halo::after{content:'';position:absolute;inset:-24px;border:1px solid #edddc1;border-radius:50%;animation:pzhalo 7s ease-in-out infinite reverse}
@keyframes pzhalo{0%,100%{transform:scale(.94)}50%{transform:scale(1.06)}}
/* theme: steps (left ladder fills, node per section) */
#pz-root .pz-th-steps{position:fixed;left:calc(50% - 560px - 84px);top:14vh;height:70vh;width:30px;pointer-events:none;z-index:0}
#pz-root .pz-th-steps .rail{position:absolute;left:14px;top:0;width:2px;height:100%;background:#e8dac1}
#pz-root .pz-th-steps .fillrail{position:absolute;left:14px;top:0;width:2px;height:0;background:#A8803A;transition:height .25s ease}
#pz-root .pz-th-steps .nd{position:absolute;left:8px;width:14px;height:14px;border-radius:50%;border:2px solid #d5c099;background:#F2EAD5;transition:border-color .3s, background .3s}
#pz-root .pz-th-steps .nd.on{border-color:#A8803A;background:#D6B06A}
@media(max-width:1240px){#pz-root .pz-th-steps,#pz-root .pz-th-halo{display:none}}
@media(prefers-reduced-motion:reduce){#pz-root .pz-th-halo{animation:none}
 body[data-anim="focus"] #pz-blog .pz-bp-art [data-rv]{filter:none}}
/* featured photo overlay (drops in when assets/img/blog/<frag>.jpg exists) */
#pz-root .pz-bp-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2;border-radius:inherit}
#pz-root .pz-bp-artsvg{position:absolute;inset:0;width:100%;height:100%}
/* side wings (margin decorations, every post page) */
#pz-root .pz-th-wing{position:fixed;top:14vh;width:90px;height:72vh;pointer-events:none;z-index:0}
#pz-root .pz-th-wing svg{width:100%;height:100%;overflow:visible}
#pz-root .pz-th-wing.wL{left:calc(50% - 560px - 110px)}
#pz-root .pz-th-wing.wR{right:calc(50% - 560px - 110px)}
#pz-root .pz-th-wing .wv{animation:pzwv 8s ease-in-out infinite alternate;transform-origin:50% 100%}
@keyframes pzwv{from{transform:rotate(-2.4deg)}to{transform:rotate(2.4deg)}}
@media(max-width:1240px){#pz-root .pz-th-wing{display:none}}
@media(prefers-reduced-motion:reduce){#pz-root .pz-th-wing .wv{animation:none}}
/* article tables */
#pz-root .pz-bp-table{width:100%;border-collapse:collapse;margin:0 0 22px;font-size:14px;line-height:1.6}
#pz-root .pz-bp-table th{font:600 12px/1.4 'Hanken Grotesk',sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-deep,#A8803A);text-align:left;padding:10px 12px;border-bottom:2px solid #d5c099}
#pz-root .pz-bp-table td{padding:11px 12px;border-bottom:1px solid #ddd6c6;color:color-mix(in srgb,var(--ink) 78%,transparent);vertical-align:top}
#pz-root .pz-bp-table tr:nth-child(even) td{background:#f2e7d3}
@media(max-width:640px){#pz-root .pz-bp-table{display:block;overflow-x:auto}}
@media(prefers-reduced-motion:reduce){
 #pz-root .pz-th-leaf,#pz-root .pz-th-ring,#pz-root .pz-th-petal,#pz-root .pz-th-orb{display:none}
 body[data-anim="sway"] #pz-blog .pz-bp-art [data-rv]{transform:none}
 body[data-anim="alt"] #pz-blog .pz-bp-art [data-rv]{transform:none}
 body[data-anim="rules"] #pz-blog .pz-bp-art h2::after{transition:none;width:72px}
}

/* ---- build override: split-theme reveal ----
   The split theme mirrors the wipe gradient for every second heading (.sp-r uses
   270deg instead of 90deg) but reuses the SAME mask-position for both states.
   Mirroring the gradient swaps which end is opaque, so for .sp-r the "revealed"
   position (0 0) is the transparent end: those headings vanish when revealed.
   The source tried to switch this off with mask:none, but that selector sits at
   lower specificity than .sp-r / .is-rv and never applied. Switch it off properly. */
body[data-anim="split"] #pz-blog .pz-bp-art [data-rv],
body[data-anim="split"] #pz-blog .pz-bp-art [data-rv].sp-r,
body[data-anim="split"] #pz-blog .pz-bp-art [data-rv].is-rv,
body[data-anim="split"] #pz-blog .pz-bp-art [data-rv].sp-r.is-rv{-webkit-mask:none;mask:none}

/* Article layout: the hero title sat left-aligned in the full-width wrap while
   the body was a 760px column centred inside it, so the copy read as indented
   by ~190px. Put the hero on the same measure. box-sizing is border-box, so the
   wrap's own gutter has to be added back. */
#pz-root .pz-bp-hero .pz-wrap{max-width:calc(760px + 2*var(--gutter))}
#pz-root .pz-bp-art{padding-left:0;padding-right:0}

/* "Areas we serve" directory on the service hubs. Plain multi-column list of
   links: these pages had no inbound links at all after the migration. */
#pz-root .pz-areas{padding-top:0}
#pz-root .pz-areas .pz-h2{font-size:clamp(23px,2.6vw,32px);margin:0 0 20px}
#pz-root .pz-areas-list{columns:3;column-gap:36px;list-style:none;padding:0;margin:0}
#pz-root .pz-areas-list li{break-inside:avoid;margin:0 0 10px}
#pz-root .pz-areas-list a{font-size:14.5px;line-height:1.5;color:var(--ink);text-decoration:none;border-bottom:1px solid transparent}
#pz-root .pz-areas-list a:hover{border-bottom-color:var(--gold-deep)}
@media(max-width:980px){#pz-root .pz-areas-list{columns:2}}
@media(max-width:640px){#pz-root .pz-areas-list{columns:1}}

/* the featured card is a 2-column grid; with no image panel it must not hold a dead column */
#pz-root .pz-bl-feat:not(:has(.pz-bl-feat-img)){grid-template-columns:1fr}

/* ------------------------------------------------------------------
   Editor-authored posts.

   The imported articles ship hand-written markup. Posts written in the
   WordPress editor emit core block markup instead, so these rules give the
   blocks the article's typography. Solid surfaces, hairline rules, no
   shadows or gradients, matching the rest of the design.
   ------------------------------------------------------------------ */

/* featured image, above the body */
#pz-root .pz-bp-lead {
  max-width: 760px;
  margin: 10px auto 0;
  padding: 0;
}
#pz-root .pz-bp-lead img {
  display: block;
  width: 100%;
  height: auto;
  border: 1px solid color-mix(in srgb, var(--ink) 12%, transparent);
}

/* numbered lists, to match the bulleted ones already styled */
#pz-root .pz-bp-art ol {
  margin: 0 0 20px;
  padding-left: 22px;
}
#pz-root .pz-bp-art ol li::marker {
  color: var(--gold-deep, #A8803A);
  font-weight: 600;
}
#pz-root .pz-bp-art li > ul,
#pz-root .pz-bp-art li > ol {
  margin: 6px 0 0;
}

/* the editor emits h4 for a fourth level; the design stops at h3 */
#pz-root .pz-bp-art h4 {
  font-family: var(--font-ui), sans-serif;
  font-weight: 600;
  font-size: 16px;
  letter-spacing: .01em;
  color: var(--ink);
  margin: 24px 0 8px;
}

/* pull quote */
#pz-root .pz-bp-art blockquote,
#pz-root .pz-bp-art .wp-block-quote {
  margin: 28px 0;
  padding: 4px 0 4px 20px;
  border-left: 2px solid var(--gold-deep, #A8803A);
}
#pz-root .pz-bp-art blockquote p {
  font-family: var(--font-display), serif;
  font-size: 19px;
  line-height: 1.55;
  color: var(--ink);
  margin: 0 0 8px;
}
#pz-root .pz-bp-art blockquote cite,
#pz-root .pz-bp-art .wp-block-quote cite {
  display: block;
  font-family: var(--font-ui), sans-serif;
  font-style: normal;
  font-size: 12.5px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--ink) 58%, transparent);
}

/* in-body images */
#pz-root .pz-bp-art figure,
#pz-root .pz-bp-art .wp-block-image {
  margin: 26px 0;
}
#pz-root .pz-bp-art figure img,
#pz-root .pz-bp-art .wp-block-image img {
  display: block;
  width: 100%;
  height: auto;
  border: 1px solid color-mix(in srgb, var(--ink) 12%, transparent);
}
#pz-root .pz-bp-art figcaption {
  font-family: var(--font-ui), sans-serif;
  font-size: 13px;
  line-height: 1.55;
  color: color-mix(in srgb, var(--ink) 60%, transparent);
  margin-top: 8px;
  text-align: left;
}

/* tables read as data, so keep them plain and let them scroll on mobile */
#pz-root .pz-bp-art .wp-block-table {
  margin: 26px 0;
  overflow-x: auto;
}
#pz-root .pz-bp-art table {
  width: 100%;
  border-collapse: collapse;
  font-family: var(--font-ui), sans-serif;
  font-size: 15px;
}
#pz-root .pz-bp-art th,
#pz-root .pz-bp-art td {
  border: 1px solid color-mix(in srgb, var(--ink) 14%, transparent);
  padding: 10px 12px;
  text-align: left;
  vertical-align: top;
}
#pz-root .pz-bp-art th {
  font-weight: 600;
  color: var(--ink);
  background: color-mix(in srgb, var(--ink) 4%, #fff);
}

/* section break */
#pz-root .pz-bp-art hr,
#pz-root .pz-bp-art .wp-block-separator {
  border: 0;
  border-top: 1px solid color-mix(in srgb, var(--ink) 14%, transparent);
  margin: 34px auto;
  width: 100%;
  height: 0;
}

/* the editor's button block, mapped onto the site button */
#pz-root .pz-bp-art .wp-block-button__link {
  display: inline-block;
  font-family: var(--font-ui), sans-serif;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .04em;
  color: #fff;
  background: var(--gold-deep, #A8803A);
  border: 1px solid var(--gold-deep, #A8803A);
  border-radius: 2px;
  padding: 12px 22px;
  text-decoration: none;
}
#pz-root .pz-bp-art .wp-block-button__link:hover {
  background: var(--ink);
  border-color: var(--ink);
}

/* embeds keep their aspect ratio inside the 760px column */
#pz-root .pz-bp-art .wp-block-embed iframe {
  width: 100%;
  aspect-ratio: 16 / 9;
  height: auto;
  border: 0;
}

/* the editor wraps alignment classes the design does not use */
#pz-root .pz-bp-art .alignwide,
#pz-root .pz-bp-art .alignfull {
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
}
#pz-root .pz-bp-art .aligncenter {
  text-align: center;
}

/* the drop cap belongs to the opening paragraph only, never to a list or quote */
#pz-root .pz-bp-art > ul:first-child::first-letter,
#pz-root .pz-bp-art > ol:first-child::first-letter {
  font-size: inherit;
  float: none;
}
